침투 테스트

**침투 테스트**, **페네트레이션 테스트**(penetration test) 또는 통칭 **모의 해킹**은 시스템의 보안을 평가하기 위해 컴퓨터 시스템에 대해 승인된 사이버 공격을 시뮬레이션하는 것이다. 이 테스트는 시스템의 기능과 데이터에 무단 접근할 가능성을 포함하여 약점(또는 취약점)과 강점을 식별하여 완전한 리스크 평가제도가 완료될 수 있도록 수행된다.

이 과정은 일반적으로 대상 시스템과 특정 목표를 식별한 다음, 사용 가능한 정보를 검토하고 목표를 달성하기 위한 다양한 수단을 사용한다. 모의 침투 테스트 대상은 화이트박스 (테스터에게 배경 및 시스템 정보가 미리 제공됨) 또는 블랙박스 (회사명 외에 기본적인 정보만 제공됨)일 수 있다. 그레이박스 모의 침투 테스트는 이 둘의 조합이다 (대상에 대한 제한된 지식이 감사자와 공유됨). 조직의 목표에 따라 다양한 유형의 모의 침투 테스트가 있으며, 여기에는 네트워크 (외부 및 내부), 무선, 웹 애플리케이션, 사회 공학, 그리고 수정 검증이 포함된다. 모의 침투 테스트는 시스템의 공격 취약점을 식별하고 얼마나 취약한지 평가하는 데 도움이 될 수 있다.

영국 국립사이버안보센터는 모의 침투 테스트를 다음과 같이 설명한다: "공격자가 사용할 수 있는 동일한 도구와 기술을 사용하여 IT 시스템 보안의 일부 또는 전부를 침해하려는 시도를 통해 IT 시스템 보안에 대한 확신을 얻는 방법." 모의 침투 테스트는 완전한 보안 감사의 한 구성 요소이다. 예를 들어, 지불 카드 산업 데이터 보안 표준은 정기적으로, 그리고 시스템 변경 후에 모의 침투 테스트를 요구한다. 모의 침투 테스트는 또한 NIST 위험 관리 프레임워크 SP 800-53에 명시된 위험 평가를 지원할 수 있다.

모의 침투 테스트를 수행하기 위한 여러 표준 프레임워크와 방법론이 존재한다. 여기에는 오픈 소스 보안 테스트 방법론 매뉴얼 (OSSTMM), 모의 침투 테스트 실행 표준 (PTES), 미국 국립표준기술연구소 특별 발행물 800-115, 정보 시스템 보안 평가 프레임워크 (ISSAF) 및 OWASP 테스트 가이드가 포함된다. 기술 사이버 보안 산업을 위한 비영리 전문 기관인 CREST는 모의 침투 테스트를 수행할 때 상업적으로 합리적인 보증 활동을 위한 지침을 제공하는 CREST Defensible Penetration Test 표준을 제공한다.

최근에는 플리퍼라는 일반적인 모의 침투 테스트 도구가 스캐터드 스파이더즈라는 그룹에 의해 2023년 MGM 카지노를 해킹하는 데 사용되어 일부 도구의 다재다능함과 강력함을 보여주었다.

## 목적
모의 침투 테스트의 목표는 주어진 참여에 대한 승인된 활동 유형에 따라 다르며, 주요 목표는 악의적인 행위자에 의해 악용될 수 있는 취약점을 찾아내고, 고객에게 해당 취약점과 권장 완화 전략을 알리는 데 중점을 둔다. 모의 침투 테스트 보고서는 또한 조직에 대한 잠재적 영향을 평가하고 위험을 줄이기 위한 대응책을 제안할 수 있다.

## 역사

1960년대 중반까지 통신선을 통해 자원에 접근할 수 있게 하는 시분할 컴퓨터 시스템의 인기가 높아지면서 새로운 보안 문제가 발생했다. 학자 데보라 러셀과 G. T. 강게미 1세가 설명하듯이, "1960년대는 컴퓨터 보안 시대의 진정한 시작을 알렸다."

