보고서 제목 및 노이즈 데이터를 기반으로 보안 버그 보고서 식별

마야나 페레이라 스콧 크리스티안슨
CELA 데이터 과학 고객 보안 및 신뢰
Microsoft Microsoft

초록 - SBR(보안 버그 보고서) 식별은 소프트웨어 개발 식별은 소프트웨어 개발 수명 주기의 중요한 단계입니다. 감독되는 기계 학습 기반 접근 방식에서 전체 버그 보고서를 학습에 사용할 수 있고 레이블이 노이즈가 없는 것으로 가정하는 것이 일반적입니다. 이 연구는 타이틀만 사용할 수 있고 레이블 노이즈가 있는 경우에도 SBR에 대해 정확한 레이블 예측이 가능하다는 것을 보여주는 첫 번째 연구입니다.

인덱스 용어 - Machine Learning, 잘못된 레이블 지정, 노이즈, 보안 버그 보고서, 버그 리포지토리

9\. 소개

보고된 버그 중 보안 관련 문제를 식별하는 것은 소프트웨어 개발 팀 사이에서 절박한 요구 사항입니다. 이러한 문제는 규정 준수 요구 사항을 충족하고 소프트웨어 및 고객 데이터의 무결성을 보장하기 위해 보다 신속한 수정을 요구합니다.

기계 학습 및 인공 지능 도구는 소프트웨어 개발을 더 빠르고 민첩하며 올바르게 만들 것을 약속합니다. 몇몇 연구자들은 보안 버그를 식별하는 문제에 기계 학습을 적용했습니다 [2], [7], [8], [18]. 이전에 발표된 연구에서는 전체 버그 보고서를 기계 학습 모델 학습 및 채점에 사용할 수 있다고 가정했습니다. 반드시 그렇지는 않습니다. 전체 버그 보고서를 사용할 수 없는 상황이 있습니다. 예를 들어 버그 보고서에는 암호, PII(개인 식별 정보) 또는 기타 종류의 중요한 데이터가 포함될 수 있습니다( 현재 Microsoft에서 직면하고 있는 경우). 따라서 버그 보고서의 제목만 사용할 수 있는 경우와 같이 더 적은 정보를 사용하여 보안 버그 식별을 얼마나 잘 수행할 수 있는지를 설정하는 것이 중요합니다.

또한 버그 리포지토리에는 레이블이 잘못 지정된 항목 [7], 즉 보안과 관련된 것으로 분류된 보안 외 버그 보고서 또는 그 반대의 경우입니다. 개발 팀에 보안 전문 지식이 없는 경우부터 특정 문제의 모호함(예를 들어 보안과 무관한 버그가 간접적으로 악용되어 보안에 영향을 미칠 수 있음)에 이르기까지 잘못된 레이블 지정이 발생하는 이유는 여러 가지입니다. SBR의 잘못된 레이블 지정은 보안 전문가가 많은 비용과 시간을 소비하면서 버그 데이터베이스를 수동으로 검토해야 하는 상황으로 이어지므로 이는 심각한 문제입니다. 노이즈가 다양한 분류자에 어떻게 영향을 미치는지, 그리고 여러 종류의 노이즈에 오염된 데이터 세트가 존재할 때 다양한 기계 학습 기술이 얼마나 효과적인지(또는 취약한지)를 이해하는 것은 소프트웨어 엔지니어링 작업에 자동 분류를 구현하기 위해 해결해야 하는 문제입니다.

예비 작업은 버그 리포지토리가 본질적으로 시끄럽고 노이즈가 성능 기계 학습 분류자 [7]에 부정적인 영향을 미칠 수 있다고 주장합니다. 그러나 다양한 수준과 유형의 노이즈가 SBR(보안 버그 보고서) 식별 문제에 대해 다양한 감독형 기계 학습 알고리즘의 성능에 어떤 영향을 미치는지에 관한 체계적이고 정량적인 연구는 없습니다.

이 연구에서는 타이틀만 학습 및 채점에 사용할 수 있는 경우에도 버그 보고서의 분류를 수행할 수 있음을 보여줍니다. 우리의 지식의 최선을 다해이 작업을 수행하는 첫 번째 작업입니다. 또한 버그 보고서 분류에서 노이즈가 미치는 영향에 대한 첫 번째 체계적인 연구를 제공합니다. 우리는 클래스 독립적 인 소음에 대한 세 가지 기계 학습 기술 (로지스틱 회귀, 순진한 베이즈와 AdaBoost)의 견고성에 대한 비교 연구를합니다.

