Home > 전체기사
파이선용 리포지터리인 PyPI에서 백도어 심긴 모듈 나타나
  |  입력 : 2019-07-22 16:57
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
파이선 개발자들 사이에서 인기 높은 PyPI, 공급망 공격에 활용돼
이미 전에 발견됐던 백도어...리포지터리 서비스와 사용자 모두 허술해


[보안뉴스 문가용 기자] 현대 소프트웨어 개발의 속도에 맞추려면 코드 재사용이 필수다. 코드를 효율적으로 재사용하려면 코드 리포지터리를 사용하는 게 좋다. 코드 리포지터리란, 재활용 비율이 높은 코드, 함수, 라이브러리, 모듈을 모아둔 것으로 개발자들이 작은 요소 하나하나를 일일이 작성하지 않아도 소프트웨어를 개발할 수 있도록 해준다. 따라서 애플리케이션을 침해하고자 하는 공격자들에게도 인기가 높다.

[이미지 = iclickart]


최근 보안 전문 업체 리버싱랩스(ReversingLabs)의 전문가들은 리포지터리를 겨냥한 공격 캠페인을 발견했다. 파이선 개발자들 사이에서 인기가 높은 리포지터리인 파이선 패키지 인덱스(Python Package Index, PyPI)에서 백도어가 심긴 모듈이 발견된 것이다. PyPI가 사이버 공격의 대상이 된 건 이번이 처음이 아니지만, 이번 캠페인에서는 이미 해결된 것으로 알려져 있던 코드가 재사용되었다는 점에서 독특하다고 리버싱랩스는 강조했다.

“이번에 발견된 백도어는 이전에도 한 번 발견된 적이 있던 겁니다. 즉, 당시 리포지터리 내에서 깨끗하게 청소가 되지 않았다는 뜻이 됩니다.” 리버싱랩스의 수석 엔지니어인 로버트 페리카(Robert Perica)의 설명이다. “해당 백도어가 발견된 모듈이 대단히 인기가 높은 것은 아니지만, 제법 널리 사용되고 있던 것이기도 합니다. 이미 알려진 위협이 여러 사람의 눈을 피해갔다는 건 확실히 문제입니다.”

문제가 된 모듈은 libpeshnx로, libpeshna라는 구 모듈의 상위 버전이다. 개발자도 역시 같다. 리버싱랩스의 블로그에 의하면 이 모듈에서 발견된 백도어는 매우 간단한 원리로 구성되어 있다고 한다. “wait 명령을 가지고 계속 대기하고 있다가, C&C 서버로부터 호출을 받는 것이 거의 전부입니다.”

공급망 공격
이 사소한 백도어와 모듈이 문제가 되는 건, 현재 기업들의 공급망을 노리는 사이버 공격이 크게 유행하고 있기 때문이다. 대부분 물리적 공급망을 노리는 공격이긴 하지만, 코드 리포지터리도 최근 들어 잦은 공격에 노출되기 시작했다. PyPI는 물론 루비젬스(RubyGems), 뉴겟(NuGet), npm까지, 소프트웨어 개발에 소요되는 커다란 공급망에서 필수 요소들이 최근에만 우후죽순 공격을 받았다. 그러므로 리포지터리에서 추출한 ‘재사용 코드’에 대한 보안 점검이 필수 요소로 자리를 잡아가고 있다.

페리카는 “많은 소프트웨어 리포지터리들이 사실 보안 점검을 철저하게 하는 건 아니”라고 말한다. “리포지터리에는 누구라도 코드를 제출할 수 있고, 그걸 거의 제약 없이 아무나 사용할 수 있죠. 이 중간에 점검 절차라는 게 없다시피 한 게 현실입니다. 사용자가 직접 해야 합니다.” 물론 그의 이런 주장에 반박하는 게 코드 공유 커뮤니티의 입장이다. 그러나 리포지터리가 공격에 노출되고, 여기서부터 악성 코드가 퍼지는 건 흔히 있는 일이다.

페리카는 “PyPI는 파이선 개발자들 사이에서 거의 ‘오피셜’ 취급 받는 코드 공유 커뮤니티”라며, “약 18만 8천 개의 프로젝트와 35만 명의 사용자가 존재하는 곳”이라고 설명한다. “이렇게 방대한 규모를 가진 곳이라면 조금 더 보안에 철저해야 할 것입니다. 그 때까지는 사용자 개개인이 더 조심을 해야 하겠고요.”

그러나 그의 말처럼 사용자가 알아서 조심한다는 것도 그리 쉽지만은 않다. 재사용되고 공유되는 코드 안에는 또 그렇게 공유되고 재사용되는 코드가 존재하기 때문이다. 즉, 공유되는 모듈을 가지고 만든 모듈이 다시 공유되는 사태가 반복된다는 건데, 이 때문에 문제는 매우 복잡해진다. “디펜던시를 추적해 들어가면 상당히 깊은 곳에까지 연결된다는 걸 알 수 있습니다. 개발팀은 반드시 사용하고 싶은 라이브러리나 코드, 모듈을 보안팀으로부터 점검을 받아야 합니다.”

3줄 요약
1. 점점 더 빨라지는 소프트웨어 개발 속도, 그래서 떠오르는 건 코드 리포지터리.
2. 개발자들이 리포지터리 많이 사용한다는 걸 간파한 사이버 공격자들, 코드에 악성 요소 심음.
3. 그런데 리포지터리가 공유되는 코드를 일일이 점검할 수는 없음. 따라서 사용자들이 사용하지 전에 코드를 점검해야 함.

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

Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 1
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
그린존시큐리티 4개월 배너모니터랩 파워비즈 6개월 2020년6월22~12월 22일 까지넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
코로나19 팬더믹 이후, 가장 기승을 부리고 있는 사이버 공격 유형은 무엇이라고 보시나요?
랜섬웨어
피싱/스미싱
스피어피싱(표적 공격)/국가 지원 해킹 공격
디도스 공격
혹스(사기) 메일
악성 앱
해적판 소프트웨어
기타(댓글로)