상세 컨텐츠

본문 제목

GitHub 공급망 공격을 통해 확산되는 Octopus Scanner 악성코드 발견

국내외 보안동향

by 알약(Alyac) 2020. 5. 29. 10:00

본문

New Octopus Scanner malware spreads via GitHub supply chain attack


보안 연구원들이 윈도우, 리눅스, 맥OS 시스템에 확산되어 원격 관리 툴(RAT)을 설치하기 위해 GitHub 웹 기반 코드 호스팅 플랫폼에 저장된 오픈소스 NetBeans 프로젝트를 찾아 백도어를 설치하는 새로운 악성코드를 발견했습니다.


GitHub Security Labs의 연구원들은 이 악성코드를 Octopus Scanner라 명명했습니다. 


이 악성코드는 NetBean 저장소를 감염 시켜 JAR 바이너리, 프로젝트 파일 및 종속성 내 악성 페이로드를 심은 후 하위 개발 시스템에도 확산됩니다.


GitHub의 보안대응팀(SIRT)는 지난 3월 9일 보안 연구원인 JJ로부터 GitHub 저장소가 악성코드 확산 지점의 역할을 하고 있다는 제보를 받았습니다.


GitHub Security Lab 연구원들은 이 악성코드에 대해 조사하던 중 Octopus Scanner에 감염된 오픈소스 프로젝트 26개에서 저장소를 fork 또는 복사한 모든 개발자에게 백도어가 포함된 코드를 의도치 않게 제공한 것을 발견했습니다.



오픈소스 공급 망 악성코드의 내부 작업


감염된 저장소가 개발 환경에 복제 또는 fork될 경우 이 악성코드에 감염되며, 모든 빌드된 JAR 파일에 드로퍼를 주입하여 발견한 모든 NetBeans 프로젝트에 백도어를 추가합니다.


그후 이 드로퍼는 Octopus Scanner가 “로컬 시스템 지속성을 얻고 C2 서버 세트에 연결하는 원격 관리 툴(RAT)을 생성하도록” 허용합니다.


GitHub이 조사를 시작했을 당시, 불행히도 이 악성코드의 C2 서버는 이미 다운된 상태였습니다. 


따라서 공격자가 감염 시킨 시스템에서 실행한 공격에 대한 세부 정보는 알아낼 수 없었습니다.


Octopus Scanner는 개발자의 시스템을 감염 시킨 후 아래 작업을 수행합니다.



사용자의 NetBean 디렉터리 식별

NetBeans 디렉터리 내 모든 프로젝트 열거

악성 페이로드인 cache.dat을 nbproject/cache.dat으로 복사

NetBeans 프로젝트가 빌드될 떄 마다 악성 페이로드가 실행되도록 nbproject/build-impl.xml 파일을 수정

악성 페이로드가 Octopus Scanner 자체 인스턴스일 경우 새로이 빌드된 JAR 파일도 감염됨



또한 이 악성코드는 해킹된 파일을 변경시키는 새로운 빌드를 차단하도록 설계되어 있습니다.


저장소에서 감염된 프로젝트를 찾아본 결과, GitHub은 이 악성코드의 샘플 4개를 발견할 수 있었습니다. 


그중 초기 버전으로 보이는 한 프로젝트는 2018년 8월 VirusTotal에 등록되었으며, 보안 솔루션 엔진 단 하나만이 이를 탐지하고 있었습니다. 


또한 감염된 저장소를 복제하거나 빌드할 때만 확산되도록 설계되었습니다.


다른 3개는 빌드 아티팩트가 로드 및 사용될 때마다 확산되는 기능을 포함한 새로운 기능이 추가되어 있었습니다.

 


<이미지 출처: https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain>



공급망 공격


공격자들은 Octopus Scanner 악성코드를 통해 개발자를 직접적으로 공격하고 개발자들이 작업 중인 새로운 프로젝트, 프로덕션 환경, 데이터베이스 패스워드를 포함한 아주 민감한 정보에 접근할 수 있었습니다.


개발자가 백도어가 포함된 코드를 그들 조직 내 저장소에 커밋할 경우, 공격자는 해당 조직의 중요한 시스템에 빠르고 쉽게 접근할 수도 있었습니다.


이 악성코드가 NetBeans 빌드 프로세스를 공격했다는 사실은 꽤 흥미로웠습니다. 요즘 가장 많이 사용하는 Java IDE는 아니기 때문입니다.


악성코드 제작자가 NetBeans를 공격하는 악성코드를 구현하는데 꽤 시간이 걸렸을 경우, 이는 타깃 공격일 가능성이 높습니다. 


그게 아니라면 공격자들은 이미 Make, MsBuild, Gradle과 같은 빌드 시스템용 악성코드를 구현했으며, 발각되지 않은 채 확산되었을 가능성이 있습니다.


현재 알약에서는 해당 악성코드 샘플에 대해 'Trojan.JAVA.Agent.Gen'으로 탐지 중입니다.





출처:

https://www.bleepingcomputer.com/news/security/new-octopus-scanner-malware-spreads-via-github-supply-chain-attack/

https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain

관련글 더보기

댓글 영역