Home > 전체기사

또 PyPI! 정보 탈취 악성 코드 심겨진 패키지 10개 이상 발견돼

  |  입력 : 2022-08-09 18:05
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기
파이선 리포지터리에서 또 다시 악성 코드가 숨겨진 패키지가 발견됐다. 파이선이라는 언어도 인기가 높고, 리포지터리라는 개발 환경도 인기가 높다 보니 PyPI가 공격자들 사이에서 큰 주목을 받고 있는 것이다. 개발자들의 보안 의식 함양이 반드시 필요하다.

[보안뉴스 문가용 기자] 파이선 생태계의 최대 리포지터리인 PyPI에서 또 다시 악성 코드 패키지가 발견됐고, 관리자들이 이를 점검해 삭제했다. 총 10개의 패키지가 사라졌다. 이처럼 위협 행위자들이 최근 들어 코드 리포지터리들을 자꾸만 공략하고 있고, 보안 분석가들은 이러한 흐름에서의 트렌드가 계속해서 굳혀져 가고 있기 때문에 개발자들의 보안 의식 고취가 시급하다고 입을 모으고 있다.

[이미지 = utoimage]


PyPI에서의 이러한 공격 시도를 제일 먼저 발견한 건 보안 업체 체크포인트(Check Point)이다. 10개의 악성 코드 모두 정보 탈취형 멀웨어를 설치하는 드로퍼인 것으로 분석됐다. 전부 정상 코드인 것처럼 보일 수 있도록 꾸며져 있었고, 일부는 PyPI에서 인기가 높은 패키지들을 흉내 내고 있기도 했다.

설치 스크립트에 숨겨진 악성 코드
체크포인트에 의하면 이번에 악성 코드를 PyPI 리포지터리에 심은 공격자들은 주로 패키지 설치 스크립트에 악성 코드를 숨겨 두었다고 한다. 패키지를 다운로드 받은 개발자가 pip이라는 설치 명령을 통해 패키지 설치를 진행할 경우 화면 뒤에서(배경에서) 악성 코드가 실행되고, 그러면서 멀웨어 드로퍼가 은밀하게 피해자의 컴퓨터에 심긴다.

예를 들어 이번에 삭제된 가짜 패키지인 Ascii2text의 경우 악성 코드가 _init_.py라는 파일 내에 삽입되어 있었고, 이 파일은 설치 스크립트인 setup.py를 통해 임포트 되는 것으로 분석됐다. 개발자가 다운로드 받아 설치하려 하면 로컬 시스템 내 비밀번호들을 검색하는 스크립트가 실행되고, 발견된 비밀번호들은 공격자들이 미리 마련한 디스코드 서버로 업로드 된다. Ascii2text라는 악성 패키지는 실재하는 유명 패키지의 이름을 그대로 가지고 있으며, 두 패키지 설명문도 완전히 동일하다.

10개 패키지 중 3개인 Pyg-utils, Pymocks, PyProto2의 경우 같은 공격자가 개발한 것으로 보인다. 이 개발자는 얼마 전 AWS 크리덴셜을 훔치는 멀웨어를 PyPI에 유포시킨 전적을 가지고 있는 인물로 의심된다. 왜냐하면 Pyg-utils에 숨겨져 있던 악성 설치 스크립트가 실행되면 AWS 크리덴셜 탈취 캠페인에 사용됐던 악성 도메인과 연결되기 때문이다. Pymocks와 PyProto2의 경우 다른 도메인과 연결이 되지만 포함되어 있는 악성 코드가 Pyg-utils의 그것과 거의 동일하다.

다운로더가 심겨진 것으로 보이는 또 다른 패키지로는 Test-async가 있다. 코드 점검을 위한 패키지처럼 위장되어 있다. WINRPCexploit의 경우 사용자의 크리덴셜을 훔치는 기능이 숨겨져 있고, Free-net-vpn과 Free-net-vpn2는 환경변수를 훔치는 악성 패키지였다. 이름만 봐서는 악성 여부를 전혀 파악할 수가 없다. “개발자들은 자기가 다운로드 받은 라이브러리를 두 번 세 번 확인해야만 합니다. 그래야 자신들이 만든 제품에 악성 요소가 없어지게 됩니다.”

점점 늘어나는 공급망 위협
서드파티 요소들을 다운로드 받아 개발을 한다는 건 점점 더 위험한 행위가 되어가고 있다. 지난 주 보안 업체 소나타입(Sonatype)은 이탈리아의 10대 학생이 랜섬웨어가 포함된 악성 코드를 PyPI에 업로드 한 것을 발견해 알린 바 있다. 250명이 넘는 개발자들이 이 코드를 다운로드 받았고 그 중 11명이 랜섬웨어에 감염됐다. 다만 이 학생은 실험을 위해 이 같은 일을 진행했다고 하며 아무런 대가 없이 복호화 키를 피해자들에게 제공했다.

그러나 모두가 이 11명처럼 운이 좋지는 않다. 악의를 가득 품은 공격자들이 리포지터리에 각종 악성 코드를 심는 사례가 점점 많아지고 있는 것이다. 올해만 하더라도 PyPI에 코발트 스트라이크 기반 공격 키트가 심긴 악성 패키지가 발견되기도 했는데, 이를 다운로드 받은 개발자가 300명 이상인 것으로 분석됐다. 7월에는 보안 업체 카스퍼스키(Kaspersky)에서 정보 탈취형 멀웨어가 npm이라는 자바 리포지터리에 심겨져 유통되는 걸 발견하기도 했다.

리포지터리는 현재 개발자들에게 가장 많은 사랑을 받고 있는 요소들 중 하나다. 오픈소스와 서드파티 라이브러리가 프로그래밍 행위에 있어 필수불가결의 요소이기 때문이다. PyPI의 경우 61만 명의 사용자가 있으며 계속해서 늘어나고 있다. PyPI에만 현재 다운로드 가능한 프로젝트가 39만 개 이상이라고 한다. 포춘 500대 기업들 역시 이런 공공 리포지터리에서 곧잘 라이브러리를 가져다가 사용한다.

3줄 요약
1. 파이선 리포지터리인 PyPI에서 또 다시 악성 패키지 발견됨.
2. 약 10개의 패키지에서 정보 탈취형 멀웨어가 발견됐고, 현재는 제거된 상태.
3. 리포지터리 사용자 늘어나면서 공격자들의 공격 시도 역시 증가 중.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기

  •  SNS에서도 보안뉴스를 받아보세요!! 
시큐아이 에스케어 파워비즈 배너 2022년 3월15일 시작~ 12개월 위즈디엔에스 2018
설문조사
산업 전 분야의 지능화·융합화·스마트화 추세에 따라 스마트시티와 스마트공장, 스마트의료, 스마트상점 등 각 분야에서도 정보보안과 물리보안이 함께 접목되는 융합보안이 이슈가 되고 있습니다. 올해 융합보안이 가장 활발하게 적용될 분야는 어디라고 보시나요?
스마트시티 보안
스마트공장 보안(OT 보안)
스마트의료 보안
스마트상점 보안
기타(댓글로)