몇 가지 간단한 분류자 [5], [6]에 대한 노이즈에 대한 일반적인 영향을 캡처하는 몇 가지 분석 모델이 있지만 이러한 결과는 정밀도에 대한 노이즈 효과에 대한 엄격한 범위를 제공하지 않으며 특정 기계 학습 기술에만 유효합니다. 기계 학습 모델의 노이즈 효과에 대한 정확한 분석은 일반적으로 계산 실험을 실행하여 수행됩니다. 이러한 분석은 소프트웨어 측정 데이터 [4]에서 위성 이미지 분류 [13] 및 의료 데이터 [12]에 이르기까지 여러 시나리오에 대해 수행되었습니다. 그러나 이러한 결과는 데이터 세트의 특성과 기본 분류 문제에 대한 높은 종속성으로 인해 특정 문제로 변환될 수 없습니다. 가장 잘 아는 한, 특히 보안 버그 보고서 분류에 노이즈 데이터 세트가 미치는 영향에 대한 게시된 결과는 없습니다.

연구 기여:

  • Microsoft는 분류자를 대상으로 보고서의 제목만을 기반으로 한 SBR(보안 버그 보고서) 식별을 학습시켰습니다. 우리의 지식의 최선을 다해이 작업을 수행 할 수있는 첫 번째 작업입니다. 이전 작업은 전체 버그 보고서를 사용하거나 추가 보완 기능을 사용하여 버그 보고서를 향상시켰습니다. 타일에만 기반한 버그 분류는 개인 정보 보호 문제로 인해 전체 버그 보고서를 사용할 수 없는 경우에 특히 관련이 있습니다. 예를 들어 암호 및 기타 중요한 데이터가 포함된 버그 보고서는 악명 높은 사례입니다.

  • 또한 SBR의 자동 분류에 사용되는 다양한 기계 학습 모델 및 기술의 레이블 노이즈 허용 오차에 대한 첫 번째 체계적인 연구를 제공합니다. 클래스 종속 및 클래스 독립적 노이즈에 대한 세 가지 고유한 기계 학습 기술(로지스틱 회귀, 순진한 Bayes 및 AdaBoost)의 견고성에 대한 비교 연구를 합니다.

논문의 재기본는 다음과 같이 제시됩니다 : 섹션 II에서 우리는 문학의 이전 작품 중 일부를 제시합니다. III 섹션에서는 데이터 집합 및 데이터가 사전 처리되는 방법에 대해 설명합니다. 방법론은 섹션 IV 및 섹션 V에서 분석된 실험의 결과에 설명되어 있습니다. 마지막으로, 우리의 결론과 미래의 작품은 VI에 제시됩니다.

II. 이전 작업

버그 리포지토리에 대한 기계 학습 애플리케이션.

몇 가지 애플리케이션의 이름을 지정하기 위해 보안 버그 검색 [2], [7], [8], [18], 버그 중복 식별 [3], 버그 심사 [1], [11]와 같은 힘든 작업을 자동화하기 위해 버그 리포지토리에 텍스트 마이닝, 자연어 처리 및 기계 학습을 적용하는 데 광범위한 문헌이 있습니다. 이론적으로 ML(기계 학습)과 자연어 처리를 결합하면 버그 데이터베이스를 큐레이팅하기 위해 필요한 수작업을 줄이고, 이러한 작업을 완수하는 데 소요되는 시간을 단축하고, 결과의 신뢰성을 높일 수 있습니다.

[7]에서 작성자는 버그 설명에 따라 SBR의 분류를 자동화하는 자연어 모델을 제안합니다. 작성자는 학습 데이터 집합의 모든 버그 설명에서 어휘를 추출하고 관련 단어, 중지 단어(분류와 관련이 없는 일반적인 단어) 및 동의어의 세 가지 단어 목록으로 수동으로 큐레이팅합니다. 보안 엔지니어가 모두 평가한 데이터에 대해 학습된 보안 버그 분류자의 성능과 일반적으로 버그 기자가 레이블을 지정한 데이터에 대해 학습된 분류자를 비교합니다. 보안 엔지니어가 검토한 데이터로 학습된 경우가 확실히 더 효과적이지만 제안된 모델은 수동으로 추출된 어휘를 기반으로 하므로 사람의 큐레이션에 의존합니다. 또한 다양한 수준의 노이즈가 모델에 미치는 영향, 다양한 분류자에서 노이즈에 어떻게 반응하는지, 두 클래스의 노이즈가 성능에 다른 영향을 미치는지에 대한 분석은 없습니다.

