오픈소스가 점점 소프트웨어의 많은 부분을 차지함에 따라 공급망 공격은 간과할 수 없는 위험이 되고 있다. 최근 북한에서도 개발자들이 사용하는 오픈소스를 노리고 각종 공격 패키지들을 리포지터리에 올리는 중이라고 한다.

[보안뉴스 문가용 기자] 일본의 사이버 보안 담당 기관이 북한의 라자루스(Lazarus) 해킹 그룹에 대한 경고를 발표했다. 최근 라자루스가 파이선 프로그래밍 생태계의 공공 리포지터리인 PyPI에 공급망 공격을 실시하고 있다는 내용이다.

일본 침해대응센터, 북한의 라자루스가 공급망 공격을 한다고 경고

[이미지 = gettyimagesbank]

현재 PyPI를 공략하기 위해 라자루스가 만들어 올리는 가짜 패키지의 이름은 pycryptoenv와 pycryptoconf다. 유명 파이선 툴킷인 pycrypto와 비슷하게 보이도록 만들어진 것으로 추정된다. 여기에 속아서 다운로드 후 설치할 경우 컴배커(Combacker)라는 트로이목마가 피해자의 윈도 장비에 설치된다. 일본 CERT는 경고문을 통해 “현재까지 300~1200회 정도 다운로드 된 것으로 추정된다”고 밝혔다.

가트너의 수석 디렉터이자 분석가인 데일 가드너(Dale Gardner)는 컴배커에 대해 “다목적 트로이목마”라고 설명하며 “랜섬웨어를 심거나 크리덴셜을 훔치거나 개발자 파이프라인에 침투해 정보를 빼돌리는 등 모든 악성 행위를 할 수 있다”고 설명한다. 북한의 해커들은 이전 다른 캠페인에도 컴배커를 사용한 적이 있다. npm이라는 또 다른 리포지터리를 통한 공급망 공격에서도 발견된 바 있다.

“일종의 타이포스쿼팅 공격을 하고 있다고 할 수 있습니다. 또한 디펜던시에 혼란을 주려는 공격으로도 볼 수 있습니다. 개발자들을 속여 가짜 패키지를 다운로드하도록 한뒤, 그 패키지를 통해 개발자가 만드는 소프트웨어 자체는 물론 파이프라인을 전부 감염시키려는 것이죠. 이런 류의 공격은 최근 공격자들 사이에서 크게 유행하고 있습니다. 2023년 한 해에만 오픈소스 리포지터리에서 발견된 악성 패키지의 수가 24만 5천 개일 정도입니다. 이는 2019년에 비해 두 배 증가한 것입니다.”

아시아의 개발자들, 특히 많은 영향을 받아
PyPI는 전 세계 개발자들이 함께 사용하는 중앙화 된 서비스이자 플랫폼이다. 그러므로 PyPI에서 악성 행위가 발견됐다고 한다면 전 세계 개발자들이 화들짝 놀라 주의해야 한다. “그러므로 일본 정부에서 경고를 내보내긴 했지만 세계 곳곳의 개발자들 모두가 인지하고 있어야 하는 것이라고 할 수 있습니다. 파이선을 사용하고, PyPI에 드나든다면 말이죠.”

하지만 일부 전문가들은 ‘비영어권 개발자들’이 특히 취약하다고 경고하기도 한다. “언어 장벽이 은근히 IT 업계에도 작용합니다. 아시아권 개발자들은 대부분 영어에 덜 익숙하고, 그러므로 영어 오타를 잘 못알아볼 가능성도 높습니다. 그런데다가 기업 차원에서 개발자들에게 충분한 자원을 주지 않을 경우, 그래서 꼼꼼한 점검이 어려울 경우 개발자들은 더 취약해집니다.” 네티파이(Netify)의 수석 보안 연구원인 타이무르 이일랄(Taimur Ijlal)의 설명이다.

아카데믹인플루언스(Academic Influence)의 연구 국장인 제드 마코스코(Jed Macosko)는 “동아시아권 개발자들은 다른 지역 개발자들보다 더 스케줄이 꽉 차 있는 경우가 많다”고 말하며 “개발자들 간 공유하는 기술과 플랫폼, 프로그래밍 언어가 유행을 잘 타는 편이라 다들 똑같은 도구와 방법론을 사용하는 것처럼 보일 정도”라고 말한다. 그만큼 PyPI를 이용한 공급망 공격에 취약할 수 있다는 뜻이다. “그만큼 개발자 커뮤니티에서 서로를 신뢰하는 경우가 많다는 건데, 공격자들이 이를 노리기 시작하면 꽤나 골치 아파질 수 있습니다.”

사이버 보안
가드너는 “공급망 공격으로부터 개발자를 보호하는 건 꽤나 어려운 일이며, 여러 가지 전략을 다양하게 구사해야만 한다”고 강조한다. “먼저 개발자들부터 스스로 자신들이 다운로드 받는 코드나 자원들을 확인하고 검토하는 습관을 가져야 합니다. 요즘은 디펜던시들을 수없이 많은 곳에서 받아서 사용하고, 그걸로 또 새로운 소프트웨어를 만들잖아요? 그런 개발 방법론에는 반드시 책임이 뒤따른다는 걸 인지해야 합니다.”

하지만 개개인의 주의와 조심만으로 모든 악성 공격을 막을 수는 없다. 그렇기 때문에 조직 차원에서 오픈소스를 자동으로 검사해 주고 디펜던시를 관리해 주는 기술들을 도입하는 것도 갈수록 중요해지고 있다고 가드너는 덧붙인다. “소프트웨어 구성 분석 도구를 활용할 경우 디펜던시들을 평가하고, 가짜나 악성 패키지들을 발견할 확률을 크게 높일 수 있습니다. 뿐만 아니라 패키지를 다운로드 받을 때마다 적극적으로 스캔해야 한다는 정책을 도입하는 것도 좋습니다.”

3줄 요약
1. 일본 CERT, PyPI에 북한 공격자들 활동한다는 내용의 경고 발표.
2. PyPI가 세계적인 플랫폼이긴 하지만 아시아권 개발자들이 특히 취약할 수 있음.
3. 외부에서 받아 쓰는 코드, 실제 활용하기 전에 검사하는 게 중요.

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

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