책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/vulnerability-management
요약
보안 취약점 관리자로서 회사 업무에 필요한 취약점 관리 기술과 용어를 정리하고, 각자의 필요에 맞게 취약점 관리 프레임워크를 구축할 수 있는 설치 방법, 실행 옵션, 예제 코드를 실습을 통해 꼼꼼히 살펴본다. 이 책의 목표는 실무자가 이 책의 코드를 따라하고 습득하면서 보안 취약점 관리의 모든 과정을 자동화할 수 있는 자신만의 취약점 관리 프레임워크를 만들어 업무에 활용하는 것이다.
이 책에서 다루는 내용
◆ 정확하고 활용 가능한 취약점 정보 생성 방법
◆ 네트워크 시스템 스캔으로 버그와 취약점을 알아내고 평가하는 방법
◆ 다양한 보안 리스크의 우선순위를 정하고 대응하는 방법
◆ 스캔, 데이터 분석, 보고서 작성, 기타 반복적인 작업 자동화 방법
◆ 필요에 맞게 제공된 스크립트를 수정하는 방법
이 책의 대상 독자
소규모 예산으로 자신이 속한 기업을 보호하고, 상업적으로 판매되는 취약점 관리 툴의 기능을 업무에 활용하고자 하는 보안 전문가를 위한 책이다. 절차로서의 취약점 관리에 익숙한 독자라면 쉽게 이해할 수 있을 것이다. 자신만의 취약점 관리 시스템을 만들려면 리눅스와 데이터베이스 개념에 익숙해야 하고 파이썬 같은 프로그래밍 언어에 경험이 있어야 한다. 이 책에 등장하는 스크립트는 파이썬으로 작성돼 있지만 자신이 선호하는 현대적인 스크립트 언어나 프로그래밍 언어를 사용해 기능적으로 동일하게 다시 작성해도 된다.
이 책의 구성
1장부터 15장까지 이론적인 내용부터 실무 안내까지 자연스럽게 흐름을 따라 읽는 방법도 있지만 경험이 많은 전문가라면 바로 관심 있는 특정 주제를 읽어도 좋다. 비슷하게 스크립트 역시 하나에서 다음 것으로 자연스럽게 살을 붙이며 만들어 간다. 그렇지만 각자 일하고 있는 환경에 어떤 툴과 절차가 이미 갖춰져 있는지에 따라 그때그때 단편적인 방식으로 적용해도 무방하다.
각 장을 요약하면 다음과 같다.
1장, ‘기본 개념’에서는 취약점 관리의 기본적인 개념과 리스크 관리로 연관되는 방식을 소개한다.
2장, ‘정보 수집’에서는 취약점 관리 절차를 진행하기 위해 수집해야 할 데이터의 다양한 형태를 살펴본다.
3장, ‘취약점 스캐너’에서는 취약점을 발견하고자 네트워크에 있는 시스템을 스캔하는 절차를 알아본다.
4장, ‘취약점 관리 자동화’에서는 데이터를 모으고 모은 데이터를 분석하는 자동화 시스템을 만드는 방법을 설명한다.
5장, ‘취약점 처리 방법’에서는 수집한 취약점 정보에 대해 무엇을 할지 설명한다. 패치를 적용하거나 완화 조치를 취하거나 리스크를 수용하는 방법이 있다.
6장, ‘조직 내 지원과 사내 정치’에서는 조직 내에서 취약점 관리를 관철시키는 방법에 대한 정보를 제공한다.
7장, ‘환경 구성’에서는 기반이 되는 OS를 갖추고, 필요한 패키지를 설치하고, 모든 것을 최신으로 유지해주는 스크립트를 작성하는 방법을 설명한다.
8장, ‘데이터 수집 툴의 사용법’에서는 엔맵, cve-서치, 오픈VAS, 메타스플로잇을 사용하는 방법을 알아본다.
9장, ‘자산 데이터베이스와 취약점 데이터베이스 생성’에서는 스캔 결과를 데이터베이스로 가져오는 방법을 보여준다.
10장, ‘데이터베이스 유지 관리’에서는 키를 추가하고 오래된 데이터를 삭제 처리하는 내용을 다룬다.
11장, ‘자산 보고서와 취약점 보고서 만들기’에서는 자산과 취약점에 대해 기본적인 CSV 보고서를 생성하는 방법을 깊이 파고들어 본다.
12장, ‘스캔과 보고서 작성 자동화’에서는 엔맵과 오픈VAS 스캔을 자동화하고 주기적으로 보고서를 생성하는 스크립트 작성법을 설명한다.
13장, ‘보고서 작성 고급화’에서는 HTML을 사용해 수준 높은 보고서를 만들어본다.
14장, ‘고급 주제’에서는 API를 만들고 공격 자동화를 알아본 후 클라우드도 살펴본다.
15장, ‘마무리’에서는 향후 보안 트렌드에 대한 정보를 알아보고 그런 트렌드가 우리 취약점 관리 절차를 어떻게 바꿔놓을 것인지 살펴보면서 책을 끝낸다.
목차
목차
- 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 실행
- 기능 변경과 확장
- 취약점 공격 자동화
- 장점과 단점
- 메타스플로잇 자동화
- 시스템을 클라우드로 이식
- 클라우드 아키텍처
- 클라우드와 네트워크 영역
- 구현할 때 다른 고려 사항
- 요약
- 간단한 REST API 작성
- 15장. 마무리
- 되돌아보기
- 설계와 구현
- 시스템 유지 보수
- 상용 취약점 관리 제품
- 상용 스캐너
- 상용 취약점 관리 시스템
- 선택해 볼 만한 상용 제품 목록
- 정보 보호의 향후 트렌드
- 클라우드와 컨테이너 다시 보기
- 되돌아보기