Zou et. al [18]은 버그 보고서의 텍스트가 아닌 필드(예: 시간, 심각도 및 우선 순위)와 버그 보고서의 텍스트 콘텐츠(텍스트 기능, 즉 요약 필드의 텍스트)를 포함하는 버그 보고서에 포함된 여러 유형의 정보를 사용합니다. 이러한 기능을 기반으로 자연어 처리 및 기계 학습 기술을 통해 SBR을 자동으로 식별하는 모델을 빌드합니다. [8]에서 저자는 비슷한 분석을 수행하지만, 또한 감독 및 감독되지 않은 기계 학습 기술의 성능을 비교하고 모델을 학습시키는 데 필요한 데이터의 양을 연구합니다.

[2]에서 작성자는 설명에 따라 버그를 SBR 또는 NSBR(비보안 버그 보고서)으로 분류하는 다양한 기계 학습 기술을 살펴봅니다. TFIDF를 기반으로 데이터 처리 및 모델 학습을 위한 파이프라인을 제안합니다. 이들은 제안된 파이프라인을 단어 모음 및 Naive Bayes 기반 모델과 비교합니다. Wijayasekara 외. [16]에서는 텍스트 마이닝 기술을 사용하여 잦은 단어를 기반으로 각 버그 보고서의 기능 벡터를 생성하여 HIB(Hidden Impact Bugs)를 식별했습니다. Yang et al. [17]은 TF(용어 빈도)와 순진한 베이즈(Bayes)의 도움으로 영향력이 높은 버그 보고서(예: SBR)를 식별했다고 주장했습니다. [9]에서 작성자는 버그의 심각도를 예측하는 모델을 제안합니다.

레이블 노이즈

레이블 노이즈가 있는 데이터 세트를 다루는 문제는 폭넓게 연구되었습니다. Frenay와 Verleysen은 다양한 유형의 시끄러운 레이블을 구분하기 위해 [6]에서 레이블 노이즈 분류를 제안합니다. 작성자는 실제 클래스 및 인스턴스 특성의 값과는 별개로 발생하는 레이블 노이즈, 실제 레이블에만 의존하는 레이블 노이즈, 잘못된 레이블 지정 가능성도 특성 값에 의존하는 레이블 노이즈의 세 가지 노이즈 유형을 제안합니다. 이 작업에서는 처음 두 가지 유형의 노이즈를 연구합니다. 이론적 관점에서 레이블 노이즈는 일반적으로 몇 가지 특정 사례 [14]을(를) 제외하고 모델의 성능 [10]을(를) 감소시킵니다. 일반적으로 강력한 메서드는 과잉 맞춤 방지를 사용하여 레이블 노이즈 [15]를 처리합니다. 분류의 노이즈 효과에 대한 연구는 위성 이미지 분류 [13], 소프트웨어 품질 분류 [4] 및 의료 do기본 분류 [12]와 같은 많은 분야에서 이전에 수행되었습니다. 우리가 아는 한, SBR 분류 문제에서 시끄러운 레이블의 효과의 정확한 정량화를 연구하는 출판 된 작품은 없습니다. 이 시나리오에서는 노이즈 수준, 노이즈 유형 및 성능 저하 간의 정확한 관계가 설정되지 않았습니다. 또한 소음이 있을 때 다양한 분류자의 동작 방식을 이해하는 것이 좋습니다. 더 일반적으로 보면, 소프트웨어 버그 보고서 맥락에서 노이즈가 있는 데이터 세트가 다양한 기계 학습 알고리즘의 성능에 미치는 영향을 체계적으로 연구한 작업은 없습니다.

III. 데이터 세트 설명

데이터 세트는 1,073,149개의 버그 제목으로 구성되며 이 중에서 552,073개는 SBR에, 521,076개는 NSBR에 해당합니다. 이 데이터는 2015년, 2016년, 2017년 및 2018년 동안 Microsoft의 다양한 팀에서 수집되었습니다. 모든 레이블은 서명 기반 버그 확인 시스템 또는 사용자 레이블이 지정된 사용자에 의해 획득되었습니다. 데이터 세트의 버그 제목은 문제의 개요와 함께 약 10개의 단어를 포함하는 매우 짧은 텍스트입니다.

