🧪 취약점 진단 기본 흐름 — 이 시스템, 뭐부터 봐야 할까?
취약점 진단을 처음 접하면 보통 이런 생각이 듭니다.
“도구부터 돌리면 되나?”
“웹? 서버? 네트워크? 뭐가 우선이지?”
결론부터 말하면,
취약점 진단은 도구가 아니라 ‘순서’의 싸움입니다.
1️⃣ 취약점 진단이란?
취약점 진단(Vulnerability Assessment)은
시스템, 애플리케이션, 네트워크에 존재하는 보안 약점을 식별하고 평가하는 과정입니다.
- 공격을 “시도”하는 모의해킹과 달리
- 취약점을 “찾고 정리”하는 데 초점
👉 목적은 위험을 낮추는 것입니다.
2️⃣ 전체 진단 흐름 한눈에 보기
- 범위 정의 (Scope)
- 정보 수집 (Reconnaissance)
- 자동 진단
- 수동 검증
- 위험도 평가
- 조치 가이드 작성
3️⃣ 1단계: 범위 정의 (Scope)
가장 중요한 단계입니다.
확인해야 할 것
- 대상 시스템 (웹, 서버, DB, 네트워크)
- IP / 도메인 범위
- 테스트 가능 시간
- 제외 항목 (운영 중단 위험 시스템)
👉 범위가 불명확하면 사고로 이어질 수 있음.
4️⃣ 2단계: 정보 수집 (Reconnaissance)
공격자 관점에서 대상을 이해하는 단계입니다.
수집 정보
- 서버 OS / 웹 서버 종류
- 사용 중인 포트 및 서비스
- URL 구조
- 사용 기술 스택
예:
- Apache / Nginx
- PHP / Java / Node.js
- 80, 443, 22 포트 등
5️⃣ 3단계: 자동 진단 (Scanner)
자동 도구로 광범위한 취약점 후보를 찾습니다.
특징
- 빠르다
- 놓치는 것도 많다
- 오탐(False Positive) 많음
👉 자동 진단 결과는
“가능성 목록”일 뿐, 확정 아님.
6️⃣ 4단계: 수동 검증 (Manual Testing)
자동 진단 결과를 사람이 직접 검증합니다.
확인 포인트
- 실제로 공격 가능한가?
- 인증 우회가 가능한가?
- 정보 노출이 되는가?
예:
- SQL Injection 실제 동작 여부
- 인증 없는 관리자 페이지 접근 가능 여부
👉 이 단계가 진단의 핵심.
7️⃣ 5단계: 위험도 평가
발견된 취약점을 위험도 기준으로 분류합니다.
평가 기준
- 공격 난이도
- 영향 범위
- 데이터 민감도
- 실제 악용 가능성
일반 분류:
8️⃣ 6단계: 조치 가이드 작성
취약점 진단의 결과물은 보고서입니다.
보고서에 포함될 내용
- 취약점 설명
- 발생 위치
- 공격 시나리오
- 영향
- 조치 방법
👉 “문제 있다”가 아니라
“이렇게 고치면 된다”까지 제시해야 함.
9️⃣ 초보자가 자주 하는 실수
❌ 도구 결과를 그대로 제출
❌ 범위 확인 없이 테스트
❌ 운영 서버에 무리한 테스트
❌ 위험도 판단 없이 나열
🧠 정리
- 취약점 진단은 도구가 아니다
- 순서와 판단이 전부다
- 자동화는 보조 수단일 뿐
- 결과는 항상 “조치 가능”해야 한다