[논문 리뷰] CVSS-BERT: Explainable Natural Language Processing to Determine the Severity of a Computer Security Vulnerability from its Description
이 논문은 보안 취약성의 텍스트 기반 기술서로부터 직접 CVSS 기본 벡터 및 심각도 점수를 예측하기 위해 미세조정된 BERT 분류기를 사용하는 설명 가능한 NLP 프레임워크인 CVSS-BERT를 제안한다. 이 모델은 개별 CVSS 지표와 심각도 점수를 높은 정확도로 예측하며, 기울기 기반의 샛기성(의미 있는 키워드 식별)을 통해 전문가의 근거와 일치하는 취약성 기술서 내 핵심 용어를 식별함으로써 인간이 이해할 수 있는 설명을 제공한다.
When a new computer security vulnerability is publicly disclosed, only a textual description of it is available. Cybersecurity experts later provide an analysis of the severity of the vulnerability using the Common Vulnerability Scoring System (CVSS). Specifically, the different characteristics of the vulnerability are summarized into a vector (consisting of a set of metrics), from which a severity score is computed. However, because of the high number of vulnerabilities disclosed everyday this process requires lot of manpower, and several days may pass before a vulnerability is analyzed. We propose to leverage recent advances in the field of Natural Language Processing (NLP) to determine the CVSS vector and the associated severity score of a vulnerability from its textual description in an explainable manner. To this purpose, we trained multiple BERT classifiers, one for each metric composing the CVSS vector. Experimental results show that our trained classifiers are able to determine the value of the metrics of the CVSS vector with high accuracy. The severity score computed from the predicted CVSS vector is also very close to the real severity score attributed by a human expert. For explainability purpose, gradient-based input saliency method was used to determine the most relevant input words for a given prediction made by our classifiers. Often, the top relevant words include terms in agreement with the rationales of a human cybersecurity expert, making the explanation comprehensible for end-users.
연구 동기 및 목표
- 보안 취약성 기술서로부터 CVSS 기본 벡터 지표와 심각도 점수를 자동으로 예측함으로써 수동 전문가 분석에 대한 의존도를 줄이기.
- NLP를 활용해 근접 실시간의 심각도 평가를 가능하게 하여 취약성 평가의 지연 문제를 해결하기.
- 기울기 기반 샛기성을 사용해 취약성 기술서 내 가장 영향력 있는 단어를 식별함으로써 모델의 결정이 해석 가능하도록 보장하기.
- 자주 연결된 용어와 이항어 분석을 통해 모델의 설명이 전문가의 추론과 일치하는지 검증하기.
- BERT 기반 모델이 정확하게 CVSS 지표를 예측하면서도 사이버보안 전문가들이 이해하고 신뢰할 수 있는 설명성을 유지할 수 있음을 보여주기.
제안 방법
- 공격 벡터, 권한 필요 여부, 사용자 상호작용 등 8개의 CVSS 기본 지표 각각에 대해 별도의 BERT 분류기를 미세조정한다.
- 각 지표의 진정된 CVSS 지표 값과 함께 텍스트 기반 취약성 기술서 데이터셋을 사용해 각 분류기를 훈련한다.
- 표준 CVSS 점수 계산 공식을 사용해 예측된 벡터에서 최종 CVSS 심각도 점수를 계산한다.
- 기울기 기반 입력 샛기성을 적용하여 각 예측의 상위 5개 영향력 있는 입력 토큰(단어 또는 서브워드)을 식별한다.
- 각 지표 값에 대해 테스트 샘플 전역에서 샛기성 결과를 집계하여, 각 지표 값과 자주 연결되는 용어와 이항어를 식별한다.
- 의미 있는 단어로 서브워드 토큰을 복원함으로써 설명의 해석 가능성 향상(예: 'x'와 'ss' → 'xss')
실험 결과
연구 질문
- RQ1BERT 기반 분류기는 취약성 기술서에서 개별 CVSS 기본 지표를 정확하게 예측할 수 있는가?
- RQ2예측된 CVSS 벡터에서 계산된 심각도 점수가 인간 전문가가 부여한 진정된 점수와 얼마나 유사한가?
- RQ3기울기 기반 샛기성으로 식별된 영향력 있는 단어들이 인간 사이버보안 전문가가 사용하는 근거와 일치하는가?
- RQ4데이터셋 전반에서 특정 CVSS 지표 값과 가장 일관되게 연결되는 용어와 이항어는 무엇인가?
- RQ5최종 사용자가 의미 있고 신뢰할 수 있는 것으로 인식할 수 있도록 모델의 설명이 이해되고 검증될 수 있는가?
주요 결과
- BERT 분류기는 각 CVSS 기본 지표를 높은 정확도로 예측했으며, 예측 신뢰도가 0.9 이상인 테스트 샘플 비율로 성능을 측정하였다.
- 예측된 CVSS 벡터에서 계산된 심각도 점수가 인간 전문가가 제공한 진정된 점수와 매우 유사하여, 강력한 예측 정밀도를 입증하였다.
- 각 예측의 상위 5개 샛기성 순위 단어 중 대부분은 전문가의 추론과 일치하는 용어를 포함하고 있었으며, 예를 들어 '인접 공격자'는 '인접' 공격 벡터 클래스와 관련이 있었다.
- 기밀성 영향 지표의 경우, '정보 유출'이라는 용어가 '높음' 클래스와 자주 연결되어 있었으며, 전문가의 이해와 일치하였다.
- 가용성 지표의 '높음' 영향 클래스와 '거부'와 '충돌'이라는 용어가 일관되게 연결되어 있었으며, 이는 모델이 전문가 논리와 일치함을 확인하였다.
- 이항어로는 '네트워크 액세스', '쉽게 악용 가능', '높은 권한' 등이 각각의 지표 값에 대해 주요 예측 요소로 자주 식별되어 모델의 설명 가능성에 대한 신뢰도를 강화하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.