예를 들어, 1965년 6월, 미국 최고의 컴퓨터 보안 전문가 몇 명이 정부 계약업체인 시스템 개발 공사 (SDC)가 주최한 시스템 보안에 대한 최초의 주요 컨퍼런스 중 하나를 개최했다. 컨퍼런스 동안, 누군가가 한 SDC 직원이 SDC의 AN/FSQ-32 시분할 컴퓨터 시스템에 추가된 다양한 시스템 보호 장치를 쉽게 훼손할 수 있었다고 언급했다. 추가적인 시스템 보안 연구가 유용하기를 바라면서, 참석자들은 "...시분할 시스템의 보안 보호를 깨뜨리는 영역에서 연구가 수행될 것"을 요청했다. 다시 말해, 컨퍼런스 참가자들은 시스템 보안 연구를 위한 도구로 컴퓨터 침투를 사용하라는 최초의 공식적인 요청 중 하나를 시작했다.

1968년 봄 합동 컴퓨터 컨퍼런스에서 많은 선도적인 컴퓨터 전문가들이 다시 만나 시스템 보안 문제에 대해 논의했다. 이 컨퍼런스에서 랜드 연구소의 컴퓨터 보안 전문가 윌리스 웨어, 해롤드 피터슨, 라인 턴, 그리고 국가안보국 (NSA)의 버나드 피터스 모두 컴퓨터 시스템에 대한 공격을 설명하기 위해 "침투"라는 문구를 사용했다. 웨어는 논문에서 군의 원격 접속 가능한 시분할 시스템을 언급하며 "그러한 컴퓨터 시스템에 대한 고의적인 침투 시도를 예상해야 한다"고 경고했다. 그의 동료 피터슨과 턴도 같은 우려를 공유하며 온라인 통신 시스템이 "프라이버시 위협에 취약하다"고 지적했으며, 여기에는 "고의적인 침투"가 포함된다. NSA의 버나드 피터스도 같은 요점을 주장하며 컴퓨터 입력 및 출력이 "...침투 프로그램에 많은 양의 정보를 제공할 수 있다"고 강조했다. 컨퍼런스 동안 컴퓨터 침투는 온라인 컴퓨터 시스템에 대한 주요 위협으로 공식적으로 인식되었다.

컴퓨터 침투가 제기하는 위협은 1967년 후반 미국 국방부 (DoD)가 주관한 주요 보고서에서 다음에 설명되었다. 본질적으로 국방부 관리들은 윌리스 웨어에게 NSA, CIA, 국방부, 학계 및 산업계 전문가들로 구성된 태스크 포스를 이끌고 시분할 컴퓨터 시스템의 보안을 공식적으로 평가하도록 요청했다. 1967년 봄 합동 컴퓨터 컨퍼런스에서 발표된 많은 논문을 바탕으로, 태스크 포스는 컴퓨터 침투가 제기하는 시스템 보안 위협을 크게 확인했다. 웨어의 보고서는 처음에는 기밀이었지만, 국내 최고의 컴퓨터 전문가들은 곧 이 연구를 컴퓨터 보안에 대한 결정적인 문서로 인식했다. 찰스 배비지 연구소의 제프리 R. 요스트는 최근 웨어 보고서를 "...당시 보안 컴퓨팅 시스템에 관한 기술적 및 운영적 문제에 대한 가장 중요하고 철저한 연구"라고 설명했다. 실제로 웨어 보고서는 새로운 온라인 시분할 컴퓨터 시스템에 대한 컴퓨터 침투가 제기하는 주요 위협을 재확인했다.

시스템 약점을 더 잘 이해하기 위해 연방 정부와 계약업체들은 곧 타이거 팀으로 알려진 침투자 팀을 조직하여 컴퓨터 침투를 사용하여 시스템 보안을 테스트하기 시작했다. 데보라 러셀과 G. T. 강게미 1세는 1970년대에 "...'타이거 팀'이 컴퓨터 분야에 처음 등장했다. 타이거 팀은 정부 및 산업 후원을 받는 해커 팀으로, 보안 구멍을 발견하고 궁극적으로 패치하기 위해 컴퓨터 시스템의 방어 장치를 무너뜨리려 시도했다"고 말했다.

