서브메뉴

본문

컴퓨터 보안 (머신 러닝을 활용한)
컴퓨터 보안 (머신 러닝을 활용한)
저자 : 클라렌스 치오|데이비드 프리먼
출판사 : 에이콘출판
출판년 : 2019
ISBN : 9791161752495

책소개

2019년 대한민국학술원 우수학술도서 선정도서

컴퓨터 보안 문제를 해결하기 위해 활용할 수 있는 여러 머신 러닝 기술을 다루고 있는 실무 지침서다. 침입 탐지, 악성 코드 분류, 네트워크 분석 컴퓨터 보안 분야에서 계속 연구되고 있는 분야에 대해 소개하며, 최신 연구 주제인 머신 러닝 모델을 공격하기 위한 방법에 대한 연구도 소개한다. 컴퓨터 보안 분야에 종사하는 실무자나 관심이 많은 분들이 머신 러닝을 활용하는 데에 큰 도움이 될 것이다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 침입, 사기, 임박한 시스템 장애 등의 비정상을 신속하게 탐지
■ 컴퓨터 바이너리에서 유용한 정보를 추출해 악성코드 분석 수행
■ 데이터셋 내에서 패턴을 찾아 네트워크 공격자 차단
■ 공격자가 사용자 대상 웹 사이트와 앱 기능을 어떻게 악용하는지 조사
■ 머신 러닝 알고리즘을 실험 환경에서 실무 환경으로 변환
■ 공격자가 머신 러닝 솔루션에 가하는 위협 이해

★ 이 책의 대상 독자 ★

보안 분야에서 시스템을 개선하기 위해 머신 러닝을 사용하거나, 머신 러닝 분야에서 보안 분야를 다루기 위해 도구를 사용하려고 한다면, 이 책이 적합하다.
이 책은 통계에 대한 기본적인 지식을 보유하고 있다고 가정하고 서술한다. 복잡한 수학을 다루는 대부분의 내용은 읽지 않아도 내용을 이해하는 데에 문제가 없다. 또한 프로그래밍 언어에 익숙하다고 가정한다. 이 책에서 다루는 내용은 개념적인 내용을 구현하기 위해 파이썬 코드를 사용한다. 물론 오픈소스 라이브러리를 활용해 자바, 스칼라(Scala), C++, 루비(Ruby) 등 다른 언어로도 동일한 개념을 구현할 수 있다.

★ 이 책의 구성 ★

이 책에서는 보안 영역 중에서도 침입 탐지, 악성코드 분류, 네트워크 분석과 같은 문제에 대한 규칙 기반 또는 경험적 솔루션을 보완하거나 대체하기 위해 머신 러닝을 적용하는 방법을 예를 들어 설명한다. 핵심적인 머신 러닝 알고리즘 기법을 살펴보고 보안 영역에서 유지 보수 가능하고 안정적이면서 확장성이 우수한 데이터 마이닝 시스템을 구축하는 데 주안점을 둔다. 예제 코드를 통해 실습하고 보안 문제가 있는 환경에서 데이터를 다루는 방법과 노이즈에 섞여 놓칠 수도 있는 중요한 신호를 식별해내는 방법도 함께 다룬다.

★ 지은이의 말 ★

머신 러닝이 세계를 집어삼키고 있다. 통신과 금융에서부터 교통과 제조, 심지어는 농업에까지, 거의 모든 기술 분야가 머신 러닝과 인공지능, 또는 이러한 것들을 대신할 더 나은 기술에 의해 변화되고 있다.

컴퓨터 보안에도 세계적으로 큰 영향력을 미치고 있다. 업무, 엔터테인먼트, 사회 생활에서 컴퓨터에 대한 비중이 더욱 높아지면서 돈을 벌거나 단순히 장난치려고 시스템을 공격하는 사람이 늘어나고 있다. 또한 시스템이 점차 복잡해지고 시스템 연결이 촘촘해지면서 공격자가 침입을 시도하는 데 악용할 수 있는 버그나 백도어를 없애기가 매우 힘들어졌다. 심지어는 이 책을 집필하는 과정에서 현재 사용 중인 거의 모든 마이크로프로세서가 보안 취약점을 갖고 있다는 사실이 밝혀지기도 했다.

