보안/보안 이슈

PyPI를 통한 악성 패키지 유포

Seonyoung Jeong 2023. 9. 10. 22:33

PyPI

- Python Package Index. Python 패키지 저장소. 수많은 개발자들이 본인이 만든 파이썬 소프트웨어를 손쉽게 설치하고 활용할 수 있도록 패키지화 하여 저장소에 업로드를 함.

- 흔히 우리가 사용하는 pip install 명령어가 바로 그것이다.

 

<공격 과정>

1. 8월부터 Python repository에 가짜 package를 전파하는 VMConnect라는 캠페인을 진행했음. (북한발)

2. 오픈소스 파이썬 도구를 모방한 악성 패키지를 유포한다. 

    이 때, 타이포스쿼티 기술을 사용해 신뢰성 있는 것처럼 피해자들을 기만함.

    * 타이포스쿼팅 : 쉽게 생각하면 올바른 text의 일부를 눈치채기 힘들게 수정하여 신뢰할만한 url인 것처럼 속여 공격자를 유인하는 공격 기법이다.

       ex) "co.kr"을 "ca.kr"인 것처럼 속임.

             "abckorea.com"을 "abckore.a.com"으로 속임.

3. 사용자가 패키지를 다운로드 받은 후, 애플리케이션에서 해당 패키지를 호출하면 공격이 시작된다.

 

<공격에 사용된 패키지 예시>

- 테이블라이터 패키지 : 설치 후, 애플리케이션이 해당 패키지를 호출할 때까지 기다려 백신 솔루션을 우회한다.

- colourfool 패키지 : 정보 탈취, 트로이목마 기능 등이 모두 탑재되어있어 개인정보 탈취를 목적으로 한 듯 함. 다만 패키지의 용량이 비정상적으로 커 탐지 가능.

- importantpackage, 10Cent10, 10Cent11 : 해킹된 시스템에 리버스 셸을 설정하여 데이터 갈취 가능.