블록체인을 활용한 독특한 공격 소개
NPM 공급망 공격 개요
최근 Checkmarx의 연구자들은 Node Package Manager (NPM) 생태계 내에서 복잡한 공급망 공격을 발견했습니다. 이 공격은 전통적인 악성 소프트웨어 방법과 이더리움 스마트 계약을 결합하여 명령 및 제어(C2) 작업을 관리합니다. 공격자들은 합법적인 JavaScript 테스트 도구인 것처럼 가장한 악성 패키지 "jest-fet-mock"을 만들었습니다. 이 교묘한 변장은 개발자를 목표로 하여 악성 소프트웨어가 눈에 띄지 않게 퍼지기 쉽게 만듭니다.
사이버 보안에서 블록체인의 중요성
이 공격에서 블록체인 기술의 사용은 특히 우려됩니다. 블록체인의 탈중앙화된 특성를 활용함으로써 공격자들은 탐지 및 제거가 어려운 보다 탄력적인 C2 인프라를 구축할 수 있습니다. 이 혁신은 그들이 감염된 시스템에 대한 통제를 유지하면서 쉽게 종료되지 않도록 합니다. 악성 소프트웨어 전술에 블록체인을 통합하는 것은 사이버 보안 환경에서 새로운 진화하는 위협을 나타내며, 개발자들이 경계하고 보안 조치를 적극적으로 취해야 할 필요성을 강조합니다.
블록체인과 악성 소프트웨어 전술의 융합은 사이버 위협이 진화하는 방식에서 중요한 변화를 나타내며, 개발자들이 그에 따라 보안 관행을 조정하는 것이 중요합니다.
공격 메커니즘 및 기만적 배포 기술
타이포스쿼팅과 그 영향
최근 공격은 10월 중순에 나타난 jest-fet-mock이라는 패키지를 포함했습니다. 이 패키지는 유용한 JavaScript 도구인 것처럼 가장했지만 실제로는 개발자를 위한 함정이었습니다. 공격자들은 인기 있는 패키지 fetch-mock-jest의 이름을 약간 잘못 표기하여 사용자를 혼란스럽게 하는 타이포스쿼팅이라는 속임수를 사용했습니다. 이 작은 실수는 개발자들이 이를 인식하지 못한 채 유해한 패키지를 다운로드하게 만들 수 있습니다. 실제 패키지는 매우 인기가 있어 매주 약 200,000회 다운로드되며, 이러한 기만의 완벽한 표적이 됩니다.
다중 플랫폼 악성 소프트웨어 구조
누군가 jest-fet-mock 패키지를 설치하면, 이 패키지는 Windows, Linux, macOS와 같은 다양한 시스템에서 유해한 코드를 실행하기 위해 특별한 스크립트를 사용합니다. 이 코드는 개발자의 환경에서 비밀번호와 토큰과 같은 중요한 정보를 훔칠 수 있습니다. 악성 소프트웨어는 숨겨져 있도록 설계되어 있으며 초기 설치 후에도 계속 작동합니다. 이 패키지의 모든 버전은 원격 서버에 연결되어 공격자들이 감염된 시스템에서 발생하는 일을 감시하고 공격을 더욱 악화시킬 수 있도록 합니다.
공급망 공격의 증가는 공격자들이 인기 있는 개발 도구의 진입점을 악용할 수 있음을 보여주며, 개발자들이 패키지를 관리할 때 경계하고 주의해야 함을 강조합니다.
명령 및 제어 작업에서 이더리움의 역할
C2 통신을 위한 이더리움 활용
놀라운 움직임으로, 공격자들은 이더리움 블록체인을 사용하여 명령 및 제어(C2) 통신을 설정하고 있습니다. 이는 NPM 생태계에서 이 방법이 처음으로 사용된 사례 중 하나입니다. 이 공격은 감염된 시스템에 C2 서버 주소를 배포하는 데 도움을 주는 이더리움 스마트 계약을 포함합니다. 이 방법은 블록체인의 보안성과 탈중앙화된 특성을 활용하여 일반 사이버 보안 도구가 위협을 발견하거나 제거하기 어렵게 만듭니다. 이 새로운 접근 방식은 공격자들이 블록체인의 불변성 덕분에 C2 인프라를 강력하고 쉽게 파괴할 수 없도록 유지할 수 있게 합니다.
악성 소프트웨어 전략에서 블록체인의 사용은 공격자들이 더 똑똑하고 혁신적으로 변하고 있음을 보여줍니다.
이더리움을 사용함으로써 공격자들은 모니터링하기 어려운 숨겨진 네트워크를 유지할 수 있습니다. 이는 전통적인 보안 조치가 이러한 새로운 유형의 위협을 포착하기에 충분하지 않을 수 있음을 의미합니다. 사이버 위협의 환경이 진화함에 따라, 이러한 공격에서 블록체인이 어떻게 사용될 수 있는지를 이해하는 것이 개발자와 보안 팀에게 중요합니다.
위협 분석 및 대응 과제
악성 소프트웨어 변종 및 식별자
최근 NPM 공급망 공격은 다양한 악성 소프트웨어 변종을 도입했습니다. 각 변종은 SHA-256 해시로 알려진 고유 식별자를 가지고 있어 악성 소프트웨어를 추적하고 분석하는 데 도움이 됩니다. 예를 들어, Windows 변종은 df67a118cacf68ffe5610e8acddbe38db9fb702b473c941f4ea0320943ef32ba로 식별되며, Linux 및 macOS 변종은 각각 고유한 식별자를 가지고 있습니다. 이러한 악성 소프트웨어의 다양성은 보안 도구가 효과적으로 탐지하고 대응하는 데 어려움을 줍니다.
탐지 도구 회피
이 공격의 가장 우려스러운 측면 중 하나는 이러한 악성 소프트웨어 샘플이 VirusTotal과 같은 인기 있는 탐지 도구에 의해 악성으로 표시되지 않았다는 것입니다. 이는 전통적인 보안 조치가 이러한 위협을 식별하는 데 어려움을 겪고 있음을 의미하며, 개발 환경이 취약해집니다. 탐지되지 않은 존재의 악성 소프트웨어는 특히 NPM 유틸리티가 종종 중요한 지속적 통합 및 지속적 배포(CI/CD) 파이프라인에 통합되어 있기 때문에 상당한 위험을 초래합니다. 공격자들은 이러한 취약점을 악용하여 CI/CD 프로세스에 침투하고, 전체 소프트웨어 공급망을 타격할 수 있습니다.
CI/CD 파이프라인에 대한 위험
악성 패키지가 CI/CD 파이프라인에 통합되면 조직에 심각한 결과를 초래할 수 있습니다. 공격자들이 이러한 파이프라인에 접근하게 되면, 소프트웨어 개발 프로세스를 조작하거나 취약점을 도입하거나 심지어 악성 코드를 생산 환경에 배포할 수 있습니다. 이 상황은 개발 팀 내에서 보안 관행을 강화할 긴급한 필요성을 강조합니다. 위협 환경이 진화함에 따라, 조직은 사이버 보안 접근 방식에서 경계하고 적극적이어야 합니다.
이러한 정교한 공격의 증가는 소프트웨어 개발 환경에서 지속적인 모니터링과 강력한 보안 프로토콜의 중요성을 강조합니다. 이러한 조치가 없으면 조직은 점점 더 복잡한 사이버 위협의 희생양이 될 위험이 있습니다.
개발 팀을 위한 완화 및 경계
이 공격은 소프트웨어 개발 팀 간의 더 나은 보안 관행의 필요성을 강조합니다. 이 캠페인에서 사용된 교묘한 속임수와 블록체인 기술의 연관성으로 인해, 개발자들은 패키지 관리 방법을 신중하게 점검해야 합니다. 테스트 도구가 진짜인지 확인하고 유사한 공격을 피하기 위해 엄격한 보안 조치를 채택하는 것이 중요합니다.
위험을 줄이기 위해 팀은 종속성을 관리하고 실시간 취약점 탐지를 적용하는 도구에 집중해야 합니다.
이번 사건을 계기로 전문가들은 고급 공급망 공격에 맞서기 위해 개발 환경에서 강력한 보안 프로토콜의 중요성을 강조합니다. 악성 패키지 "jest-fet-mock"과 같은 것들이 드러낸 취약점을 인식함으로써, 조직은 CI/CD 프로세스와 소프트웨어 공급망의 전반적인 안전성을 강화할 수 있습니다. 이 사건은 업계에 심각한 경고를 보내며, 공격자들이 블록과 같은 새로운 기술을 사용하여 더 탄력적이고 탐지하기 어려운 사이버 위협을 만들어내고 있음을 알립니다.