보안 제품정보


깃허브에서 울린 악성 패키지 홍수 주의보, 개발자들의 주의 요망 2024.03.06

사이버 범죄자들이 본격적으로 깃허브를 노리기 시작했다. 그러면서 악성 코드들을 폭탄처럼 쏟아붓기 시작했다.

[보안뉴스 문정후 기자] 지난 몇 개월 동안 사이버 공격자들이 코드 리포지터리(특히 깃허브)에 새롭게 등록한 악성 프로젝트의 수는 10만 개가 넘는다. 이 10만 개 대부분이 기존에 잘 사용되던 인기 프로젝트와 교묘하게 비슷한 이름으로 설정되어 있다. 리포지터리의 코드를 즐겨 사용하는 개발자들로서는 혼란스러울 수밖에 없다. 그럼으로써 잘못된 코드를 다운로드 받을 확률이 높아진다.

[이미지 = gettyimagesbank]


깃허브에는 자동 보안 장치들이 존재한다. 그렇기 때문에 공격자들이 쉼 없이 올리는 ‘비슷한 코드’들을 찾아내 제거하기는 한다. 하지만 전부는 아니다. 보안 장치들을 피해 등록이 되는 것들이 존재하고, 이를 통해 피해들이 발생하는 것도 사실이다.

리포지터리에 혼란을 가중시키기
리포지터리에 혼란을 주는 공격 전략은, 소프트웨어 패키지의 디펜던시를 혼란스럽게 하는 공격과 본질적으로 동일하다. “자신이 다운로드 받는 코드나 패키지가 잘못되었을 수 있다는 생각을 전혀 못하는 개발자들을 속여 악성 코드가 포함된 소프트웨어를 개발자들의 배포망을 통해 일파만파 퍼지게 하는 것”이다.

다만 리포지터리에 비슷한 코드를 대량으로 올리는 현재의 공격 기법에서 가장 중요한 건 ‘자동화 기술’이다. 인기 높은 패키지를 파악하고, 그 패키지를 가져다가 비슷한 패키지를 만들어 업로드 하는 모든 과정을 사람이 수동으로 하나하나 처리하면 단 몇 개월 사이에 10만 개의 프로젝트를 등록시키는 게 불가능하다. 이 숫자가 낮아지면 낮아질수록 ‘혼란’의 수위도 낮아지고, 그러므로 공격의 효과도 떨어진다.

방어에 있어서도 자동화 기술이 큰 비중을 차지한다. 깃허브도 이런 식으로 생성되고 등록되는 악성 패키지들을 확인하고 삭제하기 위해 자동화 기술을 활용한다. 그래서 대부분의 악성 패키지들은 등록 후 수시간 내에 삭제된다. 보안 업체 아피로(Apiiro)는 자사 블로그를 통해 “등록되는 악성 패키지가 너무 많기 때문에 놓치는 것이 단 1%라도 그 수가 수천 개에 달한다”며 “100% 방어가 되지 않는 이상 자동화 기술에만 의존할 수 없다”고 강조한다.

깃허브 측의 대변인은 “이런 식으로 등록되는 악성 코드들을 더 빨리, 더 빠짐없이 제거할 수 있도록 여러 방안을 강구하고 있다”고 밝혔다. “깃허브는 1억 명 이상의 개발자들이 4억 개 이상의 리포지터리들을 만들고 관리하고 활용하도록 하는 플랫폼입니다. 그러므로 개발자들을 보호하는 것에 큰 책임감을 가지고 있으며, 개발 환경을 보다 안전하게 만들기 위해 총력을 기울이고 있습니다. 전담 팀을 마련해 자동과 수동 작업을 다 같이 진행하기도 합니다. 사용자들의 제보도 적극 받는 중입니다.”

깃허브, 왜 공격자들 사이에서 인기가 높은가?
깃허브는 리포지터리에 혼란을 가중시키려는 공격자들에게 있어 최적의 공격 표적이다. 실제로 공급망 공격 시도가 가장 많이 발생하는 곳도 깃허브다. “자동으로 계정을 생성하는 게 어렵지 않고, API를 활용하는 것도 난이도가 낮습니다. 게다가 이미 공유되고 있는 리포지터리와 프로젝트의 숫자도 어마어마합니다. 조금만 건드려도 큰 혼란이 야기될 수 있다는 것이죠. 여러 모로 이상적인 공격 표적입니다.”

보안 업체 리시큐리티(Resecurity)의 COO인 숀 러블랜드(Shawn Loveland)는 다른 점들을 짚는다. “보안과 프라이버시를 맞바꾼 플랫폼이 깃허브이기도 합니다. 깃허브라는 플랫폼이 개발자들이 올리는 리포지터리들을 들여다보지 않습니다. 개발자들의 프라이버시를 침해하지 않기 위함이죠. 그러니 공격자들이 악성 코드를 올릴 수 있게 되는 것이기도 합니다. 인터넷 트래픽을 암호화하면 프라이버시가 강화되지만 오히려 공격자들이 악성 코드를 숨기기가 편해지는 것과 일맥상통합니다.”

그렇다면 깃허브를 사용하는 조직들은 어떻게 해야 스스로를 보호할 수 있을까? 러블랜드는 “깃허브를 사용하는 데 있어서 기업이 전사적으로 지켜야 할 정책을 정하는 것부터 시작해야 한다”고 강조한다. “그리고 그 정책을 사내 개발자 전부와 서드파티 업체들도 반드시 지키도록 해야 합니다. 현재로서는 기술적으로 악성 코드를 저절로 걸러낼 방법은 없습니다. 개발자들이 정책에 따라, 그리고 보안의 안전 수칙에 따라 코드들을 검사하고 안전한 것들을 걸러내야 합니다.”

3줄 요약
1. 지난 몇 개월 동안 깃허브에 등록된 악성 패키지가 10만 개 이상.
2. 가짜 코드를 다운로드 받도록 유도해 악성 코드를 확산시키는 것이 목적.
3. 기술만으로 해결하기 어려운 문제이므로 정책과 교육이 뒷받침 되어야 함.

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

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