책소개
보안 취약점 관리자로서 회사 업무에 필요한 취약점 관리 기술과 용어를 정리하고, 각자의 필요에 맞게 취약점 관리 프레임워크를 구축할 수 있는 설치 방법, 실행 옵션, 예제 코드를 실습을 통해 꼼꼼히 살펴본다. 이 책의 목표는 실무자가 이 책의 코드를 따라하고 습득하면서 보안 취약점 관리의 모든 과정을 자동화할 수 있는 자신만의 취약점 관리 프레임워크를 만들어 업무에 활용하는 것이다.
목차
1부. 취약점 관리의 기초
1장. 기본 개념
__CIA 3 요소와 취약점
__취약점 관리란
____데이터 수집
____데이터 분석
____현실에 존재하는 예제에 선별-서열화 적용
____권고안 작성
____권고안 이행
__취약점 관리와 리스크 관리
__요약
2장. 정보 수집
__자산 정보
__취약점 정보
__공격 데이터
__추가 데이터 자료 출처
__요약
3장. 취약점 스캐너
__취약점 스캐너가 하는 작업
__취약점 스캐너의 동작 방식
__취약점 스캐너 설치 방법
____스캐너가 접근할 수 있게 구성
____OS와 하드웨어 선택
____스캐너 설정
__결과물의 형태
__요약
4장. 취약점 관리 자동화
__자동화 절차의 이해
__데이터 수집
__스캔과 업데이트 자동화
__자신의 시스템 취약점 공격
__요약
5장. 취약점 처리 방법
__보안 조치
____패치
____완화 조치
____전반적 조치
____위험 수용
____심층 방어
____통제 수단 검증
__요약
6장. 조직 내 지원과 사내 정치
__우선순위 대립 시 균형 잡기
__조직의 지원을 구하는 방법
____타인의 입장에 공감하자
____담당자는 초기부터 관여시키자
____사내 정치를 이해하자
____듣는 사람의 언어로 말하자
____귀 기울여주는 임원을 찾자
____위험 관리를 위한 변론을 하자
__요약
2부. 취약점 관리 실습
7장. 환경 구성
__시스템 설치
____운영체제와 패키지 설치
____기능 변경과 확장
__툴 설치
____오픈VAS 설치
____cve-서치 설치
____메타스플로잇 설치
____기능 변경과 확장
__시스템 업데이트 유지 방법
____자동 업데이트 스크립트 작성
____스크립트 자동 실행
____기능 변경과 확장
__요약
8장. 데이터 수집 툴의 사용법
__툴 소개
____엔맵
____오픈VAS
____cve-서치
__엔맵 스캐닝 기초
____기본적인 스캔 실행
____엔맵 플래그 사용법
____기능 변경과 확장
__오픈VAS 기초
____웹 GUI를 이용한 기본적인 오픈VAS 스캔 실행
____커맨드라인에서 기본적인 스캔 실행
____기능 변경과 확장
__cve-서치 기초
____CVE ID 검색
____CVE에 대해 더 많은 정보 알아내기
____CVE 데이터베이스의 텍스트 검색
____기능 변경과 확장
__요약
9장. 자산 데이터베이스와 취약점 데이터베이스 생성
__데이터베이스 준비
__데이터베이스 구조의 이해
____기능 변경과 확장
__엔맵 결과를 데이터베이스에 추가
____전제 조건 정의
____스크립트 작성
____기능 변경과 확장
__오픈VAS 결과를 데이터베이스에 추가
____전제 조건 정의
____취약점을 호스트에 매핑
____스크립트 작성
____기능 변경과 확장
__요약
10장. 데이터베이스 유지 관리
__데이터베이스 인덱스 정의
____인덱스 설정
____인덱스 테스트
____기능 변경과 확장
__최신 데이터 유지
____정리 기준 결정
____파이썬으로 데이터베이스 정리
____기능 변경과 확장
__요약
11장. 자산 보고서와 취약점 보고서 만들기
__자산 보고서
____보고서 기획
____데이터 가져오기
____스크립트 분석
____기능 변경과 확장
__취약점 보고서
____보고서 기획
____데이터 가져오기
____스크립트 분석
____기능 변경과 확장
__요약
12장. 스캔과 보고서 작성 자동화
__자동화 절차 시각화
____데이터 수집
____데이터 분석
____데이터베이스 유지 보수
__스크립트 기획
__스크립트 조립
____엔맵과 오픈VAS 실행
____스크립트를 일정으로 실행
____스크립트 분석
____기능 변경과 확장
__요약
13장. 보고서 작성 고급화
__자산 상세 보고서
____스크립트 기획
____스크립트 분석
____기능 변경과 확장
__취약점 상세 보고서
____스크립트 기획
____스크립트 분석
____기능 변경과 확장
__공격 가능한 취약점 보고서
____준비
____이전 스크립트 수정
____기능 변경과 확장
__요약
14장. 고급 주제
__간단한 REST API 작성
____API와 REST 소개
____API 구조 설계
____API 구현
____API 실행
____기능 변경과 확장
__취약점 공격 자동화
____장점과 단점
____메타스플로잇 자동화
__시스템을 클라우드로 이식
____클라우드 아키텍처
____클라우드와 네트워크 영역
____구현할 때 다른 고려 사항
__요약
15장. 마무리
__되돌아보기
____설계와 구현
____시스템 유지 보수
__상용 취약점 관리 제품
____상용 스캐너
____상용 취약점 관리 시스템
____선택해 볼 만한 상용 제품 목록
__정보 보호의 향후 트렌드
____클라우드와 컨테이너 다시 보기
____제로 트러스트 네트워크
작가
앤드류 매그너슨
출판사리뷰
◈ 이 책에서 다루는 내용 ◈
◆ 정확하고 활용 가능한 취약점 정보 생성 방법
◆ 네트워크 시스템 스캔으로 버그와 취약점을 알아내고 평가하는 방법
◆ 다양한 보안 리스크의 우선순위를 정하고 대응하는 방법
◆ 스캔, 데이터 분석, 보고서 작성, 기타 반복적인 작업 자동화 방법
◆ 필요에 맞게 제공된 스크립트를 수정하는 방법
◈ 이 책의 대상 독자 ◈
소규모 예산으로 자신이 속한 기업을 보호하고, 상업적으로 판매되는 취약점 관리 툴의 기능을 업무에 활용하고자 하는 보안 전문가를 위한 책이다. 절차로서의 취약점 관리에 익숙한 독자라면 쉽게 이해할 수 있을 것이다. 자신만의 취약점 관리 시스템을 만들려면 리눅스와 데이터베이스 개념에 익숙해야 하고 파이썬 같은 프로그래밍 언어에 경험이 있어야 한다. 이 책에 등장하는 스크립트는 파이썬으로 작성돼 있지만 자신이 선호하는 현대적인 스크립트 언어나 프로그래밍 언어를 사용해 기능적으로 동일하게 다시 작성해도 된다.
◈ 이 책의 구성 ◈
1장부터 15장까지 이론적인 내용부터 실무 안내까지 자연스럽게 흐름을 따라 읽는 방법도 있지만 경험이 많은 전문가라면 바로 관심 있는 특정 주제를 읽어도 좋다. 비슷하게 스크립트 역시 하나에서 다음 것으로 자연스럽게 살을 붙이며 만들어 간다. 그렇지만 각자 일하고 있는 환경에 어떤 툴과 절차가 이미 갖춰져 있는지에 따라 그때그때 단편적인 방식으로 적용해도 무방하다.
각 장을 요약하면 다음과 같다.
1장, ‘기본 개념’에서는 취약점 관리의 기본적인 개념과 리스크 관리로 연관되는 방식을 소개한다.
2장, ‘정보 수집’에서는 취약점 관리 절차를 진행하기 위해 수집해야 할 데이터의 다양한 형태를 살펴본다.
3장, ‘취약점 스캐너’에서는 취약점을 발견하고자 네트워크에 있는 시스템을 스캔하는 절차를 알아본다.
4장, ‘취약점 관리 자동화’에서는 데이터를 모으고 모은 데이터를 분석하는 자동화 시스템을 만드는 방법을 설명한다.
5장, ‘취약점 처리 방법’에서는 수집한 취약점 정보에 대해 무엇을 할지 설명한다. 패치를 적용하거나 완화 조치를 취하거나 리스크를 수용하는 방법이 있다.
6장, ‘조직 내 지원과 사내 정치’에서는 조직 내에서 취약점 관리를 관철시키는 방법에 대한 정보를 제공한다.
7장, ‘환경 구성’에서는 기반이 되는 OS를 갖추고, 필요한 패키지를 설치하고, 모든 것을 최신으로 유지해주는 스크립트를 작성하는 방법을 설명한다.
8장, ‘데이터 수집 툴의 사용법’에서는 엔맵, cve-서치, 오픈VAS, 메타스플로잇을 사용하는 방법을 알아본다.
9장, ‘자산 데이터베이스와 취약점 데이터베이스 생성’에서는 스캔 결과를 데이터베이스로 가져오는 방법을 보여준다.
10장, ‘데이터베이스 유지 관리’에서는 키를 추가하고 오래된 데이터를 삭제 처리하는 내용을 다룬다.
11장, ‘자산 보고서와 취약점 보고서 만들기’에서는 자산과 취약점에 대해 기본적인 CSV 보고서를 생성하는 방법을 깊이 파고들어 본다.
12장, ‘스캔과 보고서 작성 자동화’에서는 엔맵과 오픈VAS 스캔을 자동화하고 주기적으로 보고서를 생성하는 스크립트 작성법을 설명한다.
13장, ‘보고서 작성 고급화’에서는 HTML을 사용해 수준 높은 보고서를 만들어본다.
14장, ‘고급 주제’에서는 API를 만들고 공격 자동화를 알아본 후 클라우드도 살펴본다.
15장, ‘마무리’에서는 향후 보안 트렌드에 대한 정보를 알아보고 그런 트렌드가 우리 취약점 관리 절차를 어떻게 바꿔놓을 것인지 살펴보면서 책을 끝낸다.
◈ 옮긴이의 말 ◈
IT 분야에서 유능한 인재가 되려면 얼마나 많은 것을 알고 있었는지도 중요하지만 새로운 知識이나 기술을 얼마나 잘 흡수하고 이해하는지도 아주 중요하다. 업무를 통해 제품과 서비스, 기술을 익히는 속도보다 처음 접하는 용어와 신기술이 쏟아지는 속도가 훨씬 더 빠르다는 것에 스트레스를 느끼는 사람도 많다. 보안 취약점 대응 업무를 하는 분석가는 거의 모든 IT 기술을 알아야 할 정도로 습득해야 할 분야가 다양하다. 이 책에서 소개하는 방법을 따라 하면 분석가는 보안 취약점 관리 업무를 코드로 최대한 자동화해 처리할 수 있고 더 많은 시간을 전문 知識 습득과 업무에 활용할 수 있을 것이다. 반복되는 업무를 최대한 코드로 해결하고 데이터베이스에 깔끔하게 쌓는 일에 관심이 많은 나같은 사람에게 큰 되리라 믿는다.
이 책은 먼저 가벼운 마음으로 1부의 이론적인 내용을 훑어본 다음, 2부에서 본격적으로 등장하는 툴과 코드를 사용해 자신만의 취약점 관리 프레임워크를 구축하는 실습으로 구성돼 있다. 컴퓨터 앞에 앉아 책에 나오는 코드를 한 줄씩 이해하며, 마음껏 변경하고 실행 결과를 살펴보다 보면 여러 가지 취약점 관련 툴의 활용법을 체득할 수 있을 것이다. 각 툴의 장단점과 한계를 알게 되면 자신에게 잘 맞는 툴을 넣고 빼어 각자의 업무에 더 적합한 프레임워크를 구성해 회사에서 실전에 활용할 수 있기를 바란다. 이 책은 독특하게 각종 툴의 활용 방법과 예제 코드 안내에 그치지 않고 보안 취약점 전문가로서 다른 IT 실무자들의 원활한 협력을 얻어내는 방법까지도 소개하고 있는데, 6장에서 그 내용을 확인할 수 있다.