인공지능 기술의 발전에 따라 사이버 보안의 기술도 새로운 측면으로 발전하고 있다. 다양한 사이버 보안 응용에 머신러닝을 적용하는 방법을 소개하며, 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) 등 다양한 파이썬 라이브러리를 사용해 사이버 보안 연구자들이 직면하는 일반적인 도전 과제와 일반적이지 않은 도전 과제를 해결한다. 기존 사이버 보안 도전 과제에 관한 지능적인 해결책을 구현하고, 점점 더 복잡해지는 조직의 요구에 부응하는 최첨단 구현을 구축하는 데 도움이 될 것이다. 이 책을 다 읽고 나면 여러분은 레시피 기반 접근 방식을 사용해 사이버 보안 위협을 억제하고자 머신러닝 알고리듬을 구축하고 사용할 수 있을 것이다.
스탠퍼드 대학교(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)이 있다.
[p.86 : 7행]
print(f"\t{hex(imp.address)}, {imp.name}')
->
print(f"\t{hex(imp.address)}, {imp.name}")