컴퓨터 보안 역사에 대한 선도적인 학자 도널드 매켄지는 마찬가지로 "랜드는 정부를 대신하여 초기 시분할 시스템에 대한 침투 연구 (컴퓨터 보안 제어를 회피하는 실험)를 수행했다"고 지적한다. 찰스 배비지 연구소의 제프리 R. 요스트도 컴퓨터 보안 역사에 대한 자신의 연구에서 랜드 연구소와 SDC 모두 "취약점을 테스트하기 위해 시분할 시스템에 침투하려는 최초의 '침투 연구'에 참여했다"고 인정한다. 사실상 이 모든 초기 연구에서 타이거 팀은 모든 대상 컴퓨터 시스템에 성공적으로 침투했는데, 이는 당시 미국의 시분할 시스템이 방어력이 약했기 때문이다.

초기 타이거 팀의 활동 중 랜드 연구소의 노력은 시스템 보안 평가 도구로서 침투의 유용성을 보여주었다. 당시 한 랜드 분석가는 테스트가 "...구현된 데이터 보안 보호 장치의 효과성과 적절성을 평가하는 도구로서 시스템 침투의 실용성을 입증했다"고 언급했다. 또한 여러 랜드 분석가들은 침투 테스트 연습이 지속적인 사용을 정당화하는 여러 이점을 제공한다고 주장했다. 그들은 한 논문에서 "침투자는 운영 체제 약점과 불완전성을 찾는 과정에서 악마적인 사고방식을 개발하는 것 같으며, 이는 모방하기 어렵다"고 지적했다. 이러한 이유 등으로 랜드의 많은 분석가들은 시스템 보안 평가에서의 유용성을 위해 침투 기술에 대한 지속적인 연구를 권장했다.

이러한 형성기 동안 선도적인 컴퓨터 침투 전문가는 아마도 NSA, 랜드 및 기타 정부 기관과 협력하여 시스템 보안을 연구했던 제임스 P. 앤더슨이었을 것이다. 1971년 초, 미 공군은 앤더슨의 개인 회사와 계약하여 펜타곤의 시분할 시스템 보안을 연구했다. 그의 연구에서 앤더슨은 컴퓨터 침투와 관련된 여러 주요 요소를 설명했다. 앤더슨은 일반적인 공격 순서를 단계별로 설명했다:

# 악용 가능한 취약점 찾기.
# 이를 중심으로 공격 설계.
# 공격 테스트.
# 사용 중인 회선 장악.
# 공격 진입.
# 정보 회수를 위한 진입 악용.

시간이 지나면서 앤더슨의 일반적인 컴퓨터 침투 단계 설명은 시분할 컴퓨터 시스템 보안을 평가하기 위해 이 기술에 의존했던 많은 다른 보안 전문가들을 안내하는 데 도움이 되었다.

다음 해에 보안 평가 도구로서의 컴퓨터 침투는 더욱 정교해지고 세련되어졌다. 1980년대 초, 언론인 윌리엄 브로드는 시스템 보안 평가를 위한 타이거 팀의 지속적인 노력을 간략하게 요약했다. 브로드가 보도했듯이, 윌리스 웨어의 국방부 후원 보고서는 "...스파이가 어떻게 컴퓨터에 적극적으로 침투하고, 전자 파일을 훔치거나 복사하며, 일급 비밀 정보를 일반적으로 보호하는 장치를 전복시킬 수 있는지 보여주었다. 이 연구는 정부를 위해 일하는 엘리트 컴퓨터 과학자 그룹이 민감한 컴퓨터에 침입하려고 시도하는 10년 이상의 조용한 활동을 촉발시켰다. 그들은 모든 시도에서 성공했다."

이러한 다양한 연구들이 미국의 컴퓨터 보안이 여전히 주요 문제임을 시사했을 수 있지만, 학자 에드워드 헌트는 최근 보안 도구로서 컴퓨터 침투에 대한 광범위한 연구에 대해 더 넓은 관점을 제시했다. 헌트는 최근 모의 침투 테스트 역사에 대한 논문에서 국방 기관이 궁극적으로 "...현대 사이버 전쟁에 사용되는 많은 도구를 만들었다"고 제안하며, 컴퓨터 침투자가 대상 시스템을 해킹할 수 있는 여러 방법을 신중하게 정의하고 연구했기 때문이라고 밝혔다.

