GitHub에서 10,000개 트로잔 악성코드 배포 저장소 발견

원제: I found 10k GitHub repositories distributing Trojan malware

왜 중요한가

GitHub 같은 주요 개발 플랫폼에서 악성코드 배포가 대규모로 진행 중이며, 플랫폼의 보안 점검 체계와 신고 대응 속도의 개선이 필요함을 시사한다.

한 개발자가 GitHub에서 서로 다른 기여자명과 저장소명을 사용하면서도 공통 패턴을 보이는 악성코드 배포 저장소 10,000개를 발견했다. 이들은 모두 몇 시간마다 커밋을 삭제·재생성하며 readme 파일에 zip 아카이브 링크를 추가하는 방식으로 트로잔 악성코드를 배포하고 있다.

해당 개발자는 자신의 GitHub 프로젝트명으로 검색 시 동일한 이름과 설명을 가진 복제 저장소를 발견하면서 이 문제를 인지하게 되었다. 이들 저장소는 원본 저장소의 모든 커밋 이력을 복사한 후, 최근에 readme 파일에만 zip 아카이브 링크를 추가하는 커밋을 몇 시간마다 반복적으로 푸시하고 있었다.

발견된 악성 zip 파일에는 Application.cmd, loader.exe, lua51.dll 등의 파일들이 포함되어 있으며, 개별 파일 검사로는 바이러스가 탐지되지 않지만 zip 파일 전체 검사 시 트로잔이 탐지된다. VirusTotal 검사 결과에 따르면 zip 파일 단독으로는 악성코드가 발견되지 않는다.

개발자는 GitHub 지원팀에 신고했으나 2주간 응답이 없었고, 1개월 후에야 해당 저장소들이 삭제되었다. 이후 개발자는 다음과 같은 공통 패턴을 바탕으로 자동화 스크립트를 개발했다: (1) 몇 시간마다 이전 커밋 삭제 및 새 커밋 푸시 (2) readme 파일만 수정 (3) readme에 zip 아카이브 링크 포함 (4) 다른 저장소에서 복사한 커밋 (5) 새로운 저장소이며 포크가 아님 (6) 모두 다른 기여자와 저장소명 사용.

GitHub는 API 토큰 당 시간당 5,000개 요청을 허용하며, GitHub에는 약 5억 개의 저장소가 존재한다. 개발자는 이 패턴을 활용해 대규모 악성코드 배포 캠페인을 체계적으로 탐지할 수 있는 방법을 개발했다.

출처

orchidfiles.com — 원문 읽기 →