비밀 정보와 플레이스홀더의 분리: 3클래스 자격 증명 유출 탐지를 위한 하이브리드 CNN-CodeBERT 프레임워크
요약
CodeBERT와 CNN을 결합하여 코드 내 자격 증명 유출을 탐지하는 3클래스 분류 프레임워크를 제안합니다. 플레이스홀더와 실제 비밀 정보를 구분함으로써 기존 도구의 높은 오탐률 문제를 해결하고 보안 탐지 성능을 크게 향상시켰습니다.
핵심 포인트
- CodeBERT의 의미론적 이해와 CNN의 패턴 인식 결합
- 플레이스홀더와 취약한 자격 증명을 별도 클래스로 모델링
- 고위험 경고를 33% 감소시키며 높은 재현율 달성
- 10개 프로그래밍 언어에 대한 강력한 교차 언어 일반화 능력
공개 소스 코드 저장소에서의 자격 증명 (Credential) 유출은 심각한 보안 위협을 초래하며, 2024년 한 해에만 2,380만 개 이상의 비밀 정보 (Secrets)가 노출되었습니다. 기존의 탐지 도구들은 경직된 패턴 매칭 (Pattern matching) 및 이진 분류 (Binary classification) 체계로 인해 실제 자격 증명과 플레이스홀더 (Placeholder) 또는 취약한 자격 증명을 구분하지 못하여 높은 오탐률 (False-positive rates)을 겪고 있습니다. 본 논문에서는 CodeBERT 기반의 의미론적 이해 (Semantic understanding)와 문자 수준 (Character-level) 패턴 인식을 결합하여, 플레이스홀더 또는 취약한 자격 증명을 별도의 클래스로 명시적으로 모델링하는 3클래스 분류 프레임워크를 제안합니다. 우리는 10개의 프로그래밍 언어에 걸쳐 구축된 9,426개의 샘플로 구성된 새로운 데이터셋을 통해 우리의 접근 방식을 평가합니다. 우리 모델은 매튜스 상관 계수 (Matthews Correlation Coefficient) 0.86과 매크로 F1-score 0.90을 달성하였으며, 실제 자격 증명 유출에 대해 93%의 재현율 (Recall)과 89%의 정밀도 (Precision)를 기록하는 동시에, 보안 커버리지를 희생하지 않으면서도 고위험 경고를 33.0% (373개에서 250개로) 감소시켰습니다. 기존의 문자 수준 접근 방식과 비교했을 때, 우리의 방법은 플레이스홀더 또는 취약한 자격 증명 탐지 성능을 F1-score 기준 54%에서 81%로 향상시켰으며, 강력한 교차 언어 일반화 (Cross language generalization) 능력을 유지하여, 언어 제외 평가 (Leave-one-language-out evaluation)에서 10개 언어 중 9개 언어가 0.80 이상의 F1-score를 달성했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기