닷넷 개발자들도 안심 금물! 누겟 리포지터리에서도 악성 패키지 나와

2023-03-23 15:25
  • 카카오톡
  • 네이버 블로그
  • url
개발자들을 노리는 소프트웨어 공급망 공격이 확대되고 있다. 자바와 파이선 생태계에서만 주로 발견되던 공격 행위가 누겟이라는 닷넷 리포지터리에서도 등장했다. 개발자와 리포지터리 운영 주체의 보안 강화가 필요하다.

[보안뉴스 문정후 기자] 닷넷 소프트웨어 개발자들을 위한 리포지터리인 누겟(NuGet)에서 악성 패키지 13개가 발견됐다. 암호화폐 채굴, 백도어 및 정보 탈취, 피해자 시스템 장악 등의 기능을 가진 것으로 분석됐다. 소프트웨어 공급망 보안 업체 제이프로그(JFrog)는 분석 보고서를 통해 이 사실을 공개했으며, 해당 패키지들은 누겟에서 삭제될 때까지 총 16만 번 이상 다운로드 되었다고 한다.


[이미지 = utoimage]

최근 각종 리포지터리들에서 악성 패키지들이 매일처럼 발견되고 있다. 공격자들 사이에서 소프트웨어 공급망 공격이라는 것이 유행하기 시작하면서 나타난 현상이다. 개발자들이 리포지터리들에서 패키지들을 가져와 사용할 때 일일이 확인하지 않는다는 사실을 악용하는 공격 기법이라고 할 수 있다. 제이프로그의 보안 연구 책임자인 샤차르 메나시(Shachar Menashe)는 “닷넷과 C#은 공격자들이 크게 선호하지 않는 언어인데도 소프트웨어 공급망 발견되는데, 다른 생태계는 어떻겠느냐”고 말한다.

“공격자들이 가장 선호하고 개발자들도 가장 많은 언어는 파이선과 자바스크립트입니다. 두 생태계 모두 커다란 규모의 리포지터리들을 보유하고 있지요. 실제로 그런 곳들에서는 악성 패키지들이 자주, 많이 발견되는 편입니다. 파이선 생태계의 PyPI와 자바스크립트 생태계의 NPM이 대표적이죠. 이곳을 이용하는 개발자들이라면 다운로드 받는 패키지를 늘 꼼꼼하게 확인해야 할 것입니다.”

실제로 공격자들은 코드 리포지터리들을 집중적으로 노리고 있다. 공격자가 조작해 놓은 패키지를 개발자가 가져다가 쓰고, 그 패키지로 애플리케이션을 완성시켜 배포하면 공격자 입장에서 높은 효과를 누리게 되기 때문이다. “악성 패키지 하나 만들었을 뿐인데, 개발자들이 멀웨어를 알아서 양산하는 것과 같습니다.”

리포지터리 공격을 가능하게 하는 것, 타이포스쿼팅
리포지터리에 심은 악성 패키지는 어떤 경로로 개발자들의 컴퓨터에 안착하는 걸까? 공격자들이 가장 많이 사용하는 기법은 ‘타이포스쿼팅(typosquatting)’이다. 인기 높은 패키지 이름과, 자신들이 만든 악성 패키지의 이름을 똑같이 하되 철자 하나 둘 정도를 바꾸어 놓고 누군가 패키지 검색을 할 때 오타를 낼 때까지 기다리는 것이다. 제이프로그의 보안 연구원 나탄 네호라이(Natan Nehorai)와 브라이언 무살리(Brian Moussalli)는 “그래서 패키지 이름을 꼼꼼하게 살피는 것이 보안의 첫 걸음”이라고 강조한다.

“누겟에서 악성 패키지가 발견된 건 이번이 처음입니다. 누겟이 다른 리포지터리에 비해 조금 덜 알려지기도 했고, 여기서 사용되는 언어인 닷넷이 공격자들의 주목을 덜 받기 때문이죠. 하지만 처음이 어렵지 한 번 이렇게 물꼬가 터지면 더 많은 공격이 이어질 가능성이 높습니다. 다른 리포지터리에서 어떤 일이 발생했고, 어떤 안전 대책이 마련됐는지를 살펴가며 ‘누겟 강화’를 도모해야 할 것입니다.” 네호라이와 무살리가 말한다.

