Key points are not available for this paper at this time.
제한된 시간과 자원 때문에 웹 소프트웨어 엔지니어는 취약한 코드를 식별하는 데 지원이 필요합니다. 취약한 코드를 예측하는 실용적인 접근 방식은 그들이 보안 감사 노력을 우선 순위로 지정할 수 있게 합니다. 본 논문에서는 입력 검증 및 입력 정화 코드 패턴을 특징짓는 하이브리드(정적+동적) 코드 속성을 사용하는 것을 제안하며, 이는 웹 애플리케이션 취약성의 중요한 지표가 될 것으로 예상됩니다. 정적 및 동적 프로그램 분석은 서로 보완적이기 때문에, 두 기술을 사용하여 제안된 속성을 정확하고 확장 가능한 방식으로 추출합니다. 현재의 취약성 예측 기술은 훈련을 위해 취약성 정보로 라벨이 붙은 데이터의 가용성에 의존합니다. 많은 실제 응용 프로그램의 경우, 과거의 취약성 데이터는 종종 사용 가능하지 않거나 최소한 완전하지 않습니다. 따라서 라벨이 붙은 과거 데이터가 완전히 사용 가능한 상황과 그렇지 않은 상황 모두를 해결하기 위해, 우리는 하이브리드 코드 속성을 기반으로 취약성 예측기를 구축할 때 감독 학습(supervised learning)과 반감독 학습(semi-supervised learning)을 모두 적용합니다. 반감독 학습이 이 분야에서 전혀 탐구되지 않았기 때문에, 우리는 취약성 예측을 위해 이 학습 방식을 효과적으로 사용하는 방법을 설명합니다. 우리는 감독 및 반감독 모델을 구축하고 평가한 7개의 오픈 소스 프로젝트에 대해 경험적 사례 연구를 수행했습니다. 완전히 가용한 레이블이 있는 데이터를 사용하여 교차 검증했을 때, 감독 모델은 SQL 삽입, 크로스 사이트 스크립팅, 원격 코드 실행 및 파일 포함 취약성을 예측하는 데 평균 77%의 재현율과 5%의 잘못된 경고 확률을 달성했습니다. 라벨이 있는 데이터가 적은 경우, 감독 모델과 비교했을 때 반감독 모델은 평균 24% 더 높은 재현율과 3% 더 낮은 잘못된 경고 확률을 보여주었으며, 이는 반감독 학습이 취약성 데이터가 부족한 많은 실제 응용 프로그램에 더 바람직한 솔루션이 될 수 있음을 시사합니다.
Shar et al. (Thu,)는 이 질문을 연구했습니다.