A. 데이터 사전 처리 각 버그 제목을 빈 공백으로 구문 분석하여 토큰 목록을 만듭니다. 각 토큰 목록은 다음과 같이 처리합니다.

  • 파일 경로인 모든 토큰 제거

  • 다음 기호가 있는 분할 토큰: { , (, ), -, }, {, [, ], }

  • 중지 단어, 숫자 문자로만 구성된 토큰 및 전체 모음에서 5회 미만으로 표시되는 토큰을 제거합니다.

IV. 방법론

기계 학습 모델을 학습하는 프로세스는 데이터를 기능 벡터로 인코딩하고 감독되는 기계 학습 분류자를 학습시키는 두 가지 기본 단계로 구성됩니다.

A. 기능 벡터 및 Machine Learning 기술

첫 번째 부분에서는 [2]에 사용된 것과 같이 TF-IDF(Term Frequency Inverse Document Frequency) 알고리즘을 사용하여 데이터를 특성 벡터로 인코딩합니다. TF-IDF는 용어 빈도(TF)와 IDF(역 문서 빈도)를 가중시키는 정보 검색 기술입니다. 각 단어 또는 용어에는 해당 TF 및 IDF 점수가 있습니다. TF-IDF 알고리즘은 문서에 표시되는 횟수에 따라 해당 단어에 중요도를 할당하며, 더 중요한 것은 데이터 집합의 타이틀 컬렉션 전체에서 키워드(keyword) 얼마나 관련성이 있는지를 검사. Microsoft는 NB(Naive Bayes), AdaBoost(승격된 의사 결정 트리) 및 LR(로지스틱 회귀)의 세 가지 분류 기술을 학습하고 비교했습니다. 이러한 기술은 문헌의 전체 보고서를 기반으로 보안 버그 보고서를 식별하는 관련 작업에 대해 성능이 우수한 것으로 표시되었기 때문에 이러한 기술을 선택했습니다. 이러한 결과는 이 세 분류자가 지원 벡터 머신 및 임의 포리스트를 능가하는 예비 분석에서 확인되었습니다. 실험에서는 인코딩 및 모델 학습을 위해 scikit-learn 라이브러리를 활용합니다.

B. 노이즈 유형

이 작업에서 학습된 노이즈는 학습 데이터의 클래스 레이블에서 노이즈를 나타냅니다. 이러한 노이즈가 있으면 학습 프로세스 및 결과 모델이 잘못 레이블이 지정된 예제로 인해 손상됩니다. 클래스 정보에 적용되는 다양한 노이즈 수준의 영향을 분석합니다. 레이블 노이즈의 유형은 이전에 문헌에서 다양한 용어를 사용하여 논의되었습니다. 이 작업에서는 분류자에서 인스턴스를 임의로 선택하고 레이블을 대칭 이동하여 도입된 클래스 독립적 레이블 노이즈라는 두 가지 레이블 노이즈가 미치는 영향을 분석합니다. 및 클래스 종속 노이즈( 클래스가 시끄럽을 가능성이 다른 경우)

a) 클래스 독립적 노이즈: 클래스 독립적 노이즈는 인스턴스의 실제 클래스와 독립적으로 발생하는 노이즈를 나타냅니다. 이 유형의 노이즈에서 pbr의 잘못된 레이블 지정 확률은 데이터 세트의 모든 인스턴스에 대해 동일합니다. 데이터 집합의 각 레이블을 확률 pbr로 임의로 대칭 이동하여 데이터 집합에 클래스 독립적 노이즈를 도입합니다.

b) 클래스 종속 노이즈: 클래스 종속 노이즈는 인스턴스의 실제 클래스에 따라 달라지는 노이즈를 나타냅니다. 이 유형의 노이즈에서 클래스 SBR에 대한 잘못된 레이블 지정 확률은 psbr이고, NSBR 클래스에 대한 잘못된 레이블 지정 확률은 pnsbr입니다. 실제 레이블이 확률 psbr이 있는 SBR인 데이터 집합의 각 항목을 대칭 이동하여 데이터 집합에 클래스 종속 노이즈를 도입합니다. 마찬가지로 NSBR 인스턴스의 클래스 레이블을 확률 pnsbr로 대칭 이동합니다.

c) 단일 클래스 노이즈: 단일 클래스 노이즈는 클래스 종속 노이즈(p nsbr = 0 및 psbr> 0)의 특수한 경우입니다. 클래스 독립적 노이즈에는 psbr = pnsbr = pbr이 있습니다.

C. 노이즈 생성

실험에서는 SBR 분류자 학습에서 다양한 노이즈 유형 및 수준의 영향을 조사합니다. 실험에서는 데이터 집합의 25%를 테스트 데이터로, 10%를 유효성 검사로, 65%를 학습 데이터로 설정합니다.

