2024-03-29 06:50 (금)
인기있는 자바스크립트 라이브러리에 비트코인 훔치는 백도어 삽입돼
상태바
인기있는 자바스크립트 라이브러리에 비트코인 훔치는 백도어 삽입돼
  • 페소아 기자
  • 승인 2018.11.28 17:39
이 기사를 공유합니다

bitcoin-3090250_640.jpg
해커가 인기있는 자바스크립트 라이브러리에 접근권한을 획득해 비트페이(BitPay)의 코페이(Copay) 지갑 응용 프로그램에 저장된비트코인을 훔치는 악성코드를 넣었던 것이 밝혀졌다. 이 악성코드의 존재 여부는 지난주에 확인되었지만 복잡한 난독화로 인해 이제야 연구원들은 코드의 목적이 무엇인지 확인할 수 있었다.

악성코드를 로드하는 라이브러리는 node.js 스트리밍 데이터를 작업하는 npm 패키지인 Event-Stream이다. 이 라이브러리는 npmjs.com 저장소에서 주간 다운로드가 2백만회가 넘는 매우 인기있는 자바스크립트 라이브러리로 약 3개월전 제작자가 시간과 흥미가 없다는 이유로 Rigth9ctrl이라는 다른 프로그래머에게 개발권을 넘겨주었다.

그러나 지난주 Event-Stream 라이브러리에서 문제를 확인한 사용자에 따르면 Right9ctrl은 악성코드를 라이브러리에 넣었던 것으로 보인다. Right9ctrl은 Flatmap-Stream 라이브러리 버전 0.1.1에 대한 새로운 종속성을 포함하는 Event-Stream 3.3.6을 출시했고,Flatmap-Stream은 악의적인 코드가 포함되어 있다.

트위터, 깃허브 및 해커뉴스 사용자에 따르면 악성코드는 비트코인 결제 플랫폼 BitPay에서 개발한 데스크톱 및 모바일 지갑 응용프로그램인 Copay의 소스코드에서 사용되기 전까지는 휴면 상태로 유지된다. 악성코드가 감염되어 Copay 지갑 응용프로그램의 악성코드 버전에 포함되면 개인키를 비롯한 사용자의 지갑 정보를 훔쳐 포트 8080의 copayapi.host URL로 보낸다.

코페이팀은 5.0.1~5.1.0 사이의 모든 버전이 공식적으로 감염된 것으로 보이므로 사용자들에게 5.2.0 버전으로 업데이트하라고 경고했다. 또한 npmjs.com 자바스크립트 패키지 저장소 관리자는 사이트에서 Flatmap-Stream 라이브러리를 사이트에서 내려 프로젝트에서 접근할 수 없도록 했다. 악성 Event-Stream v3.3.6도 npmjs.com에서 삭제되었지만, Event-Stream 라이브러리는 계속 사용할 수 있다. Right9ctrl이 악성코드를 숨기기 위해 악성코드가 없는 Event-Stream의 후속버전을 배포했기 때문이다.

이 두 라이브러리를 사용하는 프로젝트 관리자는 종속성 트리를 사용 가능한 최신 버전으로 업데이트하는 것이 좋다.

이 사건이 자바스크립트/npm관련된 최초의 보안 문제는 아니다. 올해 7월에는 해커가 다른 개발자의 자격 증명을 도용하도록 설계된 악의적인 코드로 ESLint 라이브러리를 손상하기도 했다. 또한 5월에는 getcookies라는 다른 npm 패키지에 백도어를 숨기려 하기도 했다.

★정보보안 대표 미디어 데일리시큐!★


■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★