## 도구

무료, 자유 소프트웨어, 상용 소프트웨어를 포함하여 모의 침투 테스트를 지원하는 광범위한 보안 평가 도구가 있다.

### 결함 가설 방법론
결함 가설 방법론은 시스템 분석 및 침투 예측 기술로, 소프트웨어 시스템의 에 대한 가설 목록이 시스템의 사양 및 문서 분석을 통해 작성된다. 가설 결함 목록은 결함이 실제로 존재할 가능성과 제어 또는 침해 정도까지 악용될 용이성을 기준으로 우선순위가 정해진다. 우선순위가 정해진 목록은 시스템의 실제 테스트를 지시하는 데 사용된다.

### 특수 OS 배포판

몇몇 운영 체제 배포판은 모의 침투 테스트에 중점을 둔다. 이러한 배포판은 일반적으로 사전 패키징되고 사전 구성된 도구 세트를 포함한다. 모의 침투 테스터는 각 개별 도구를 찾아다닐 필요가 없으며, 이는 컴파일 오류, 종속성 문제, 구성 오류와 같은 복잡성 위험을 줄일 수 있다. 또한, 추가 도구를 확보하는 것이 테스터의 맥락에서 실용적이지 않을 수 있다.

주목할 만한 모의 침투 테스트 OS 예시:

* 아치 리눅스 기반 블랙아치
* 우분투 기반 백박스
* 데비안 기반 칼리 리눅스 (백트랙 2012년 12월 교체)
* 데비안 기반 패럿 시큐리티 OS
* 젠투 기반 펜투
* 슬랙웨어 기반 WHAX

다른 많은 특수 운영 체제들이 모의 침투 테스트를 용이하게 하는데, 각 OS는 특정 모의 침투 테스트 분야에 다소 전념한다. 많은 리눅스 배포판은 알려진 OS 및 애플리케이션 취약점을 포함하며, 연습 대상 시스템으로 배포될 수 있다. 이러한 시스템은 새로운 보안 전문가들이 실험실 환경에서 최신 보안 도구를 시도하는 데 도움이 된다. 예시로는 Damn Vulnerable Linux (DVL), OWASP Web Testing Environment (WTW), Metasploitable이 있다.

### 소프트웨어 프레임워크

* 백박스
* Hping
* 메타스플로이트 프로젝트
* 네서스
* Nmap
* OWASP ZAP
* SAINT (소프트웨어)
* w3af
* Burp Suite
* 와이어샤크
* 존 더 리퍼
* Hashcat

### 하드웨어 도구
모의 침투 테스트를 위해 특별히 설계된 하드웨어 도구도 있다. 그러나 모의 침투 테스트에 사용되는 모든 하드웨어 도구가 이 작업을 위해 특별히 제작된 것은 아니다. 측정 및 디버깅 장비와 같은 일부 장치는 고급 기능과 다양한 기능으로 인해 모의 침투 테스트용으로 용도가 변경되기도 한다.

* Proxmark3 — RFID (무선 주파수 식별) 보안 분석을 위한 다목적 하드웨어 도구.

* BadUSB — USB 장치의 취약점을 악용하여 악성 키스트로크 또는 페이로드를 주입하는 도구 세트.
* 플리퍼 제로 — Sub-GHz, RFID, NFC, 적외선 및 블루투스와 같은 무선 프로토콜을 모의 침투 테스트하는 휴대용 오픈 소스 다기능 장치.
* 라즈베리 파이 — 네트워크 정찰 및 악용과 같은 작업에 모의 침투 테스트에서 일반적으로 사용되는 소형의 다목적 단일 보드 컴퓨터.
* SDR (소프트웨어 정의 라디오)— 신호 가로채기, 에뮬레이션, 디코딩 및 전송을 포함하여 무선 통신 및 프로토콜을 분석하고 공격하는 다목적 도구.
* ChipWhisperer — 전력 소비 또는 전자기 방출을 통해 암호화 구현 및 취약점을 분석할 수 있는 사이드 채널 공격을 위한 특수 하드웨어 도구.

