일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- node.js
- package.json
- 국가인적자원개발컨소시엄
- 모듈러 연산
- 유클리드_알고리즘
- 디오판투스 알고리즘
- 개인정보보호
- package-lock.json
- 무료교육
- 한국정보보호산업협회기자단
- 곱셈 암호
- 마감임박
- 가명정보처리
- 개인정보보호위원회
- 개인정보안전성
- 한국산업인력공단
- 백엔드입문
- 덧셈 암호
- 백엔드
- Writeup
- arrow function
- 확장 유클리드 알고리즘
- 한국정보보호산업협회
- function scope
- 웹 프레임워크
- 동적타이핑
- 호이스팅
- pwnable.tw
- 개인정보보호교육
- 포너블
- Today
- Total
짱짱해커가 되고 싶은 나
패키지 악성코드 문제 본문
node.js를 공부해보니 외부 모듈, 패키지를 설치할 때 그냥 npm install 을 하면 해당 패키지의 depencies를 참고해서 자동으로 다른 패키지들도 설치가 된다. 이런 패키지 간의 의존성은 위험성이 존재한다.
1. 악성코드
2017년 cross-env라는 패키지와 이름이 비슷한 crossenv 라는 패키지에 악성코드가 들어있던 적이 있었다.
사용자들이 패키지를 설치할 때 오타를 별로 신경 쓰지 않고 패키지를 설치해버리는 type-squatting 기법을 사용한 경우다.
2018년에는 Event-Stream이라는 패키지가 의존하던 Flatmap-Stream이라는 패키지에 비트 코인 관련 악성코드가 포함된 사건도 있다.
2020년에는 유닉스 시스템의 중요 정보를 빼가는 악성패키지도 발견됐다.
2. 코드의 취약점
패키지의 코드에 보안 측면에서의 취약점이 존재할 수 있다.
이런 문제를 예방하기 위해 npm outdated, npm update를 정기적으로 실행하는 것이 좋다.
또 npm auit, npm audit fix를 통해 발표된 취약점들이 있는지 확인하고 최신 버전의 패키지를 설치할 수 있다.
3. 가용성 문제
사용 중이던 패키지가 사라지거나 관리되지 않고 방치될 수도 있다.
2016년 left-pad라는 아주 단순한 패키지의 주인이 npm 저장소에서 패키지를 삭제해버린 적이 있었는데 이로 인해 left-pad에 의존하고 있던 React, Babel 같은 대형 프로젝트들에도 큰 문제가 발생했었다.
현재는 npm 저장소에 한 번 올린 패키지는 올린 지 72시간 후에는 함부로 삭제할 수 없게 되어있다.
'news' 카테고리의 다른 글
[~5/31] 정보보호 컨설팅 전문가 양성과정 교육생 모집 (1) | 2022.05.31 |
---|---|
[5.24 사전 접수 마감] 2022 상반기 정보보호 취업박람회 (0) | 2022.05.24 |
[마감 임박] 개인정보보호 안전성 확보조치 과정(재직자, 무료교육) (0) | 2022.05.08 |
[마감 임박] 가명정보 처리 및 활용 과정(재직자, 무료교육) (0) | 2022.05.08 |
정수 자료형 오버플로우, 언더플로우 문제 (0) | 2019.02.03 |