즉각적인 자동 실행, 문제 많다
파일들 중에는 개발자 도구에 의해서 자동으로 즉각 실행되는 것들이 있다. 편리하긴 하지만 보안의 측면에서 봤을 땐 위험천만한 특성이다. “이런 기능 때문에 PyPI 생태계에서 시스템 감염 문제가 더 많이 이어지는 것입니다. 공격의 경로와 가능성을 줄이려면 이런 파일들을 사용하지 말아야 합니다. 자동 실행 기능을 차단하는 것도 비슷한 맥락에서 도움이 됩니다.”

그래서 제이프로그는 “누겟 측에서 해당 패키지들을 전부 삭제했지만 안심할 수 없는 상태”임을 강조하고 있다. “누겟 패키지들에도 설치 후 곧바로 코드가 실행되는 기능이 적잖이 적용되어 있습니다. 닷넷 개발자들이 이 점을 신경 쓰지 않는다면 누군가 소리 소문 없이 악성 패키지를 생태계에 심어 큰 효과를 누릴 수 있게 됩니다.” 메나시의 경고다.

제이프로그는 개발자들이 다음과 같은 수칙을 지켜야 안전해질 수 있다고 강조했다.
1) 임포트 되거나 설치된 패키지에 오타가 있는지 확인한다.
2) 실수로, 혹은 어쩌다가 이상한 패키지를 설치하는 일이 없어야 한다.
3) 만약 2)번의 일이 발생했다면 이를 코드 안에나 패키지 설명을 통해 언급해야 한다.
4) 추가로 뭔가를 다운로드 받아 설치하는 기능을 가진 실행파일이 패키지 안에 없다는 걸 확인해야 한다. 정상적인 소프트웨어들에도 이런 기능이 내포되어 있을 수 있으나, 악성 패키지에 비교도 안 될 정도로 많다.

메나시는 “리포지터리들에서 공격이 너무 많이 일어나고 있어 보안이 강화되고 있는 게 사실이지만 그 속도가 충분히 빠르지는 않다”고 지적했다. “리포지터리 운영자들이 할 수 있는 일에는 한계가 있습니다. 이용자인 개발자들 사이에서 변화가 있어야 합니다. 그게 더 중요합니다.”

3줄 요약
1. 닷넷 생태계의 코드 리포지터리인 누겟에서 악성 패키지 다량 발견됨.
2. 현재는 패키지들이 전부 삭제되었으나 앞으로 더 나타날 가능성 높음.
3. 패키지를 받아 설치하자마자 실행되는 것은 위험할 수 있음.

[국제부 문정후 기자(globoan@boannews.com)]

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

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 지인테크

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • KCL

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 지오멕스소프트

    • 원우이엔지

    • HS효성인포메이션시스템

    • TVT코리아

    • 이화트론

    • 다누시스

    • 테크스피어

    • 홍석

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 유니뷰

    • 비전정보통신

    • 아이원코리아

    • 인터엠

    • 위트콘

    • 성현시스템

    • 한국씨텍

    • 투윈스컴

    • 스피어AX

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 경인씨엔에스

    • 디비시스

    • 트루엔

    • 세연테크

    • 프로브디지털

    • 동양유니텍

    • 포엠아이텍

    • 넥스트림

    • 핀텔

    • 위즈코리아

    • 삼오씨엔에스

    • 벨로크

    • 피앤피시큐어

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • (주)일산정밀

    • 아이엔아이

    • 새눈

    • 미래시그널

    • 인빅

    • 유투에스알

    • 에이티앤넷

    • 케비스전자

    • 한국아이티에스

    • 엣지디엑스

    • 네티마시스템

    • 에이앤티글로벌

    • 이엘피케이뉴

    • 와이즈콘

    • 현대틸스
      팬틸트 / 카메라

    • 제네텍

    • 구네보코리아주식회사

    • 창성에이스산업

    • 에이앤티코리아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 티에스아이솔루션

    • 엔에스티정보통신

    • 엔시드

    • 포커스에이아이

    • 넥스텝

    • 엘림광통신

    • 메트로게이트
      시큐리티 게이트

    • 레이어스

    • 주식회사 에스카

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

Passwordless 설정

PC버전

닫기