본문 바로가기
KERD
논문KCI 등재

암호 라이브러리 퍼징을 위한 LLM 기반 하네스 자동 생성 연구

Towards Automating Harness Generation with LLMsfor Cryptographic Library Fuzzing

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

암호 라이브러리는 다양한 분야에서 보안의 핵심 요소로 활용되며, 이로 인해 발생하는 취약점은 심각한 보안 위협으로 이어질 수 있다. 이러한 취약점을 식별하기 위한 대표적인 기법으로 퍼징이 있으며, 복잡하고 구조화된 암호 라이브러리를 효과적으로 퍼징하기 위해서 하네스(harness)가 일반적으로 사용된다. 하네스의 다양성은 퍼징 탐색 성능에 큰 영향을 미치므로, 이를 확보하는 것은 매우 중요한 과제이다. 하지만 하네스를 생성하는 것은 전문적인 도메인 지식을 요구하며, 반복적이고 시간 소모적인 작업이다. 본 논문에서는 LLM을 활용하여 하네스 생성 과정의 두 가지 주요 단계를 자동화하는 프레임워크를 제안한다. 첫째, LLM에 기존 하네스 코드와 라이브러리 문서 가이드를 제공하여, 추가적인 하네스 구현이 필요한 API를 식별한다. 둘째, 파인튜닝된 LLM 모델을 이용하여 필요한 하네스 코드를 자동으로 구현한다. 제안된 프레임워크에 대해 실험을 진행하여 해당 연구가 일정 수준 이상의 품질을 가진 하네스를 반복적으로 생성할 수 있으며, 이렇게 생성한 하네스가 실질적인 코드 커버리지 증가에 기여함을 입증하였다.

Abstract

Cryptographic libraries serve as critical components in ensuring security across various domains, and vulnerabilities within these libraries can lead to severe security threats. Among the approaches used to uncover such vulnerabilities, fuzzing is recognized as one of the most prominent techniques. To effectively fuzz complex and structured cryptographic libraries, harnesses are commonly employed. The diversity of harnesses significantly influences the efficiency of fuzzing exploration, making their generation a crucial task. However, creating harnesses typically requires domain-specific expertise and involves repetitive, time-consuming effort. In this paper, we propose a framework that automates two major steps in the harness generation process by leveraging large language models. The proposed framework first identifies APIs requiring additional harnesses by analyzing existing harness code and library documentation. Then, a fine-tuned LLM automatically generates the corresponding harness code. Experimental results confirm the framework's ability to generate harnesses of acceptable quality and improve code coverage, demonstrating its effectiveness.

관련 논문AI추천

이 간행물의 다른 논문 (15건)