Skip to main content
QUICK REVIEW

[논문 리뷰] Harnessing the Power of LLM to Support Binary Taint Analysis

Puzhuo Liu, C. P. Sun|arXiv (Cornell University)|2023. 10. 12.
Web Application Security Vulnerabilities인용 수 6
한 줄 요약

이 논문은 수동 규칙 설계 없이 취약성 탐지를 자동화하는 LLM 기반의 첫 번째 대규모 언어 모델(Large Language Model, LLM) 기반 정적 바이너리 타인팅 분석 프레임워크인 LATTE를 소개한다. 유해한 흐름 분할 기법과 LLM 기반의 코드 이해 능력을 융합함으로써 LATTE는 타인팅 스타일 취약성 탐지에서 뛰어난 성능을 발휘한다. 실제 펌웨어에서 기존에 발견되지 않은 37개의 버그를 발견했으며, 이 중 7개는 CVE 할당을 받았으며, 이는 기존 최고 수준의 도구들에 비해 자동화, 효과성, 확장성 면에서 뚜렷한 발전을 보여준다.

ABSTRACT

This paper proposes LATTE, the first static binary taint analysis that is powered by a large language model (LLM). LATTE is superior to the state of the art (e.g., Emtaint, Arbiter, Karonte) in three aspects. First, LATTE is fully automated while prior static binary taint analyzers need rely on human expertise to manually customize taint propagation rules and vulnerability inspection rules. Second, LATTE is significantly effective in vulnerability detection, demonstrated by our comprehensive evaluations. For example, LATTE has found 37 new bugs in real-world firmware which the baselines failed to find, and 7 of them have been assigned CVE numbers. Lastly, LATTE incurs remarkably low engineering cost, making it a cost-efficient and scalable solution for security researchers and practitioners. We strongly believe that LATTE opens up a new direction to harness the recent advance in LLMs to improve vulnerability analysis for binary programs.

연구 동기 및 목표

  • 기존 정적 바이너리 타인팅 분석에서 수작업으로 작성된 전파 및 검사 규칙에 의존함으로써 발생하는 높은 기술적 비용과 수작업 노력 문제를 해결한다.
  • 전문 지식에 의존하고 규칙의 정확도 부족으로 인해 잘못된 경고(거짓 경고 또는 누락)가 발생하기 쉬운 기존 타인팅 분석 도구의 한계를 극복한다.
  • 대규모 언어 모델(LLM)의 의미 이해 및 맥락적 추론 능력을 활용하여, 소스 코드가 제거된 바이너리 프로그램에서도 취약성 검사를 자동화한다.
  • 수동 규칙 생성 대신 LLM 기반의 코드 분석을 통해 확장성 있고 비용 효율적이며 완전히 자동화된 바이너리 취약성 분석을 가능하게 한다.
  • LLM을 프로그램 분석 기법과 융합하여 정적 바이너리 보안 점검을 수행할 수 있음을 입증한다.

제안 방법

  • 기존 보안 싱크에서 외부 입력 소스로의 타인팅 전파 경로를 추적하기 위해 유해한 흐름 분할 기법을 수행한다.
  • 바이너리 프로그램의 제어 흐름 및 데이터 종속 경로에서 관련 코드 片각을 추출하여 LLM 분석을 위한 일관된 프로그램 조각을 구성한다.
  • 절단된 코드 조각을 바탕으로 매크로 정보(예: 함수 이름, 데이터 유형 등)를 보강한 맥락 인식형 프롬프트를 구성하여 LLM의 이해를 유도한다.
  • GPT-4.0을 LLM 엔진으로 사용하여 프롬프트 시퀀스를 분석하고, 데이터 흐름이 악용 가능한 취약성으로 이어지는지 확인한다.
  • 이중 단계 필터링 메커니즘을 적용한다: 첫 번째로 잠재적 타인팅 원천과 싱크를 식별하고, 두 번째로 LLM을 활용해 데이터 흐름이 실제 취약성인지 검증한다.
  • 플러그인 방식의 LLM 인터페이스를 지원하여, 향후 LLM 기술의 발전에 대응해 다른 LLM으로의 이식이 가능하도록 한다.
Figure 2. Workflow of LATTE .
Figure 2. Workflow of LATTE .

실험 결과

연구 질문

  • RQ1LLM는 소스 코드 없이 저수준 바이너리 코드 조각을 효과적으로 이해하고 분석하여 보안 취약성을 탐지할 수 있는가?
  • RQ2LLM 기반 타인팅 분석은 실제 세계의 취약성을 탐지하는 데 있어 기존 수동 규칙 기반 정적 분석기보다 얼마나 뛰어나게 성능을 발휘하는가?
  • RQ3유해한 흐름 분할과 LLM 기반 추론의 조합은 바이너리 타인팅 분석에서 거짓 긍정 및 거짓 부정을 줄이는 데 얼마나 효과적인가?
  • RQ4LLM 기반 접근 방식은 타인팅 전파 및 싱크 검사에 대한 수작업 규칙 정의 없이 완전한 자동화를 달성할 수 있는가?
  • RQ5복잡한 취약성, 예를 들어 논리 버그나 시간 창에 의존하는 레이스 컨dition 등을 다룰 때 LLM 기반 분석의 한계는 무엇인가?

주요 결과

  • LATTE는 실제 펌웨어에서 기존에 발견되지 않은 37개의 취약성을 발견했으며, 이 중 7개는 CVE 식별자를 할당받아 제로데이 수준의 결함을 탐지할 수 있음을 입증했다.
  • 버퍼 오버플로우 및 명령어 삽입 등의 모든 타인팅 스타일 취약성 유형에서 Emtaint, Arbiter, Karonte와 같은 최고 수준의 기준 도구들을 모두 능가했다.
  • LATTE는 타인팅 전파 및 싱크 검사에 대한 수작업 규칙 생성이 전혀 필요 없이 완전한 자동화를 달성했다.
  • 유해한 흐름 분할과 LLM 기반 추론의 융합은 이전 방법에 비해 분석 정확도를 높이고 인간 간섭을 줄이는 데 크게 기여했다.
  • 표준 데이터셋과 실제 펌웨어에 대한 평가를 통해 LATTE의 접근 방식이 효과적이고 확장 가능하며, 낮은 기술적 비용과 높은 탐지 커버리지 확보를 가능하게 했다.
  • 강점에도 불구하고 LATTE는 LLM의 깊이 있는 중첩 또는 시간 민감도가 높은 코드 패턴에 대한 이해 부족으로 인해 논리 버그나 복잡한 수학 연산을 다루는 데 어려움을 겪는다.
Figure 3. The TP intersection among the five test rounds indicates the stability of LATTE . The intersection numbers of the four vulnerability types are 868, 1061, 1660, 198.
Figure 3. The TP intersection among the five test rounds indicates the stability of LATTE . The intersection numbers of the four vulnerability types are 868, 1061, 1660, 198.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.