핵심 개념
대형 언어 모델(LLM)을 활용하여 npm 생태계의 악성코드를 효과적으로 탐지할 수 있다.
초록
이 연구는 npm 생태계의 악성코드 탐지를 위해 대형 언어 모델(LLM)을 활용하는 방법을 제안한다. 연구팀은 SocketAI Scanner라는 다단계 의사결정 워크플로우를 개발했으며, 이는 반복적인 자기 개선 및 제로샷 역할 수행 체인 사고(CoT) 프롬프팅 기술을 활용한다.
연구팀은 5,115개의 npm 패키지(2,180개의 악성 패키지 포함)를 분석하고 GPT-3 및 GPT-4 모델과 정적 분석 도구의 성능을 비교했다. 연구 결과, GPT 모델은 정적 분석 도구에 비해 정밀도 25% 이상, F1 점수 15% 이상 향상된 성능을 보였다. GPT-3 모델은 정밀도 91%, F1 점수 94%를 달성했으며, GPT-4 모델은 정밀도 99%, F1 점수 97%로 더 우수한 성능을 보였다. 그러나 GPT-4 모델의 운영 비용은 GPT-3 모델에 비해 16배 더 높아, GPT-3 모델이 성능과 비용 면에서 균형 잡힌 선택이 될 수 있다.
연구팀은 LLM이 데이터 유출, 백도어, 의심스러운 도메인 연결 등 다양한 유형의 악성코드를 효과적으로 탐지할 수 있음을 확인했다. 또한 패키지.json 파일의 이상 징후도 잘 탐지했다. 이를 통해 LLM이 악성코드 탐지에 효과적으로 활용될 수 있음을 보여주었다.
통계
전체 5,115개 패키지 중 2,167개의 악성 패키지가 정적 분석 도구에 의해 탐지되었다.
GPT-3 모델은 2,128개의 악성 패키지를 탐지했으며, GPT-4 모델은 2,089개의 악성 패키지를 탐지했다.
탐지된 악성코드 유형으로는 데이터 유출(721건), 역방향 셸(201건), 숨겨진 백도어(715건), 의심스러운 도메인 연결(571건) 등이 있었다.
1,260개의 패키지에서 난독화된 코드가 발견되었다.
인용구
"The Gartner 2022 report predicts that 45% of organizations world-wide will encounter software supply chain attacks by 2025, highlighting the urgency to improve software supply chain security for community and national interests."
"Current malware detection techniques aid in the manual review process by filtering benign and malware packages, yet such techniques have high false-positive rates and limited automation support."