Skip to main content
QUICK REVIEW

[논문 리뷰] Towards security defect prediction with AI

Carson D. Sestili, William Snavely|arXiv (Cornell University)|2018. 08. 29.
Industrial Vision Systems and Defect Detection인용 수 34
한 줄 요약

이 논문은 비트 오버플로우 결함에 대한 라인 수준의 레이블이 부여된 문법적으로 올바른 C 코드로 구성된 합성 데이터셋인 s-bAbI를 소개한다. 이 데이터셋은 비정상적인 제어 흐름을 포함하고 있으며, 메모리 네트워크 기반 AI 모델과 정적 분석 도구를 평가하는 데 사용된다. 그 결과, AI 모델은 정적 분석 도구와 유사한 성능을 보였지만, 이를 달성하기 위해 막대한 양의 훈련 데이터가 필요함을 확인하였으며, 이는 보다 나은 코드 표현 방식과 산술 연산을 고려한 딥 러닝 아키텍처 개선이 보안 결함 예측 성능 향상을 위해 필요하다는 점을 시사한다.

ABSTRACT

In this study, we investigate the limits of the current state of the art AI system for detecting buffer overflows and compare it with current static analysis tools. To do so, we developed a code generator, s-bAbI, capable of producing an arbitrarily large number of code samples of controlled complexity. We found that the static analysis engines we examined have good precision, but poor recall on this dataset, except for a sound static analyzer that has good precision and recall. We found that the state of the art AI system, a memory network modeled after Choi et al. [1], can achieve similar performance to the static analysis engines, but requires an exhaustive amount of training data in order to do so. Our work points towards future approaches that may solve these problems; namely, using representations of code that can capture appropriate scope information and using deep learning methods that are able to perform arithmetic operations.

연구 동기 및 목표

  • 최신 AI 시스템이 소스 코드 내 비트 오버플로우를 탐지하는 데서 가지는 한계를 조사하기 위해.
  • 비정상적인 제어 흐름과 레이블이 부여된 보안 결함을 가진 대규모이고 문법적으로 올바른 C 프로그램을 생성할 수 있는 합성 코드 생성기(s-bAbI)를 개발하기 위해.
  • 이 새로운 데이터셋에서 AI 모델과 정적 분석 도구의 정밀도와 재현율 측면에서 성능을 비교하기 위해.
  • 현재의 AI 및 정적 분석 접근법이 보안 결함 탐지에 있어 핵심적인 결함을 밝혀내기 위해.
  • 향후 연구를 이끄는 데 도움이 되기 위해 코드 표현 방식과 모델 아키텍처의 향상 필요성을 규명하기 위해.

제안 방법

  • 저자들은 조건문과 반복문을 포함한 제어 복잡도가 제어된, 문법적으로 올바른 C 프로그램을 생성할 수 있는 s-bAbI라는 코드 생성기를 개발하였다.
  • 이 데이터셋은 안전한 및 위험한 버퍼 쓰기 작업에 대한 라인 수준의 레이블을 포함하여 세밀한 결함 탐지 평가를 가능하게 한다.
  • Choi 등 [1]의 영감을 받은 메모리 네트워크 모델이 s-bAbI 데이터셋으로 훈련되어 버퍼 쓰기 작업을 안전 또는 위험으로 분류하는 데 사용되었다.
  • 정밀도와 재현율이라는 표준 지표를 사용하여 AI 모델의 성능을 여러 정적 분석 도구와 비교하였다.
  • 모델 성능에 대한 제어 흐름과 산술 추론의 영향을 분리하기 위해 최소한의 복잡도를 가진 코드를 사용하였다.
  • AI 시스템이 만족스러운 성능을 달성하기 위해 필요한 최소 훈련 데이터량을 분석함으로써 모델의 일반화 능력을 평가하였다.

실험 결과

연구 질문

  • RQ1특정 메모리 네트워크를 활용한 최신 AI 모델은 비정상적인 제어 흐름을 포함한 합성 C 코드에서 비트 오버플로우를 탐지할 수 있는가?
  • RQ2s-bAbI 데이터셋에서 AI 모델의 정밀도와 재현율 측면에서 기존 정적 분석 도구와의 성능 비교는 어떻게 이루어지는가?
  • RQ3AI 모델이 정적 분석 도구와 유사한 성능을 달성하기 위해 필요한 최소 훈련 데이터량은 얼마인가?
  • RQ4AI 모델은 제어 흐름과 산술 표현의 변형에 대해 일반화할 수 있는가, 아니면 훈련 예제의 암기에 의존하는가?
  • RQ5AI 모델이 보안 결함 탐지에 있어 범위와 산술 연산을 효과적으로 추론하기 위해 필요한 아키텍처적 개선은 무엇인가?

주요 결과

  • 평가된 정적 분석 도구들은 s-bAbI 데이터셋에서 높은 정밀도를 보였지만 재현율은 낮았으며, 유일하게 정확한 분석기만이 높은 정밀도와 높은 재현율을 동시에 확보하였다.
  • 최신 메모리 네트워크 AI 모델은 정적 분석 도구와 유사한 성능을 보였지만, 이를 달성하기 위해 막대한 양의 훈련 데이터가 필요하였다.
  • AI 모델의 성능는 비트 오버플로우 탐지에 대해 일반화 가능한 패턴을 학습하는 것보다는 훈련 예제의 암기에 의존하고 있을 가능성이 있다.
  • 이 연구는 현재의 AI 모델이 코드 내 범위와 산술 연산에 대한 추론 능력에 어려움을 겪고 있음을 시사하며, 이는 강력한 보안 결함 탐지에 필수적이다.
  • 결과적으로 향후 AI 모델는 AST 경로 인코딩과 같은 더 나은 코드 표현 방식과 산술 연산 처리 기능을 통합해야 일반화 능력 향상에 기여할 수 있다.
  • s-bAbI 데이터셋은 현재의 AI 및 정적 분석 접근법의 한계를 드러내며, 향후 연구를 위한 최소 기준 벤치마크로 기능한다.

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

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

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

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