취약점 검사와 침투 테스트
자동화된 검사(비침투적·예약 실행)와 수동 침투 테스트(목표 중심·대개 더 파괴적)의 주요 차이점을 이해합니다.
취약점 검사와 침투 테스트은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
사전 예방적 Security: 먼저 결함 찾기
사후 대응형 Security는 공격이 발생한 후 대응하지만, 사전 예방적 Security는 공격자가 악용하기 전에 약점을 찾아 수정합니다. 서로 보완적인 두 가지 사전 예방 활동은 Vulnerability Scanning과 침투 테스트입니다. 두 활동 모두 Security 약점을 식별하지만, 범위, 방법론, 승인 요구 사항, 위험 수준, 조직에 제공하는 결과에서 큰 차이가 있습니다. 이러한 차이를 이해하는 것은 Security+ 응시자와 각 활동이 Security 상태에 대해 무엇을 알려줄 수 있고 무엇을 알려줄 수 없는지 이해관계자에게 설명하는 데 필수적입니다.
Vulnerability Scanning 정의
Vulnerability Scanning은 알려진 취약점 데이터베이스를 기준으로 System을 검사하는 자동화된 Process입니다. Scanner는 버전 번호, Config 설정 및 소프트웨어 시그니처를 CVE 데이터베이스와 공급업체 권고 사항에 대조하여 잠재적인 약점을 식별합니다. Scanning은 일반적으로 비침투적입니다. 버전이나 Config에 근거하여 취약점이 존재할 가능성을 식별하지만, 일반적으로 이를 악용하려고 시도하지는 않습니다. Scanning은 정기적으로(매일, periodic 또는 지속적으로) 실행할 수 있으며 수천 개의 System을 대상으로 대규모로 수행할 수 있습니다. PCI-DSS(ASV가 수행하는 분기별 외부 Scanning) 및 여러 다른 framework에서 규정 준수 requirement로 요구됩니다.
# Vulnerability scan types:
# Credentialed (authenticated): logs into system, checks installed
# packages, registry, configurations -- more accurate
# Uncredentialed (unauthenticated): probes from outside,
# checks network-visible services -- more false positives
# Scanning frequency recommendations:
# Internal: weekly (or continuous)
# External: monthly + after significant changes
# PCI-DSS: quarterly external by ASV + internal after changes
# HIPAA: periodic (frequency by risk assessment)침투 테스트의 정의
침투 테스트(침투 시험)는 공격자가 사용할 것과 동일한 기법을 사용해 시스템 침해를 시도하는, 구조화되고 목표 지향적인 활동입니다. 스캐닝과 달리 침투 테스트는 취약점을 실제로 악용하여 해당 취약점이 이론적으로만 존재하는 것이 아니라 실제로 악용 가능한지 확인합니다. 침투 테스트 담당자는 실제 영향을 입증합니다. 권한 있는 접근을 얻을 수 있는가? 데이터를 외부로 반출할 수 있는가? 한 시스템에서 다른 시스템으로 측면 이동할 수 있는가? 침투 테스트는 악용 가능성에 대한 증거를 제공하여 Remediation의 긴급성을 높이며, 자동화된 Scanner가 식별하지 못하는 복잡한 다단계 공격 경로를 찾아내는 경우도 많습니다.
Rules of Engagement 및 인증
인증 없이 침투 테스트를 수행하는 것은 불법이며, US의 CFAA(Computer Fraud and Abuse Act)와 같은 법률에 따른 무단 접근에 해당합니다. 침투 테스트를 시작하기 전에 다음 사항을 정의한 Rules of Engagement(RoE) 문서에 서명해야 합니다. 범위(어떤 시스템, IP 범위, 도메인인지), 시간대(업무 시간 또는 업무 외 시간), 금지된 행위(물리적 공격 금지, 운영 환경에 대한 DoS 금지), 비상 연락처, 인증 서명 등이 포함됩니다. 침투 테스트 팀이 소지하는 책임 면제 확인서는 보안 담당자에게 발견되었을 때 테스트 권한을 입증합니다. 완전한 서면 인증 없이 절대로 테스트를 시작하지 마십시오.
# Rules of Engagement - key elements:
# 1. Authorized systems (IP ranges, domains, applications)
# 2. Exclusions (do NOT test: 10.0.1.100 - CEO's laptop)
# 3. Time window: Mon-Fri 9pm-5am only
# 4. Allowed techniques: no DoS, no physical
# 5. Emergency stop: call John at +1-555-0100
# 6. Reporting requirements and classification
# 7. Signatures: CISO + legal counsel + pen test lead
# 8. Duration: June 1 - June 15지식 수준에 따른 침투 테스트 유형
침투 테스트는 Tester가 Target에 대해 얼마나 많은 정보를 가지고 있는지에 따라 분류됩니다. Black box 테스트는 사전 정보를 전혀 제공하지 않으며, Tester는 외부 공격자와 같은 방식으로 시작하여 OSINT와 스캐닝을 사용해 Target을 찾아냅니다. 가장 현실적인 방식이지만 내부 취약점을 놓칠 수 있습니다. White box 테스트는 네트워크 구성도, 소스 코드, Credentials 등 모든 정보를 제공하므로 철저하지만 현실성은 낮은 테스트가 가능합니다. Gray box 테스트는 부분적인 정보(예: 일반 사용자 계정)를 제공하며, 침해된 내부자 또는 탈취된 Credentials 상황을 나타냅니다. 실제 Engagement의 대부분은 Gray box 또는 Black box 방식입니다.
# Test knowledge types:
# Black box:
# Tester knows: target organization name and scope
# Simulates: external attacker with no prior knowledge
# Gray box:
# Tester knows: some network info, may have user credentials
# Simulates: insider threat or compromised employee account
# White box:
# Tester knows: full network maps, source code, all credentials
# Simulates: insider admin or code review
# Best for: thorough coverage of all attack surfaces내부 테스트와 외부 테스트
침투 테스트는 서로 다른 관점에서 Target을 평가합니다. 외부 테스트는 내부 접근 권한이 없는 인터넷상의 공격자를 Simulates하며, 경계 방어, 인터넷에 공개된 애플리케이션, 이메일 Security를 테스트합니다. 내부 테스트는 이미 네트워크 내부에 들어온 위협 행위자(침해된 직원, 악성 코드에 의한 전환)를 Simulates하며, 측면 이동 통제, 내부 애플리케이션 Security, Active Directory 강화 상태를 테스트합니다. 대부분의 조직은 두 관점 모두에서 평가를 수행하는 것이 좋습니다. 실제 침해 사고 중 상당수는 외부 공격자가 최초 접근 권한을 얻은 후 내부로 이동하는 방식이므로, 두 테스트 유형을 함께 수행하는 것이 어느 한쪽만 수행하는 것보다 가치가 높습니다.
스캐닝의 오탐과 미탐
취약점 Scanner는 완벽하지 않습니다. 오탐은 실제로 존재하지 않는 취약점을 Scanner가 보고하는 경우입니다. 예를 들어 버전 번호만 보면 취약해 보이지만 패치가 백포트되었을 수 있습니다. 오탐은 Remediation 리소스를 낭비하게 하고 Scanner 출력에 대한 신뢰를 떨어뜨립니다. 미탐은 실제 취약점이 존재하지만 Scanner가 이를 놓치는 경우입니다. 예를 들어 취약점에 인증이 필요한데 인증 없이 스캔을 수행했거나, 취약점이 새로 발견되어 아직 데이터베이스에 등록되지 않았을 수 있습니다. Credentialed 스캔은 인증되지 않은 스캔에 비해 오탐과 미탐을 크게 줄입니다.
# False positive/negative scenarios:
# False Positive:
# Scanner reports OpenSSL 1.0.2g as vulnerable to Heartbleed
# But: this OS distribution backported the fix to 1.0.2g
# Fix: validate with credentialed scan or manual verification
# False Negative:
# Scanner misses SQL injection in custom web application
# Because: scanner tests generic payloads, not app-specific logic
# Fix: supplement with DAST web app scanning or manual pen test
# Credentialed scan reduces both error types significantly지속적인 취약점 관리
현대적인 Security 프로그램은 취약점 관리를 주기적인 이벤트가 아니라 지속적인 프로세스로 다룹니다. 지속적인 스캐닝은 다음 정기 스캔 시간까지 기다리지 않고 새로운 취약점이 등장할 때(새 CVE가 게시될 때 포함) 이를 발견합니다. 취약점 관리 수명 주기는 발견, 우선순위 지정(CVSS 점수와 비즈니스 맥락 기준), Remediation(패치, 구성 변경 또는 수용), 검증(Fix를 확인하기 위한 재스캔), Reporting으로 구성됩니다. 패치 관리 통합을 사용하면 발견된 취약점에 따라 자동 패치 배포 작업 흐름이 실행됩니다. SLA는 심각도별 취약점을 얼마나 빨리 Remediation해야 하는지 정의합니다(예: Critical: 24시간, High: 7일).
# Vulnerability remediation SLA examples:
# Critical (CVSS 9.0-10.0): patch within 24-48 hours
# High (CVSS 7.0-8.9): patch within 7 days
# Medium (CVSS 4.0-6.9): patch within 30 days
# Low (CVSS 0.1-3.9): patch within 90 days
# Exceptions process:
# If patch cannot be applied within SLA:
# -> document compensating control
# -> manager + CISO approval
# -> risk acceptance with expiration date침투 테스트 산출물 및 Reporting
침투 테스트는 일반적으로 주요 산출물인 종합 보고서로 마무리됩니다. 보고서에는 일반적으로 기술 지식이 없는 경영진을 위한 경영진 요약(Overall 위험 등급, 비즈니스 영향, 주요 Findings), 기술 Findings 섹션(상세한 취약점 Description, 증거 화면 캡처, 재현 Steps), 우선순위가 지정된 권고 사항을 담은 Remediation 로드맵이 포함됩니다. Findings는 일반적으로 CVSS 점수와 비즈니스 맥락을 함께 사용해 위험 수준(Critical/High/Medium/Low)으로 평가합니다. 우수한 침투 테스트 보고서는 고객이 모든 Finding을 재현하고 검증하며, 정확히 어떤 Remediation이 필요한지 이해할 수 있도록 합니다.
# Pen test report structure:
# 1. Executive Summary
# - Overall risk rating
# - Key business risks identified
# - High-level recommendations
# 2. Scope and Methodology
# 3. Technical Findings (per vulnerability):
# - Title and severity rating
# - Description
# - Evidence (screenshots, output)
# - Steps to reproduce
# - Business impact
# - Remediation recommendation
# 4. Appendices: tool output, timestamps버그 바운티 프로그램
버그 바운티 프로그램은 외부 Security 연구원에게 조직 시스템의 취약점을 찾고 책임 있게 공개하도록 보상금을 지급합니다. HackerOne, 버그크라우드, 인티그리티와 같은 플랫폼은 전 세계 수천 명의 Security 연구원과 조직을 연결합니다. 버그 바운티는 검증된 Finding에만 비용을 지급하면서 대규모의 지속적인 외부 테스트를 제공합니다. 다양한 연구원 관점과 공식 평가 사이의 지속적인 테스트를 제공하므로 내부 침투 테스트를 보완합니다. Critical Finding에는 심각도와 프로그램에 따라 일반적으로 500~50,000달러 이상의 보상금이 지급됩니다. 조직은 침투 테스트의 Rules of Engagement와 유사하게 범위와 규칙을 정의합니다.
스캐닝과 침투 테스트 비교
Security+ 시험에서는 다음과 같은 주요 차이점을 명확히 이해해야 합니다. 취약점 스캐닝: 자동화되고 비파괴적이며 광범위하게 검사하고, 잠재적 취약점을 식별하지만 악용 가능성을 확인하지 않으며, 자주 또는 지속적으로 수행되고, 조직 내부 직원이 수행합니다. 침투 테스트: 수동(또는 반자동)으로 수행되며 운영에 영향을 줄 수 있고, 특정 대상을 깊이 있게 검사하며, 실제 악용 가능성과 현실 세계의 영향을 확인하고, 주기적(분기별 또는 연간)으로 수행되며, 일반적으로 전문 외부 역량과 공식 인증이 필요합니다. 두 방식은 상호 보완적입니다. 스캐닝은 폭넓은 범위를 제공하고 침투 테스트는 깊이 있는 검증을 제공합니다. 성숙한 Security 프로그램은 두 방식을 정기적으로 사용합니다.
빠른 확인
이번 레슨에서 다룬 CompTIA Security+(SY0-701) 개념을 얼마나 이해했는지 확인해 보십시오.
레슨 요약
이번 레슨에서는 다음을 배웠습니다. 취약점 스캐닝은 자동화되고 빈번하며 비침습적이어서 취약점을 악용하지 않고 잠재적 취약점을 식별합니다. 반면 침투 테스트는 수동이고 목표 지향적이며 취약점을 적극적으로 악용하여 실제 영향과 공격 경로를 입증합니다. 두 방식 모두 Rules of Engagement 문서를 통한 적절한 인증이 필요하며, Credentialed 스캐닝은 인증되지 않은 스캔에 비해 오탐과 미탐을 크게 줄입니다. 다음으로 Nessus, OpenVAS, Nmap을 비롯한 일반적인 스캐닝 도구를 살펴보겠습니다.
자주 묻는 질문
“취약점 검사와 침투 테스트” 강의는 무료인가요?
네 — “취약점 검사와 침투 테스트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“취약점 검사와 침투 테스트”에서 뭘 배우나요?
자동화된 검사(비침투적·예약 실행)와 수동 침투 테스트(목표 중심·대개 더 파괴적)의 주요 차이점을 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“취약점 검사와 침투 테스트” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.