GitHub 레포, 'Megalodon' 공격에 5,500개 이상 감염

by DD
1주 전
조회수 6

'Megalodon'이라는 새로운 공격이 GitHub 레포지토리 5,561개를 대상으로 CI/CD 파이프라인(CI/CD Pipeline)을 악용하여 발생함

공격은 AWS, Google Cloud, Azure 등의 클라우드 자격 증명(Cloud Credentials) 탈취를 목표로 함

Tiledesk 오픈소스 프로젝트의 npm 패키지가 악성코드에 감염되어 배포되는 사례도 확인됨

npm과 GitHub의 공급망 공격(Supply Chain Attack) 방어에 대한 근본적인 대책 마련이 시급하다는 지적이 제기됨

커뮤니티에서는 이러한 공격이 지속적으로 증가할 것(Continuous Increase)으로 예상하며 우려를 표명함

Megalodon 공격의 기술적 분석

Megalodon 공격은 CI/CD 파이프라인(CI/CD Pipeline)을 악용하여 악성 코드를 삽입하는 방식으로 진행된다. 공격자는 GitHub 레포지토리에 악성 커밋을 푸시하고, 레포지토리 소유자가 해당 커밋을 병합하면 CI/CD 파이프라인 내에서 악성 코드가 실행된다. 이 악성 코드는 AWS, Google Cloud Platform, Azure 등의 클라우드 자격 증명(Cloud Credentials)을 탈취하고, SSH 개인 키, Docker 및 Kubernetes 설정, Vault 토큰, Terraform 자격 증명 등을 수집한다.

탈취된 정보의 활용 및 피해 규모

탈취된 정보는 공격자가 개발자의 클라우드 ID를 사칭하는 데 사용될 수 있으며, 이는 기업의 보안(Security)에 심각한 위협을 가한다. SafeDep 연구원에 따르면, Megalodon은 5,561개 이상의 레포지토리를 감염시켰으며, 이는 TeamPCP 공격과 유사한 규모이다. 공격으로 인한 피해는 금전적 손실(Financial Loss)뿐만 아니라 기업의 평판 하락으로 이어질 수 있다.

Tiledesk npm 패키지 감염 사례

Megalodon 공격은 Tiledesk 오픈소스 프로젝트의 npm 패키지를 통해 확산되었다. 공격자는 Tiledesk의 2.18.6 버전부터 2.18.12 버전까지의 패키지에 악성 코드를 삽입했다. 흥미로운 점은 공격자가 npm 계정을 직접 건드리지 않고, GitHub 레포지토리(GitHub Repository)를 탈취하여 악성 코드를 배포했다는 것이다. 이는 공급망 공격의 새로운 유형을 보여준다.

공격 배후 및 TeamPCP와의 연관성

Ox Security의 연구에 따르면, Megalodon 공격은 TeamPCP와는 다른 공격자에 의해 수행되었을 가능성이 높다. 코드 분석 결과, Megalodon은 TeamPCP의 공격 방식과 유사하지만, 코드 자체는 크게 다르다. 또한, TeamPCP가 공개 암호화 키(Public Encryption Key)를 사용하도록 요구하는 경쟁에 참여하지 않은 점도 이를 뒷받침한다. 하지만, 공격의 배후는 아직 밝혀지지 않았다.

공급망 공격 방어를 위한 제언

전문가들은 npm과 GitHub과 같은 플랫폼이 악성 코드 확산을 막기 위한 근본적인 대책(Fundamental Countermeasure)을 마련해야 한다고 강조한다. npm은 2FA를 우회하는 쓰기 권한을 가진 npm 세분화된 액세스 토큰을 무효화했지만, 이는 근본적인 해결책이 아니다. 지속적인 공급망 공격에 대응하기 위해서는 CI/CD 파이프라인(CI/CD Pipeline)의 보안 강화, 패키지 출처 검증, 그리고 이상 징후 탐지 시스템 구축 등이 필요하다.

New Attack "Megaladon" Compromises 5.5K+ GitHub Repos