침투 테스트 튜토리얼: PenTest란 무엇입니까?
⚡ 스마트 요약
침투 테스트는 애플리케이션, 네트워크 또는 시스템에 대한 실제 공격을 시뮬레이션하여 보안 팀이 악용 가능한 취약점을 찾아내고, 비즈니스에 미치는 영향을 측정하고, 외부 공격자가 동일한 취약점을 발견하기 전에 이를 해결할 수 있도록 합니다.

침투 테스트란 무엇입니까?
침투 테스트 또는 펜 테스트는 보안 테스트 침투 테스트는 공격자가 소프트웨어 애플리케이션, 네트워크 또는 웹 애플리케이션에서 악용할 수 있는 취약점, 위협 및 위험을 찾아내는 데 사용됩니다. 침투 테스트의 목적은 소프트웨어 애플리케이션에 존재하는 모든 가능한 보안 취약점을 식별하고 테스트하는 것입니다. 침투 테스트는 펜 테스트(Pen Test)라고도 합니다.
아래 다이어그램은 패치되지 않은 애플리케이션의 취약점이 공격자가 침입하는 통로가 되는 과정을 보여줍니다.
취약점이란 공격자가 시스템이나 시스템 내 데이터에 무단으로 접근하거나 시스템을 교란할 수 있는 위험을 의미합니다. 취약점은 대개 소프트웨어 개발 및 구현 단계에서 의도치 않게 발생합니다. 일반적인 취약점으로는 설계 오류, 구성 오류, 소프트웨어 버그 등이 있습니다. 침투 분석은 취약점 평가와 침투 테스트(VAPT)라는 두 가지 메커니즘에 기반합니다.
VAPT의 두 가지 핵심 요소는 종종 혼동됩니다. 취약성 평가는 대규모로 알려진 취약점을 나열하는 데 그치는 반면, 침투 테스트는 안전하게 일부 취약점을 악용하여 실제 데이터에 미치는 영향을 입증합니다. 이 두 가지를 함께 수행하면 이론적인 발견과 실제로 데이터를 위험에 빠뜨리는 발견을 구분할 수 있습니다.
왜 침투 테스트인가?
기업에서 침투 테스트가 필수적인 이유는 다음과 같습니다.
- 은행, 투자은행, 증권거래소와 같은 금융 부문은 데이터 보안을 원하며, 침투 테스트는 보안을 보장하는 데 필수적입니다.
- 만약 소프트웨어 시스템이 이미 해킹당했다면, 해당 조직은 향후 해킹을 방지하기 위해 시스템에 여전히 위협 요소가 남아 있는지 여부를 확인하고자 합니다.
- 사전 예방적 침투 테스트는 해커로부터 자신을 보호하는 가장 좋은 방법입니다.
- 규정 준수 체계는 이를 요구합니다. 예를 들어, PCI DSS 요구사항 11.4는 최소한 연 1회, 그리고 중요한 변경 사항이 발생한 후 내부 및 외부 침투 테스트를 실시할 것을 요구합니다.
침투 테스트 유형
침투 테스트 유형은 일반적으로 범위와 조직이 직원이나 네트워크 관리자(내부 소스)에 의한 공격을 시뮬레이션할지, 아니면 외부 소스에 의한 공격을 시뮬레이션할지에 따라 결정됩니다. 침투 테스트에는 세 가지 유형이 있습니다.
블랙박스 침투 테스트에서 테스터는 테스트 대상 시스템에 대한 정보를 전혀 알지 못합니다. 테스터는 대상 네트워크 또는 시스템에 대한 정보를 수집하는 역할만 담당합니다.
화이트박스 침투 테스트에서는 일반적으로 테스트 담당자에게 IP 주소 체계, 소스 코드 및 운영 체제 세부 정보를 포함하여 테스트 대상 네트워크 또는 시스템에 대한 완전한 정보가 제공됩니다. 이는 조직 내부 직원과 같은 외부 공격자에 의한 공격을 시뮬레이션하는 것으로 볼 수 있습니다.
그레이박스 침투 테스트에서는 테스터에게 시스템에 대한 부분적인 정보만 제공됩니다. 이는 조직의 네트워크 인프라 문서에 불법적으로 접근한 외부 해커의 공격으로 간주될 수 있습니다.
아래 표는 세 가지 유형을 나란히 배치하여 실제로 모델링하려는 위협에 맞는 참여 유형을 선택할 수 있도록 합니다.
| 아래 | 검정 Box | 백 Box | 회색 Box |
| 테스터에게 제공된 정보 | 없음 | 전체 내용: 소스 코드, IP 스키마, 운영체제 세부 정보 | 부분적: 제한된 자격 증명 또는 서류 |
| 공격자 시뮬레이션 중 | 접근 권한이 없는 외부인 | 내부자 또는 개발자 | 이미 발판을 마련한 외부인 |
| 정찰에 소요된 시간 | 높음 | 높음 | 보통 |
| 코드베이스의 일반적인 커버리지 | 외부에서 접근 가능한 것만 | 가장 깊은 이유는 내부 구조가 보이기 때문입니다. | 노출된 공격 경로에 초점을 맞추세요 |
침투 테스트를 수행하는 방법
침투 테스트를 실행하려면 다음과 같은 활동을 수행해야 합니다. 아래 이미지는 각 단계를 차례로 설명하기 전에 네 단계를 요약하여 보여줍니다.
1단계) 기획단계
- 과제의 범위 및 전략이 결정됩니다.
- 기존 보안 정책 및 표준을 사용하여 범위를 정의합니다.
2단계) 발견 단계
- 시스템에 저장된 데이터, 사용자 이름, 심지어 비밀번호까지 포함하여 시스템에 대한 정보를 최대한 많이 수집하십시오. 이를 지문 인식이라고도 합니다.
- 포트를 스캔하고 프로빙합니다.
- 시스템의 취약점을 확인하세요
3단계) 공격단계
- 다양한 취약점을 악용할 수 있는 익스플로잇을 찾아보세요. 시스템을 공격하려면 필요한 보안 권한이 있어야 합니다.
4단계) 보고 단계
- 보고서에는 자세한 조사 결과가 포함되어야 합니다.
- 발견된 취약점의 위험성과 그것이 사업에 미치는 영향
- 권장 사항 및 솔루션(있는 경우)
침투 테스트의 주요 목표는 시스템 정보를 수집하는 것입니다. 정보를 수집하는 방법에는 두 가지가 있습니다.
- 호스트에 대한 '일대일' 또는 '일대다' 모델: 테스터는 단일 대상 호스트 또는 논리적 그룹에 대해 선형적인 방식으로 기술을 수행합니다.ping 대상 호스트(예: 서브넷).
- '다대일' 또는 '다대다' 모델: 테스터는 여러 호스트를 활용하여 무작위적이고 속도 제한적이며 비선형적인 방식으로 정보 수집 기법을 실행합니다.
침투 테스트 도구의 예
침투 테스트에는 매우 다양한 도구가 사용됩니다. 중요한 침투 테스트 도구 위치 :
1) Teramind
Teramind 내부자 위협 방지 및 직원 모니터링을 위한 포괄적인 제품군을 제공합니다. 행동 분석 및 데이터 손실 방지를 통해 보안을 강화하고 규정 준수를 보장하며 비즈니스 프로세스를 최적화합니다. 맞춤형 플랫폼은 조직의 다양한 요구 사항에 맞춰 생산성 향상과 데이터 무결성 보호에 초점을 맞춘 실행 가능한 통찰력을 제공합니다.
특징:
- 내부자 위협 방지: 데이터에 대한 내부자 위협을 나타낼 수 있는 사용자 활동을 탐지하고 방지합니다.
- 비즈니스 프로세스 최적화: 데이터 기반 행동 분석을 활용하여 운영 프로세스를 재정의합니다.
- 인력 생산성: 인력의 생산성, 보안 및 규정 준수 행동을 모니터링합니다.
- 규정 준수 관리: 소규모 기업, 대기업 및 정부 기관에 적합한 확장 가능한 단일 솔루션을 통해 규정 준수 관리를 지원합니다.
- 사고 분석: 사고 대응, 조사 및 위협 정보 수집을 강화하는 데 필요한 증거를 제공합니다.
- 데이터 손실 방지: 중요한 데이터의 잠재적 손실을 감시하고 방지합니다.
- 직원 모니터링: 직원의 성과 및 활동을 모니터링할 수 있는 기능을 제공합니다.
- 행동 분석: 고객의 앱 사용 행태 데이터를 세부적으로 분석하여 인사이트를 도출합니다.
- 사용자 지정 가능한 모니터링 설정: 특정 사용 사례에 맞게 모니터링 설정을 사용자 지정하거나 사전 정의된 규칙을 구현할 수 있습니다.
- 대시보드 인사이트: 종합적인 대시보드를 통해 인력 활동에 대한 가시성과 실행 가능한 인사이트를 제공합니다.
- 엔맵 이 도구는 포트 스캔, 운영체제 식별 등에 사용됩니다. trac경로 및 취약점 스캔.
- 네서스 – 이것은 전통적인 네트워크 기반 취약점 탐지 도구입니다.
- Pass-The-Hash – 이 도구는 주로 비밀번호 크래킹에 사용됩니다.
침투 테스터의 역할과 책임
침투 테스터의 업무는 다음과 같습니다.
- 침투 테스트를 수행할 수 있도록 조직으로부터 필요한 정보를 수집합니다.
- 해커가 대상 시스템을 공격할 수 있는 결함 찾기
- 윤리적인 방식을 준수하면서, 진짜 해커처럼 생각하고 행동하라.
- 개발자들이 쉽게 수정할 수 있도록 작업을 재현 가능하게 만드세요.
- 테스트 실행 시작일과 종료일을 사전에 합의하십시오.
- 시스템 또는 정보 손실에 대한 모든 책임을 져야 합니다. 소프트웨어 테스팅
- 데이터와 정보를 기밀로 유지하십시오.
수동 침투 테스트 vs. 자동화된 침투 테스트
대부분의 실제 상황에서는 두 가지 접근 방식을 모두 사용합니다. 아래 비교표는 각 방식이 어떤 상황에서 적합한지 보여줍니다.
| 수동 침투 테스트 | 자동화 된 침투 테스트 |
| 수동 테스트 전문적인 전문가가 테스트를 실행해야 합니다. | 자동화된 테스트 도구는 경험이 부족한 전문가에게도 명확한 보고서를 제공합니다. |
| 수동 테스트에는 Excel 및 기타 도구가 필요합니다. trac그거 | 자동화 테스트 중앙집중화된 표준 도구를 보유하고 있습니다. |
| 수동 테스트에서는 샘플 결과가 테스트마다 다릅니다. | 자동화된 테스트의 경우 테스트마다 결과가 달라지지 않습니다. |
| 사용자는 메모리 정리를 기억해야 합니다. | 자동 테스트에는 포괄적인 정리가 포함됩니다. |
침투 테스트의 단점
침투 테스트는 시스템의 모든 취약점을 찾아낼 수는 없습니다. 시간, 예산, 범위, 그리고 침투 테스트 담당자의 숙련도에는 한계가 있습니다.
침투 테스트를 진행할 때 발생할 수 있는 부작용은 다음과 같습니다.
- 데이터 손실 및 손상
- 시간 아래로
- 비용 증가
아래 인포그래픽은 동일한 장단점을 정리한 동시에 조직이 그럼에도 불구하고 테스트를 실행하는 이유를 보여줍니다.
이러한 한계 때문에 침투 테스트는 보안 정책을 대체하는 것이 아니라 잘 구현된 보안 정책 위에 추가될 때 가장 효과적입니다. 테스터는 실제 해커처럼 행동하여 코드가 안전하게 작성되었는지 확인하고, 문서화된 일정에 따라 테스트를 반복해야 합니다.