머신 러닝 기술을 이용하면 태양 아래 존재하는 거의 모든 것에 대한 (잠재적인) 해결 방법을 제공한다. 머신 러닝 성능을 향상시킬 수 있는 강력한 데이터셋을 원활히 제공할 수 있는 컴퓨터 보안 분야에서는 이런 장점이 더욱 커진다. 뉴스에서는 AI를 이용해 어떻게 하면 보안 기술을 ‘혁명’시킬 수 있는지를 다룬다. 고도로 숙달된 공격자의 능력을 무력화시키겠다는 목표와 함께, 머신 러닝 기술은 공격자와 방어자 간의 고양이-쥐 게임을 끝내는 기술로 홍보되고 있다. 주요 보안 콘퍼런스의 기조는 명확하다. 점점 더 많은 기업들이 보안 문제를 해결하기 위해 머신 러닝을 접목시키고 있다. 보안과 머신 러닝 두 분야의 만남에 대한 관심이 증가하면서 냉소적인 관점 또한 함께 제시되고 있다. 중심을 잡기 위해서 어떻게 해야 할까? AI의 진정한 잠재력은 무엇인가? 보안에 적용됐는가? 마케팅적인 측면과 전도유망한 기술을 어떻게 분간해낼 수 있는가? 보안 문제를 해결하기 위해 실제로 사용해야 하는 것은 무엇인가? 이러한 질문에 답하기 위해 생각할 수 있는 가장 좋은 방법은 과학에 깊이 빠져들고, 핵심 개념을 이해하고, 많은 실험을 반복하고, 결과를 통해 이야기하는 것이다.

이를 위해 데이터 과학와 컴퓨터 보안에 대한 실무 경험이 필요하다. 보안 시스템을 구축하고 오남용을 방지하는 팀을 결성하고, 콘퍼런스에서 발표하는 과정에서 이런 지식을 보유한 상대방의 의견을 듣고 이해하고자 하는 몇 명의 사람들을 만났다.
이 책이 바로 그 결과다.

★ 옮긴이의 말 ★

데이터가 중요하다는 이야기는 오랫동안 들어봤을 겁니다. 생성되는 데이터는 나날이 증가하고, 데이터를 분석 및 가공하는 기술의 수요도 크게 늘어나고 있습니다. 하지만 데이터가 생성되는 양과 중요성에 비해 데이터를 분석하는 기술자와 기술 모두 공급이 부족한 상황이 이어지고 있습니다.

보안 분야에 머신 러닝 기술을 접목시키기는 생각만큼 쉽지 않습니다. 사람이 자세히 분석하더라도 문제가 있는지 없는지 파악하기 어려운 경우가 많다는 특성 때문입니다.

하지만 보안 분야에서 많은 경험을 쌓은 경우에 직감을 통해 정확한 분석을 할 수 있다는 것은 분명합니다. 그 동안의 누적된 경험이 직감이라는 휴리스틱을 형성해낸 것입니다.

자신 고유의 추론 엔진이라고 볼 수 있겠지요. 머신 러닝 기술을 보안에 접목시키는 일은 이러한 도메인 지식을 찾아내는 것이 아닐까요?
이 책은 다른 머신 러닝 관련 자료에서는 쉽게 찾아보기 어려운 보안 문제를 다루고 있습니다. 보안 분야의 비정형성으로 인해 이 책에서 모든 내용을 다루지는 못합니다. 하지만 보안 분야에 머신 러닝을 접목시키기 위해 어떠한 방식으로 접근해야 하는지 방향성을 제시해 주는 데는 탁월하며, 도움이 될 거라 생각합니다.
[예스24에서 제공한 정보입니다.]

목차정보

1장. 왜 머신 러닝과 보안인가?

__사이버 위협 살펴보기

__사이버 공격의 경제학

____해킹 기술 시장

____간접적인 이익 창출

____결과

__머신 러닝은 무엇인가?

____머신 러닝으로는 할 수 없는 것

____머신 러닝을 사용하는 공격자

__실생활에서 사용하는 보안 분야에서의 머신 러닝 적용 사례

__스팸 메일 탐지: 반복 접근법

__보안 분야에서 사용하는 머신 러닝의 한계





2장. 분류와 군집화

__머신 러닝: 문제와 접근법

__머신 러닝 적용: 실사례

__훈련 알고리즘 배우기

____모델 패밀리

____손실 함수

____최적화

__지도 학습 분류 알고리즘

____로지스틱 회귀

____의사결정 트리

____의사결정 포레스트

____서포트 벡터 머신

