
사이버 보안 전문 매체 블리핑컴퓨터에 따르면, PyPI 저장소 내 일부 악성 파이썬 패키지가 AWS 자격 증명 같은 민감한 데이터를 훔쳐 공개적으로 접근 가능한 최종 지점으로 전송하려 했다.
PyPI는 오픈 소스 패키지를 다운로드할 수 있는 저장소로 소프트웨어 개발자들이 파이썬 프로젝트에 이용할 코드 블록을 찾거나 그들의 작품을 커뮤니티와 공유할 때 이용한다.
PyPI는 대체로 플랫폼에 올라오는 악성 패키지 신고에 신속하게 대응한다. 그러나 저장소에 올리는 과정에서 사실상 심사가 없어, 일시적이지만 악성 패키지가 등록될 수 있다.
소나타입(Sonatype)을 포함한 소프트웨어 공급망 보안 기업은 자체적으로 자동화된 멀웨어 탐지 툴을 이용하여 조사한 결과, 이 과정에서 ▲ loglib-modules ▲ pyg-modules ▲ pygrata ▲ pygrata-utils ▲ hkg-sol-utils 등에 악성 패키지가 포함된 것으로 확인됐다.
loglib-modules, pyg-modules는 PyPI에 존재하는 합법적이고 인기 있는 프로젝트를 모방하고 있어 부주의하거나 경험이 적은 유저들이 무심코 설치하도록 유도하였다. 나머지 3개는 구체적 타깃이 없지만, 5개의 패키지 모두 코드상 유사점이 발견되었다.
소나타입의 애널리스트 카도나(J. Cardona)와 페르난데즈(C. Fernandez)는 ‘loglib-modules’ 와 ‘pygrata-utils’ 패키지는 데이터 및 AWS 자격 증명, 네트워크 인터페이스 정보, 환경 변수 등을 반출할 의도로 제작된 것으로 확인했다.
흥미롭게도 ‘pygrata’는 자체적으로 데이터를 탈취할 기능이 없으며, ‘pygrata-utils’에 의존하여 악성 활동을 개시한다.
탈취된 데이터는 TXT 파일로 저장된 후 PyGrata[.]com 도메인에 업로드되었다. 하지만 최종 지점의 보안이 허술한 탓에 패키지가 탈취한 정보를 손쉽게 파악할 수 있었다.
소나타입 팀은 도의적 차원에서 오해가 있을 수도 있고 생각해, 우선 도메인 주인들에게 도메인이 현재 어떻게 이용되고 있는지를 알리며, 상황 설명을 요청했다.
곧이어 최종 지점은 대중이 접근할 수 없도록 보안되었으며 이 과정에서 소나타입은 그 어떠한 해답도 듣지 못하였다. 이에, 패키지의 의도와 도메인이 합법적이지 않다고 유추할 수 있다.
설사 이들 패키지가 합법적 보안 테스트의 일부로 이용되었고 운영자가 훔친 정보를 유출할 의도가 없었다고 하더라도 PyPI에 패키지를 올려 ‘비자발적 참여자’의 중요 정보를 유출하는 결과를 낳았다.
한편, 이번 악의적 패키지들은 타이포스쿼팅(typosquatting) 기법을 이용하지 않아 철자 하나를 잘못 입력한 랜덤 유저가 아닌 특정 툴을 이용하고자 하는 사용자를 공격 대상으로 삼은 것으로 확인됐다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]