다양한 수준의 p br, p sbr 및 pnsbr에 대한 학습 및 유효성 검사 데이터 집합에 노이즈를 추가합니다. 테스트 데이터 집합은 수정하지 않습니다. 사용되는 다양한 노이즈 수준은 P = {0.05 × i|0 < i < 10}입니다.

클래스 독립적 노이즈 실험에서 pbr ∈ P에 대해 다음을 수행합니다.

  • 학습 및 유효성 검사 데이터 세트에 대한 노이즈를 생성합니다.

  • 학습 데이터 집합을 사용하여 로지스틱 회귀, 순진한 Bayes 및 AdaBoost 모델 학습(노이즈 사용); * 유효성 검사 데이터 집합을 사용하여 모델 조정(노이즈 사용);

  • 테스트 데이터 세트(노이즈 없음)를 사용하여 모델을 테스트합니다.

클래스 종속 노이즈 실험에서 p sbr ∈ P 및 pnsbr ∈ P의 경우 p sbr 및 pnsbr의 모든 조합에 대해 다음을 수행합니다.

  • 학습 및 유효성 검사 데이터 세트에 대한 노이즈를 생성합니다.

  • 학습 데이터 집합을 사용하여 로지스틱 회귀, 순진한 Bayes 및 AdaBoost 모델 학습(노이즈 사용);

  • 유효성 검사 데이터 집합을 사용하여 모델 조정(노이즈 사용);

  • 테스트 데이터 세트(노이즈 없음)를 사용하여 모델을 테스트합니다.

V. 실험적 결과

이 섹션에서는 IV 섹션에 설명된 방법론에 따라 수행된 실험의 결과를 분석합니다.

a) 학습 데이터 집합에서 노이즈가 없는 모델 성능: 이 문서의 기여 중 하나는 버그 제목만 의사 결정을 위한 데이터로 사용하여 보안 버그를 식별하는 기계 학습 모델의 제안입니다. 이렇게 하면 개발 팀이 중요한 데이터의 존재로 인해 버그 보고서를 완전히 공유하지 않으려는 경우에도 기계 학습 모델을 학습할 수 있습니다. 버그 타이틀만 사용하여 학습할 때의 세 가지 기계 학습 모델의 성능을 비교합니다.

로지스틱 회귀 모델은 가장 성능이 뛰어난 분류자입니다. AUC 값이 0.9826이고 FPR 값이 0.0735인 경우 0.9353이 회수된 분류자입니다. 순진한 Bayes 분류자는 0.9779의 AUC와 0.0769의 FPR에 대한 0.9189의 리콜과 함께 로지스틱 회귀 분류자보다 약간 낮은 성능을 제공합니다. AdaBoost 분류자는 이전에 멘션 분류자에 비해 성능이 열등합니다. 0.9143의 AUC를 달성하고 0.0774 FPR에 대해 0.7018을 회수합니다. AUC(ROC 곡선) 아래의 영역은 TPR과 FPR 관계의 단일 값으로 요약되므로 여러 모델의 성능을 비교하는 데 좋은 메트릭입니다. 후속 분석에서는 비교 분석을 AUC 값으로 제한합니다.

테이블 I

A. 클래스 노이즈: 단일 클래스

기본적으로 모든 버그가 클래스 NSBR에 할당되고 버그 리포지토리를 검토하는 보안 전문가가 있는 경우에만 클래스 SBR에 버그가 할당되는 시나리오를 상상할 수 있습니다. 이 시나리오는 p nsbr = 0 및 <0 psbr< 0.5라고 가정하는 단일 클래스 실험적 설정에 표시됩니다.

표 II

표 II에서는 세 가지 분류자 모두 AUC에서 매우 작은 영향이 관찰됩니다. psbr = 0에서 학습된 모델의 AUC-ROC는 psbr = 0.25가 로지스틱 회귀의 경우 0.003, 순진한 Bayes의 경우 0.006, AdaBoost의 경우 0.006이 다른 모델의 AUC-ROC와 비교됩니다. psbr = 0.50의 경우 각 모델에 대해 측정된 AUC는 로지스틱 회귀의 경우 p sbr = 0 x 0.007, 순진한 Bayes의 경우 0.011, AdaBoost의 경우 0.010으로 학습된 모델과 다릅니다. 단일 클래스 노이즈가 있는 상태에서 학습된 로지스틱 회귀 분류자는 AUC 메트릭에서 가장 작은 변형, 즉 순진한 Bayes 및 AdaBoost 분류자와 비교할 때 더 강력한 동작을 제공합니다.

