보안 사고를 예방하기 위해서는 취약점을 정의하고 분석해 문제 상황에 대응할 수 있어야 한다. 따라서 취약점이 국제적으로 어떻게 분류 및 정립되어 있는지 파악하고 수치화 방식을 학습한다. 그리고 사이버 공간에서 어떤 공격자가 어떠한 취약점을 대상으로 공격을 수행하고 있는지, 그 목적은 무엇일지 살펴본다. 이후 취약점과 침해 사고의 예방 및 대응을 위해 진단 도구인 메타스플로잇(Metasploit), 오픈바스 (OpenVAS), 아라크니(Arachni), 닉토(Nikto), 엔맵(Nmap)을 직접 접해본다. 더불어 사고 가능성이 있는 대상은 웹 서비스, 인프라/플랫폼, 클라우드, 오피스와 엔드포인트로 분류하고 직접적인 기업에서의 예시를 통해 외부 침입을 탐지하고 보안을 개선해본다. 이 책과 함께 네트워크 보안 방향성을 잡아 오피스 환경에서의 예방 및 대응 방안을 설립해보자.
Contents
1장 사이버 보안 위협의 이해
_1.1 웹 서비스에서 취약점의 중요성
_1.2 보안 취약점의 개선 시도
_1.3 보안 위협의 범위
_1.4 취약점 조치의 어려움
2장 취약점의 이해와 대응 전략
_2.1 취약점 코드(CVE)
_2.2 취약점 점수 시스템 V3.1(CVSS)
__2.2.1 기본 측정 항목(base metrics)
__2.2.2 임시 측정 항목(temporal metrics)
__2.2.3 환경 측정 항목(environmental metrics)
_2.3 취약점 공격 빈도(EPSS)
_2.4 CVE와 CVSS를 활용한 기업의 취약점 대응 전략
_2.5 취약점 점수 시스템 V4.0(CVSS)
__2.5.1 기본 측정 항목(base metrics)
__2.5.2 보충 측정 항목(supplemental metrics)
__2.5.3 환경 측정 항목(environmental metrics)
__2.5.4 위협 측정 항목(threat metrics)
3장 침해 위협의 이해와 대응 전략
_3.1 침입자와 목적의 변화
__3.1.1 좋은 해커와 나쁜 해커
__3.1.2 공격 관점의 변화
__3.1.3 공격자는 어떻게 공격하는가?
__3.1.4 공격자는 누구인가?
_3.2 보안 업무 계획 수립
__3.2.1 데이터 제시
__3.2.2 데이터의 정확한 검증과 요약
_3.3 보안 운영의 중요성
_3.4 PDCA(Plan, Do, Check, Act)
4장 취약점 및 침해 위협 진단 도구 실습
_4.1 로컬 테스트 환경의 구축
__4.1.1 컨테이너 기반의 테스트 환경
__4.1.2 취약 플랫폼 테스트 수행하기
_4.2 취약점 진단 도구
__4.2.1 메타스플로잇(Metasploit)
__4.2.2 오픈바스(OpenVAS)
__4.2.3 아라크니(Arachni)
__4.2.4 닉토(Nikto)
__4.2.5 엔맵(Nmap)
5장 웹 서비스 사고 사례
_5.1 플랫폼 노출 사고 사례
__5.1.1 톰캣 매니저 화면 노출 사고
__5.1.2 데이터베이스 매니저 툴 노출 사고
__5.1.3 플랫폼 버전 노출 사고
__5.1.4 웹셸 업로드 사고
_5.2 소프트웨어 개발 생명 주기
_5.3. 취약점을 통한 웹 서비스 침해 사고 사례
_5.4 계정 유출과 도용 공격
__5.4.1 서비스 계정 도용 공격 사례
__5.4.2 계정 유출 판매 사이트
6장 인프라/플랫폼 사고 사례
_6.1 사전 인프라/플랫폼 정보 수집
_6.2 데이터 저장 플랫폼 사고 사례
__6.2.1 일래스틱서치 데이터 유출
__6.2.2 레디스 보안 사고
_6.3 인프라 네트워크 사고 사례
__6.3.1 ARP 스푸핑
__6.3.2 BGP 하이재킹
7장 클라우드 사고 사례
_7.1 클라우드 위험의 책임
_7.2 AWS S3 데이터 노출 사고
_7.3 클라우드 계정 유출로 인한 사고
_7.4 클라우드 콘솔 액세스 키 유출
8장 오피스와 엔드포인트 사고 사례
_8.1 도메인 접속 정보를 이용한 오피스 침해 사고
__8.1.1 공격자의 공격 목표와 내부 정보 획득
__8.1.2 피싱 사이트의 제작
__8.1.3 재무팀 정보 파악하기
__8.1.4 피싱 메일 공격하기
__8.1.5 접속 주소 위장하기
_8.2 악성 코드를 이용한 공격
__8.2.1 악성 코드의 수행 행위
__8.2.2 인포스틸러에 의한 정보 유출
__8.2.3 랜섬웨어
__8.2.4 악성코드 유포 형태 사례
_8.3 사용자 사기 공격(SNS 피싱)
9장 침해 위협 탐지
_9.1 네트워크 구간 탐지 방안
__9.1.1 네트워크 흐름 정보
__9.1.2 침입 탐지 시스템
__9.1.3 오픈소스 IDS 스노트
__9.1.4 DNS 트래픽 모니터링 및 공격 탐지
_9.2 호스트 기반 탐지
__9.2.1 호스트 프로세스 실행 이력
__9.2.2 리눅스 서버 로그의 원격 수집
_9.3 이상 행위의 탐지
_9.4 이벤트의 분석과 대응 프로세스
10장 보안 개선 방향
_10.1 자산의 식별
_10.2 자산의 생명 주기 관리
_10.3 노출된 공인 자산(IP, 도메인) 보안
_10.4 애플리케이션 구성 요소의 식별
_10.5 인프라/플랫폼 설정 파일 검토
_10.6 서비스 트래픽 보안성 강화
_10.7 HTTPS 트래픽의 탐지
_10.8 내부망 트래픽의 수집
_10.9 클라우드 환경의 개선 방향
_10.10 인프라 서비스 공급자의 선정
_10.11 개발 프로세스 보안
11장 오피스 환경의 대응 방안
_11.1 사원 계정 정보의 유출 대응
__11.1.1 정보 유출 관리와 모니터링
__11.1.2 다단계 인증의 사용
_11.2 이메일 공격 대응
__11.2.1 이메일 공격 유형과 공격 형태
__11.2.2 메일 발신 서버 등록
__11.2.3 도메인 키 식별 메일
__11.2.4 도메인 기반 메시지 인증
__11.2.5 비정상 메일 차단 방안
__11.2.6 메일 서버 보안 검증
__11.2.7 피싱 메일 탐지 방안
12장 위협 지능
_12.1 위협 지능이란?
_12.2 위협 지능 플랫폼
__12.2.1 위협 정보 표현 규격(STIX)
__12.2.2 위협 정보 전송 프로토콜(TAXII)
Author
김형기
(현) NHN 클라우드 보안분석실 실장/이사.
컴퓨터에 대한 단순한 호기심으로 컴퓨터공학을 전공하고 보안 회사에서 보안관제와 관제 솔루션 개발로 실무를 시작했다. 이후 포털 서비스에서 윈도우(Windows) 서버를 이용한 회원 관리 시스템을 개발 및 운영하였고, 보안 실무와 개발 경험을 살려 NHN 재팬과 네이버 비즈니스 플랫폼(NBP)에서 보안 솔루션 개발, 웹 및 게임 보안 진단, 부정 로그인 대응을 수행하였다. 그리고 카카오에 보안 조직이 처음 구성되는 시점에 입사하여 침해 대응 담당자로서 보안관제 시스템을 이용한 관제망 구축과 침해 대응 조직 구성을 담당했다. 현재는 야놀자를 거쳐 NHN 클라우드에서 NHN 그룹사 기술 보안 전반과 클라우드의 침해 위협에 대응하며 보안관제와 관련된 의미 있는 것들을 개발하고 발전시켜 나가고 있다. 한때 보안 로그를 어떻게 수집하고 분석하는지에 관심을 가지고 머신 러닝과 아파치하둡(Apache Hadoop)을 열심히 공부했다. 가끔은 파이썬이나 자바로 엉뚱한 코드를 만들어 보기도 한다. 지금은 어떻게 인터넷 서비스 기업에서의 침해 대응을 한 단계 발전시킬 수 있는지를 고민하며 직무에 충실하고자 노력하는 보안 엔지니어다.
(현) NHN 클라우드 보안분석실 실장/이사.
컴퓨터에 대한 단순한 호기심으로 컴퓨터공학을 전공하고 보안 회사에서 보안관제와 관제 솔루션 개발로 실무를 시작했다. 이후 포털 서비스에서 윈도우(Windows) 서버를 이용한 회원 관리 시스템을 개발 및 운영하였고, 보안 실무와 개발 경험을 살려 NHN 재팬과 네이버 비즈니스 플랫폼(NBP)에서 보안 솔루션 개발, 웹 및 게임 보안 진단, 부정 로그인 대응을 수행하였다. 그리고 카카오에 보안 조직이 처음 구성되는 시점에 입사하여 침해 대응 담당자로서 보안관제 시스템을 이용한 관제망 구축과 침해 대응 조직 구성을 담당했다. 현재는 야놀자를 거쳐 NHN 클라우드에서 NHN 그룹사 기술 보안 전반과 클라우드의 침해 위협에 대응하며 보안관제와 관련된 의미 있는 것들을 개발하고 발전시켜 나가고 있다. 한때 보안 로그를 어떻게 수집하고 분석하는지에 관심을 가지고 머신 러닝과 아파치하둡(Apache Hadoop)을 열심히 공부했다. 가끔은 파이썬이나 자바로 엉뚱한 코드를 만들어 보기도 한다. 지금은 어떻게 인터넷 서비스 기업에서의 침해 대응을 한 단계 발전시킬 수 있는지를 고민하며 직무에 충실하고자 노력하는 보안 엔지니어다.