____나이브 베이즈

____k-최근접 이웃 알고리즘

____신경망

__실상황에서 분류 문제를 풀 때 고려해야 할 사항

____모델 패밀리 선택

____훈련 데이터 구성

____속성 선택

____과적합과 과소적합

____임계치의 선택과 모델 간의 비교

__군집화

____군집화 알고리즘

____군집화 결과 평가

__결론





3장. 비정상 탐지

__지도 학습 대신에 비정상 탐지를 사용해야 하는 경우

__휴리스틱을 사용한 침입 탐지

__데이터 기반 방법

__비정상 탐지를 위한 속성 공학

____호스트 침입 탐지

____네트워크 침입 탐지

____웹 애플리케이션 침입 탐지

____요약

__데이터 및 알고리즘을 이용한 비정상 탐지

____예측(지도 학습 기반 머신 러닝)

____통계적 메트릭

____적합도

____비지도 머신 러닝 알고리즘

____밀도 기반 기법

____요약

__비정상 탐지에서 머신 러닝을 사용하는 데 따른 어려움

__대응 및 완화

__실용적인 시스템 설계 문제

____설명 가능성 확보

____비정상 탐지 시스템의 유지 보수 가능성

____인간의 피드백 통합

____적대 효과 감소

__결론





4장. 악성코드 분석

__악성코드 이해

____악성코드 분류 정의

____악성코드의 이면

__속성 생성

____데이터 수집

____속성 생성

____속성 선택

__속성에서 분석까지

____악성코드 샘플 및 레이블을 얻는 방법

__결론





5장. 네트워크 트래픽 분석

__네트워크 방어 이론

____접근 제어와 인증

____침입 탐지

____네트워크 내의 공격자 탐지

____데이터 중심 보안

____허니팟

____요약

__머신 러닝과 네트워크 보안

____캡처에서 속성 추출

____네트워크 위협

____봇넷

__네트워크 공격을 분류하기 위한 예측 모델 구축

____데이터 탐색

____데이터 준비

____분류

____지도 학습

____준지도 학습

____비지도 학습

____고급 앙상블

__결론





6장. 소비자 웹 보호

__소비자 웹으로 수익 창출

__악용 유형 및 데이터를 활용한 방어

____인증과 계정 탈취

____계정 생성

____금융사기

____봇 활동

__악용 문제에 대한 지도 학습

____데이터 레이블링

____콜드 스타트와 웜 스타트

____거짓 양성과 거짓 음성

____다중 응답

____대규모 공격

__악용 군집화

____예제: 스팸 도메인 군집화

____클러스터 생성

____클러스터 평가

__군집화의 추가 지침

__결론





7장. 운영 시스템

__머신 러닝 시스템의 완성도와 확장성 정의

____보안 머신 러닝 시스템에서 중요한 것은 무엇일까?

__데이터 품질

____문제점: 데이터셋의 편향

____문제점: 레이블의 부정확성

____해결책: 데이터 품질

____문제점: 누락된 데이터

____해결책: 누락된 데이터

__모델 품질

____문제점: 하이퍼파라미터 최적화

____해결책: 하이퍼파라미터 최적화

____속성: 피드백 루프, A/B 모델 테스트

____속성: 재현 가능하고 설명 가능한 결과

__성능

____목표: 낮은 대기 시간과 높은 확장성

____성능 최적화

____분산 컴퓨팅 프레임워크를 사용한 수평 확장

____클라우드 서비스 사용

__유지 보수, 관리

____문제점:모델 저장 및 버전 관리,배포

____목표: 안정적인 성능 저하

____목표: 손쉬운 설정 변경

__모니터링 및 경고

__보안과 신뢰성

____속성: 공격에 대한 방어

____속성: 개인 정보 보호 및 보장

__피드백과 사용성

__결론





8장. 적대적 머신 러닝

__용어

__적대적 ML의 중요성

__머신 러닝 알고리즘의 보안 취약점

____공격 전이성

__공격 기술: 모델 포이즈닝

____예제: 이진 분류기 포이즈닝 공격

____공격자의 지식

____포이즈닝 공격 방어

__공격 기술: 회피 공격

____예제: 이진 분류기 회피 공격

____회피 공격에 대한 방어

__결론



부록 A. 2장 보충 자료



부록 B. 오픈소스 인텔리전스 통합
[알라딘에서 제공한 정보입니다.]

QuickMenu