자격증명 탈취 후 자동 전파…데이터 파괴 기능 갖춰 위험성 높아
오픈소스 의존 높은 SW 공급망…‘SBOM’으로 대응력 확보해야
[아이티데일리] 지난 9월 기승을 부린 자기복제형 웜(Worm) 악성코드 ‘샤이 훌루드(Shai-Hulud)’가 변종으로 돌아왔다. 이번에는 자격 증명이나 토큰을 훔치지 못하면 데이터 자체를 파괴하려고 시도하는 등 위험성이 높아졌다.
25일 사이버보안 외신 ‘다크리딩(Dark Reading)’에 따르면 엔피엠(npm), 깃허브(GitHub) 등 오픈소스 저장소를 표적으로 삼는 ‘샤이 훌루드’가 변종으로 다시 등장했다. 샤이 훌루드는 프랭크 허버트(Frank Herbert)의 SF 소설 ‘듄(Dune)’에 등장하는 거대 사막 벌레의 이름이다.
샤이 훌루드는 지난 9월 npm 오픈소스 생태계에서 패키지 수백 개를 감염시키며 악명을 떨쳤다. 감염된 개발자 계정을 통해 다른 패키지로 자동 전파되는 ‘웜’의 특성을 보였다.
공격자는 npm 계정을 훔친 뒤 정상 패키지에 악성 프로그램을 몰래 심었다. 개발자가 이 패키지를 설치하며 그 과정에서 악성 프로그램이 실행됐다. 이 프로그램은 아마존웹서비스(AWS), 구글 클라우드 등에 접속할 수 있는 자격 증명을 수집했다. 이 중 npm 계정이 포함돼 있으면 이를 말미암아 새로운 공격이 시작됐고, 이렇게 피해가 광범위하게 퍼져 나갔다.
악명을 떨친 샤이 훌루드가 변종으로 돌아왔다. 변종은 자격 증명을 확보하지 못하거나 다른 오픈소스 저장소에 인증하지 못할 시, 사용자의 홈 폴더에 있는 개인 파일을 삭제한다. 단순한 데이터 탈취를 넘어 치명적인 파괴 행위로 발전한 것이다.
악성코드는 클라우드 인프라 접근 키, 시스템 정보 등을 스캔하며 깃허브 계정을 확보해 숙주로 삼고 공격을 확산시켜 나갔다. 심지어 윈도(Windows), 리눅스(Linux), 맥OS(MacOS) 등 어떤 운영체제(OS) 환경이든 실행됐다.
클라우드 보안 기업 ‘위즈(Wiz)’는 샤이 훌루드 변종이 감염된 패키지가 지난 21일부터 23일 사이에 npm 저장소에 업로드된 사실을 확인했다. 이스라엘 보안 스타트업 ‘코이 시큐리티(Koi Security)’는 이번 공격이 npm 패키지 800개 이상을 감염시키고 수만 개의 깃허브 저장소에 영향을 미치는 등 지난 9월 사태보다 피해 규모가 더 커졌다고 우려했다.
현재 깃허브는 이 캠페인에 관련된 공격자가 만든 저장소를 제거하고 있다. 하지만 공격자는 계속 새로운 저장소를 생성하고 있는 것으로 알려졌다.
보안 기업들은 빌드 서버, CI/CD(지속적 통합·배포) 파이프라인 등 모든 엔드포인트를 스캔해 샤이-훌루드에 감염된 패키지가 있는지 확인할 것을 권고했다. 침해된 버전은 즉시 삭제해야 하며 공격의 범위가 파악될 때까지 npm 패키지를 업데이트하지 말라고 조언했다. 또 AWS, 구글 클라우드, 깃허브 등 주요 서비스의 아이디 및 비밀번호를 변경할 것을 당부했다.
샤이 훌루드처럼 오픈소스 저장소에서 내려받은 패키지를 감염시키는 시도는 소프트웨어 공급망 공격으로 비화할 가능성이 크다. 실제 카스퍼스키가 2024년 한 해간 오픈소스 패키지 4,200만 개를 점검한 결과 1만 4,000개의 악성 패키지가 발견됐다. 이는 전년 대비 50% 늘어난 수치였다.
전 세계 개발자들은 개발에 드는 공수를 줄이기 위해 오픈소스 패키지 저장소를 자주 이용한다. 하지만 공격자가 패키지에 악성코드를 심어둔다면 대규모 피해로 번질 수 있다. 일부 패키지는 복잡한 아키텍처에 쓰여 찾기 힘들거나 관리 소홀로 사용 여부가 확인되지 않아 더욱 위험하다.
소프트웨어 공급망 보안 기업 레드펜소프트의 전익찬 부사장은 “오픈소스 패키지 감염으로 인한 피해를 막기 위해선 ‘소프트웨어 자재 명세서(SBOM)’로 지속적인 자산 관리가 이뤄져야 한다”며 “실행 환경에서 사용되는 구성요소를 실시간 파악하는 ‘런타임(Runtime) SBOM’으로 고도화한다면 더 정확한 탐지와 신속한 대응이 가능할 것”이라고 조언했다.


