애플리케이션과 웹사이트에서 데이터를 추출하도록 설계된 새로운 소프트웨어 공급망 공격이 20개가 넘는 NPM 패키지에서 발견되었습니다.
위협 -
이번 달 초 ReversingLabs는 JavaScript NPM 공격인 IconBurst를 식별했습니다. 모바일 애플리케이션과 웹사이트에 내장된 양식에서 데이터를 수집하는 악성 NPM 모듈을 설치합니다.
확산 -
현시점에서 공격의 확산이 완전히 명확하지는 않지만 개발자가 이러한 패키지를 사용하여 구축한 웹사이트와 앱을 대량 감염시킬 가능성이 있습니다. 각 개발자는 여러 사이트를 구축할 수 있으므로 위협이 확대됩니다. 일부 패키지는 수만 번 다운로드되기 때문에 추정 범위는 Log4J, SolarWinds 등 과거 대량 감염 사례만큼 광범위할 수 있습니다. Log4J가 더 널리 퍼졌고 SolarWinds가 더 큰 영향을 미쳤지만 궁극적인 피해도 그만큼 심각할 수 있습니다.
기술 –
패키지는 배포된 애플리케이션에서 데이터를 훔치는 것을 목표로 하는 jQuery 스크립트를 사용합니다.
또한 IconBurst는 JavaScript 난독처리기를 사용하여 일부 코드를 숨깁니다. 난독처리기는 일반적으로 오픈 소스 패키지의 독점 코드를 보호하고 JavaScript 파일을 압축하기 위한 것입니다. 그러나 IconBurst는 이를 사용하여 직렬화된 양식 데이터 추출에 사용되는 추출 주소를 숨깁니다.
이는 자신도 모르게 이러한 가짜 패키지를 사용하는 개발자가 공격 대상이 아니라 실제 대상이 최종 사용자임을 의미합니다.
전염병 -
타이포스쿼팅(typosquatting) 방식을 배포 수단으로 활용한 패키지는 올해 초부터 24개로 확인됐다.
공격자는 타이포스쿼팅 기술을 사용합니다. 이는 NPM과 같은 공개 저장소를 통해 합법적인 패키지를 가장하는 것을 의미합니다.
IconBurst는 "Icon"이라는 단어가 포함된 패키지, 트래픽이 많은 NPM 모듈을 가장하는 패키지, 혼동하기 쉬운 철자가 틀린 이름이 포함된 패키지를 제공하는 데 중점을 둡니다.
타이포스쿼팅은 사이버스쿼팅 공격의 한 형태이자 사회공학 공격의 한 형태입니다.
"icon"을 기본 키워드로 사용하는 이유는 아마도 ionic 프레임워크를 사용하여 구축된 애플리케이션에서 아이콘을 제공하기 위해 자주 사용되는 ionicons 패키지 때문일 것입니다.
icon-package의 다운로드 횟수는 17000회 이상이고 지금까지 가장 많이 다운로드된 패키지이며 ionicio 패키지의 경우 3700회 이상입니다.
깃발 -
그래서 무엇이 만들어졌는가 리버싱랩스 속담의 위험 신호를 높이나요? 자바스크립트 난독처리기.
언급한 바와 같이, 자바스크립트 난독처리기는 자바스크립트 애플리케이션을 보호하기 위한 것이며, 이를 통해 개발자는 코드 복사나 리버스 엔지니어링을 방지할 수 있습니다.
그러나 이 기능의 단점은 공격자가 악성 코드를 위장하기 위해 악용할 수 있다는 것입니다.
ReversingLabs 엔지니어는 자바스크립트 난독처리기의 존재로 인해 여러 NPM 패키지를 검사했고, 해당 패키지의 이름을 살펴보면 패턴이 나타났습니다. 검사된 첫 번째 패키지 중 일부에는 "아이콘"이라는 단어가 포함되어 있었는데, 이는 공격자의 전략이 명확해졌을 때 오타를 통한 스쿼트 및 대량 감염입니다.
공격자는 아이콘이라는 단어가 포함된 패키지를 구체적으로 겨냥하지는 않았지만 인기로 인해 다운로드되는 패키지의 대부분은 아이콘과 관련된 패키지였습니다.
핸스 - '아이콘버스트'
다음은 목록입니다.
작성자/패키지 이름 | 다운로드 횟수 | 원래 패키지 이름 |
---|---|---|
이온 아이콘 | 108 | 이온 아이콘 |
이온시오 | 3,724 | 이온 아이콘 |
아이콘 패키지 | 17,774 | 이온 아이콘 |
아약스 라이브러리 | 2,440 | |
우산 | 686 | 우산 |
아약스 라이브러리 | 530 | |
iconion 패키지 | 101 | |
패키지-sidr | 91 | |
kbr스토어 | 89 | |
아이콘 패키지 | 380 | |
수벡 | 99 | |
패키지 쇼 | 103 | |
패키지 아이콘 | 122 | |
아이콘 패키지 | 170 | |
ionicon 패키지 | 64 | |
아이콘 팩 | 49 | |
팩 아이콘 | 468 | |
이온 아이콘 팩 | 89 | |
패키지 이온 아이콘 | 144 | |
패키지-이온아이콘 | 57 | |
base64-자바스크립트 | 40 | |
ionicons-js | 38 | |
ionicons-json | 39 | |
바닥글 아이콘 | 1,903 | |
포효-01 | 40 | |
포효-02 | 37 | |
wkwk100 | 38 | |
스위퍼 번디 | 39 | 큰일 |
아약스-libz | 40 | |
스와이프 번들 | 185 | 큰일 |
아테즈 | 43 | |
아약스-googleapis | 38 | |
테즈도안크 | 69 | |
아작사피스 | 40 | |
테스코덱 | 38 | |
아테즈 | 114 | |
libz.jquery | 160 | |
아약스 라이브러리 | 36 |
의도 –
IconBurst는 최종 사용자를 대상으로 하고 양식에 입력된 데이터를 보유하도록 설계되었습니다. 다른 공격은 최종 사용자가 아닌 다른 종류의 데이터나 다른 종류의 대상 고객을 표적으로 삼을 수도 있습니다.
하지만 공격자는 항상 데이터를 노리고 있습니까? 실제로는 그렇지 않습니다. 우리는 다른 종류의 공격도 보아왔습니다. 공격자는 패키지에 숨겨진 코드를 사용하고 공격받는 시스템의 리소스(컴퓨팅 성능)를 표적으로 삼아 데이터에 전혀 영향을 주지 않는 암호화 채굴기를 설치했습니다.
요약 -
IconBurst는 궁극적으로 단순한 기술을 사용하는 능력을 보여줍니다. NPM과 같은 공개 저장소를 통해 악성 코드를 위장하고 합법적인 패키지로 가장하는 JavaScript 난독 처리기입니다.
진짜 에이스업 아이콘버스트의 소매는 고도로 정교한 기술이 아닌 사회 공학도 그만큼 효과적일 수 있습니다.
이 콘텐츠는 소프트웨어 공급망 전반에 걸쳐 코드 아티팩트와 코드 개발 및 전달 프로세스에 최첨단 보안을 제공하는 선도적인 엔드투엔드 소프트웨어 공급망 보안 솔루션 제공업체인 Scribe Security에서 제공합니다. 자세히 알아보기.