
파이썬 소프트웨어 저장소 PyPI에서 카운터 스트라이크(Counter-Strike) 1.6 서버에 디도스 공격으로도 이어질 수 있는 악성 파이썬 패키지가 발견되었다.
사이버 보안 전문 매체 블리핑컴퓨터는 소프트웨어 개발사 체크막스(Checkmarx)가 PyPI에 악성 파이썬 패키지 12개를 사용자 한 명이 한꺼번에 게재한 사실을 발견했다고 전했다.
최근 발견된 악성 패키지는 이른바 ‘타이포스쿼팅(typosquatting)’ 공격을 개시한다. 타이포스쿼팅은 키보드 입력 시 TensorFlow를 TensorFolw로 철자를 잘못 입력한 것과 같은 오타를 악용해, 악성 프로그램을 정통한 프로그램으로 인식하도록 한다.
소프트웨어 개발자는 일반적으로 터미널을 통해 패키지를 가져오므로 이름을 잘못된 순서로 문자를 사용하여 입력하기 쉽다. 다운로드와 빌드가 예상대로 계속되기 때문에 피해자는 실수를 깨닫지 못하며, 기기 감염 피해가 발생한다.
체크막스 연구팀이 발견한 악성 파이썬 패키지를 다운로드한 뒤 setup.py의 삽입 코드 실행을 통해 윈도 시스템이 호스트임을 확인하는 과정을 거치게 된다. 이후 깃허브의 페이로드(test.exe)를 다운로드한다.
다운로드 완료 후 바이러스토탈(VirusTotal)로 스캔하면, 바이러스 방지 엔진 69개 중 11개만 악성 파일을 감지한다. C++로 작성한 멀웨어보다는 비교적 새로 등장한 데다가 사용자가 감지하지 못한 채로 기기에 잠입할 확률이 높다. 이후 멀웨어는 자체 설치 과정을 거친 뒤 시스템 재부팅 사이에 계속 존재하는 Startup 엔트리를 생성한다. 그와 동시에 만료된 시스템 전 영역에 Root 인증을 주입한다.
다음 단계에서는 하드코드된 URL을 연결해, 멀웨어의 구성요소를 받는다. 세 번째 시도에서 구성요소를 받지 못한다면, 도메인 생성 알고리즘(DGA)로 전송하는 HTTP 요청 대응 방안을 찾는다.
체크박스 연구팀은 멀웨어 구성요소가 멀웨어에 명령을 내려 러시아 카운터 스트라이크 1.6 서버로 전송되는 트래픽을 보내기 시작하는 디도스 봇 안에 호스트를 동원한다는 사실을 확인했다.
한편, 체크막스 연구팀은 문제를 발견한 직후 PyPI 측에 보고했다. 그러나 8월 16일(현지 시각)까지 문제의 악성 패키지가 그대로 남아있는 것으로 관측됐다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]