B. 클래스 노이즈: 클래스 독립적

클래스 독립적 노이즈로 인해 학습 집합이 손상된 경우의 세 분류자의 성능을 비교합니다. 학습 데이터에서 다양한 수준의 pbr 로 학습된 각 모델에 대한 AUC를 측정합니다.

테이블 III

표 III에서는 실험의 모든 노이즈 증가에 대한 AUC-ROC의 감소를 관찰합니다. 노이즈 없는 데이터로 학습된 모델에서 측정된 AUC-ROC를 pbr = 0.25의 클래스 독립 노이즈가 있는 상태에서 학습된 모델의 AUC-ROC와 비교한 차이는 로지스틱 회귀의 경우 0.011, Naive Bayes의 경우 0.008, AdaBoost의 경우 0.0038입니다. 노이즈 레벨이 40% 미만인 경우 Naive Bayes 및 AdaBoost 분류자의 레이블 노이즈는 AUC에 크게 영향을 미치지 않습니다. 반면 로지스틱 회귀 분류자는 30% 이상의 레이블 노이즈 수준에 대한 AUC 측정값에 영향을 줍니다.

AUC 변형

그림 1. 클래스 독립적 노이즈에서 AUC-ROC의 변형입니다. 노이즈 수준 pbr =0.5의 경우 분류자는 임의 분류자(예: AUC≈0.5)처럼 작동합니다. 그러나 노이즈 수준이 낮은 경우(pbr ≤ 0.30) 로지스틱 회귀 학습자는 다른 두 모델에 비해 더 나은 성능을 제공함을 볼 수 있습니다. 그러나 0.35≤ pbr ≤0.45의 순진한 Bayes 학습자는 더 나은 AUCROC 메트릭을 제공합니다.

C. 클래스 노이즈: 클래스 종속

실험의 마지막 집합에서는 서로 다른 클래스에 서로 다른 노이즈 수준(예: psbr ≠ pnsbr)이 포함된 시나리오를 고려합니다. 학습 데이터에서 psbr과 pnsbr을 0.05씩 독립적, 체계적으로 늘리고 세 분류자의 동작 변화를 관찰합니다.

로지스틱 회귀Naive BayesAdaBoost

테이블 IV, V, VI는 Table IV의 로지스틱 회귀, Table V의 순진한 Bayes 및 Table VI의 AdaBoost에 대해 각 클래스의 다른 수준에서 노이즈가 증가함에 따라 AUC의 변형을 보여 줍니다. 모든 분류자에서 두 클래스에 노이즈 수준이 30%를 초과하는 경우 AUC 메트릭에 영향을 줍니다. 순진한 베이즈는 강력하게 모트를 동작합니다. 음수 클래스에 시끄러운 레이블이 30% 이하인 경우 양수 클래스의 레이블 50%가 대칭 이동되는 경우에도 AUC에 미치는 영향은 매우 작습니다. 이 경우 AUC의 감소는 0.03입니다. AdaBoost는 세 분류자 모두의 가장 강력한 동작을 제시했습니다. AUC의 중요한 변경은 두 클래스에서 모두 45% 이상의 노이즈 수준에 대해서만 발생합니다. 이 경우 0.02보다 큰 AUC 감쇠를 관찰하기 시작합니다.

D. 원래 데이터 집합의 잔차 노이즈가 있는 경우

데이터 세트의 레이블은 서명 기반의 자동화된 시스템과 인간 전문가에 의해 지정되었습니다. 또한 모든 버그 보고서는 인간 전문가에 의해 추가로 검토되고 폐쇄되었습니다. 데이터 집합의 노이즈 양이 최소화되고 통계적으로 유의하지 않을 것으로 예상하지만, 잔차 노이즈가 존재해도 결론이 무효화되지는 않습니다. 실제로 설명을 위해 원래 데이터 집합이 모든 항목에 대해 0 < p < 1/2 독립적이고 동일하게 분산된(i.i.d)와 같은 클래스 독립적 노이즈에 의해 손상되었다고 가정합니다.

