Top

사이버 보안을 위한 머신러닝 쿡북 [파이썬으로 구현하는 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에 대한 차등 프라이버시 심층 신경망을 구현하고 학습하는 방법도 다룬다.
부록에서는 사이버 보안 데이터에 관한 머신러닝 도전 과제를 처리하기 위한 기반 구조를 만드는 방법을 설명한다. 또한 가상 파이썬 환경을 사용해 패키지 충돌을 피하면서 서로 다른 파이썬 프로젝트에서 원활하게 작업할 수 있는 방법도 다룬다.

저자/역자 소개

지은이의 말

오늘날 사이버 위협은 모든 조직이 직면하고 있는 주된 문제 중 하나다. 이 책에서는 텐서플로(TensorFlow)와 케라스(Keras), 사이킷런(scikit-learn) 등 다양한 파이썬 라이브러리를 사용해 사이버 보안 연구자들이 직면하는 일반적인 도전 과제와 일반적이지 않은 도전 과제를 해결한다. 기존 사이버 보안 도전 과제에 관한 지능적인 해결책을 구현하고, 점점 더 복잡해지는 조직의 요구에 부응하는 최첨단 구현을 구축하는 데 도움이 될 것이다. 이 책을 다 읽고 나면 여러분은 레시피 기반 접근 방식을 사용해 사이버 보안 위협을 억제하고자 머신러닝 알고리듬을 구축하고 사용할 수 있을 것이다.

지은이 소개

엠메누엘 츠케르만(Emmanuel Tsukerman)

스탠퍼드 대학교(Stanford University)를 졸업하고, UC 버클리(UC Berkeley)에서 박사 학위를 받았다. 2017년 츠케르만 박사의 안티-랜섬웨어 제품은 「PC Magazine」이 선정한 2018년 랜섬웨어 10대 제품에 이름을 올렸다. 2018년에는 3만 명이 넘는 고객을 대상으로 한 팔로알토(Palo Alto) 네트워크의 와일드파이어(WildFire) 서비스를 위한 머신러닝 기반의 순간 판별 악성코드 탐지 시스템을 설계했다. 2019년에는 최초의 사이버 보안 데이터 과학 강좌를 개설했다.

옮긴이의 말

사이버 공격과 방어라는 총성 없는 전쟁은 우리가 모르는 사이에 계속되고 있다. 사이버 보안을 위해 암호 기술을 기반으로 한 응용 기술이 개발돼 핵심 기술로 발전돼 왔다. 그러나 사이버 보안은 단순히 정보를 보호하기 위한 개념으로 시작됐지만 지금은 그 적용 범위가 다양해졌다. 악성코드를 사용한 공격 등 해커의 공격을 탐지하고 막는 역할까지 담당하게 됐다. 그러나 기존의 규칙을 기반으로 하는 보안은 한계에 봉착했으며, 이를 극복하기 위해 빅데이터 분석과 머신러닝 기술이 사이버 보안에 적용되고 있다.
이 책은 머신러닝 기술을 사이버 보안에 적용할 수 있도록 80가지가 넘는 머신러닝 알고리듬을 파이썬으로 구현해 소개한다. 사이버 보안 담당자들은 머신러닝을 사용하는 최신 트렌드의 공격 기법과 머신러닝을 사용해 공격에 대응하는 방어 기법에 익숙해져야 할 것이다. 이 책은 독자들에게 도움이 되리라 확신한다.
장기식

최근 머신러닝은 ICT에서 빼놓을 수 없는 분야가 됐으며 특히 사이버 보안에서 없어서는 안 될 기술로서 절대적 위치를 차지하고 있다. 그러나 정교해진 해커와 새로운 취약점에 대한 공격을 완화하기에는 보안 분야의 한정적 데이터로 인해 발전이 느리다. 즉 학습할 데이터를 얻지 못해 어려움을 겪고 있다.
이 책은 사이버 보안에 중점을 두고 있어 현업 보안 솔루션 개발자 및 보안 머신러닝 종사들에 적합하다. 그리고 전반적인 사이버 보안 문제를 해결하기 위해 기본적인 알고리듬부터 NLP(자연어 처리)까지 체계적으로 지식을 습득할 수 있어 보안 관련 개발자들에게도 추천한다. 특히 멀웨어 탐지 방법 및 피싱 URL, 침입 탐지, 스팸메일 탐지 등을 탐지할 수 있는 시스템을 구축할 수 있어 보안 솔루션 개발에 상당히 도움이 될 것이라 기대한다. 마지막으로 최근 각광을 받고 있는 NLP와 GAN도 다루고 있어 독자들에게 도움이 되리라 확신한다.
김우석

옮긴이 소개

장기식

경찰청 사이버안전국 디지털포렌식센터에서 디지털 포렌식 업무를 담당했다. 이후 경찰대학 치안정책연구소에서 데이터 분석과 머신러닝 기술을 접한 이후, 데이터 분석을 기반으로 한 머신러닝 기술을 연구했으며, 이 경험을 바탕으로 현재 아이브스 AI LAB에서 데이터 분석과 딥러닝 기반 영상 보안 솔루션 개발 및 연구를 책임지고 있다. 번역서로는 『보안을 위한 효율적인 방법 PKI』(인포북, 2003)와 『EnCase 컴퓨터 포렌식』(에이콘, 2015), 『인텔리전스 기반 사고 대응』(에이콘, 2019), 『적대적 머신러닝』(에이콘, 2020)이 있다.

김우석

2004년 경찰청 사이버테러대응센터에서 처음 디지털 포렌식에 입문해 한전KDN에서 정부기관 사이버안전센터에서 에너지•산업•무역의 보안관제 총괄, 침해사고대응 업무와 보안솔루션 개발에 참여해 해킹에 대응하는 기술 연구했고 현재는 전력 ICT 분야에서 전력 효율화를 위해 EMS(Energy Management System) 개발 담당으로 전력 수요 예측 및 발전 예측 등에 머신러닝을 접목시키고 있다. 번역서로는 『적대적 머신러닝』(에이콘, 2020)이 있다.

목차

목차
  • 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 해독기 신경망 훈련
        • 준비
        • 레시피 실행 순서
        • 레시피 설명
    • 신경망이 지원하는 퍼징
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 딥익스플로잇
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 머신러닝을 이용한 웹 서버 취약점 스캐너
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 머신러닝을 이용한 토르 비익명화
      • 준비
      • 레시피 실행 순서
        • 데이터 수집
        • 훈련
        • 예측
      • 레시피 설명
    • 머신러닝을 이용한 사물인터넷 장치 유형 식별
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 키 입력 패턴 인식
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 악성 URL 탐지기
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 딥 파우닝
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 소프트웨어 취약점을 자동으로 탐지하기 위한 딥러닝 기반 시스템
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
  • 6장. 자동 침입 탐지
    • 기술 요구 사항
    • 머신러닝을 사용한 스팸 필터링
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 피싱 URL 탐지
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 네트워크 트래픽 캡처
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 네트워크 동작 이상 탐지
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 봇넷 트래픽 탐지
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 내부자 위협 탐지
      • 내부자 위협 탐지를 위한 특성 공학
        • 준비
        • 레시피 실행 순서
        • 레시피 설명
      • 내부자 위협에 이상 탐지 적용하기
        • 준비
        • 레시피 실행 순서
        • 레시피 설명
    • 분산 서비스 거부 공격 탐지
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 신용카드 이상거래 탐지
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 위조지폐 탐지
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 머신러닝을 사용한 광고 차단
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 무선 실내 위치추적
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
  • 7장. 머신러닝으로 데이터 보호 및 공격하기
    • 기술 요구 사항
    • 머신러닝을 사용하는 패스워드 보안 평가
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 패스워드 크랙을 위한 딥러닝
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
      • 레시피 추가 정보
    • 딥 스테가노그라피
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 머신러닝 기반 스테가노그라피 분석
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 물리적 복제 방지에 대한 머신러닝 공격
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
      • 레시피 추가 정보
    • 딥러닝을 사용하는 암호화
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • HIPAA 데이터 침해 - 데이터 탐색 및 시각화
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
  • 8장. 보안 및 개인 AI
    • 기술 요구 사항
    • 연합학습
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 암호화된 데이터 계산
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 개인 데이터 딥러닝 예측
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 신경망의 적대적 강건성 테스트
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
    • 텐서플로 프라이버시를 사용하는 차등 프라이버시
      • 준비
      • 레시피 실행 순서
      • 레시피 설명
  • 부록

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.86 : 7행]
print(f"\t{hex(imp.address)}, {imp.name}')
->
print(f"\t{hex(imp.address)}, {imp.name}")