책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
2021년 세종도서 학술부문 선정도서 『Splunk를 활용한 시큐리티 모니터링』의 개정판!
Splunk에서 정보보안 로그를 수집/분석하고 내부 침해 행위를 찾아내는 과정을 보여준다. 정보보안 사전 지식을 갖추고, Splunk 검색어를 작성할 수 있는 사용자를 대상으로 서술했지만, 초보자도 책의 내용을 쉽게 따라올 수 있게 작성했다. 특별히 Splunk를 활용해서 정보보안 전용 앱 구축, 정보보안 관련 로그 분석 등 많은 업무를 효율적으로 개선하기 원하는 정보보안 담당자를 위해서 쓰였다. 이번 개정판에서는 내용 및 화면 캡쳐를 최신 버전으로 반영했으며, 책 안의 화면은 모두 한글판으로 통일했다. 또한 Splunk 대시보드 스튜디오를 새롭게 추가해서 대시보드 영역을 보강했다.
추천의 글
최근 다양한 산업 분야의 융합이 활발히 진행됨에 따라, 각 산업 분야에서 독자적으로 사용되고 활용되던 정보의 융합과 활용도 활발히 진행되고 있다. 이러한 산업 환경의 변화에 대응하기 위한 보안 기술도 발전하고 있지만, 이는 사이버 공격의 대상이 다양화되고 확대되는 결과를 가져왔다. 이러한 사이버 공격의 패러다임 변화는 대응하기 위한 보안 기술의 발전과 함께 공격 기법의 다양화, 자동화, 고도화, 융합화되는 순환적인 관계를 형성하게 됐음을 의미한다고 할 수 있다. 이러한 변화에 대응하기 위해서는 변화에 빨리 적응하고 각 산업 분야의 특성에 대한 이해를 바탕으로 그 산업 분야에서 요구하는 보안 기술을 잘 적용할 수 있는 양질의 보안 전문가(security talent) 양성이 우선돼야 할 것이다. 이런 관점에서 이 책은 사이버 공격 패러다임의 변화에 따른 공격 동향을 분석하고 대응하기 위한 실무를 체계적으로 설명하고 있다. 현장에서 사용하는 용어도 자세하게 설명하고 있으며 Splunk 시스템 설치부터 활용까지 경험해볼 수 있도록 상세한 설명과 실습 예제도 수록하고 있다. 오랜만에 전문가의 노하우와 섬세함이 느껴지는 책을 만났다.
Splunk는 다양한 빅데이터 분석 및 SIEM 이벤트를 통한 침해사고 대응, 이상징후 탐지에 활용할 수 있는 훌륭한 시스템이다. 하지만 활용하기에 따라서 분석가에게 최상의 툴이 될 수도 있고, 정보보안 분야에 지식과 노하우가 충분하지 않다면 Splunk는 그저 비싼 대용량 저장장치와 다를 바 없어질 수도 있다. 저자는 KISA와 전 세계 최대 규모의 전자상거래 기업에 장기간 종사하면서 침해사고 대응을 위해 대규모 트래픽 및 공격 이벤트를 분석해온 국내 최고의 전문가로 명성을 날려왔다. 또 현장 경험을 살려 고려대학교 정보보호대학원에서 네트워크 보안과목을 다년간 맡은 훌륭한 교수이기도 하다. 이 책에는 이러한 저자의 경험을 살려 보안관제, 침해사고 대응, 이상징후 탐지 분야에 활용할 수 있는 풍성한 예제가 담겨 있다. 따라서 학생들에게 교과서로도 유용하고, 실무자들에게도 Splunk의 기능을 200% 활용할 수 있는 훌륭한 지침서가 될 것으로 확신하며 이 책을 추천한다.
머신 데이터 플랫폼 Splunk는 보안 및 IT 운영을 비롯한 다양한 분야에서 전 세계 많은 고객의 사랑을 받아왔으나, 정작 한국 사용자를 위해 한국어로 발간된 Splunk 서적은 손에 꼽을 정도로 부족했던 것이 현실이다. 이러한 상황에서, 오랫동안 국내 보안 분야를 이끌어온 저자의 Splunk 활용서 발간은 너무나도 반갑고 감사한 일이다. 이 책은 보안 운영 분야에 Splunk를 적용하려는 이가 아주 쉽게 따라 해볼 수 있도록 단계적으로 잘 정리돼 있다. Splunk 자체는 물론이고, 리눅스, 윈도우 등 엔드포인트 모니터링, Zeek를 통한 네트워크 프로토콜 분석 방법까지 망라하고 있어 Splunk를 활용한 보안운영 고도화에 실질적인 도움을 받을 수 있다. 더불어 각 실습 사이 사이의 설명에 녹아 있는 보안 분야에서의 저자의 오랜 경험과 인사이트는 새롭게 Splunk를 배우려는 보안업무 담당자들이나, 보안을 배우려는 기존 Splunk 엔지니어들에게 더할 나위 없이 좋은 길잡이가 될 것으로 확신한다.
이 책에서 다루는 내용
◆ Splunk 입문자를 위한 기초부터 고급 활용 방안
◆ 기업 보안 담당자에게 필요한 시큐리티 모니터링의 주요 관점
◆ 네트워크, 엔드포인트 계층별 시큐리티 모니터링 기법
◆ 계층별 로그 특성 및 정보보안 관점의 분석 기법
◆ SIEM(Security Information & Event Management)의 개념 및 운영
◆ Splunk를 활용한 SIEM 설계 및 구축
◆ Splunk 대시보드 스튜디오 활용
이 책의 대상 독자
◆ 시큐리티 모니터링을 이해하고 기초를 쌓고 싶은 학생, 직장인
◆ Spunk를 처음 접하거나 관리 지식을 얻고 싶은 학생, 직장인
◆ Splunk를 정보보안 분야에 활용하고 싶은 보안 담당자
◆ Splunk를 활용해서 정보보호 업무를 개선하거나 성과를 얻고자 하는 보안 담당자
◆ Splunk로 자사 전용 앱을 구축하고 실무에 적용하고자 하는 보안 담당자
이 책의 구성
Splunk 활용 방안을 고민하는 사용자나 Splunk를 이용해서 정보보호 업무를 수행하려는 보안 담당자를 위한 내용을 담고 있는 책으로, 총 2부 10장으로 구성됐다. 1부는 Splunk의 기본 사항을 다루고 2부에서는 Splunk를 활용한 실제 SIEM 구축 과정을 설명한다. 각 장의 내용은 다음과 같다.
1장. ‘Splunk 소개’에서는 Splunk 소개와 정보보호 분야의 공격자 동향을 소개한다. 이에 대응하기 위한 방어 모델인 사이버 킬체인과 MITRE ATT&CK을 알아본다.
2장. ‘검색’에서는 Splunk 검색 및 검색 명령을 살펴본다. 매우 방대한 Splunk 검색 명령어에서 보안 장비 로그 검색에 주로 사용하는 명령어 위주로 소개한다.
3장. ‘Splunk 지식 관리’에서는 Splunk 검색 명령어 결과에 의미를 부여하는 Splunk 지식 객체를 설명한다. 설명하는 지식 객체는 이벤트 타입(Event Type), 태그, 룩업(lookup), 워크플로와 검색 매크로다. 이런 지식 객체를 사용해 검색 결과 및 성능을 개선할 수 있다.
4장. ‘보고서와 대시보드’에서는 Splunk의 리포트와 대시보드 기능을 소개하고 각각을 생성하고 관리하는 방법을 살펴본다. 리포트는 검색어를 저장하는 방법과 동일한 효과를 가지며, 향후 재사용이 가능한 방법이다. 리포트를 사용해서 대시보드를 구축하는 다양한 방법도 설명한다.
5장. ‘SIEM이란?’에서는 SIEM(Security Information & Event Management)을 설명한다. 또 SIEM을 활용한 로그 수집 전략과 경고 생성 등 SIEM의 핵심 항목을 살펴보고 이를 기반으로 SIEM을 구축하는 전략을 살펴본다.
6장. ‘로그 수집’에서는 Splunk에서 로그 분석을 위해서 로그를 수집하는 방법과 전략을 살펴본다. 수집 대상 로그는 네트워크 계층 로그와 엔드포인트 계층인 윈도우C P 로그 수집 방법도 알아본다.
7장. ‘네트워크 로그 분석’에서는 네트워크 계층 로그에서 이상징후를 추출하는 분석기법을 살펴본다. 그리고 예제로 살펴보는 네트워크 계층에서 DNS, HTTP, SSL 등 네트워크에서 사용량이 많은 프로토콜 위주로 이상징후를 탐지하는 방법을 소개한다.
8장. ‘엔드포인트 로그 분석’에서는 엔드포인트 계층 로그에서 이상징후를 추출하는 분석기법을 알아본다. 또한 예제 로그인 윈도우 PC에서 발생하는 이상징후를 정의하고 이를 탐지하는 방법을 살펴본다.
9장. ‘SIEM 구축하기’에서는 Splunk에서 SIEM 앱(app, application)을 구축한다. 앱 설계, 메뉴 구성, 패널 시각화를 소개하고 대시보드를 구축해서 SIEM을 손쉽게 사용할 수 있게 한다. Splunk 본연의 기능인 검색을 대시보드로 표현함으로써 사용자의 편의성을 높인다.
10장. ‘SIEM 운영 강화’에서는 구축한 SIEM 앱에 경고, 드릴다운(drill down)과 같은 사용자 편의 기능을 추가해서 사용성을 높이는 방안을 설명한다.
목차
목차
- 1장. Splunk 소개
- 1.1 Splunk와 정보보호
- 1.2 공격 패러다임의 전환
- 1.3 공격 동향 분석
- 1.3.1 사이버 킬체인
- 1.3.2 마이터 어택
- 1.4 위협사냥
- 1.4.1 로그 수집
- 1.4.2 수집 대상
- 네트워크 계층 로그
- 엔드포인트 계층 로그
- 사용자 인증 로그
- 위협정보 로그
- 1.4.3 수집 로그 저장
- 1.5 실습용 데이터 추가
- 1.5.1 튜토리얼 데이터 다운로드
- 1.5.2 데이터 추가 방법
- 업로드
- 1.6 요약
- 2장. 검색
- 2.1 장 소개
- 2.2 Splunk 검색 기본
- 2.2.1 시간 연산자
- 2.2.2 검색에서 필드 활용하기
- 2.2.3 검색 처리 언어 및 파이프
- 2.3 검색 명령어
- 2.3.1 데이터 나열, 변환
- table
- rename
- fields
- dedup
- sort
- 2.3.2 통계 계산
- stats
- top
- rare
- len(X)
- 2.3.3 차트 시각화
- timechart
- chart
- 2.3.4 비교 분석
- eval
- case(X,"Y",
- cidrmatch("X",Y)
- if(X, Y, Z)
- like(X,"Y")
- match(X,"Y")
- 2.3.5 다중 문자열과 시간
- mvindex(X,Y,Z)
- split(X,"Y")
- substr(X,Y,Z)
- round(X,Y)
- urldecode(X)
- strftime(X, Y)
- strptime(X, Y)
- now( )
- 2.4 검색어 작성
- 2.5 검색 효율성 높이기
- 2.5.1 시간 범위 지정하기
- 2.5.2 인덱스 이름 지정하기
- 2.5.3 최대한 자세한 검색어 사용하기
- 2.5.4 검색 필터는 검색어 처음에 사용
- 2.5.5 와일드카드 사용 자제
- 2.5.6 fields 명령어 적극 사용
- 2.6 요약
- 3장. Splunk 지식 관리
- 3.1 장 소개
- 3.2 Splunk 지식 개요
- 3.3 이벤트 타입
- 3.4 룩업
- 3.5 태그와 별칭
- 3.5.1 태그
- 3.5.2 별칭
- 3.6 워크플로
- 3.7 검색 매크로
- 3.8 요약
- 4장. 보고서와 대시보드
- 4.1 장 소개
- 4.2 보고서
- 4.2.1 보고서 생성하기
- 설정 메뉴에서 신규 보고서 추가하기
- 검색 결과를 보고서로 저장하기
- 대시보드 패널을 보고서로 변환하기
- 4.2.2 보고서 편집
- 4.2.3 보고서 복제
- 4.2.4 보고서 예약
- 4.3 클래식 대시보드
- 4.3.1 시각화 종류
- 이벤트 리스트
- 테이블
- 차트
- 단일 값
- 지도
- 4.3.2 대시보드 패널 생성하기
- 막대 차트
- 원형 차트
- 꺾은선형
- 단일 값
- 4.3.3 클래식 대시보드 구축
- 새 대시보드 만들기
- 패널 추가하기
- 드릴다운
- 4.4 대시보드 스튜디오
- 4.4.1 대시보드 스튜디오 특징
- 추가된 시각화 차트
- 배경 그림을 활용한 시각화
- 패널 배치 자유도 증가
- 패널 설정 창 위치
- 기본 및 체인 검색
- 4.4.2 대시보드 스튜디오 실습
- 대시보드 레이아웃 디자인
- 새 대시보드 만들기
- 게임 카테고리 선택
- 총 매출액 패널
- 구매 이력 현황
- 홈페이지 로그인 실패 계정
- 메일 서버 로그인 실패 계정
- 비정상 접근 현황
- 4.5 요약
- 5장. SIEM이란?
- 5.1 소개
- 5.2 SIEM의 이해
- 5.2.1 SIEM의 정의
- 5.2.2 주요 기능
- 5.2.3 구성 요소
- 5.3 SIEM 구축
- 5.3.1 구축 전 고려사항
- 단일 기능의 SIEM을 도입하지 않기
- SIEM을 통해 얻고자 하는 것 확인하기
- 외부 위협정보 활용 필수
- 5.3.2 로그 수집 전략
- 수집 범위, 대상
- 수집 로그 용량 산정
- 5.3.3 로그 검색 및 분석 전략
- 5.3.4 경고 구축 전략
- 5.4 Splunk SIEM 구축 방안
- 5.4.1 로그 수집
- 5.4.2 로그 검색/분석
- 5.4.3 경고
- 5.5 요약
- 6장. 로그 수집
- 6.1 장 소개
- 6.2 Zeek
- 6.2.1 Zeek 설치 및 운영
- 6.2.2 환경설정 및 실행
- 6.2.3 Zeek 로그 형식
- 6.3 Sysmon
- 6.3.1 Sysmon 설치하기
- 6.3.2 이벤트 확인 및 운영
- 6.3.3 Sysmon 생성 이벤트 목록
- 6.4 Splunk 로그 저장
- 6.4.1 로컬에서 직접 수집
- 6.4.2 원격 로그 수집 - 리눅스
- 수집 환경설정
- 로그 수집 확인
- 필드 추출
- 6.4.3 원격 로그 수집 - 윈도우
- 수집 환경설정
- 로그 수집 확인
- 6.4.4 예제 로그 업로드
- Zeek 로그 업로드
- 스캐너 로그 업로드
- sysmon 로그 추가
- 6.5 요약
- 7장. 네트워크 로그 분석
- 7.1 장 소개
- 7.2 주요 서비스 프로토콜
- 7.2.1 DNS
- 7.2.2 HTTP
- 7.2.3 SSL/X509
- 7.3 네트워크 현황 분석
- 7.3.1 DNS
- Top 10 도메인 현황
- TOP 10 도메인 요청 IP 현황
- 도메인 응답코드 현황
- 7.3.2 HTTP 프로토콜
- TOP 10 접속 도메인, 국가별 접속
- HTTP 메서드
- TOP 10 클라이언트 오류
- TOP 10 서버 오류
- HTTP 상태코드
- 7.3.3 SSL & x509 프로토콜
- Top 10 접속 도메인
- 인증서 만료 임박 사이트
- 7.4 이상징후 분석
- 7.4.1 DNS 이상징후
- 비정상적인 서브 도메인 길이
- 비허가 DNS 사용/DNS 터널링
- 도메인 엔트로피 값을 이용한 탐지
- 7.4.2 HTTP 이상징후
- 비정상 메서드 사용
- 외부행 데이터 전송
- 사이트 이동 후 실행 파일 다운로드
- 프록시 서버 접속
- 7.4.3 SSL & X509
- 인증서 만료 SSL 통신
- self-signed 인증서 사용
- 7.5 요약
- 8장. 엔드포인트 로그 분석
- 8.1 장 소개
- 8.2 엔드포인트 로그
- 8.2.1 엔드포인트 로그의 필요성 및 대상
- 8.2.2 윈도우 이벤트
- 8.2.3 Sysmon
- 8.3 PC 이상징후 분석
- 8.3.1 비정상 폴더에서 exe 파일 실행
- 8.3.2 파일 실행 후 원본 파일 삭제
- 8.3.3 실행 후 네트워크 접속 다수 발생
- 8.3.4 네트워크 셸 실행
- 8.4 요약
- 9장. SIEM 구축하기
- 9.1 장 소개
- 9.2 Splunk SIEM 앱 설계
- 9.2.1 구축 목적
- 9.2.2 구축 범위
- 9.2.3 구축 전략
- 9.2.4 메뉴 설계 및 구성
- 9.2.5 메뉴 설명
- SIEM Insight
- 네트워크 현황
- 이상징후
- 고급 검색
- 9.3 SIEM 구축
- 9.3.1 Splunk 앱 생성
- 9.3.2 SIEM 메뉴 구성
- 9.3.3 SIEM Insight
- TCP 목적지 포트 현황
- UDP 목적지 포트 현황
- 서비스 현황
- 출발지, 목적지 현황
- 9.3.4 네트워크 현황
- DNS
- HTTP
- 9.3.5 이상징후
- DNS
- HTTP
- 9.3.6 정보 검색
- IP, 도메인 검색
- CVE 검색
- 악성코드 정보 검색
- 9.4 패널 시각화
- 9.5 드릴다운을 활용한 대시보드 강화
- 9.5.1 해시 값 기반 검색
- 9.5.2 도메인 기반 검색
- 9.5.3 대시보드 내부 토큰 활용
- 9.6 요약
- 10장. SIEM 운영 강화
- 10.1 장 소개
- 10.2 오픈 소스 인텔리전스
- 10.2.1 위협정보 수집
- 10.2.2 OSINT 정보 수집 활용하기
- 10.2.3 룩업 테이블 활용
- 10.3 경고 설정
- 10.3.1 네트워크 계층 경고
- 10.3.2 엔드포인트 경고
- 10.3.3 악성 도메인 접속 경고
- 10.4 위협사냥 구현
- 10.4.1 C2 서버 탐지
- 10.4.2 비정상 파일명 탐지
- 10.5 상황 대응 대시보드 운영
- 10.5.1 상황 대응 전략 수립
- 10.5.2 상황 판단 대시보드 제작
- 10.6 요약
- 10.7 이 책의 요약