CASTLE: 정적 코드 분석기와 LLM의 CWE 탐지 벤치마킹 데이터셋


CASTLE 벤치마킹 프레임워크를 활용한 연구 결과, LLM은 작은 코드에서 뛰어난 성능을 보이지만 코드 크기 증가에 따라 정확도가 떨어지는 한계가 있습니다. 반면, 정적 분석 도구는 위양성이 높고, 형식적 검증 도구는 특정 유형의 취약성에만 효과적입니다. CASTLE 데이터셋은 공개되어 있으며, LLM을 활용한 실시간 취약성 방지 기술 개발에 기여할 것으로 기대됩니다.

related iamge

소프트웨어 보안의 새로운 지평: CASTLE 벤치마킹 프레임워크

소프트웨어 취약성은 사이버 보안의 심각한 위협입니다. 특히 중요한 소프트웨어 구성 요소에서의 취약성은 치명적인 결과를 초래할 수 있습니다. 이러한 위협에 대응하기 위해 정적 분석, 동적 분석, 형식적 검증, 그리고 최근 급부상하는 대규모 언어 모델(LLM)과 같은 다양한 방법들이 활용되고 있습니다.

Richard A. Dubniczky를 비롯한 연구진은 이러한 다양한 방법들의 취약성 탐지 능력을 공정하게 비교 평가하기 위한 새로운 벤치마킹 프레임워크, CASTLE (CWE Automated Security Testing and Low-Level Evaluation) 을 개발했습니다. CASTLE은 25가지 일반적인 CWE(Common Weakness Enumeration)를 포함하는 250개의 마이크로 벤치마크 프로그램으로 구성된 수작업 데이터셋을 사용합니다. 이를 통해 13개의 정적 분석 도구, 10개의 LLM, 그리고 2개의 형식적 검증 도구의 성능을 종합적으로 평가했습니다.

각 기술의 강점과 약점

연구 결과는 각 기술의 장단점을 명확하게 보여줍니다. 형식적 검증 도구인 ESBMC는 위양성을 최소화하는 강점을 보였지만, 암호화 약점이나 SQL 인젝션처럼 모델 검증의 범위를 넘어서는 취약성에는 효과적이지 못했습니다. 정적 분석 도구는 높은 위양성률로 인해 개발자의 수동 검증 부담을 증가시키는 문제점을 드러냈습니다.

반면, LLM은 작은 코드 조각에서는 뛰어난 취약성 탐지 성능을 보였습니다. 하지만 코드 크기가 커질수록 정확도가 감소하고, 잘못된 정보를 생성하는 '환각' 현상이 증가하는 한계를 보였습니다. 이는 LLM이 코드 완성 프레임워크와 같은 환경에서 실시간으로 개발자에게 취약성 방지 안내를 제공하는 데 유용하게 활용될 수 있음을 시사합니다.

CASTLE 데이터셋의 공개

CASTLE 프로젝트는 https://github.com/CASTLE-Benchmark에서 데이터셋을 공개하여 다른 연구자들의 추가적인 연구와 검증을 지원하고 있습니다. 이를 통해 소프트웨어 보안 기술의 발전과 더 안전한 소프트웨어 개발에 기여할 것으로 기대됩니다.

이 연구는 LLM이 소프트웨어 보안 분야에 혁신적인 변화를 가져올 수 있는 잠재력을 보여주는 동시에, 각 기술의 한계와 보완점을 명확히 제시하여 향후 연구 방향을 제시하는 중요한 의미를 지닙니다. 앞으로 CASTLE 벤치마크를 통해 더욱 정교하고 효과적인 소프트웨어 취약성 탐지 기술이 개발될 것으로 예상됩니다.


*이 기사는 AI가 생성한 내용으로, 일부 정보가 실제와 다를 수 있습니다. 정확한 확인을 위해 추가적인 검증을 권장드립니다.

Reference

[arxiv] CASTLE: Benchmarking Dataset for Static Code Analyzers and LLMs towards CWE Detection

Published:  (Updated: )

Author: Richard A. Dubniczky, Krisztofer Zoltán Horvát, Tamás Bisztray, Mohamed Amine Ferrag, Lucas C. Cordeiro, Norbert Tihanyi

http://arxiv.org/abs/2503.09433v2