사이버 보안을 위한 머신러닝 쿡북 [파이썬으로 구현하는 80가지 머신러닝 알고리듬]
- 원서명Machine Learning for Cybersecurity Cookbook: Over 80 recipes on how to implement machine learning algorithms for building security systems using Python (ISBN 9781789614671)
- 지은이엠메누엘 츠케르만(Emmanuel Tsukerman)
- 옮긴이장기식, 김우석
- ISBN : 9791161755724
- 35,000원
- 2021년 10월 28일 펴냄
- 페이퍼백 | 442쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 해킹과 보안
책 소개
요약
인공지능 기술의 발전에 따라 사이버 보안의 기술도 새로운 측면으로 발전하고 있다. 다양한 사이버 보안 응용에 머신러닝을 적용하는 방법을 소개하며, 80여 가지의 파이썬 코드를 통해 사이버 보안이 직면한 도전적인 문제에 대한 솔루션을 제공해 관련 종사자들이 필요한 기술을 습득할 수 있다.
이 책에서 다루는 내용
◆ 의심스러운 활동을 탐지하기 위한 악성코드 분류기 구축
◆ 보안에 대한 모의 해킹용 맞춤형 악성코드를 만들기 위한 머신러닝 적용
◆ 사이버 보안 개념을 구현하고자 복잡한 데이터 세트로 머신러닝 알고리듬 모델링
◆ 사이버 보안 영역에서 직면한 가짜 비디오와 이미지 식별을 위한 신경망 구축
◆ 보안 시스템 구축을 위해 파이썬을 사용하는 머신러닝 구현 방법에 대한 80가지 이상의 레시피
◆ 가장 일반적인 위협 중 하나인 내부자 위협에 대한 조직 보호
◆ 이상 탐지 시스템 구축을 통한 제로 데이 위협 방어
◆ 메타스플로잇과 머신러닝을 결합한 효과적 웹 취약점 탐지
◆ 훈련 데이터를 노출하지 않고 모델을 훈련하는 방법
이 책의 대상 독자
컴퓨터 보안을 강화하고자 머신러닝 알고리듬과 기술을 구현해 자신의 능력을 한 단계 끌어올리려는 사이버 보안 전문가와 보안 연구자를 대상으로 한다. 사이버 보안 영역에 스마트 기술을 적용하려는 데이터 과학자와 머신러닝 개발자에게도 도움이 될 것이다. 이 책을 읽으려면 파이썬의 실무 지식과 사이버 보안 기본 원리를 숙지하고 있어야 한다.
이 책의 구성
1장, ‘사이버 보안을 위한 머신러닝’에서는 사이버 보안을 위한 머신러닝 기본 기술을 설명한다.
2장, ‘머신러닝 기반 악성 코드 탐지’에서는 샘플에 대한 정적 분석과 동적 분석을 수행하는 방법을 설명한다. 또한 계급 불균형(class imbalance)과 오탐률(FPR, False Positive Rate) 제약과 같은 사이버 보안 영역에서 발생하는 중요한 머신러닝 도전 과제를 해결하는 방법도 다룬다.
3장, ‘고급 악성 코드 탐지’에서는 악성 코드 분석을 위한 고급 개념을 설명한다. 또한 딥러닝을 사용해 난독화되고 패킹된 악성 코드에 접근하는 방법과 N-그램 특성의 집합을 확장하는 방법, 그리고 악성 코드를 탐지하는 방법뿐만 아니라 생성하는 방법도 다룬다.
4장, ‘소셜 공학을 위한 머신러닝’에서는 머신러닝을 사용하는 트위터 스피어 피싱 봇(Twitter spearphishing bot)을 구축하는 방법을 설명한다. 또한 딥러닝을 사용해 여러분이 원하는 대로 표적이 말하는 것을 녹음하는 방법도 다룬다. 이 외에도 거짓말 탐지 주기를 살펴보고, 학습 데이터 집합에 있는 것과 비슷하면서 새로운 리뷰를 생성할 수 있는 순환 신경망(RNN, Recurrent Neural Network)을 학습하는 방법도 설명한다.
5장, ‘머신러닝을 사용하는 모의 해킹’에서는 모의 해킹(penetration testing)과 보안 대책(security countermeasure)을 위한 다양한 머신러닝 기술을 설명한다. 또한 토르(Tor) 트래픽의 탈익명화와 키보드 입력 동작(keystroke dynamics), 악성 URL 탐지 등 좀 더 전문화된 주제를 다룬다.
6장, ‘자동 침입 탐지’에서는 머신러닝을 사용하는 몇몇 침입 탐지 시스템의 설계와 구현을 살펴본다. 또한 이 탐지 기술은 사례에 종속적이고, 비용에 민감하며, 근본적으로 불균형한 신용카드 이상거래의 도전적인 문제를 해결한다.
7장, ‘머신러닝으로 데이터 보호 및 공격하기’에서는 머신러닝을 사용해 데이터를 보호하고 데이터를 공격하는 방법을 설명한다. 또한 하드웨어 보안에 대한 머신러닝 응용 중의 하나로 인공지능(AI)을 사용해 물리적 복제 방지(PUF, Physically Unclonable Function) 기술을 공격하는 방법도 다룬다.
8장, ‘보안 및 개인 AI’에서는 텐서플로 연합 프레임워크(TensorFlow Federated framework)를 이용하는 연합학습 모델(federated learning model)을 사용하는 방법을 설명한다. 또한 암호화된 계산(encrypted computation)의 기초에 관한 자세한 설명과 함께 케라스와 텐서플로 프라이버시를 사용해 MNIST에 대한 차등 프라이버시 심층 신경망을 구현하고 학습하는 방법도 다룬다.
부록에서는 사이버 보안 데이터에 관한 머신러닝 도전 과제를 처리하기 위한 기반 구조를 만드는 방법을 설명한다. 또한 가상 파이썬 환경을 사용해 패키지 충돌을 피하면서 서로 다른 파이썬 프로젝트에서 원활하게 작업할 수 있는 방법도 다룬다.
목차
목차
- 1장. 사이버 보안을 위한 머신러닝
- 기술 요구 사항
- 데이터를 훈련 데이터와 테스트 데이터로 분할하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 데이터 표준화
- 준비
- 레시피 실행 순서
- 레시피 설명
- 주성분 분석을 사용한 대용량 데이터 요약
- 준비
- 레시피 실행 순서
- 레시피 설명
- 마르코프 연쇄를 사용한 텍스트 생성
- 준비
- 레시피 실행 순서
- 레시피 설명
- 사이킷런을 사용한 군집화
- 준비
- 레시피 실행 순서
- 레시피 설명
- XGBoost 분류기 훈련
- 준비
- 레시피 실행 순서
- 레시피 설명
- statsmodels를 사용한 시계열 분석
- 준비
- 레시피 실행 순서
- 레시피 설명
- 격리 숲을 사용한 비정상 행위 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 사이킷런의 HashingVectorizer와 tf-idf를 사용한 자연어 처리
- 준비
- 레시피 실행 순서
- 레시피 설명
- scikit-optimze를 사용한 초매개 변수 조정
- 준비
- 레시피 실행 순서
- 레시피 설명
- 기술 요구 사항
- 2장. 머신러닝 기반 악성 코드 탐지
- 기술 요구 사항
- 악성 코드 정적 분석
- 샘플의 해시값 계산
- 준비
- 레시피 실행 순서
- 레시피 설명
- YARA
- 준비
- 레시피 실행 순서
- 레시피 설명
- PE 헤더 검사
- 준비
- 레시피 실행 순서
- 레시피 설명
- PE 헤더 특성화
- 준비
- 레시피 실행 순서
- 레시피 설명
- 악성 코드 동적 분석
- 준비
- 레시피 실행 순서
- 레시피 설명
- 머신러닝을 사용해 파일 유형 탐지하기
- 깃허브에서 특정 유형의 파일 스크래핑하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 파일 유형으로 파일 분류하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 깃허브에서 특정 유형의 파일 스크래핑하기
- 두 문자열 간의 유사도 측정
- 준비
- 레시피 실행 순서
- 레시피 설명
- 두 파일 간의 유사도 측정
- 준비
- 레시피 실행 순서
- 레시피 설명
- N-그램 추출
- 준비
- 레시피 실행 순서
- 레시피 설명
- 최상의 N-그램 선택
- 준비
- 레시피 실행 순서
- 레시피 설명
- 정적 악성 코드 탐지기 구축
- 준비
- 레시피 실행 순서
- 레시피 설명
- 계급 불균형 해결
- 준비
- 레시피 실행 순서
- 레시피 설명
- 1종 오류와 2종 오류 처리
- 준비
- 레시피 실행 순서
- 레시피 설명
- 기술 요구 사항
- 3장. 고급 악성 코드 탐지
- 기술 요구 사항
- 난독화된 자바스크립트 탐지하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- PDF 파일 특성화하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 해시-그램 알고리듬을 사용해 N-그램을 빠르게 추출하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 참조
- 악성 코드 동적 분류기 구축하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- MalConv - 악성 PE 탐지를 위한 종단 간 딥러닝
- 준비
- 레시피 실행 순서
- 레시피 설명
- 패킹된 악성 코드 다루기
- 패커 사용하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 패킹된 샘플 데이터셋 만들기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 패커 분류기 구축
- 준비
- 레시피 실행 순서
- 레시피 설명
- 패커 사용하기
- MalGAN - 유사 악성 코드 만들기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 악성 코드 추이 추적하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 4장. 소셜 공학을 위한 머신러닝
- 기술 요구 사항
- 트위터 스피어 피싱 봇
- 준비
- 레시피 실행 순서
- 레시피 설명
- 성대모사
- 준비
- 레시피 실행 순서
- 레시피 설명
- 공개 출처 정보를 위한 음성 인식
- 준비
- 레시피 실행 순서
- 레시피 설명
- 얼굴 인식
- 준비
- 레시피 실행 순서
- 레시피 설명
- 딥페이크
- 준비
- 레시피 실행 순서
- 레시피 설명
- 딥페이크 인식
- 준비
- 레시피 실행 순서
- 레시피 설명
- 머신러닝을 사용한 거짓말 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 성격 분석
- 준비
- 레시피 실행 순서
- 레시피 설명
- 소셜 매퍼
- 준비
- 레시피 실행 순서
- 레시피 설명
- 가짜 리뷰 생성기
- 가짜 리뷰 생성기 훈련
- 준비
- 레시피 실행 순서
- 레시피 설명
- 가짜 리뷰 만들기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 가짜 뉴스
- 준비
- 레시피 실행 순서
- 레시피 설명
- 5장. 머신러닝을 사용하는 모의 해킹
- 기술 요구 사항
- 자동 가입 방지 기술 해독기
- CAPTCHA 데이터셋 가공
- 준비
- 레시피 실행 순서
- 레시피 설명
- CAPTCHA 해독기 신경망 훈련
- 준비
- 레시피 실행 순서
- 레시피 설명
- CAPTCHA 데이터셋 가공
- 신경망이 지원하는 퍼징
- 준비
- 레시피 실행 순서
- 레시피 설명
- 딥익스플로잇
- 준비
- 레시피 실행 순서
- 레시피 설명
- 머신러닝을 이용한 웹 서버 취약점 스캐너
- 준비
- 레시피 실행 순서
- 레시피 설명
- 머신러닝을 이용한 토르 비익명화
- 준비
- 레시피 실행 순서
- 데이터 수집
- 훈련
- 예측
- 레시피 설명
- 머신러닝을 이용한 사물인터넷 장치 유형 식별
- 준비
- 레시피 실행 순서
- 레시피 설명
- 키 입력 패턴 인식
- 준비
- 레시피 실행 순서
- 레시피 설명
- 악성 URL 탐지기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 딥 파우닝
- 준비
- 레시피 실행 순서
- 레시피 설명
- 소프트웨어 취약점을 자동으로 탐지하기 위한 딥러닝 기반 시스템
- 준비
- 레시피 실행 순서
- 레시피 설명
- 6장. 자동 침입 탐지
- 기술 요구 사항
- 머신러닝을 사용한 스팸 필터링
- 준비
- 레시피 실행 순서
- 레시피 설명
- 피싱 URL 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 네트워크 트래픽 캡처
- 준비
- 레시피 실행 순서
- 레시피 설명
- 네트워크 동작 이상 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 봇넷 트래픽 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 내부자 위협 탐지
- 내부자 위협 탐지를 위한 특성 공학
- 준비
- 레시피 실행 순서
- 레시피 설명
- 내부자 위협에 이상 탐지 적용하기
- 준비
- 레시피 실행 순서
- 레시피 설명
- 내부자 위협 탐지를 위한 특성 공학
- 분산 서비스 거부 공격 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 신용카드 이상거래 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 위조지폐 탐지
- 준비
- 레시피 실행 순서
- 레시피 설명
- 머신러닝을 사용한 광고 차단
- 준비
- 레시피 실행 순서
- 레시피 설명
- 무선 실내 위치추적
- 준비
- 레시피 실행 순서
- 레시피 설명
- 7장. 머신러닝으로 데이터 보호 및 공격하기
- 기술 요구 사항
- 머신러닝을 사용하는 패스워드 보안 평가
- 준비
- 레시피 실행 순서
- 레시피 설명
- 패스워드 크랙을 위한 딥러닝
- 준비
- 레시피 실행 순서
- 레시피 설명
- 레시피 추가 정보
- 딥 스테가노그라피
- 준비
- 레시피 실행 순서
- 레시피 설명
- 머신러닝 기반 스테가노그라피 분석
- 준비
- 레시피 실행 순서
- 레시피 설명
- 물리적 복제 방지에 대한 머신러닝 공격
- 준비
- 레시피 실행 순서
- 레시피 설명
- 레시피 추가 정보
- 딥러닝을 사용하는 암호화
- 준비
- 레시피 실행 순서
- 레시피 설명
- HIPAA 데이터 침해 - 데이터 탐색 및 시각화
- 준비
- 레시피 실행 순서
- 레시피 설명
- 8장. 보안 및 개인 AI
- 기술 요구 사항
- 연합학습
- 준비
- 레시피 실행 순서
- 레시피 설명
- 암호화된 데이터 계산
- 준비
- 레시피 실행 순서
- 레시피 설명
- 개인 데이터 딥러닝 예측
- 준비
- 레시피 실행 순서
- 레시피 설명
- 신경망의 적대적 강건성 테스트
- 준비
- 레시피 실행 순서
- 레시피 설명
- 텐서플로 프라이버시를 사용하는 차등 프라이버시
- 준비
- 레시피 실행 순서
- 레시피 설명
- 부록
도서 오류 신고
정오표
정오표
[p.86 : 7행]
print(f"\t{hex(imp.address)}, {imp.name}')
->
print(f"\t{hex(imp.address)}, {imp.name}")