원래의 노이즈 위에 클래스 독립적 노이즈를 pbr i.i.d의 확률로 추가할 경우 항목당 결과 노이즈는 p∗ = p(1 − pbr )+(1 − p)pbr이 됩니다. 0 < p,pbr< 1/2의 경우 레이블당 실제 노이즈 p∗는 데이터 세트 pbr에 인위적으로 추가하는 노이즈보다 엄격히 큽 수 있습니다 . 따라서 분류자의 성능은 처음에 완전히 노이즈리스 데이터 집합(p = 0)으로 학습된 경우 더 좋을 것입니다. 요약하자면, 실제 데이터 집합에 잔차 노이즈가 있다는 것은 분류자의 노이즈에 대한 복원력이 여기에 제시된 결과보다 더 낫다는 것을 의미합니다. 또한 데이터 집합의 잔차 노이즈가 통계적으로 관련된 경우 분류자의 AUC는 0.5 미만의 노이즈 수준에 대해 0.5(임의 추측)가 됩니다. 우리는 결과에서 그러한 행동을 관찰하지 않습니다.

VI. 결론 및 향후 연구

이 논문에서 우리의 기여는 두 가지입니다.

먼저 버그 보고서 제목만을 기반으로 보안 버그 보고서 분류의 타당성을 보여 줬습니다. 이는 특히 개인 정보 보호 제약으로 인해 전체 버그 보고서를 사용할 수 없는 시나리오에서 유의미합니다. 예를 들어 이 경우 버그 보고서에는 암호 및 암호화 키와 같은 개인 정보가 포함되어 있으며 분류자를 학습하는 데 사용할 수 없었습니다. 결과에서는 보고서 제목만 사용할 수 있는 경우에도 SBR 식별을 높은 정확도로 수행할 수 있음을 보여 줍니다. TF-IDF와 로지스틱 회귀의 조합을 활용하는 분류 모델의 성능은 AUC 0.9831입니다.

둘째, 레이블이 잘못된 학습 및 유효성 검사 데이터의 효과를 분석했습니다. 다양한 노이즈 유형 및 노이즈 수준에 대한 견고성 측면에서 잘 알려진 세 가지 기계 학습 분류 기술(순진한 베이즈, 로지스틱 회귀 및 AdaBoost)을 비교했습니다. 세 분류자는 모두 단일 클래스 노이즈에 강력합니다. 학습 데이터의 노이즈는 결과 분류자에서 큰 영향을 미치지 않습니다. AUC의 감소는 노이즈 수준이 50%인 경우 매우 작습니다(0.01). 두 클래스에 모두 존재하며 클래스 독립적인 순진한 Bayes 및 AdaBoost 모델의 경우 노이즈 수준이 40%보다 큰 데이터 집합으로 학습된 경우에만 AUC에서 상당한 변화를 제공합니다.

마지막으로, 클래스 종속 노이즈는 두 클래스 모두에 35%를 초과하는 노이즈가 있는 경우에만 AUC에 큰 영향을 미칩니다. AdaBoost는 가장 견고함을 보였습니다. 음수 클래스가 시끄러운 레이블의 45% 이하를 포함하는 경우 양수 클래스가 레이블의 50%를 시끄러운 경우에도 AUC의 영향은 매우 작습니다. 이 경우 AUC의 감소는 0.03보다 작습니다. 가장 잘 아는 것은 보안 버그 보고서 식별을 위한 시끄러운 데이터 세트의 효과에 대한 첫 번째 체계적인 연구입니다.

미래 작업

이 문서에서는 보안 버그 식별을 위한 기계 학습 분류자의 성능에 대한 노이즈의 영향을 살펴보는 체계적인 연구를 시작했습니다. 이 연구에 이어 몇 가지 흥미로운 후속 연구가 있으며, 여기에는 보안 버그의 심각도 수준 판단에서 노이즈가 있는 데이터 세트의 영향 조사, 학습된 모델의 노이즈에 대한 복원력에 클래스의 불균형이 미치는 영향 이해, 데이터 세트에 적대적으로 유입된 노이즈의 영향 이해가 포함됩니다.

REFERENCES

[1] 존 안빅, 린든 히우, 게일 C 머피. 누가 이 버그를 수정해야 하나요? 28회 국제 소프트웨어 엔지니어링 컨퍼런스 회의록, 361–370페이지. ACM, 2006.

[2] 딕샤 벨, 사힐 한다, 아누자 아로라. 순진한 베이와 tf-idf를 사용하여 보안 버그를 식별하고 분석하는 버그 마이닝 도구입니다. 최적화, 안정성 및 정보 기술(ICROIT), 2014 국제 컨퍼런스, 294–299페이지. IEEE, 2014.

