테크레시피

비트코인 지갑 노린 오픈소스 공급망 공격

오픈소스 코드 라이브러리를 이용한 암호화폐 지갑에 백도어를 심고 사용자의 비트코인을 훔치려는 시도가 있었다는 사실이 밝혀졌다. 이 사건은 오픈소스 소프트웨어에 대한 공급망 공격의 위기 상황을 단적으로 말해주고 있다.

비트코인을 훔치는 백도어를 설치한 비트코인 지갑 앱은 코페이(Copay)다. 코페이 앱에 이용한 코드 라이브러리(event-stream)에 백도어를 걸었다는 건 깃허브 공식 게시판에 보고된 코드 검증을 통해 확인할 수 있다.

검증 결과 지난 9월 8일 공개된 이 코드 라이브러리 버전 3.3.6에 도입한 특정 모듈(flatmap-stream)에 문제가 있는 것으로 나타났다. 버전 공개 당시에는 이 모듈 자체는 취약점이 없는 것이었다. 그런데 10월 10일 이 모듈에 악성코드를 포함한 2단계 절차를 밟은 백도어를 심은 것이다. 이 백도어는 코페이 지갑을 노린 것으로 코페이 앱 이용자가 보유한 비트코인을 훔치려는 목적으로 설계한 것이다.

깃허브 게시판을 통해 문제가 제기되면서 코페이에 악성코드가 들어갔다는 사실이 지적됐지만 10월 11일까지 코페이는 다른 조치를 취하지 않았다. 처음에는 코페이 앱에 악성코드가 포함된 모듈은 도입하지 않는다고 주장했지만 11월 26일 코페이 앱 버전 0.0.2에서 5.1.0까지 백도어 영향을 받았다는 사실을 인정했다. 또 이들 버전 사용자는 최신 버전인 5.2.0으로 업데이트할 때까지 앱을 실행하지 말라고 권했다.

패키지 관리 도구 NPM 관계자에 따르면 이번에 발견된 취약점은 일반 모듈 개발자를 대상으로 한 게 아니라 특정 개발 환경을 가진 코페이 일부 개발자를 대상으로 한 것이다. 또 취약점은 개발자 컴퓨터에서 작동하지 않고 개발자가 앱을 출시할 때 최종 사용자 앱에 패키징되는 특징이 있었다고 한다. 이런 이유로 공격을 사전에 발견하기 어려웠다는 것이다.

깃허브 게시판에선 이 모듈 개발자가 업데이트를 제공할 시간이 없어 몇 개월 전부터 다른 개발자의 도움을 받아왔다는 지적도 나왔다. 오픈소스 소프트웨어는 불특정 다수 개발자가 관계를 맺어 개선하는 것이다. 악의적 사용자가 악성코드를 조용히 삽입해도 이를 간파할 수 없는 일이 발생할 수도 있다. 모든 코드를 개발자가 만드는 게 아니라 이미 존재하는 타사의 구성 요소를 이용해 새로운 소프트웨어를 빠르게 개발하는 상황인 만큼 오픈소스 공급망을 노린 사이버 공격에 대한 대응은 점점 더 어려워질 수 있다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사