핵심 요약
- 인기 자바스크립트 수학 라이브러리를 모방한 npm 패키지에 정교한 원격 제어 악성코드가 심겨진 것이 발견되었습니다.
- 특정 행렬 방정식을 계산해 올바른 값이 도출되어야만 복호화 키로 작동해 악성코드가 실행되는 기괴한 잠복 방식을 썼습니다.
- 암호화가 풀린 악성코드는 공개 메신저와 블록체인을 통해 공격자의 명령을 받아 실행되는 것으로 조사되었습니다.
요약 유명 자바스크립트 수학 라이브러리인 mathjs를 모방한 npm 패키지에서 특정 수학 연산을 풀어야만 복호화되어 작동하는 악성코드가 발견됐습니다. 보안 업체 SafeDep 분석에 따르면, mathmain이라는 이름의 이 패키지 내부에는 원격 제어용 백도어(RAT)가 숨겨져 있었습니다.
이 악성코드가 특히 기괴한 이유는 평소에는 암호화된 상태로 잠들어 있다가, 특정 방정식의 행렬 연산 값을 입력받아야만 깨어난다는 점입니다. 소스코드 분석 결과, 선형 연립방정식을 푸는 함수(lusolve) 내부에 교묘하게 검증 코드를 삽입해 두었습니다. 입력된 하삼각 행렬 데이터가 scrypt 및 AES-256-GCM 알고리즘의 복호화 키로 쓰이며, 공격자가 설정한 특정 행렬 데이터를 계산하는 순간 암호화된 파일이 복호화되어 디스크에 쓰이고 즉시 실행되는 구조입니다.
복호화된 페이로드는 공격자의 명령을 받아 호스트 시스템에서 임의의 코드를 실행하며, 명령 제어(C2) 통신 채널로 공개 채팅 서비스와 블록체인 네트워크를 활용하도록 설계되었습니다. 일반적인 패키지 설치 시점이나 단순 임포트로는 절대 실행되지 않고, 오직 특정 계산을 수행할 때만 발동하여 보안 탐지를 정교하게 회피했습니다. 동일한 암호화 로더와 기법은 mathsbase, math-universe 등 다른 npm 패키지에서도 추가로 확인되었습니다.
Sponsored · 광고