## 모의 침투 테스트 단계

모의 침투 테스트 과정은 다음 7가지 단계로 단순화할 수 있다:

# 정찰: 대상 시스템에 대한 중요한 정보를 수집하는 행위. 이 정보는 대상을 더 효과적으로 공격하는 데 사용될 수 있다. 예를 들어, 오픈 소스 검색 엔진을 사용하여 사회 공학 공격에 사용될 수 있는 데이터를 찾을 수 있다.
# 스캐닝: 기술 도구를 사용하여 시스템에 대한 공격자의 지식을 심화한다. 예를 들어, Nmap을 사용하여 열린 포트를 스캔할 수 있다.
# 접근 권한 획득: 정찰 및 스캐닝 단계에서 수집된 데이터를 사용하여 공격자는 페이로드를 사용하여 대상 시스템을 악용할 수 있다. 예를 들어, 메타스플로이트를 사용하여 알려진 취약점에 대한 공격을 자동화할 수 있다. 공격자가 한 취약점을 악용한 후 다른 기기에 접근할 수 있으므로 프로세스가 반복된다. 즉, 새로운 취약점을 찾아 악용하려고 시도한다. 이 프로세스를 피벗팅이라고 한다.
# 접근 유지: 접근 유지는 가능한 한 많은 데이터를 수집하기 위해 대상 환경 내에서 지속적으로 유지할 수 있도록 하는 단계를 포함한다.
# 흔적 제거: 공격자는 익명을 유지하기 위해 피해 시스템 침해, 수집된 모든 유형의 데이터, 로그 이벤트의 모든 흔적을 제거해야 한다.
# 보고: 취약점은 위험 매트릭스를 통해 분류되고, 요약 보고서, 취약점 설명, 그리고 완화를 위한 권장 사항을 포함하는 보고서에 문서화된다.
# 완화 및 재테스트: 대상 조직이 모의 침투 테스트 보고서를 평가하고 내부 위험 허용 범위에 따라 항목을 완화하면, 해당 취약점에 대한 재테스트가 수행되어 완화가 성공했는지 확인하고, 결과를 보여주는 간략한 재테스트 보고서가 제공된다.

### 취약점
테스터가 불법 작업을 실행하도록 허용하는 합법적인 작업에는 이스케이프되지 않은 SQL 명령, 소스 가시 프로젝트의 변경되지 않은 해시된 암호, 사람 간의 관계, 오래된 해싱 또는 암호화 함수가 포함된다. 단일 결함만으로는 치명적인 악용을 가능하게 하기에 충분하지 않을 수 있다. 여러 알려진 결함을 활용하고 페이로드를 유효한 작업처럼 보이도록 구성하는 것이 거의 항상 필요하다. Metasploit은 일반적인 작업을 위한 루비 라이브러리를 제공하며, 알려진 악용 데이터베이스를 유지 관리한다.

예산 및 시간 제약 하에서 작업할 때 퍼징은 취약점을 발견하는 일반적인 기술이다. 이는 무작위 입력을 통해 처리되지 않은 오류를 얻는 것을 목표로 한다. 테스터는 무작위 입력을 사용하여 덜 자주 사용되는 코드 경로에 접근한다. 잘 알려진 코드 경로는 일반적으로 오류가 없다. 오류는 HTTP 서버 충돌과 같은 전체 정보 추적과 함께 더 많은 정보를 노출하거나, 버퍼 오버플로와 같이 직접 사용 가능한 경우에 유용하다.

