Notes / Penetration Testing
취약점 스캐닝의 원리와 한계
취약점 스캐너가 어떻게 판단하고 왜 오탐·미탐이 생기는지, 인증·비인증 스캔의 차이와 결과 해석 기준을 정리합니다.
목차
취약점 스캐너는 수집한 버전·배너·응답을 알려진 취약점 DB와 대조해 후보를 뽑는다. 빠르지만 오탐·미탐이 있어, 스캐너 결과는 “확인할 목록”이지 “확정”이 아니다. 원리와 한계를 알아야 결과를 제대로 읽는다.
개념
- 작동 방식: 스캐너는 서비스 배너·버전·응답 패턴을 수집해 시그니처/플러그인과 매칭한다. 실제로 익스플로잇하지 않고 추정하는 경우가 많다 → 그래서 검증이 필요하다.
- 인증 vs 비인증 스캔: 비인증은 외부에서 보이는 것만, 인증(자격증명 제공) 스캔은 패치 수준·설정까지 봐서 더 정확하다.
- 오탐(False Positive): 배너는 구버전인데 백포트 패치로 실제론 안전한 경우. 미탐(False Negative): 커스텀 서비스·논리 취약점은 시그니처가 없다.
- 고려사항: 스캔 강도(네트워크·서비스 부하), 운영 영향, 범위·시간대, 결과의 위험도 재평가.
스캐너 결과 ≠ 확정
배너/버전 매칭 → 후보 → 수동 검증 → 확정/기각
공격·확인 구문
허가된 대상에서만.
NSE 기반 점검(가벼운 취약점 스캔)
nmap -sV --script vuln -p- target.example # 알려진 취약점 스크립트
nmap --script "http-vuln-*" -p80,443 target.example
결과 해석 기준
배너 버전만으로 '취약' 판정? → 백포트 패치 여부 확인(인증 스캔/직접 검증)
critical 다수? → 위험도 재평가: 실제 노출·접근 가능성·영향
커스텀 앱·논리 취약점 → 스캐너가 못 잡음: 수동 점검 병행
검증(오탐 거르기)
해당 버전의 알려진 PoC로 안전하게 재현 시도(허가 범위)
응답·동작으로 실제 영향 확인 후에만 보고에 '확정'으로 기재