이미 소장하고 있다면 판매해 보세요.
|
지은이 · 감수자 · 옮긴이 소개 ix
옮긴이 머리말 xi 베타리더 후기 xii 감사의 글 xiv 이 책에 대하여 xv CHAPTER 1 사이버 전쟁의 적대적 활동 및 원칙에 관한 이론 1 1.1 적대적 이론 4 __1.1.1 CIAAAN 5 __1.1.2 게임이론 6 1.2 사이버 전쟁의 원칙 8 __1.2.1 공격 vs 방어 10 __1.2.2 속임수의 원칙 18 __1.2.3 물리적 접근의 원칙 20 __1.2.4 인간성의 원칙 22 __1.2.5 경제의 원칙 23 __1.2.6 계획의 원칙 25 __1.2.7 혁신의 원칙 27 __1.2.8 시간의 원칙 28 요약 31 참고 문헌 32 CHAPTER 2 전투 준비 35 2.1 필수 고려 사항 38 __2.1.1 커뮤니케이션 38 __2.1.2 장기 계획 40 __2.1.3 전문성 41 __2.1.4 작전 계획 43 2.2 방어 관점 46 __2.2.1 시그널 수집 48 __2.2.2 데이터 관리 53 __2.2.3 분석 도구 59 __2.2.4 방어팀 KPI 62 2.3 공격 관점 63 __2.3.1 스캐닝 및 익스플로잇 64 __2.3.2 페이로드 개발 67 __2.3.3 보조 도구 69 __2.3.4 공격팀 KPI 70 요약 71 참고 문헌 72 CHAPTER 3 보이지 않는 것이 최선이다(인메모리 작업) 77 3.1 우위 확보 80 3.2 공격 관점 82 __3.2.1 프로세스 인젝션 83 __3.2.2 인메모리 작업 87 3.3 방어 관점 94 __3.3.1 프로세스 인젝션 탐지 94 __3.3.2 공격 기법 대응 98 __3.3.3 잠입 공격 방어 100 요약 101 참고 문헌 102 CHAPTER 4 위장 105 4.1 공격 관점 109 __4.1.1 지속형 공격 옵션 109 __4.1.2 명령 및 제어 채널 은닉 114 __4.1.3 공격 기법 연동 119 4.2 방어 관점 122 __4.2.1 C2 탐지 122 __4.2.2 지속성 탐지 128 __4.2.3 허니 트릭 131 요약 134 참고 문헌 134 CHAPTER 5 능동적인 속임수 137 5.1 공격 관점 139 __5.1.1 로그 삭제 140 __5.1.2 하이브리드 접근 143 __5.1.3 루트킷 145 5.2 방어 관점 146 __5.2.1 데이터 무결성 및 검증 147 __5.2.2 루트킷 탐지 148 __5.2.3 공격자 방해 150 __5.2.4 공격자 주의 분산 152 __5.2.5 공격자 속이기 154 요약 158 참고 문헌 158 CHAPTER 6 실시간 대결 161 6.1 공격 관점 164 __6.1.1 상황 인식 165 __6.1.2 운영 정보 수집 169 __6.1.3 피벗 177 6.2 방어 관점 180 __6.2.1 사용자, 프로세스, 연결 탐색 181 __6.2.2 자격증명 순환 185 __6.2.3 권한 제한 187 __6.2.4 역해킹 191 요약 193 참고 문헌 193 CHAPTER 7 연구 및 조사의 이점 197 7.1 시스템 보안 우회 200 7.2 공격 관점 201 __7.2.1 메모리 오염 분야 201 __7.2.2 목표 조사 및 준비 203 __7.2.3 타깃 익스플로잇 205 __7.2.4 창의적 피벗 206 7.3 방어 관점 209 __7.3.1 도구 익스플로잇 210 __7.3.2 위협 모델링 211 __7.3.3 운영체제 및 애플리케이션 조사 212 __7.3.4 로그 및 자체 데이터 분석 213 __7.3.5 공격자 식별 215 요약 216 참고 문헌 216 CHAPTER 8 위협 제거 219 8.1 공격 관점 222 __8.1.1 탈취 222 __8.1.2 공격 종료 230 8.2 방어 관점 232 __8.2.1 침해사고 대응 232 __8.2.2 복구 작업 235 __8.2.3 침해 대비 237 __8.2.4 결과 공유 238 요약 238 참고 문헌 239 찾아보기 242 |
Dan Borges
최만균의 다른 상품
|
사이버 보안은 매우 복잡한 형태의 비협조적이고 비대칭적인 게임이며 특정 전략이 다른 전략보다 우월할 수 있다. (…) 다른 전략들보다 매우 효과적인 몇몇 전략들도 있다. 예를 들면 사용자 행위 기반의 머신러닝 또는 허니 토큰을 활용해서 LDAP(Lightweight Directory Access Protocol) 열거 동작을 탐지할 수 있다. 효과적인 우월전략을 사용하는 적절한 예시는 Microsoft ATA를 사용하여 액티브 디렉터리(Active Directory)를 열거하는 Bloodhound를 탐지하는 것이다. 계층화된 보안 제어가 합법적으로 강력한 방어를 생성하는 높은 보안 수준을 가진 환경을 본 적이 있지만, 경험상 이러한 환경에서조차도 여전히 취약점과 취약점을 악용하는 이슈는 존재한다.
--- p.7 경쟁 환경의 경우, 스코어보드(scoreboard)에 서비스가 다운된 것으로 표시되면, 방어팀은 네트워크 모니터를 사용하여 네트워크의 라우팅 문제인지 또는 침해가 발생한 호스트의 엔드포인트 문제인지를 신속하게 파악할 수 있다. 엔드포인트 탐지는 건초더미에서 바늘을 찾는 것과 같을 수 있지만, 네트워크 모니터링은 고속도로의 통행량을 감시하는 것과 비슷하다. (…) 물리적 접근의 원칙에 따라, 네트워크 스위치를 사용할 수 있는 경우 SPAN 또는 미러링된 포트에 장치를 연결하여 모니터링 인터페이스에서 트래픽을 수신할 수 있다. 또한, 단일 호스트에서 트래픽을 라우팅하거나 tcpdump와 같은 커맨드라인 도구를 사용해서 네트워크를 모니터링할 수 있다. 아래와 같이 간단한 명령어를 사용해서 특정 인터페이스 eth0의 모든 트래픽을 캡처할 수 있다. --- p.50 프로세스 인젝션 아티팩트를 탐지하기 위한 다양한 도구들이 존재한다. 가장 기본적인 프로세스 인젝션 기법 중 하나인 CreateRemoteThread를 살펴봤으니, 먼저 이와 관련된 몇 가지 간단한 탐지 솔루션에 대해 알아보자. CreateRemoteThread 기법이 작동하는 원칙을 되짚어보면, 먼저 원격 프로세스를 실행(OpenProcess)한 다음, 동적 메모리를 해당 프로세스에 할당(VirtualAllocEx)하고, 해당 프로세스 메모리에 셸코드를 작성(WriteProcessMemory)한다. 그리고 마지막으로 CreateRemoteThread를 호출한다. VirtualAllocEx를 호출하여 프로세스에서 동적 메모리를 할당할 때 MEM_PRIVATE 플래그가 설정된다는 점에 유의해야 한다. --- p.94~95 LOL(Living Off the Land) 바이너리를 뜻하는 LOLbin은 특별히 언급할 가치가 있다. LOLbin은 기본적으로 운영체제와 함께 기본으로 제공되는 기본 유틸리티 또는 실행 파일이며 공격자가 어떤 형태로든 악용할 수 있다. LOL과 관련되어 활용할 수 있는 다양한 범위의 기법들이 존재한다. LOLbin은 거의 모든 운영체제, 특히 윈도우와 리눅스에 존재하지만 OS별로 특화되어 있다. 윈도우 리스트는 LOLBAS에서 관리되며 실행 파일, 스크립트 또는 라이브러리와 같은 파일 유형별로 구성된다. 유닉스 리스트는 GTFOBins†에서 관리되며 기능에 따라 정렬할 수 있으므로 권한 상승 버그를 찾는 데 매우 유용하다. --- p.110 예시로 필자가 선호하는 LKM 루트킷 중에 하나인 Reptile을 중점으로 알아볼 것이다. Reptile은 상당히 기본적인 기능 집합을 갖추고 있으며 디렉터리, 파일, 파일에 포함된 내용, 프로세스 및 네트워크 연결까지 숨길 수 있다. 파일의 내용을 숨기는 것은 설정 파일을 백도어링하거나 웹 셸을 숨기는 데 유용한 기능이다. Reptile과 같은 도구는 다양한 형태의 지속성 및 공격자 유틸리티를 숨기는 데 중요한 역할을 한다. Reptile은 내부적으로 khook 프레임워크와 kmatryoshka 로더를 주로 사용한다. Reptile은 khook 프레임워크를 사용하여 커널에서 후킹 API 를 쉽게 호출한다. 함수 후킹은 프로그램이 API 호출을 가로채고 일반 API 핸들러를 호출하기 전에 자체 함수를 대체하기 위해 널리 사용되는 기법이다. --- p.145 미미카츠(Mimikatz)는 윈도우 메모리에서 패스워드를 획득하는 데 최고의 도구다. 미미카츠는 전통적으로 LSASS 프로세스 메모리에 접근하고 평문 자격증명 또는 토큰을 파싱해서 패스워드를 획득한다. 미미카츠는 그 자체로 한 권의 책이 될 수 있는 강력하고 완전한 기능을 갖춘 윈도우용 툴킷이라 할 수 있다. (…) 리눅스의 경우, 로컬 시스템에서 패스워드를 획득하는 한 가지 방법은 리니카츠(Linikatz)라는 애플리케이션을 사용하는 것이다. 리니카츠는 미미카츠로부터 많은 영감을 받았지만, 몇몇 네트워크에 특화된 애플리케이션을 대상으로 한다. --- p.172 |
|
업계 최고의 공격과 방어 기술로 실시간 사이버 전쟁에 대비하기
미국 최대 규모의 대학생 사이버 방어 대회 NCCDC에 다년간 참가해 레드팀을 이끈 댄 보저스가 사이버 보안의 핵심 원리와 기술을 한 권의 책으로 집대성했다. 책은 먼저 게임이론, CIAAAN 속성, 사이버 전쟁의 7가지 원칙 등 이론적 배경을 설명하며 사이버 보안 세계에서의 ‘전쟁’을 고수준으로 바라볼 수 있게 한다. 이어서 레드팀과 블루팀이 서로 우위를 점하기 위한 ‘전략’이라는 관점에서 양측이 갖춰야 할 기술과 인프라를 자세하게 살펴본다. 팀 구축, 계획, 인프라 등 준비에서 시작해, 프로세스 인젝션, 셸코드, 메타스플로잇 등 인메모리 작업, LOLbin, C2 등 ‘위장’, 백도어, 루트킷 등 ‘속임수’에 이르기까지 레드팀과 블루팀의 기법과 도구를 각각의 입장에서 살펴본다. 후반부는 실시간 상황, 연구/자동화의 이점, 위협 제거 후 상황에 대해 자세히 다룬다. 특히, 숙련된 공격자라도 네트워크 방어자에게 포착되고 실시간으로 추적받게 되면 당황하게 되는데(반대도 마찬가지다), 이러한 실시간 대결 상황에서 상대를 속이기 위해 어떤 전술을 활용할 수 있는지 생생히 익힐 수 있다. 사이버 공격의 킬체인 전반에 걸친 팁과 요령을 제공하는 책으로서, 레드팀이든 블루팀이든 사이버 보안의 핵심을 깊이 이해할 수 있다. 고수준의 이론과 전략뿐 아니라 저수준의 코드와 도구 소개까지 포괄적으로 담겨 있어 더욱 의미 있고, ‘지피지기면 백전불태’라는 오래된 교훈을 디지털 세계에 적용했다는 점도 신선하다. 주요 내용 · 대회 및 실제 운영 환경에서의 라이브 해커에 대한 우위 확보 · 코드 예제를 통한 레드팀 및 블루팀 고급 기법 이해 · 탐지되지 않기(레드팀) 및 공격 트래픽 모니터링(블루팀) 등 단기 전투 방법 |
|
사이버 보안의 공격 대 방어 경쟁을 위한 견고한 전략 프레임워크를 개괄하며, 핵심 원칙을 정의하고 도구 레퍼런스를 통해 전술을 설명한 훌륭한 책이다. 사이버 전쟁 대회에서의 창의적인 공작 가능성에 대해 통찰을 제공하는 책으로, 큰 깨우침을 얻을 수 있었다. - 매슈 로젠퀴스트 (Matthew Rosenquist, Eclipz.io의 CISO, 사이버 보안 전략가)
|
|
풍부한 지식을 제공하며 모든 대학 사이버 보안 과정에서 꼭 읽어야 할 책이다. 저자가 공격과 방어 기법에 대한 사고 과정을 세분화하여 독자가 비판적 사고 능력을 기를 수 있도록 한 점이 특히 인상적이었다 - 켄 언더힐 (Ken Underhill, 사이버 라이프 TV 쇼의 총괄 프로듀서 겸 진행자)
|