웹사이트에 100개의 텍스트 입력 상자가 있다고 가정해 보자. 몇몇은 특정 문자열에서 SQL 삽입에 취약하다. 해당 상자에 무작위 문자열을 잠시 동안 제출하면 버그가 있는 코드 경로에 도달할 수 있다. 오류는 SQL 오류로 인해 절반만 렌더링된 손상된 HTML 페이지로 나타난다. 이 경우 텍스트 상자만 입력 스트림으로 처리된다. 그러나 소프트웨어 시스템에는 쿠키 및 세션 데이터, 업로드된 파일 스트림, RPC 채널 또는 메모리와 같은 많은 가능한 입력 스트림이 있다. 오류는 이러한 입력 스트림 중 어느 곳에서든 발생할 수 있다. 테스트 목표는 먼저 처리되지 않은 오류를 얻은 다음 실패한 테스트 케이스를 기반으로 결함을 이해하는 것이다. 테스터는 결함에 대한 이해가 올바르게 될 때까지 자동화된 도구를 작성하여 테스트한다. 그 후, 대상 시스템이 실행을 트리거하도록 페이로드를 패키징하는 방법이 명확해질 수 있다. 이것이 실현 가능하지 않다면, 퍼저가 생성하는 다른 오류가 더 많은 결실을 맺기를 바랄 수 있다. 퍼저를 사용하면 악용이 발생할 가능성이 낮은 적절한 코드 경로를 확인하지 않아 시간을 절약할 수 있다.

### 페이로드

불법 작업 또는 Metasploit 용어의 페이로드는 키스트로크 로깅, 스크린샷 촬영, 애드웨어 설치, 자격 증명 탈취, 셸코드를 사용한 백도어 생성 또는 데이터 변경 기능을 포함할 수 있다. 일부 회사는 알려진 악용의 대규모 데이터베이스를 유지 관리하고 대상 시스템의 취약점을 자동으로 테스트하는 제품을 제공한다:

* 메타스플로이트
* 네서스
* Nmap
* OpenVAS
* W3af

## 표준화된 정부 모의 침투 테스트 서비스

연방 조달청 (GSA)은 잠재적 취약점을 신속하게 해결하고, 미국 연방, 주 및 지방 정부에 영향을 미치기 전에 적대자를 저지하기 위한 사전 검증된 지원 서비스로서 "모의 침투 테스트" 서비스를 표준화했다. 이러한 서비스는 일반적으로 고도 적응형 사이버 보안 서비스 (HACS)라고 불리며 미국 GSA Advantage 웹사이트에 등록되어 있다.

이러한 노력은 이러한 고급 침투 서비스를 제공하기 위해 기술적으로 검토되고 검증된 주요 서비스 제공업체를 식별했다. 이 GSA 서비스는 이러한 서비스의 신속한 주문 및 배포를 개선하고, 미국 정부 계약 중복을 줄이며, 미국 인프라를 보다 시기적절하고 효율적인 방식으로 보호하고 지원하기 위한 것이다.

132-45A 모의 침투 테스트는 서비스 평가자가 실제 공격을 모방하여 애플리케이션, 시스템 또는 네트워크의 보안 기능을 우회하는 방법을 식별하는 보안 테스트이다. HACS 모의 침투 테스트 서비스는 일반적으로 자산과 데이터를 보호하기 위해 사용되는 조직의 예방 및 탐지 보안 조치의 효과를 전략적으로 테스트한다. 이 서비스의 일환으로, 공인 윤리적 해커는 일반적으로 환경 내 시스템, 시스템, 애플리케이션 또는 다른 대상에 대한 시뮬레이션된 공격을 수행하여 보안 약점을 찾는다. 테스트 후, 그들은 일반적으로 취약점을 문서화하고 어떤 방어 수단이 효과적인지, 어떤 것이 무력화되거나 악용될 수 있는지를 설명한다.

영국에서는 모의 침투 테스트 서비스가 국립사이버안보센터와 협력하는 전문 기관을 통해 표준화된다.

모의 침투 테스트의 결과는 사용된 표준 및 방법론에 따라 다르다. 다섯 가지 모의 침투 테스트 표준이 있다: 오픈 소스 보안 테스트 방법론 매뉴얼 (OSSTMM), 오픈 웹 애플리케이션 보안 프로젝트 (OWASP), 미국 국립표준기술연구소 (NIST00), 정보 시스템 보안 평가 프레임워크 (ISSAF), 및 모의 침투 테스트 방법론 및 표준 (PTES).

## 같이 보기
* IT 위험
* 타이거 팀
* 화이트햇
* 메타스플로이트
* 데비안
* 보안 평가 도구 목록

## 일반 참고 자료
* 모의 침투 테스트의 최종 가이드

## 각주

분류:소프트웨어 테스트
분류:네트워크 보안