악성 오픈소스 패키지 ‘급증’에 맬웨어 폭풍
NPM, PyPI 등 생태계에 대량 ‘악성 오픈소스’ 패키지 악성 패키지 절반 이상이 데이터 유출과 손상이 목적 개인 식별 정보(PII), 비번, 액세스 토큰, API 키 등 탈취 설계
[애플경제 이지향 기자] 오픈소스가 일반화되면서 ‘악성 오픈소스 패키지’도 급증하고 있다. 이로 인해 특히 IT분야에선 최근 ‘맬웨어 폭풍’에 시달리고 있는 실정이다. 금년 들어 신뢰할만한 국내외 보안업체와 관련 기관에 따르면 오픈소스 생태계 전반에서 수많은 악성 오픈소스 패키지가 난무하고 있다.
그 중 소프트웨어 공급망 보안 회사인 소나타입(Sonatype)사는 무려 16,000개 이상의 오픈소스 맬웨어 패키지를 자체적으로 식별했다고 전했다. 그러면서 “소프트웨어 개발자들은 잠시라도 경계를 늦추지 않아야 한다”고 경고했다.
맬웨어 총량, 작년보다 2배 가깝게 증가
소프트웨어 공급망 보안 회사인 Sonatype은 지난 분기에 자바 언어 패키지 관리도구인 NPM이나 PyPI(파이썬 패키지 인덱스)를 포함한 주요 생태계에서 이처럼 많은 악성 오픈소스 패키지를 발견했다고 공개했다. “본사가 그간 추적한 바에 의하면 맬웨어의 총량은 작년 같은 기간보다 무려 2배 가깝게 증가했다”는 얘기다.
사이버 범죄자들은 오픈소스를 단순히 모두를 위한 공유자산으로 간주하지 않는다. 이들은 이를 가장 수익성이 높은 공격 대상으로 삼는다. 특히 이를 가장 많이 활용하는 SW개발자를 가장 쉬운 침투 경로로 인식하고 있음을 알 수 있다.
SW개발자와 보안 팀은 날이 갈수록 오픈소스에 대한 의존도가 더욱 커지고 있다. 그에 비례해서 일상적 개발 도구가 된 오픈소스를 통한 위협이 점점 더 노골화되고 있다.
주요 피해 사례는 뭐니뭐니 해도 데이터 유출이다. 또 다른 보안업체 ‘시큐리티 스코어카드’의 경우 자사가 식별해낸 모든 악성 패키지의 절반 이상이 데이터 유출을 목적으로 한 것이다. 이들은 기밀 자료, 개인 식별 정보(PII), 비밀번호, 액세스 토큰, API 키 등 민감한 데이터를 훔치도록 특별히 설계된 경우가 많았다.
데이터 손상을 목적으로 한 ‘악성 코드’도 크게 증가했다. 이런 사례는 아직 많지는 않지만, 현재 전체 악성 패키지의 3%를 차지한다는게 ‘시큐리티’사의 분석이다. 이는 작년의 2배에 달하는 수치다.
이에 따르면 특히 암호화폐 채굴 악성 코드도 늘어나고 있다. 전체 악성 오픈소스 패키지 5~6% 정도라는게 이들 업체의 얘기다. ‘소나타입’사는 “공격자들은 이제 리소스 악용을 벗어나, 자격 증명 도용, 장기간 잠복과 침투로 전환하고 있다”고 분석했다.
‘.git-credentials’ 파일, AWS 비번, 환경 변수 유출
또한 이들 악성 패키지들은 최근엔 민감한 데이터를 유출하기 위한 목적으로 고도의 수법을 적용하고 있다. 예를 들어 ‘.git-credentials’ 파일이나, AWS 비번, 환경 변수 유출, CI/CD 파이프라인에 사용되는 자격 증명 수집, 이를 위한 개발자 시스템 공격, 탐지를 피하기 위한 시간 지연 페이로드, 암호화된 전송 사용 등 수법도 다양하다.
특히 CI/CD 도구와 클라우드 서비스에서 민감한 정보를 저장하는 데 사용되는 환경 변수나, 구성 파일, 기타 일반적인 위치를 표적으로 하는 대량의 악성코드가 계속해서 발견되고 있다.
공격자가 이러한 자격 증명을 수집하면 클라우드 계정, API, 데이터베이스 및 내부 시스템에 대한 무단 액세스를 시도, 더 광범위한 침해나 악용의 여지가 생긴다. 그야말로 오픈소스 생태계 자체가 공포의 대상이 되는 셈이다.
이런 극단의 상황을 연상케 하는 대표적인 사례가 북한 정권과 연관된 지능형 해커 조직인 악명 높은 라자루스 그룹(Lazarus Group)이다. 한 조사에 따르면 이 그룹은 107개의 패키지를 배포했으며, 알려진 다운로드 수는 무려 3만건을 넘었다.
라자루스 그룹도 ‘오픈소스 저장소’가 무대
올해 초, ‘시큐리티 스코어카드’사는 라자루스 그룹의 최신 캠페인(해킹)인 ‘오퍼레이션 마스텍 메이헴(Operation Marstech Mayhem)’을 적발해냈다. 이는 소위 ‘마스텍1(Marstech1)’이라는 첨단 임플란트를 기반으로 조작된 오픈소스 저장소가 활동 무대다. 이를 통해 소프트웨어 개발자와 암호화폐 지갑을 침해하도록 설계된 것이다.
보안 전문가들은 최근엔 NPM 패키지에 악성코드를 내장하는 수법도 횡행하고 있다. 그 때문에 개발자로선 철저한 검증 없이는 탐지가 거의 불가능해졌다.
보안업체 포티넷(Fortinet)은 “실제로 작년에 오픈소스 저장소에 배포된 수천 개의 악성 패키지를 발견했다”며 “그 중 NPM 패키지에 악성코드를 내장한 경우가 많다”고 경고했다. 특히 이들 패키지에는 탐지를 피하기 위해 가벼운 코드가 내장되고, 설치하자마자 악성코드를 실행하는 스크립트, 저장소 URL이 없는 패키지가 포함되어 있어 더욱 추적이 어렵다는 지적이다.