Project Detail
Vulnerability Fingerprinting & CVE Mapping System
포트·서비스 식별 기반 CVE 자동 매핑 시스템
Nmap 기반 포트·서비스 식별 결과를 바탕으로 서비스 버전 정보를 정규화하고, CVE 후보 매핑과 Exploit 후보 조회까지 이어지는 취약점 분석 자동화 시스템입니다.
Overview
프로젝트 개요
문제 정의
포트 스캔 결과만으로는 실제 서비스 버전과 취약점 후보를 바로 판단하기 어렵습니다. 특히 banner 정보가 불완전하거나 서비스명이 모호한 경우, 단순 문자열 검색만으로는 CVE 매핑 정확도가 떨어지는 문제가 있었습니다.
이 프로젝트는 Nmap 기반 서비스 식별 결과를 정규화하고, Local CVE API와 Exploit-DB 조회를 결합해 취약점 후보를 자동으로 추천하는 흐름을 목표로 했습니다.
내 역할
팀 리더 / CVE DB 연동 / Exploit 후보 분석 / PoC 검증
- Nmap 기반 서비스 식별 및 버전 Fingerprinting 흐름 설계
- AI 기반 서비스·버전 문자열 보정으로 CVE 검색 쿼리 품질 개선
- Local CVE API·Exploit-DB 기반 취약점 후보 분석 및 PoC 검증 수행
Result Screens
실행 화면
※ Metasploitable2 테스트 환경 기준 측정 결과
Core Implementation
핵심 구현
Nmap 기반 서비스 식별
포트 스캔 결과에서 서비스명, 포트, 프로토콜, banner 정보를 추출하고 이후 CVE 검색에 사용할 수 있도록 서비스 기준 데이터를 구성했습니다.
버전 문자열 보정
banner에 포함된 서비스명과 버전 정보가 모호한 경우를 고려해, AI 기반 보정 로직을 통해 CVE 검색에 적합한 쿼리 형태로 정규화했습니다.
Local CVE API 연동
서비스명과 버전 정보를 기준으로 Local CVE API를 조회하고, 관련 취약점 후보를 자동으로 매핑하는 흐름을 구현했습니다.
Exploit 후보 분석
Exploit-DB 기반으로 관련 exploit 후보를 조회하고, 실제 공격 가능성 및 검증 우선순위를 판단할 수 있도록 결과를 정리했습니다.
Troubleshooting
트러블슈팅
Nmap 배너 문자열만으로 CVE 매핑 정확도가 떨어지는 문제
문제
Nmap 스캔 결과의 banner 정보는 서비스명과 버전이 일관된 형식으로 제공되지 않아, 단순 문자열 기반 검색으로는 관련 CVE를 놓치거나 부정확한 후보가 많이 섞이는 문제가 있었습니다.
원인
동일한 서비스라도 banner 표현 방식이 다르고, 배포판 패키지명이나 모듈명처럼 CVE 검색에 직접 적합하지 않은 문자열이 포함되는 경우가 있었기 때문입니다.
해결
서비스명과 버전 정보를 분리하고, AI 기반 문자열 보정 로직을 적용해 CVE 검색에 적합한 형태로 쿼리를 정규화했습니다.
결과
Metasploitable2 테스트 환경 기준으로 Nmap 원본 결과 대비 CVE 매핑 정확도를 약 40% 향상시킬 수 있었습니다.
CVE 후보 분석 시간이 길어지는 문제
문제
서비스별로 CVE 후보를 조회하고 Exploit-DB 결과를 함께 확인하는 과정이 반복되면서, 분석자가 결과를 수동으로 비교하는 데 시간이 많이 소요되었습니다.
원인
CVE 조회, exploit 존재 여부 확인, 위험도 판단이 각각 분리되어 있어 동일 서비스에 대한 반복 조회와 수동 비교가 발생했습니다.
해결
서비스 기준 자동 CVE 추천과 캐시 활용을 적용하고, Exploit-DB 후보를 함께 정렬해 분석자가 우선 확인할 항목을 빠르게 볼 수 있도록 구성했습니다.
결과
동일한 테스트 환경에서 분석 흐름을 약 1분에서 20초 수준으로 단축할 수 있었습니다.
취약점 후보와 실제 공격 가능성 사이의 간극
문제
CVE 후보가 매핑되더라도 실제로 exploit 가능성이 있는지, 어떤 항목을 먼저 검증해야 하는지 판단하기 어려웠습니다.
원인
CVE 매핑 결과만으로는 실제 exploit 코드 존재 여부나 테스트 환경에서의 재현 가능성을 바로 판단하기 어려웠기 때문입니다.
해결
Exploit-DB 후보 조회 결과를 함께 제공하고, Metasploitable2 환경에서 주요 서비스 취약점을 PoC 기반으로 검증했습니다.
결과
단순 CVE 나열이 아니라 exploit 후보와 검증 가능성을 함께 확인하는 흐름을 구성할 수 있었습니다.
Tech Stack
사용 기술
주요 담당 기술
프로젝트 전체 스택
※ 대시보드 및 일부 시각화 구성은 팀 프로젝트 전체 기술 스택 기준입니다.