[3] 니콜라스 베텐부르크, 라훌 프렘라지, 토마스 짐머만, 김성훈. 중복 버그 보고서는 정말 유해한 것으로 간주? 소프트웨어 기본 테넌트, 2008. ICSM 2008. IEEE 국제 회의, 페이지 337-345. IEEE, 2008.

[4] 안드레스 폴레코, 타기 M 코슈고프타어, 제이슨 반 훌스, 로프턴 불라드. 품질이 낮은 데이터에 대한 강력한 학습자 식별 정보 재사용 및 통합, 2008. IRI 2008. IEEE 국제 회의, 페이지 190-195. IEEE, 2008.

[5] Benoıt Frenay.' 기계 학습의 불확실성 및 레이블 노이즈. PhD 학위 논문, Catholic University of Louvain, Louvain-la-Neuve, Belgium, 2013.

[6] 베노이트 프레네이와 미셸 벌리슨. 레이블 노이즈가 있는 분류: 설문 조사. IEEE 신경망 및 학습 시스템의 트랜잭션, 25(5):845–869, 2014.

[7] 마이클 게직, 피트 로텔라, 타오 시. 텍스트 마이닝을 통한 보안 버그 보고서 식별: 산업 사례 연구. MSR(마이닝 소프트웨어 리포지토리), 2010 7회 IEEE 워킹 컨퍼런스, 11-20페이지 IEEE, 2010.

[8] 카테리나 고세바-팝스토야노바와 제이콥 아요. 감독 및 감독되지 않은 분류를 사용하여 텍스트 마이닝으로 보안 관련 버그 보고서를 식별합니다. 2018 소프트웨어 QRS(품질, 안정성 및 보안)에 대한 IEEE 국제 컨퍼런스, 344–355페이지, 2018.

[9] 아메드 람칸피, 세르주 데마이어, 에마누엘 기거, 바트 괴탈스. 보고된 버그의 심각도 예측 마이닝 MSR(소프트웨어 리포지토리), 2010년 제7회 IEEE 작업 회의, 1-10페이지. IEEE, 2010.

[10] Naresh Manwani 및 PS Sastry. 위험 최소화에서 노이즈 내성 사이버네틱스에 대한 IEEE 트랜잭션, 43(3):1146-1151, 2013.

[11] G 머피와 D 쿠브라닉. 텍스트 분류를 사용하는 자동 버그 심사 소프트웨어 엔지니어링 및 지식 엔지니어링에 대한 제16회 국제 회의의 절차. Citeseer, 2004.

[12] 미콜라 페체니츠키, 알렉세이 심발, 세포 푸우로넨, 올렉산드르 페체니즈키. 클래스 노이즈 및 의료 분야에서의 감독 학습기본: 기능 추출의 효과입니다. null에서는 708-713페이지입니다. IEEE, 2006.

[13] Charlotte Pelletier, Silvia Valero, Jordi Inglada, Nicolas Champion, Claire Marais Sicre 및 Gerard Dedieu.' 위성 이미지 시계열을 사용한 토지 커버 매핑을 위한 분류 성능에 대한 교육 클래스 레이블 노이즈 효과. 원격 감지, 9(2):173, 2017.

[14] PS Sastry, GD Nagendra 및 Naresh Manwani. 반공간에 대한 노이즈 내성 학습을 위한 연속 작업 학습 자동화 팀입니다. 시스템, Man 및 Cybernetics, 파트 B(Cybernetics)에 대한 IEEE 트랜잭션, 40(1):19-28, 2010.

[15] 조만 텅. 노이즈 처리 기술의 비교입니다. FLAIRS 컨퍼런스, 269–273페이지, 2001.

[16] 두미두 위자야세카라, 밀로스 매닉, 마일스 맥퀸. 텍스트 마이닝 버그 데이터베이스를 통한 취약성 식별 및 분류. IEEE의 IECON 2014-40th 연례 회의인 산업 전자 협회에서는 3612-3618페이지를 참조하세요. IEEE, 2014.

[17] 신리 양, 데이비드 로, 차오 황, 신샤, 젠링 선. 불균형 학습 전략을 활용하는 높은 영향 버그 보고서의 자동화된 식별입니다. COMPSAC(Computer Software and Applications Conference), 2016 IEEE 40th Annual, volume 1, pages 227-232. IEEE, 2016.

[18] 데칭주, 지준 덩, 젠리, 하이진. 다중 유형 기능 분석을 통해 보안 버그 보고서를 자동으로 식별합니다. 정보 보안 및 개인 정보에 관한 오스트랄라시아 컨퍼런스에서 619-633페이지. 스프링어, 2018.