Skip to main content
QUICK REVIEW

[논문 리뷰] Cost-aware Vulnerability Prediction: the HARMLESS Approach

Zhe Yu, Christopher Theisen|arXiv (Cornell University)|2018. 03. 17.
Software Engineering Research인용 수 5
한 줄 요약

HARMLESS는 비용 인식형이며, 활성 학습 기반의 취약점 예측 도구로, 임계적 지원 벡터 기반으로 소스 코드 파일을 보안 검토 우선순위를 정하고, 남아 있는 취약점 수를 추정하여 테스트를 원하는 재현 수준에 맞게 이동시킵니다. 파이어폭스 사례 연구에서, 각각 26%, 33%, 45%의 파일만 검토함으로써 90%, 95%, 99%의 취약점 재현을 달성했습니다.

ABSTRACT

Society needs more secure software. But predicting vulnerabilities is difficult and existing methods are not applied in practical use due to various limitations. The goal of this paper is to design a vulnerability prediction method in a cost-aware manner so that it can balance the percentage of vulnerabilities found against the cost of human effort on security review and test. To this purpose, this paper presents HARMLESS, an incremental vulnerability prediction tool. HARMLESS is an active learner that (a) builds a support vector machine on the source code files reviewed to date; then (b) suggests what other source code files might have vulnerabilities and need to be reviewed next. A unique feature of HARMLESS is that HARMLESS can estimate the number of remaining vulnerabilities. To the best of our knowledge, HARMLESS is the first tool providing such estimation in the arena of vulnerability prediction. Using that estimator, HARMLESS can guide the security review and test to any level of desired recall, i.e. percentage of vulnerabilities found. In experiments on a case study of Mozilla Firefox project, HARMLESS found 90, 95, 99% of known vulnerabilities by reviewing and testing 26, 33, 45% of the source code files, respectively.

연구 동기 및 목표

  • 탐지 효과성과 인간의 노력 비용을 균형 잡는 실용적인 취약점 예측 도구의 격차를 해소하기 위해.
  • 보안 팀이 특정 재현 수준(예: 90%, 95%)을 목표로 삼으면서도 코드 검토 오버헤드를 최소화할 수 있는 방법을 개발하기 위해.
  • 검토 과정 중에 아직 발견되지 않은 잔여 취약점의 수를 추정하는 것은 취약점 예측 분야에서 새로운 능력입니다.
  • 이전 검토 결과를 기반으로 학습하고, 향후 점검을 위해 고위험 파일을 우선순위로 정하는, 증분적이고 활성 학습 기반의 시스템을 설계하기 위해.

제안 방법

  • HARMLESS는 이전에 검토되고 취약점 또는 비취약점으로 레이블이 지정된 소스 코드 파일을 기반으로 증분적으로 지원 벡터 머신(SVM)을 훈련합니다.
  • 훈련된 모델을 사용하여 모든 검토되지 않은 파일을 취약점 발생 가능성이 높은 순서로 정렬하고, 다음 검토를 위해 가장 의심스러운 파일들을 제안합니다.
  • 고유한 추정기 컴ponent는 모델 신뢰도와 역사적 데이터를 기반으로 검토되지 않은 코드베이스에 잔류하는 잔여 취약점의 수를 예측합니다.
  • 유저가 지정한 재현 목표를 달성하기 위해 반복적으로 노력 단위당 취약점 발견 수를 극대화하는 파일을 선택함으로써, 시스템은 선택 전략을 동적으로 조정합니다.
  • 활동 학습 원칙과 비용 인식 피드백을 통합함으로써, 팀은 원하는 재현 수준에 도달했을 때 정지할 수 있도록 합니다.

실험 결과

연구 질문

  • RQ1취약점 예측 시스템은 검토 과정 중에 아직 발견되지 않은 잔여 취약점의 수를 추정할 수 있는가?
  • RQ2비용 인식형 예측 방법은 높은 취약점 재현 수준을 유지하면서도 검토 대상 코드 비율을 얼마나 줄일 수 있는가?
  • RQ3증분 학습과 재현 목표 설정 기능을 갖춘 활성 학습 접근법은 정적 또는 비적응형 예측 방법보다 얼마나 효과적으로 성능을 냅니다?
  • RQ4시스템은 최소한의 인간 노력으로 특정 재현 수준(예: 90%, 95%)을 달성하도록 보안 테스팅을 이끌 수 있는가?

주요 결과

  • HARMLESS는 모질라 파이어폭스 프로젝트에서 소스 코드 파일의 26%만 검토함으로써 90%의 재현 수준을 달성했습니다.
  • 33%의 파일을 검토함으로써 95%의 재현 수준을 달성했으며, 이는 검토 필요 노력의 상당한 감소를 보여줍니다.
  • 99%의 재현 수준을 확보하기 위해 HARMLESS는 파일의 45%를 검토해야 했으며, 이는 우선순위 설정의 뛰어난 확장성과 정밀도를 시사합니다.
  • 잔여 취약점 추정 능력 덕분에 테스트 노력과 재현 목표에 대한 사전 제어가 가능해졌습니다.

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

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

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

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