SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
관련 도서
마이클콜린스지음
문성건옮김
마이클 콜린스 지음
문성건 옮김
IoT 시대에 맞는 상황 인식형 보안 구축하기
Network Security
Through
Data Analysis
데이터분석을통한네트워크보안
모바일 기기의 범람에 IoT까지, 오늘날의 복잡한 네트워크를 보호하려면 전통적인 침입 탐지와 로그 분석만
으로는 충분하지 않다. 이 책에서 보안 전문가인 마이클 콜린스는 점점 더 거대해지는 네트워크에서 트래픽
데이터를 수집, 정리, 분석하는 여러 기법과 도구를 선보인다. 네트워크가 어떻게 이용되는지 이해하고 이를
보호하고 개선하기 위한 조치가 무엇인지 배울 수 있다.
진화하는 네트워크에 대처하는 진보된 보안 기술
예제 소스 http://www.hanbit.co.kr/exam/2258
다양한 도구를 활용하는 방법과 수집한 데이터를 실행 가능한 정보로 통합하는 방법을 자세히 설명하는 책이다.
숙련된 분석가뿐 아니라 주니어 분석가도 이 책이 선보인 응용 분석 기법에 고마워할 것이다.
앙드레 디미노, 조지 워싱턴 대학교 선임 네트워크 보안 엔지니어
성숙해가는 산업 분야에서 네트워크 분석과 포렌식을 다루는 책이 부족하여 아직도 어려움을 겪는다는 사실은
놀랄 만한 일이다. 이 책은 보안 분석이라는 매우 중요한 주제를 밝혀주는 반갑고 유일한 빛이다.
랍비 롭 토머스, Team Cymru CEO
네트워크/보안
정가 30,000원
•네트워크, 호스트, 서비스 센서에서 보안 데이터 얻기
•RDB, 그래프 데이터베이스, 레디스, 하둡에 트래픽 데이터 저장하기
•SiLK, R 등의 도구로 분석 및 시각화하기
•탐구적 데이터 분석으로 이상 현상 탐지하기
•그래프 분석으로 경보와 포렌식 개선하기
•트래픽 양과 행위를 살펴 DDoS와 데이터베이스 급습 검진하기
•네트워크 지도와 장비 목록의 단계별 활용 방법
N e t w o r k S e c u r i t y T h r o u g h D a t a A n a l y s i s
www.hanbit.co.kr
이것이
프로그래밍이다!
이것이 안드로이드다
진정한 안드로이드 개발자로
이끌어줍니다.
SDK 5.0 롤리팝 호환!
책만 보고,
동영상 강좌로도 만족하지 못했다면 Daum
카페 '슈퍼드로이드'에서 만나요
cafe.daum.net/superdroid
박성근 저 | 1,164쪽 | 45,000원
이것이 C언어다
세상에 없던 새로운
C언어 입문서 탄생!
삼성, LG에서 펼쳐졌던
전설의 명강의를 풀타임 동영상 강좌로!
이보다 더 확실한 방법은 없다, 칠판강의
전체 동영상 강좌 유투브 전격 공개!
http://goo.gl/tJK3Tu
서현우 저 | 708쪽 | 25,000원
이것이 자바다
가장 중요한 프로그래밍 언어를 하나
배워야 한다면, 결론은 자바다!
중급 개발자로 나아가기 위한 람다식,
JavaFX, NIO 수록
자바의 모든 것을 알려주는 인터넷 강의
궁금한 것은 카페에서!
cafe.naver.com/thisisjava
신용권 저 | 1,224쪽 | 30,000원
저자직강동영상 제공!
모던 웹을 위한
JavaScript +
jQuery 입문
www.hanbit.co.kr
지금은
모던 웹 시대!
HTML5 분야 부동의 1위 도서
HTML5 표준안 확정에 맞춘 완전 개정판의 귀환!
HTML5 권고안과 최신 웹 브라우저 환경 대응
윤인성 저 | 624쪽 | 30,000원
모던 웹 디자인을 위한
HTML5 +
CSS3 입문
자바스크립트에서 제이쿼리, 제이쿼리 모바일까지
한 권으로 끝낸다!
시대의 흐름에 맞춰 다시 쓴 자바스크립트 교과서
윤인성 저 | 980쪽 | 32,000원
페이스북, 월마트, 링크드인은 왜
Node.js를 선택했는가?
이 물음에 대한 답은 Node.js가 보여주는 빠른 처리 능력 때문이다.
윤인성 저 | 484쪽 | 25,000원
모던 웹을 위한
Node.js
프로그래밍
필요한 것만 배워
바로 현장에서 쓰는 HTML5
순서대로 읽으며 실습할 수 있는 HTML5 자습서
김상형 저 | 700쪽 | 32,000원
HTML5 +
CSS3 정복
데이터 분석을 통한 네트워크 보안 :
IoT 시대에 맞는 상황 인식형 보안 구축하기
초판발행 2016년 4월 1일
지은이 마이클 콜린스 / 옮긴이 문성건 / 펴낸이 김태헌
펴낸곳 한빛미디어 (주) / 주소 서울시 마포구 양화로 7길 83 한빛미디어(주) IT출판부
전화 02 – 325 – 5544 / 팩스 02 – 336 – 7124
등록 1999년 6월 24일 제10 – 1779호 / ISBN 978 – 89 – 6848 – 258 – 8 93000
총괄 전태호 / 책임편집 김창수 / 기획 이복연 / 교정·조판 김철수
디자인 강은영
영업 김형진, 김진불, 조유미 / 마케팅 박상용, 송경석, 변지영 / 제작 박성우
이 책에 대한 의견이나 오탈자 및 잘못된 내용에 대한 수정 정보는 한빛미디어(주)의 홈페이지나 아래 이메일로
알려주십시오. 잘못된 책은 구입하신 서점에서 교환해드립니다. 책값은 뒤표지에 표시되어 있습니다.
한빛미디어 홈페이지 www.hanbit.co.kr / 이메일 ask@hanbit.co.kr
©2016 Hanbit Media Inc.
Authorized Korean translation of the English edition of Network Security Through Data
Analysis, ISBN 9781449357900 © 2014 Michael Collins.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls
all rights to publish and sell the same.
이 책의 저작권은 오라일리와 한빛미디어(주)에 있습니다.
저작권법에 의해 한국내에서 보호를 받는 저작물이므로 무단전재와 복제를 금합니다.
지금 하지 않으면 할 수 없는 일이 있습니다.
책으로 펴내고 싶은 아이디어나 원고를 메일 ( writer@hanbit.co.kr ) 로 보내주세요.
한빛미디어(주)는 여러분의 소중한 경험과 지식을 기다리고 있습니다.
지은이 마이클 콜린스Michael Collins
워싱턴 D.C에 위치한 네트워크 보안 및 데이터 분석 회사인 RedJack, LLC의 수석 과학자다. 그전에는 카네기 멜론 대학교의
CERT/네트워크 상황 인식 그룹의 엔지니어였다. 콜린스는 네트워크 측정 및 트래픽 분석, 특히 대규모 트래픽 데이터 분석에
관심이 많다. 2008년 카네기 멜론 대학교에서 전기공학 박사 학위를 받았다.
옮긴이 문성건
서울대학교에서 전자공학을 전공하고 동일 대학원에서 전기·컴퓨터공학 석사 과정을 밟았다. 안랩에서 보안 제품 개발에 몸담
았고, 특히 네트워크 보안 제품 개발을 맡으면서 네트워크 보안에 관심이 있다. 현재는 LG전자에 있으며 자동차 보안 분야에 관
심을 두고 있다.
4
표지의 동물은 유럽 쇠황조롱이European Merlin
로 학명은
Falco columbarius다. 북아메리카와 유럽/아시아
의 쇠황조롱이는 실제로 다른 종이라는 논란이 있
다. 칼 리나우스Carl Linnaeus
는 아메리카에서 온 표
본을 가지고 1758년에 최초로 이 새를 분류한 사람이
다. 그 후 1771년에 조류학자인 마마듀크 턴스톨Marmaduke Tunstall
이 유러시안 쇠황조롱이에 별
도의 분류군을 지정하고 『Ornithologica Britannica영국 조류학』란 그의 책에서 이 새를 ‘Falco
aesalon’이라고 부르게 되었다.
최근에는 쇠황조롱이의 북아메리카와 유럽종 사이에는 유전적인 차이가 있다고 밝혀져, 이 두
종을 공식적으로 구분해야 한다는 생각을 뒷받침한다. 학자들은 두 종의 분화가 백만 년 전에 일
어났고, 그때 이후로 서로 완전히 독립적으로 존재했다고 믿는다.
쇠황조롱이는 대부분의 다른 작은 매에 비해 크며 1년 중 몸무게가 가장 많이 나갈 때는 거의 1
파운드에 이른다. 암컷이 보통 수컷보다 크며, 이는 포식자 동물에게는 공통적인 현상이다. 이
로써 수컷과 암컷이 다른 종류의 동물을 사냥할 수 있게 되어, 암수 한 쌍이 사는 데 필요한 영역
이 더 좁아도 된다. 쇠황조롱이는 보통 관목지, 숲, 공원, 초원, 황야와 같이 개방된 곳에 산다.
이 새는 키가 작거나 중간 정도인 식물이 자라는 지역을 선호하는데, 이는 이런 지역이 사냥하기
쉽고 버려진 둥지를 찾아서 자기 것으로 삼기 좋기 때문이다. 쇠황조롱이는 겨울에 잿빛개구리
매Hen Harriers
라는 다른 맹금류 새와 함께 무리지어 쉬는 것으로 알려졌다.
5, 6월에 일부일처로 짝을 맺어 번식한다. 종종 까마귀나 까치의 빈 둥지를 이용하지만, 영국에
서는 절벽이나 빌딩 틈에 둥지를 트는 일이 종종 있다. 암컷은 3개에서 6개의 알을 낳으며 28일
에서 32일의 배양 기간을 거쳐 부화한다. 새끼는 4주까지 부모에게 의존하며 그 후 독립한다.
중세에는 사냥에 사용하기 위해 쇠황조롱이의 새끼를 둥지에서 빼내어 손수 길렀다. 『The
Book of St. Albans세인트 알반스의 책』라는 신사의 행복에 관한 소책자에는 ‘매사냥’이란 장에 쇠
황조롱이를 언급하며 ‘숙녀를 위한 매’라고 불렀다. 오늘날에도 더 작은 새를 사냥하기 위해 매
표지 설명
5
를 부리는 이들이 이 새를 훈련한다. 하지만 종을 보존하려는 노력으로 이러한 관습은 줄어들고
있다. 쇠황조롱이에게 가장 위협이 되는 것은 서식지, 특히 번식지가 파괴되는 것이다. 하지만
이 새는 정착지에 매우 빠르게 적응하여 성공적으로 살아왔기 때문에 그 숫자는 전 세계적으로
일정하게 유지되고 있다.
6
정보 보안은 크게 엔드 포인트 보안과 네트워크 보안으로 나눌 수 있다. 엔드 포인트 보안은 말
단 정보 기기에서 악성 행위를 방어하는 것으로 악성 코드 진단, 취약점 업데이트 등으로 실행되
는 프로그램을 감시하고 차단하는 데 중점을 둔다. 네트워크 보안은 단말 사이, 네트워크 사이의
트래픽을 감시하여 이상 행위를 감시하고 진단하여 차단하는 역할을 한다. 이 두 분야 모두 공
격자와 방어자 사이에 치열한 두뇌 싸움이 진행되고 있다. 그래서 방어하는 입장에서는 기존에
방어가 잘 이루어졌다고 해서 방심할 수 없는 것이 보안의 속성임을 더욱 절실히 느낀다.
보안 회사에 몸담으면서 처음에는 모바일 단말에서의 엔드 포인트 보안 제품을 개발했고, 최근
에는 네트워크 보안 제품 개발에 몸담게 되었다. 엔드 포인트 보안 제품이란 게 결국 Anti-Virus
제품으로 악성 코드 실행을 탐지하고 차단하는 것이 가장 중요한 일이지만, 점차 진화하는 공격
방법 앞에서는 무력화되고 있는 것이 현실이다. 네트워크 보안 제품 또한 단순히 기술적으로 자
동화되어 일정 패킷의 패턴에 대해 탐지하고 차단하는 방식으로는 변화무쌍한 공격에 그대로 노
출되고 있음을 직접 느끼고 있다.
결국 이러한 공격의 진화에 대처하기 위해서는 단순히 기술을 고도화하는 것뿐 아니라 현장에서
사람이 대응하는 방법에 대해서도 고민해야 한다. 그리고 이를 위해 실제 운영하는 입장에서의
대응 방법이나 문제점을 아는 것이 중요하다. 마침 이 책을 접하면서 실제 보안 제품을 이용하
여 어떻게 네트워크 및 IT 관리자가 이상 행위를 좀 더 스마트하게 탐지하고 차단할 수 있는지
많은 통찰을 얻을 수 있었다. 특히 각종 보안 제품에서 쏟아져 나오는 데이터를 일일이 눈으로
확인하고 대응하는 것이 아니라 데이터 분석에 수학적/통계적 기법을 적용한 점이 인상적이었
다. 즉, 요즘 빅데이터라고 하는 분야의 지식이 네트워크 보안에도 필요하며 앞으로 IT 관리자
가 갖춰야 할 역량 중 하나가 바로 데이터 분석 능력으로 보인다.
보안 제품 또한 이러한 추세에 맞춰 IT 관리자가 데이터 분석을 쉽게 할 수 있도록 각 제품이 가
진 데이터를 분석하여 내놓거나 표준에 맞춰 생산하여 공유할 수 있도록 해야 할 것으로 보인다.
옮긴이의 말
7
이 책은 데이터 분석 기법을 어떻게 네트워크 보안에 접목시킬 수 있는지에 관한 지침을 제시한
다. 하지만 현장의 보안 제품 개발자와 IT 관리자는 이 책의 내용에만 머무르지 말고 현장 업무
에서 더욱 효과적인 적용 방안에 대해 고민하고 발전시켜야 할 것이다. 앞으로도 네트워크 보안,
데이터 분석에 관한 좋은 책이 많이 나오길 기대한다.
문성건
8
이 책은 네트워크를 이야기한다. 더 구체적으로는 네트워크를 감시하고 연구하며 그 결과를 이
용하여 네트워크를 개선하는 방법을 다룬다. 여기서 ‘개선’은 더욱 안전하게 만든다는 의미다.
하지만 우리는 아직 이렇게 자신 있게 말할 수 있는 용어 또는 지식을 충분히 갖추고 있지 않다
고 생각한다. 그래서 우리는 보안을 구현하기 위해 좀 더 정량적이고 설명할 수 있는 어떤 것, 즉
상황 인식situational awareness
을 구축하려 한다.
군사 분야에서 많이 사용되는 용어인 상황 인식은 말 그대로 우리가 활동하는 환경에 대한 이해
를 말한다. 우리 목적에 따르면 상황 인식은 네트워크를 구성하는 요소와 그 요소들이 어떻게 사
용되는지 이해하는 것이다. 이러한 인식은 네트워크가 어떻게 구성되었는지 그리고 원래 어떻게
설계되었는지와 전혀 다른 경우가 많다.
정보 보안에서 상황 인식이 얼마나 중요한지 알려면 여러분 집에 얼마나 많은 웹 서버가 있는
지 세어보길 바란다. 무선 라우터도 포함했는가? 케이블 모뎀은? 프린터는? CUPS(공통 유닉
스 인쇄 시스템)에 붙는 웹 인터페이스는 고려했는가? 텔레비전은 어떤가?
수많은 IT 관리자가 이 중 몇 가지 장치는 ‘웹 서버’로 다루지도 않는다. 하지만 임베디드 웹 서
버는 HTTP 메시지를 전송하고 알려진 취약점을 갖고 있으며, 전용 제어 프로토콜이 웹 인터페
이스로 대체되면서 점차 보편화되고 있다. 공격자는 무엇인지 모른 채 임베디드 시스템을 공격
하게 될 것이다. 예를 들어 스카다(SCADA, 산업용 제어 시스템)는 몇 개의 흥미로운 디렉터
리를 가진 윈도우 서버가 되고, MRI 기계는 완벽하게 동작하는 스팸봇이 될 수 있다.
이 책에서는 네트워크가 어떻게 사용되는지 이해하기 위해 데이터를 수집하고 네트워크를 살펴
볼 것이다. 특히 보안 데이터를 가져와서 조치 가능한 결정을 내리는 데 필요한 분석에 중점을
둔다. 보안과 관련된 결정은 실질적으로 사용자의 행동을 제약하기 때문에 ‘조치 가능한actionable
’
이란 단어를 강조하고자 한다. 보안 정책에는 사람들에게 하지 말아야 할 것, 또는 좀 더 성가시
게 해야 할 것을 알려주는 것을 포함한다. 예를 들어 ‘회사 자료를 드롭박스에 담아서는 안 된
다’, ‘로그온할 때는 비밀번호와 RSA 동글을 써라’, ‘프로젝트 서버 전체를 복사하여 경쟁사에 팔
지 마라’ 등이 있다. 보안 조치는 사람들이 일하는 방식을 간섭하기 때문에 결정하기 전에 그렇게
이 책에 대하여
9
해야 하는 충분하고 확고한 이유가 있어야 한다.
모든 보안 시스템은 결국 보안을 중요하게 여기고 필요악임을 받아들이는 사용자에 달려 있다.
보안은 사람에 의존한다. 보안은 규칙을 따르는 개별 사용자, 규칙을 언제 위반하는지 살펴보는
분석가와 감시자에 달려 있다. 보안 중 아주 일부만 기술적인 문제다. 정보 보안 분야에는 기술
을 악용하는 새로운 방식을 찾으려는 창의적인 공격자들이 끊이질 않는다. 그 결과 늘 변하는
위협 환경에 맞서기 위해서는 방어하려는 사람과 사용자 모두로부터 협조가 필요하다. 나쁜 보
안 정책을 세우면 사용자는 일을 수행하거나 분풀이를 위해 점차 탐지를 피해가려 할 것이므로
방어하는 이의 일이 더 많아질 것이다.
조치 가능성을 강조하고 보안을 강화한다는 목적이 이 책과 다른 데이터 과학 서적과의 차이점
이다. 분석에 대한 부분은 여러 다른 분야에서 가져온 통계 및 데이터 분석 기법을 적절히 다루
고 있다. 하지만 전체적으로는 네트워크 구조의 이해와 네트워크를 보호하기 위해 내리는 결정
에 중점을 두고 있다. 이를 위해 이론을 최대한 간추렸으며 침해 행위를 찾기 위한 기법도 다루
었다. 보안 분석에는 관찰 대상이 감시받고 있음을 스스로 알 뿐만 아니라, 할 수 있다면 감시
망을 무효화하는 데 적극적이라는 고유한 문제가 있다.
MRI와 장군의 노트북
몇 년 전, 대학 병원에서 일하는 분석가와 대화를 나눴다. 그는 네트워크를 차지하는 가장 흔한 기
기가 MRI라고 했다. 생각해보면 그럴 만도 하다.
“생각해봐.” 그가 말했다. “이 기계는 의료기기야. 윈도우의 특정 버전을 사용하도록 인증되어 있
지. 그래서 매주 누군가 그 버전의 취약점을 이용해서 공격하고 봇을 설치해. 스팸은 보통 수요일
즈음에 퍼지곤 하지.” 나는 왜 그 기계를 인터넷에서 차단하지 않느냐고 물어보았고, 그는 으쓱
하고는 의사들이 스캔한 데이터에 접속해서 사용하길 원했다고 말했다. 그는 이러한 문제에 봉착
한, 내가 만난 첫 분석가였으나, 마지막은 아니었다.
우리는 의사, 사장, 장군 등 권위가 강한 인물이 있는 조직에서 이러한 문제를 많이 보게 된다.
10
여러분은 보호 장치를 원하는 만큼 많이 만들 수 있지만, 장군이 주말 동안 노트북을 빌려서 손
녀가 네오펫1
을 하며 가지고 놀길 원한다면, 월요일에는 감염된 노트북이 되어 돌아올 것이다.
이제까지 숨겨온 이야기를 하나 꺼내보겠다. 나는 네트워크를 지키기 위한 가장 효과적인 방법
은 보호하고 지켜야 할 것만 보호하고 지키는 것이라고 굳게 믿는다. 정보 보안은 항상 감시하고
조사하는 사람이 필요하므로 이 말은 분명한 사실이다. 공격은 너무 자주 변하고, 방어를 자동
화하면 공격자는 이제 이를 이용하여 역으로 우리를 공격한다.2
나는 보안 분석가로서, 보안은 불편하고, 잘 정의되어야 하고, 제약이 있어야 한다고 굳게 믿는
다. 안전한 시스템의 최후 방어선은 시스템 내의 ‘사람’이기 때문에, 보안은 보호해야 할 자산에
대한 부자연스러운 행위여야 한다. 그리고 보안을 담당하는 사람은 의심을 품어야 하고 편집증
적이어야 하며 수상한 행위를 잘 살펴야 한다. 이는 삶을 행복하게 즐기는 방식이 아니다. 그러
니 삶을 조금이라도 덜 힘들게 하려면 반드시 보호해야 할 것에만 보안을 적용해야 한다. 모든
것을 감시하려고 하면 정말 중요한 것을 보호하는 데 필요한 주의력을 잃게 된다.
보안은 불편한 것이므로, 유능한 보안 분석가라면 미래에 닥칠지 모르는 추상적인 공격을 예방
하기 위해 사람들에게 조금 더 귀찮지만 그동안 일해오던 방식을 바꿔야 함을 설득하고 그들의
직무를 제한할 수 있어야 한다. 이를 위해 분석가는 결정사항을 확인하고 이를 받쳐줄 정보를
만들어서 대중에게 그 위험성을 보여줄 수 있어야 한다.
이 책에서 데이터 분석 과정은 보안 관련 결정을 효과적으로 하기 위해 보안 관련 지식을 쌓는
데 중점을 두고 있다. 이러한 결정은 사건 발생 후에 공격이 왜 발생했는지, 어떻게 성공했는지,
또는 어떤 피해가 일어났는지 판단하기 위해 사건을 재구성하는 포렌식(컴퓨터 법의학)이 될
수 있다. 그리고 속도 제한 장치, 침입 탐지 시스템, 네트워크에 대한 공격자의 영향을 제한하
는 조치 등의 선행 행동이 될 수도 있다.
1	 역주_ 어린이용 온라인 애완동물 기르기 게임
2	 비밀번호를 x번 잘못 입력하면 자동으로 계정이 잠기며, 이메일 주소를 계정으로 사용한다고 해보자. 이를 이용하면 얼마나 많은 계정을
잠글 수 있는지 생각해보라.
11
대상 독자
정보 보안 분석은 새로운 분야며 ‘이걸 익혀라’라고 꼭 집어서 말할 수 있는 지식 체계가 아직
잘 잡혀 있지 않다. 이 책은 나를 포함한 여러 사람이 지난 십여 년간 경험하여 효과가 있다고 생
각하는 분석 기법의 한 단면을 제공한다.
이 책은 네트워크 관리자와 운영 관련 보안 분석가, 그리고 네트워크 운영 본부(NOC)에서 일
하거나 주기적으로 침입 탐지 시스템(IDS) 콘솔을 다루는 직원을 위해 쓰였다. netstat 같은
TCP/IP 도구를 조금 다뤄보았고 약간의 수학과 통계 지식이 있다면 내용을 이해하는 데 도움
이 될 것이다.
또한 독자가 스크립트 언어에 어느 정도 친숙하길 기대한다. 이 책에서는 도구들을 통합하는 데
파이썬을 주요 언어로 자주 사용한다. 파이썬 코드는 그 자체로 설명할 수 있으며 파이썬 지식이
없더라고 이해할 수 있다. 하지만 여러분만의 언어로 필터나 다른 도구를 만들 수 있는 기술을
가지고 있다고 가정하겠다.
이 책을 집필하는 과정에서 여러 분야의 기법들을 모았다. 가능한 한 출처를 밝혀 원본 자료를
찾아 다른 방법도 더 확인할 수 있도록 하였다. 그중 많은 방법이 수학이나 통계적 추론을 하는
데, 아주 깊게 들어가기보다는 의도적으로 기능적 수준에서 다루었다. 기본적인 통계 지식이 있
다면 이 책을 이해하는 데 도움이 될 것이다.
이 책의 구성
이 책은 데이터, 도구, 분석, 이렇게 총 3부로 구성되었다. 1부 ‘데이터’에서는 데이터를 수집하
고 체계적으로 정리하는 과정을 다룬다. 2부 ‘도구’에서는 분석 과정을 지원하는 여러 도구를 다
룬다. 3부 ‘분석’에서는 여러 분석 시나리오와 기법을 다룬다.
1부에서는 데이터의 수집, 저장, 구조화에 대해 다룬다. 데이터의 저장과 운반은 보안 분석에서
중요한 문제다. 데이터를 수집하기는 쉽지만, 이를 검색하여 실제 현상을 찾는 것은 어렵다. 데
이터는 용량을 차지하며, 전혀 검색할 수 없을 정도로 많은 데이터를 수집할 수도 있다. 1부는
12
다음과 같이 구성되어 있다.
| 1장 |
정보 수집의 일반적인 과정을 다룬다. 서로 다른 여러 센서가 정보를 수집하고 보고하는 방식과
그 센서들이 어떻게 상호작용하는지 파악하기 위한 프레임워크를 제공한다.
| 2장 |
1장의 논의를 확장해서 트래픽 데이터를 수집하는 센서를 다룬다. tcpdump와 NetFlow 같은
센서는 네트워크 활동 전체를 보여주지만, 네트워크 트래픽을 재구성하기 어려워서 해석에 종종
어려움을 겪는다.
| 3장 |
호스트 기반의 침입 탐지 시스템과 HTTP 같은 서비스에서 가져오는 로그처럼, 특정 시스템에
서 작동하는 센서를 다룬다. 이 센서는 네트워크 센서보다 트래픽을 훨씬 적게 살펴보지만, 더
이해하기 쉽고 해석과 추측을 덜 요구하는 데이터를 제공한다.
| 4장 |
트래픽 정보를 저장하는 도구와 기법을 다룬다. 도구와 기법에는 전통적인 데이터베이스, 하둡
같은 빅데이터 시스템, 그래프 데이터베이스와 레디스 같은 전문 도구 등이 있다.
2부에서는 분석, 시각화, 보고에 사용할 수 있는 여러 도구를 다룬다. 2부에서 다루는 도구들은
나중에 다양한 분석을 어떻게 수행하는지 이야기할 때 자주 언급할 것이다.
| 5장 |
SiLK는 카네기 멜론 대학교의 CERT에서 개발한 흐름flow
분석 도구 모음이다. 이 장에서는
SiLK와 NetFlow 데이터를 분석할 때 이 도구를 어떻게 이용하는지 설명한다.
13
| 6장 |
R은 상상할 수 있는 대부분의 데이터를 효과적으로 살펴보는 데 사용할 수 있는 통계 및 시각화
환경이다. 이 장에서는 R 환경에 대한 기본적인 배경 지식을 제공하고 기초적인 통계 분석에 이
용하는 방법을 설명한다.
| 7장 |
침입 탐지 시스템(IDS)은 트래픽을 살펴보고 수상한 무언가가 확인되면 경보를 울리는 자동화
된 분석 시스템이다. 이 장에서는 IDS의 작동 방식, 탐지 오류가 IDS 경보에 미치는 영향 등을
살펴본다. 그리고 SiLK 같은 도구를 이용한 IDS 구축 혹은 Snort 같은 기존 IDS 설정 방법 등
을 통해 더 나은 IDS 구축 방법을 고민한다.
| 8장 |
분석에서 더 보편적이고 어려운 작업 중 하나는 IP 주소가 어디에서 오는지 또는 시그니처가 무
엇을 의미하는지 파악하는 것이다. 이 장에서는 소유권과 주소의 출처, 이름, 그리고 네트워크
트래픽에 포함된 다른 태그를 확인하는 데 사용할 수 있는 도구와 조사 방법을 설명한다.
| 9장 |
이전 장에서 다루기에는 적절치 않으나 분석에 유용한 여러 전문 도구를 간단히 다룬다. 전문적
인 시각화 도구, 패킷 생성 및 처리 도구, 그리고 분석가라면 잘 다뤄야 할 다양한 도구 모음을
선보인다.
3부에서는 이 모든 데이터 수집의 목표, 즉 분석에 대해 다룬다. 데이터를 조사하는 데 사용할
수 있는 다양한 트래픽 현상과 수학적 모델을 살펴본다.
| 10장 |
탐구적 데이터 분석Exploratory Data Analysis
(EDA)은 구조 또는 이상 현상을 파악하기 위해 데이터
14
를 조사하는 과정이다. 보안 데이터는 매우 많이 바뀌기 때문에 EDA는 어느 분석가에게나 필
요한 기술이다. 이 장에서는 데이터를 살펴보는 데 사용되는 기본적인 시각화 및 수학적 기법의
기본이 되는 배경 지식을 제공한다.
| 11장 |
커뮤니케이션에서 발생하는 실수와 그 실수가 어떻게 스캐닝과 같은 현상을 파악하는 데 사용되
는지 살펴본다.
| 12장 |
시간에 따른 트래픽 양과 트래픽의 움직임을 살펴봄으로써 이루어질 수 있는 분석에 대해 다룬
다. DDoS와 데이터베이스 침해와 같은 공격, 하루 일과가 트래픽 양에 미치는 영향, 분석 결과
를 더 효과적으로 만들기 위해 트래픽 양을 걸러내는 기법 등을 설명한다.
| 13장 |
네트워크 트래픽을 그래프 데이터로 전환하고 네트워크에서 의미 있는 구조를 파악하는 데 그래
프가 어떻게 사용되는지 알아본다. 구심성과 같은 그래프 속성은 중요한 호스트 또는 이상 행위
확인에 사용할 수 있다.
| 14장 |
네트워크에서 어떤 트래픽이 서비스 포트를 가로질러 가는지 판단하는 기법을 다룬다. 이 기법
에는 포트 번호 확인 같은 간단한 방법뿐 아니라 배너 찾기와 패킷 크기의 기댓값을 보는 방법도
있다.
| 15장 |
네트워크의 장비 목록을 만들고 그 네트워크에서 중요한 호스트를 파악하는 단계별 과정을 다
룬다. 네트워크 매핑과 장비 목록은 정보 보안에서 필수적인 과정이고 주기적으로 이루어져야
한다.
15
예제 코드
이 책의 예제 코드는 다음 주소에서 얻을 수 있다.
https://github.com/mpcollins/nsda_examples
http://hanbit.co.kr/exam/2258
이 책은 독자의 업무를 돕는 것을 목적으로 한다. 일반적으로 이 책의 코드는 독자의 프로그램
과 문서에 사용할 수 있다. 코드 전체의 상당 부분을 복제하지 않는 이상은 필자에게 허가를 구
할 필요는 없다. 예를 들어 이 책에 나온 코드 일부를 사용하여 프로그램을 작성하는 경우에는
허가를 받지 않아도 된다. 반면 예제 코드를 CD에 담아서 판매하거나 배포하려면 허가가 필요
하다. 또한 질문에 답하기 위해 이 책과 예제 코드를 인용할 때는 허가가 필요하지 않지만, 독
자의 제품에 포함된 문서에서 이 책의 예제 코드 상당 부분을 활용하려면 허가가 필요하다.
앞서 이야기한 범위를 벗어난 목적으로 활용하려 한다면 permissions@oreilly.com으로 문의
하기 바란다.
16
우선 편집자인 앤디 오람Andy Oram
의 지원과 피드백에 대해 감사한다. 그가 없었으면 네트워크
감시점에 대한 글을 아직도 수정하고 있었을 것이다. 또한 작업을 완료할 수 있게 해준 보조 편
집자 앨리슨 맥도날드Allyson MacDonald
와 마리아 글릭Maria Gulick
에게 감사드린다. 기술 검토를 해
준 리아논 위버Rhiannon Weaver
, 마크 토마스Mark Thomas
, 롭 토마스Rob Thomas
, 앙드레 디미노André
DiMino
, 헨리 스턴Henry Stern
에게 감사드린다. 그들의 조언으로 사소한 것을 제거하고 중요한 문
제에 집중할 수 있었다.
실제 운영 현장과 연구소에서 얻은 수많은 경험을 이 책에 담기 위해 두 분야의 많은 이들에게
빚을 지게 되었다. 다음의 모든 분께 감사드린다. 톰 롱스테프Tom Longstaff
, 제이 캐다네Jay Kadane
,
마이크 라이터Mike Reiter
, 존 맥휴John McHugh
, 캐리 게이츠Carrie Gates
, 팀 시미얼Tim Shimeall
, 마커스
데숀Markus DeShon
, 짐 다우니Jim Downey
, 윌 프랭클린Will Franklin
, 샌디 패리스Sandy Parris
, 숀 맥칼리
스터Sean McAllister
, 그렉 버진Greg Virgin
, 스콧 카울Scott Coull
, 제프 제니스Jeff Janies
, 마이크 위트Mike
Witt
.
마지막으로 부모님께 감사드린다. 아버지는 이 책을 탈고하기 전에 돌아가셨지만, 나의 설명이
이해될 때까지 끊임없이 질문해주셨다.
마이클 콜린스
감사의 글
17
		 표지 설명 �����������������������������������������������������������������������������������������������������������������������
4
	 	 옮긴이의 말 ��������������������������������������������������������������������������������������������������������������������
6
	 	 이 책에 대하여 ����������������������������������������������������������������������������������������������������������������
8
	 	 감사의 글 ���������������������������������������������������������������������������������������������������������������������
16
CHAPTER 1 센서와 탐지기
	 1.1	 감시점: 센서의 위치가 정보 수집에 미치는 영향 ����������������������������������������������������������������
30
	 1.2	 영역: 수집할 정보 선택하기 ������������������������������������������������������������������������������������������
33
	 1.3	 동작: 센서가 데이터로 하는 일 ��������������������������������������������������������������������������������������
37
	 1.4	 마치며 ����������������������������������������������������������������������������������������������������������������������
40
CHAPTER 2 네트워크 센서
	 2.1	 네트워크 계층 나누기와 계층이 계측에 미치는 영향 �����������������������������������������������������������
42
		 2.1.1	 네트워크 계층과 감시점 ������������������������������������������������������������������������������������
45
		 2.1.2	 네트워크 계층과 어드레싱 ���������������������������������������������������������������������������������
49
	 2.2	 패킷 데이터 ���������������������������������������������������������������������������������������������������������������
51
		 2.2.1	 패킷과 프레임 형식 ������������������������������������������������������������������������������������������
51
		 2.2.2	 회전 버퍼 �������������������������������������������������������������������������������������������������������
52
		 2.2.3	 패킷에서 추출하는 데이터 제한하기 ��������������������������������������������������������������������
52
		 2.2.4	 특정 유형의 패킷 필터링하기 �����������������������������������������������������������������������������
52
		 2.2.5	 이더넷이 아니라면 어떤 일이 벌어질까? ���������������������������������������������������������������
57
	 2.3	 NetFlow �������������������������������������������������������������������������������������������������������������������
58
CONTENTS
데이터Part I
18
		 2.3.1	 NetFlow v5 형식과 필드 ����������������������������������������������������������������������������������
58
		 2.3.2	 NetFlow 생성과 수집 ��������������������������������������������������������������������������������������
60
	 2.4	 읽을거리 추천 ������������������������������������������������������������������������������������������������������������
61
CHAPTER 3 호스트와 서비스 센서: 출발지에서 트래픽 로그 남기기
	 3.1	 로그 파일 접근과 처리 ��������������������������������������������������������������������������������������������������
64
	 3.2	 로그 파일의 내용 ���������������������������������������������������������������������������������������������������������
67
		 3.2.1	 좋은 로그 메시지의 요건 �����������������������������������������������������������������������������������
67
		 3.2.2	 로그 파일 다루기 ���������������������������������������������������������������������������������������������
70
	 3.3	 대표적인 로그 파일 형식 �����������������������������������������������������������������������������������������������
72
		 3.3.1	 HTTP: CLF와 ELF �����������������������������������������������������������������������������������������
72
		 3.3.2	 SMTP �����������������������������������������������������������������������������������������������������������
77
		 3.3.3	 마이크로소프트 익스체인지: 메시지 추적 로그 ������������������������������������������������������
79
	 3.4	 로그 파일 전송: 전송, syslog, 메시지 큐 �������������������������������������������������������������������������
80
		 3.4.1	 전송과 로그 파일 순환 교대 �������������������������������������������������������������������������������
81
		 3.4.2	 syslog ����������������������������������������������������������������������������������������������������������
81
	 3.5	 읽을거리 추천 ������������������������������������������������������������������������������������������������������������
83
CHAPTER 4 분석을 위한 데이터 저장: 관계형 데이터베이스, 빅데이터, 그리고
다른 선택
	 4.1	 로그 데이터와 CRUD 패러다임 �������������������������������������������������������������������������������������
86
		 4.1.1	 잘 조직된 플랫 파일 시스템 만들기: SiLK에서 얻은 교훈 ����������������������������������������
87
	 4.2	 NoSQL 시스템 소개 ���������������������������������������������������������������������������������������������������
90
	 4.3	 어떤 저장 방법을 사용해야 하나? �����������������������������������������������������������������������������������
93
		 4.3.1	 저장 계층, 질의 시간, 에이징 ������������������������������������������������������������������������������
95
CONTENTS
19
CHAPTER 5 SiLK 패키지
	 5.1	 SiLK는 무엇이며 어떻게 작동하는가? �����������������������������������������������������������������������������
99
	 5.2	 SiLK 설치하기 ���������������������������������������������������������������������������������������������������������
100
		 5.2.1	 데이터 파일 ��������������������������������������������������������������������������������������������������
101
	 5.3	 출력 필드 처리 방식을 선택하고 형식 지정하기: rwcut ����������������������������������������������������
102
	 5.4	 기본 필드 조작: rwfilter ���������������������������������������������������������������������������������������������
107
		 5.4.1	 포트와 프로토콜 ��������������������������������������������������������������������������������������������
108
		 5.4.2	 크기 ������������������������������������������������������������������������������������������������������������
110
		 5.4.3	 IP 주소 ��������������������������������������������������������������������������������������������������������
110
		 5.4.4	 시간 ������������������������������������������������������������������������������������������������������������
112
		 5.4.5	 TCP 옵션 ����������������������������������������������������������������������������������������������������
112
		 5.4.6	 도움 옵션 �����������������������������������������������������������������������������������������������������
114
		 5.4.7	 기타 필터링 옵션과 기법 ���������������������������������������������������������������������������������
115
	 5.5	 rwfileinfo와 그 기원 ��������������������������������������������������������������������������������������������������
116
	 5.6	 정보 흐름 결합하기: rwcount �������������������������������������������������������������������������������������
118
	 5.7	 rwset과 IP 집합 �������������������������������������������������������������������������������������������������������
121
	 5.8	 rwuniq �������������������������������������������������������������������������������������������������������������������
125
	 5.9	 rwbag ��������������������������������������������������������������������������������������������������������������������
127
	 5.10	 고급 SiLK 기능 ������������������������������������������������������������������������������������������������������
128
		 5.10.1	 pmaps ����������������������������������������������������������������������������������������������������
128
	 5.11	 SiLK 데이터 수집하기 ���������������������������������������������������������������������������������������������
131
		 5.11.1	 YAF ���������������������������������������������������������������������������������������������������������
131
		 5.11.2	 rwptoflow ������������������������������������������������������������������������������������������������
133
		 5.11.3	 rwtuc ������������������������������������������������������������������������������������������������������
134
	 5.12	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
135
도구Part II
20
CHAPTER 6 보안 분석가를 위한 R 소개
	 6.1	 설치 �����������������������������������������������������������������������������������������������������������������������
138
	 6.2	 R 언어 기초 ������������������������������������������������������������������������������������������������������������
138
		 6.2.1	 R 프롬프트 ���������������������������������������������������������������������������������������������������
138
		 6.2.2	 R 변수 ���������������������������������������������������������������������������������������������������������
140
		 6.2.3	 함수 작성 �����������������������������������������������������������������������������������������������������
146
		 6.2.4	 조건문과 반복문 ��������������������������������������������������������������������������������������������
148
	 6.3	 R 작업공간 사용하기 �������������������������������������������������������������������������������������������������
151
	 6.4	 데이터 프레임 ����������������������������������������������������������������������������������������������������������
152
	 6.5	 시각화 ��������������������������������������������������������������������������������������������������������������������
156
		 6.5.1	 시각화 명령어 �����������������������������������������������������������������������������������������������
156
		 6.5.2	 시각화 옵션 ��������������������������������������������������������������������������������������������������
156
		 6.5.3	 시각화에 주석 달기 ����������������������������������������������������������������������������������������
158
		 6.5.4	 시각화 내보내기 ��������������������������������������������������������������������������������������������
160
	 6.6	 분석: 통계 가설 검정 �������������������������������������������������������������������������������������������������
160
		 6.6.1	 가설 검정 �����������������������������������������������������������������������������������������������������
160
		 6.6.2	 데이터 검정 ��������������������������������������������������������������������������������������������������
163
	 6.7	 읽을거리 추천 ����������������������������������������������������������������������������������������������������������
166
CHAPTER 7 분류 및 이벤트 도구: IDS, AV, SEM
	 7.1	 IDS는 어떻게 작동하는가 �������������������������������������������������������������������������������������������
170
		 7.1.1	 기본 용어 �����������������������������������������������������������������������������������������������������
170
		 7.1.2	 분류기 실패 비율: 기본 비율 오류 이해하기 ��������������������������������������������������������
175
		 7.1.3	 분류 적용하기 �����������������������������������������������������������������������������������������������
177
	 7.2	 IDS 성능 개선하기 ����������������������������������������������������������������������������������������������������
179
CONTENTS
21
		 7.2.1	 IDS 탐지 향상시키기 ��������������������������������������������������������������������������������������
179
		 7.2.2	 IDS 대응 향상시키기 ��������������������������������������������������������������������������������������
185
		 7.2.3	 데이터 미리 가져오기 �������������������������������������������������������������������������������������
186
	 7.3	 읽을거리 추천 ����������������������������������������������������������������������������������������������������������
187
CHAPTER 8 참조와 조회: 누군지 파악하는 도구
	 8.1	 MAC과 하드웨어 주소 �����������������������������������������������������������������������������������������������
190
	 8.2	 IP 주소 할당하기 ������������������������������������������������������������������������������������������������������
192
		 8.2.1	 IPv4 주소의 구조와 주요 주소 ��������������������������������������������������������������������������
192
		 8.2.2	 IPv6 주소의 구조와 주요 주소 ��������������������������������������������������������������������������
194
		 8.2.3	 연결 점검: ping을 이용하여 주소에 연결하기 ������������������������������������������������������
196
		 8.2.4	 경로 추적하기 �����������������������������������������������������������������������������������������������
198
		 8.2.5	 IP 정보 수집: 지리적 위치와 인구 통계 정보 �������������������������������������������������������
200
	 8.3	 DNS ����������������������������������������������������������������������������������������������������������������������
201
		 8.3.1	 DNS 이름 구조 ���������������������������������������������������������������������������������������������
202
		 8.3.2	 dig를 이용한 순방향 DNS 질의 �����������������������������������������������������������������������
203
		 8.3.3	 DNS 역조회 �������������������������������������������������������������������������������������������������
212
		 8.3.4	 whois로 소유권 찾기 �������������������������������������������������������������������������������������
213
	 8.4	 추가 참조 도구 ����������������������������������������������������������������������������������������������������������
217
		 8.4.1	 DNSBL ������������������������������������������������������������������������������������������������������
217
CHAPTER 9 기타 도구
	 9.1	 시각화 ��������������������������������������������������������������������������������������������������������������������
221
		 9.1.1	 Graphviz ����������������������������������������������������������������������������������������������������
221
	 9.2	 통신과 프로브 ����������������������������������������������������������������������������������������������������������
225
22
		 9.2.1	 netcat ��������������������������������������������������������������������������������������������������������
225
		 9.2.2	 nmap ���������������������������������������������������������������������������������������������������������
227
		 9.2.3	 Scapy ��������������������������������������������������������������������������������������������������������
228
	 9.3	 패킷 분석 및 조회 ������������������������������������������������������������������������������������������������������
232
		 9.3.1	 와이어샤크 ���������������������������������������������������������������������������������������������������
232
		 9.3.2	 GeoIP ��������������������������������������������������������������������������������������������������������
233
		 9.3.3	 NVD, 악성 사이트, C*E ���������������������������������������������������������������������������������
234
		 9.3.4	 검색 엔진, 메일링 리스트, 사람 �������������������������������������������������������������������������
236
	 9.4	 읽을거리 추천 ����������������������������������������������������������������������������������������������������������
237
CHAPTER 10 탐구적 데이터 분석과 시각화
	 10.1	 EDA의 목표: 분석 적용하기 �������������������������������������������������������������������������������������
243
	 10.2	 EDA 작업 순서 �������������������������������������������������������������������������������������������������������
245
	 10.3	 변수와 시각화 ��������������������������������������������������������������������������������������������������������
247
	 10.4	 일변량 시각화: 히스토그램, QQ 도표, 상자 도표, 계층 도표 ��������������������������������������������
248
		 10.4.1	 히스토그램 �����������������������������������������������������������������������������������������������
249
		 10.4.2	 막대 도표 �������������������������������������������������������������������������������������������������
251
		 10.4.3	 QQ 도표 ��������������������������������������������������������������������������������������������������
252
		 10.4.4	 다섯 가지 수치로 이루어진 요약 정보와 상자 도표 ��������������������������������������������
254
		 10.4.5	 상자 도표 만들기 ���������������������������������������������������������������������������������������
255
	 10.5	 이변량 설명 �����������������������������������������������������������������������������������������������������������
258
		 10.5.1	 산점도 �����������������������������������������������������������������������������������������������������
258
		 10.5.2	 분할표 �����������������������������������������������������������������������������������������������������
261
	 10.6	 다변량 시각화 ��������������������������������������������������������������������������������������������������������
261
CONTENTS
분석Part III
23
		 10.6.1	 보안 시각화를 운영할 수 있게 하는 것 �����������������������������������������������������������
263
	 10.7	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
270
CHAPTER 11 헛발질에 대하여
	 11.1	 공격 모델 ��������������������������������������������������������������������������������������������������������������
272
	 11.2	 헛발질: 잘못된 설정, 자동화, 스캐닝 ���������������������������������������������������������������������������
274
		 11.2.1	 조회 실패 �������������������������������������������������������������������������������������������������
275
		 11.2.2	 자동화 �����������������������������������������������������������������������������������������������������
275
		 11.2.3	 스캐닝 �����������������������������������������������������������������������������������������������������
276
	 11.3	 헛발질 식별하기 ������������������������������������������������������������������������������������������������������
277
		 11.3.1	 TCP 헛발질: 상태 기계 ������������������������������������������������������������������������������
277
		 11.3.2	 ICMP 메시지와 헛발질 �������������������������������������������������������������������������������
281
		 11.3.3	 UDP 헛발질 탐지하기 ��������������������������������������������������������������������������������
282
	 11.4	 서비스 수준에서의 헛발질 �����������������������������������������������������������������������������������������
282
		 11.4.1	 HTTP 헛발질 �������������������������������������������������������������������������������������������
283
		 11.4.2	 SMTP 헛발질 �������������������������������������������������������������������������������������������
285
	 11.5	 헛발질 분석하기 ������������������������������������������������������������������������������������������������������
286
		 11.5.1	 헛발질 경고 만들기 ������������������������������������������������������������������������������������
286
		 11.5.2	 헛발질에 대한 포렌식 분석 ��������������������������������������������������������������������������
287
		 11.5.3	 헛발질에서 이득을 취할 수 있도록 네트워크 개조하기 ���������������������������������������
288
	 11.6	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
289
CHAPTER 12 트래픽 양과 시간 분석
	 12.1	 근무일이 네트워크 트래픽 양에 미치는 영향 �����������������������������������������������������������������
292
	 12.2	 신호 보내기 �����������������������������������������������������������������������������������������������������������
294
24
	 12.3	 파일 전송과 급습 �����������������������������������������������������������������������������������������������������
297
	 12.4	 지역성 ������������������������������������������������������������������������������������������������������������������
301
		 12.4.1	 서비스 거부와 자원 소모 �����������������������������������������������������������������������������
304
		 12.4.2	 디도스와 라우팅 기반 시설 ��������������������������������������������������������������������������
306
	 12.5	 트래픽 양과 지역성 분석 적용하기 ������������������������������������������������������������������������������
311
		 12.5.1	 데이터 선택 ����������������������������������������������������������������������������������������������
311
		 12.5.2	 트래픽 양을 경보로 이용하기 �����������������������������������������������������������������������
314
		 12.5.3	 신호 보내기를 경보로 이용하기 ��������������������������������������������������������������������
315
		 12.5.4	 지역성을 경보로 이용하기 ���������������������������������������������������������������������������
316
		 12.5.5	 엔지니어링 해결책 �������������������������������������������������������������������������������������
316
	 12.6	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
317
CHAPTER 13 그래프 분석
	 13.1	 그래프 속성: 그래프란 무엇인가? �������������������������������������������������������������������������������
319
	 13.2	 라벨 붙이기, 가중치, 경로 �����������������������������������������������������������������������������������������
324
	 13.3	 요소와 연결성 ��������������������������������������������������������������������������������������������������������
330
	 13.4	 클러스터링 계수 ������������������������������������������������������������������������������������������������������
331
	 13.5	 그래프 분석하기 ������������������������������������������������������������������������������������������������������
332
		 13.5.1	 요소 분석을 경보로 이용하기 �����������������������������������������������������������������������
333
		 13.5.2	 포렌식에 구심성 분석 이용하기 ��������������������������������������������������������������������
334
		 13.5.3	 포렌식에 너비 우선 탐색 이용하기 ����������������������������������������������������������������
335
		 13.5.4	 엔지니어링에 구심성 분석 이용하기 ��������������������������������������������������������������
337
	 13.6	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
337
CONTENTS
25
CHAPTER 14 애플리케이션 식별
	 14.1	 애플리케이션 식별 방법 ��������������������������������������������������������������������������������������������
339
		 14.1.1	 포트 번호 �������������������������������������������������������������������������������������������������
340
		 14.1.2	 배너 획득으로 애플리케이션 식별하기 �����������������������������������������������������������
344
		 14.1.3	 행위로 애플리케이션 식별하기 ���������������������������������������������������������������������
347
		 14.1.4	 부수적인 사이트를 통한 애플리케이션 식별 ����������������������������������������������������
352
	 14.2	 애플리케이션 배너: 식별 및 분류 �������������������������������������������������������������������������������
353
		 14.2.1	 웹이 아닌 배너 ������������������������������������������������������������������������������������������
353
		 14.2.2	 웹 클라이언트 배너: User-Agent 문자열 ������������������������������������������������������
354
	 14.3	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
356
CHAPTER 15 네트워크 지도 만들기
	 15.1	 최초 네트워크 장비 목록과 지도 만들기 �����������������������������������������������������������������������
357
		 15.1.1	 장비 목록 만들기: 데이터, 범위, 파일 ������������������������������������������������������������
358
		 15.1.2	 1단계: 첫 질문 세 가지 �������������������������������������������������������������������������������
360
		 15.1.3	 2단계: IP 주소 조사 �����������������������������������������������������������������������������������
363
		 15.1.4	 3단계: 눈먼 그리고 혼란을 일으키는 트래픽 식별하기 ��������������������������������������
368
		 15.1.5	 4단계: 클라이언트와 서버 식별하기 ��������������������������������������������������������������
373
		 15.1.6	 탐지 및 차단 설비 식별하기 �������������������������������������������������������������������������
375
	 15.2	 장비 목록 갱신하기: 지속적인 감사를 향해 �������������������������������������������������������������������
376
	 15.3	 읽을거리 추천 ��������������������������������������������������������������������������������������������������������
376
찾아보기 ���������������������������������������������������������������������������������������������������������������������������������������������������
377
29
효과적인 정보 감시의 시작은 여러 센서가 수집한 데이터다. 이 데이터는 각자의 목적을 가진 수
많은 사람에 의해 서로 다른 형태로 만들어진다. 센서는 네트워크 탭tap
부터 방화벽 로그에 이르
기까지 무엇이든 될 수 있다. 네트워크 정보를 수집하고 네트워크의 보안성을 판단하는 데 사용
될 수 있다면 센서라 할 수 있다. 유용한 센서 시스템을 구성하려면 완전성completeness
과 중복성
redundancy
사이에 균형을 잡아야 한다. 완벽한 센서 시스템은 모두 아우르면서 전혀 중복되지 않
을 것이다. 모두 아우른다는 말은 모든 이벤트가 의미 있게 표현된다는 의미고, 중복되지 않는
다는 말은 센서들이 이벤트 정보를 중복해서 만들지 않는다는 의미다. 달성할 수 없는 목표일지
는 몰라도 감시 솔루션을 어떻게 만들어야 할지 결정하는 지표다.
한 종류의 센서가 모든 일을 수행할 수는 없다. 네트워크 기반 센서는 제공 범위가 넓지만 트래
픽을 조작하면 감지를 피할 수 있으며, 암호화된 트래픽은 분석할 수 없고, 호스트에서의 동작은
어림짐작만 할 수 있을 뿐이다. 호스트 기반 센서는 현상에 대한 정보를 더 광범위하고 정확하게
제공한다. 센서를 효과적으로 조합하기 위해 다음 세 가지 기준으로 센서를 분류할 것이다.
| 감시점vantage
|
네트워크에서 센서의 위치. 다른 감시점을 가진 센서는 같은 이벤트에 대해 서로 다른 부분을 볼
것이다.
센서와 탐지기
CHAPTER 1
30 1부 데이터
| 영역domain
|
호스트, 호스트 내 서비스, 네트워크와 같은 센서의 위치 정보. 감시점은 같지만 영역이 다른
센서는 같은 이벤트에 대해 보완적인 정보를 제공한다. 이벤트에 따라 정보를 한 영역에서만
얻을 수도 있다. 예를 들어 호스트 감시는 누군가 호스트에 물리적으로 접근했는지 알 수 있는
유일한 방법이다.
| 동작action
|
센서가 정보를 보고하는 방식. 센서는 정보를 기록하거나 이벤트를 발생하거나 데이터를 생성
하는 트래픽을 조작하기도 한다. 다르게 동작하는 센서들은 서로 간섭할 가능성이 있다.
1.1 감시점: 센서의 위치가 정보 수집에 미치는 영향
센서의 감시점은 센서가 관찰하게 될 패킷에 대해 알려준다. 감시점은 센서의 위치와 네트워크
의 라우팅 구조를 함께 고려하여 결정한다. [그림 1-1]을 통해 감시점에 영향을 주는 현상을 이해
해보자. 그림에서 알파벳 대문자는 잠재적인 센서의 위치를 나타낸다. 각 센서는 다음과 같이 동
작한다.
A:	라우터를 인터넷과 연결하는 인터페이스를 감시한다.
B:	라우터를 스위치와 연결하는 인터페이스를 감시한다.
C:	라우터를 호스트 128.2.1.1과 연결하는 인터페이스를 감시한다.
D:	호스트 128.1.1.1을 감시한다.
E:	스위치가 운영하는 스패닝 포트를 감시한다. 스패닝 포트는 스위치를 통과하는 모든 트래
픽을 기록한다(스패닝 포트에 대한 자세한 정보는 2.2.4절을 참조하라).
F:	스위치와 허브 사이의 인터페이스를 감시한다.
G:	호스트 128.1.1.2의 HTTP 로그 정보를 수집한다.
H:	허브의 모든 TCP 트래픽을 가로챈다.
311장 센서와 탐지기
그림 1-1 간단한 네트워크의 감시 지점과 그래프 표현
인터넷
(스패닝 포트)
128.2.1.1
(워크스테이션)
128.1.1.1
(워크스테이션)
128.1.1.2
(HTTP 서버)
128.1.1.3-32
(워크스테이션)
그래프 표현
각 센서는 다른 감시점을 가지며, 이 감시점에 따라 다른 트래픽을 살피게 된다. 이를 [그림
1-1]의 오른쪽 아래와 같은 단순한 노드-링크 그래프로 바꾸면 노드를 연결하는 링크들을 추적
하여 네트워크의 감시점을 어림짐작할 수 있다. 링크는 해당 링크를 지나 목적지로 가는 어떠한
트래픽도 기록할 수 있다. [그림 1-1]의 경우는 다음과 같다.
●	A에 있는 센서는 네트워크와 인터넷 사이를 지나는 트래픽만 볼 수 있다. 예를 들어 128.1.1.1
과 128.2.1.1 사이의 트래픽은 볼 수 없다.
●	B에 있는 센서는 그 아래에 속하는 주소 중 하나가 출발지 또는 목적지 주소고, 그 반대 주소
가 128.2.1.1이거나 외부 인터넷에 속하는 주소인 트래픽을 볼 수 있다.
32 1부 데이터
●	C에 있는 센서는 128.2.1.1에서 시작하거나 끝나는 트래픽만 볼 수 있다.
●	D에 있는 센서는 C에 있는 센서와 같이 128.1.1.1에서 시작하거나 끝나는 트래픽만 볼 수
있다.
●	E에 있는 센서는 스위치의 포트들을 지나는 트래픽을 볼 수 있다. 128.1.1.1에서 어디론가
가는 트래픽, 128.1.1.2에서 시작하는 트래픽, 128.1.1.3에서 128.1.1.32 중 허브 외부
와 통신하는 트래픽 등을 볼 수 있다.
●	F에 있는 센서는 E에 있는 센서가 보는 것 중 일부를 보며, 허브 외부의 호스트와 통신하는
128.1.1.3에서 128.1.1.32까지의 트래픽만 본다.
●	G는 HTTP 로그의 특별한 경우다. 이 센서는 128.1.1.2가 서버인 HTTP 트래픽(80 포트
와 443 포트)만 본다.
●	H는 128.1.1.3에서 128.1.1.32 사이의 주소 중 하나가 출발지 또는 목적지인 트래픽뿐
아니라 이 호스트들 사이의 트래픽도 본다.
단일 센서로는 이 네트워크를 전부 살펴볼 수 없다는 사실을 알아야 한다. 게다가 센서를 배치할
때는 중복된 트래픽도 고려해야 한다. 예를 들어 H와 E 지점에 센서를 배치하면 128.1.1.3에서
128.1.1.1까지의 트래픽을 두 번 보게 된다. 올바른 감시점 위치를 선택하려면 트래픽을 모두 볼
수 있는지 여부와 중복된 데이터의 홍수 사이에서 균형을 잘 잡아야 한다.
네트워크에 센서를 배치할 경우 감시점 결정은 세 단계로 진행한다. 네트워크 지도를 획득하고,
잠재적인 감시점 위치를 결정하고, 최적화된 지점을 결정한다.
첫 번째 단계에서는 잠재적인 센서 위치 목록과 함께 네트워크와 어떻게 연결되는지 보여주는
지도를 획득한다. [그림 1-1]은 이 지도의 단순한 버전이다.
두 번째 단계는 각 지점의 감시점을 결정하는 것으로, 네트워크에서 모든 가능한 배치 위치를 파
악하고 각 위치에서 무엇을 볼 수 있는지 판단한다. 이 값은 IP 주소/포트 값의 범위로 표현할
수 있다. [표 1-1]은 [그림 1-1]에 대한 이러한 목록의 한 예다. 그래프를 이용하면 감시점이 무
엇을 보게 될지 추측할 수 있다. 하지만 모델을 정밀하게 구축하려면 라우팅과 네트워킹 하드
웨어에 대한 자세한 정보가 필요하다. 예를 들어 라우터에 대해서는 감시점이 비대칭적인([표
1-1]의 트래픽은 모두 대칭이다) 지점을 찾는 것이 가능하다. 자세한 정보는 2.1절 ‘네트워크
계층 나누기와 계층이 계측에 미치는 영향’을 참조하라.
331장 센서와 탐지기
표 1-1 [그림 1-1]에서의 감시점 목록
감시 지점 출발지 IP 범위 목적지 IP 범위
A 인터넷
128.1,2.1.1-32
128.1,2.1.1-32
인터넷
B 128.1.1.1-32
128.2.1.1, 인터넷
128.2.1.1, 인터넷
128.1.1.1-32
C 128.2.1.1
128.2.1.1-32, 인터넷
128.1.1.1-32, 인터넷
128.2.1.1
D 128.1.1.1
128.1.1.2-32, 128.2.1.1, 인터넷
128.1.1.2-32, 128.2.1.1, 인터넷
128.1.1.1
E 128.1.1.1
128.1.1.2
128.1.1.3-32
128.1.1.2-32, 128.2.1.1, 인터넷
128.1.1.1, 128.1.1.3-32, 128.2.1.1, 인터넷
128.1.1.1-2, 128.2.1.1, 인터넷
F 128.1.1.3-32
128.1.1.1-32, 128.2.1.1, 인터넷
128.1.1.1-2, 128.2.1.1, 인터넷
128.1.1.3-32
G 128.1,2.1.1-32, 인터넷
128.1.1.2:tcp/80
128.1.1.2:tcp/80
128.1,2.1.1-32
H 128.1.1.3-32
128.1.1.1-32, 128.2.1.1, 인터넷
128.1.1.1-32, 128.2.1.1, 인터넷
128.1.1.3-32
마지막 단계에서는 작성한 표의 감시점 중에서 최적화된 지점들을 고른다. 중복을 최소화하는
지점을 고르는 것이 목표다. 예를 들어 센서 E는 센서 F가 제공하는 정보 중 일부를 제공한다.
따라서 이 둘을 모두 포함할 이유는 없다. 감시점을 선택할 때 대부분 어느 정도의 중복은 허용
하게 되는데, 때때로 필터링 규칙으로 제한을 둘 수 있다. 예를 들어 128.1.1.3-32에 해당하는
호스트 사이의 트래픽을 살펴보려면 H 지점을 반드시 계측해야 하고, 이 트래픽은 E, F, B, A
에서도 나타날 것이다. 이들 지점에 있는 센서에 128.1.1.3-32에서 발생하는 트래픽을 감시하
지 않도록 설정하면 중복 문제를 해결할 수 있다.
1.2 영역: 수집할 정보 선택하기
[그림 1-1]에서 센서 G는 다른 센서와 다르다. 다른 센서들은 모든 네트워크 트래픽을 기록하
게 되어 있는 데 반해, 센서 G는 HTTP 트래픽(TCP/80)만을 기록한다. 다른 센서들이 네트워
크 트래픽 정보를 수집한다면 센서 G는 다른 영역에 있는 정보를 수집한다. 센서의 영역이란
기록하는 정보의 범위를 말한다. 센서는 다음 세 가지 영역 중 하나의 정보를 수집할 수 있다.
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기
『데이터 분석을 통한 네트워크 보안』 - 맛보기

Contenu connexe

Similaire à 『데이터 분석을 통한 네트워크 보안』 - 맛보기

[백서] 개인정보관리의 안전방안으로서 NAC
[백서] 개인정보관리의 안전방안으로서 NAC [백서] 개인정보관리의 안전방안으로서 NAC
[백서] 개인정보관리의 안전방안으로서 NAC 지니네트웍스
 
직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기
직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기
직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기양 한빛
 
교육정보서비스 사물인터넷 강의 6주
교육정보서비스 사물인터넷 강의 6주교육정보서비스 사물인터넷 강의 6주
교육정보서비스 사물인터넷 강의 6주JM code group
 
최신 보안 위협 실전 코스, 사이버 레인지 서비스
최신 보안 위협 실전 코스, 사이버 레인지 서비스최신 보안 위협 실전 코스, 사이버 레인지 서비스
최신 보안 위협 실전 코스, 사이버 레인지 서비스CiscoKorea
 
Cybereason v2.10
Cybereason v2.10Cybereason v2.10
Cybereason v2.10Harry Sohn
 
2018 tech trends_and_present_report
2018 tech trends_and_present_report2018 tech trends_and_present_report
2018 tech trends_and_present_reportJUNHEEKIM27
 
『안드로이드 시큐리티 인터널』 - 미리보기
『안드로이드 시큐리티 인터널』 - 미리보기『안드로이드 시큐리티 인터널』 - 미리보기
『안드로이드 시큐리티 인터널』 - 미리보기복연 이
 
강장묵_M2M환경과 망중립성의 위기
강장묵_M2M환경과 망중립성의 위기강장묵_M2M환경과 망중립성의 위기
강장묵_M2M환경과 망중립성의 위기JM code group
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본Lee Sang-Ho
 
Sua 정보보호관리체계 최종_강의교안
Sua 정보보호관리체계 최종_강의교안Sua 정보보호관리체계 최종_강의교안
Sua 정보보호관리체계 최종_강의교안Lee Chanwoo
 
스마트워크 보안 이슈 및 대응
스마트워크 보안 이슈 및 대응스마트워크 보안 이슈 및 대응
스마트워크 보안 이슈 및 대응성원 정
 
이미 와있는 미래와 소프트웨어씽킹
이미 와있는 미래와 소프트웨어씽킹이미 와있는 미래와 소프트웨어씽킹
이미 와있는 미래와 소프트웨어씽킹JeongHeon Lee
 
Skt 스마트폰보안변화관리 제안 20100927_최종
Skt 스마트폰보안변화관리 제안 20100927_최종Skt 스마트폰보안변화관리 제안 20100927_최종
Skt 스마트폰보안변화관리 제안 20100927_최종saymi76 lee
 
사물인터넷 보안 사례 및 대응 방안 2016.11.09
사물인터넷 보안 사례 및 대응 방안   2016.11.09사물인터넷 보안 사례 및 대응 방안   2016.11.09
사물인터넷 보안 사례 및 대응 방안 2016.11.09Hakyong Kim
 
사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책Hakyong Kim
 
비교논문 분석 - 디지털 IoT 도어락 DDiT
비교논문 분석 - 디지털 IoT 도어락 DDiT비교논문 분석 - 디지털 IoT 도어락 DDiT
비교논문 분석 - 디지털 IoT 도어락 DDiT우진 신
 
2014년 ICT 산업 트렌드
2014년 ICT 산업 트렌드2014년 ICT 산업 트렌드
2014년 ICT 산업 트렌드Donghyung Shin
 
당신의 지갑을 노리고 있는 랜섬웨어
당신의 지갑을 노리고 있는 랜섬웨어당신의 지갑을 노리고 있는 랜섬웨어
당신의 지갑을 노리고 있는 랜섬웨어CiscoKorea
 
[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)
[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)
[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)Lee Chanwoo
 

Similaire à 『데이터 분석을 통한 네트워크 보안』 - 맛보기 (20)

[백서] 개인정보관리의 안전방안으로서 NAC
[백서] 개인정보관리의 안전방안으로서 NAC [백서] 개인정보관리의 안전방안으로서 NAC
[백서] 개인정보관리의 안전방안으로서 NAC
 
직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기
직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기
직접 설계하고 만드는 Io t 백신 초급(한빛미디어) _맛보기
 
교육정보서비스 사물인터넷 강의 6주
교육정보서비스 사물인터넷 강의 6주교육정보서비스 사물인터넷 강의 6주
교육정보서비스 사물인터넷 강의 6주
 
02.모의해킹전문가되기
02.모의해킹전문가되기02.모의해킹전문가되기
02.모의해킹전문가되기
 
최신 보안 위협 실전 코스, 사이버 레인지 서비스
최신 보안 위협 실전 코스, 사이버 레인지 서비스최신 보안 위협 실전 코스, 사이버 레인지 서비스
최신 보안 위협 실전 코스, 사이버 레인지 서비스
 
Cybereason v2.10
Cybereason v2.10Cybereason v2.10
Cybereason v2.10
 
2018 tech trends_and_present_report
2018 tech trends_and_present_report2018 tech trends_and_present_report
2018 tech trends_and_present_report
 
『안드로이드 시큐리티 인터널』 - 미리보기
『안드로이드 시큐리티 인터널』 - 미리보기『안드로이드 시큐리티 인터널』 - 미리보기
『안드로이드 시큐리티 인터널』 - 미리보기
 
강장묵_M2M환경과 망중립성의 위기
강장묵_M2M환경과 망중립성의 위기강장묵_M2M환경과 망중립성의 위기
강장묵_M2M환경과 망중립성의 위기
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
 
Sua 정보보호관리체계 최종_강의교안
Sua 정보보호관리체계 최종_강의교안Sua 정보보호관리체계 최종_강의교안
Sua 정보보호관리체계 최종_강의교안
 
스마트워크 보안 이슈 및 대응
스마트워크 보안 이슈 및 대응스마트워크 보안 이슈 및 대응
스마트워크 보안 이슈 및 대응
 
이미 와있는 미래와 소프트웨어씽킹
이미 와있는 미래와 소프트웨어씽킹이미 와있는 미래와 소프트웨어씽킹
이미 와있는 미래와 소프트웨어씽킹
 
Skt 스마트폰보안변화관리 제안 20100927_최종
Skt 스마트폰보안변화관리 제안 20100927_최종Skt 스마트폰보안변화관리 제안 20100927_최종
Skt 스마트폰보안변화관리 제안 20100927_최종
 
사물인터넷 보안 사례 및 대응 방안 2016.11.09
사물인터넷 보안 사례 및 대응 방안   2016.11.09사물인터넷 보안 사례 및 대응 방안   2016.11.09
사물인터넷 보안 사례 및 대응 방안 2016.11.09
 
사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책
 
비교논문 분석 - 디지털 IoT 도어락 DDiT
비교논문 분석 - 디지털 IoT 도어락 DDiT비교논문 분석 - 디지털 IoT 도어락 DDiT
비교논문 분석 - 디지털 IoT 도어락 DDiT
 
2014년 ICT 산업 트렌드
2014년 ICT 산업 트렌드2014년 ICT 산업 트렌드
2014년 ICT 산업 트렌드
 
당신의 지갑을 노리고 있는 랜섬웨어
당신의 지갑을 노리고 있는 랜섬웨어당신의 지갑을 노리고 있는 랜섬웨어
당신의 지갑을 노리고 있는 랜섬웨어
 
[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)
[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)
[이찬우 강사] Hsp 4th industry innovation and financial security fn(20180721)
 

Plus de 복연 이

​『함수형 반응형 프로그래밍』 맛보기
​『함수형 반응형 프로그래밍』 맛보기​『함수형 반응형 프로그래밍』 맛보기
​『함수형 반응형 프로그래밍』 맛보기복연 이
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기복연 이
 
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법복연 이
 
『아마존 웹 서비스 인 액션』 맛보기
『아마존 웹 서비스 인 액션』 맛보기『아마존 웹 서비스 인 액션』 맛보기
『아마존 웹 서비스 인 액션』 맛보기복연 이
 
『행복한 프로그래밍(개정판)』 - 맛보기
『행복한 프로그래밍(개정판)』 - 맛보기『행복한 프로그래밍(개정판)』 - 맛보기
『행복한 프로그래밍(개정판)』 - 맛보기복연 이
 
『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기복연 이
 
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기복연 이
 
『Effective Unit Testing』 - 맛보기
『Effective Unit Testing』 - 맛보기『Effective Unit Testing』 - 맛보기
『Effective Unit Testing』 - 맛보기복연 이
 
『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기
『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기
『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기복연 이
 
『누워서 읽는 알고리즘』 - 미리보기
『누워서 읽는 알고리즘』 - 미리보기『누워서 읽는 알고리즘』 - 미리보기
『누워서 읽는 알고리즘』 - 미리보기복연 이
 
『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기복연 이
 
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도복연 이
 
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기복연 이
 
어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?복연 이
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기복연 이
 
『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기복연 이
 
『임베디드 안드로이드』 - 미리보기
『임베디드 안드로이드』 - 미리보기『임베디드 안드로이드』 - 미리보기
『임베디드 안드로이드』 - 미리보기복연 이
 
『게임을 움직이는 기술과 발상』 - 미리보기
『게임을 움직이는 기술과 발상』 - 미리보기『게임을 움직이는 기술과 발상』 - 미리보기
『게임을 움직이는 기술과 발상』 - 미리보기복연 이
 
개앞맵시 '건방진' 사용 설명서
개앞맵시 '건방진' 사용 설명서개앞맵시 '건방진' 사용 설명서
개앞맵시 '건방진' 사용 설명서복연 이
 

Plus de 복연 이 (19)

​『함수형 반응형 프로그래밍』 맛보기
​『함수형 반응형 프로그래밍』 맛보기​『함수형 반응형 프로그래밍』 맛보기
​『함수형 반응형 프로그래밍』 맛보기
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
 
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
 
『아마존 웹 서비스 인 액션』 맛보기
『아마존 웹 서비스 인 액션』 맛보기『아마존 웹 서비스 인 액션』 맛보기
『아마존 웹 서비스 인 액션』 맛보기
 
『행복한 프로그래밍(개정판)』 - 맛보기
『행복한 프로그래밍(개정판)』 - 맛보기『행복한 프로그래밍(개정판)』 - 맛보기
『행복한 프로그래밍(개정판)』 - 맛보기
 
『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기
 
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
 
『Effective Unit Testing』 - 맛보기
『Effective Unit Testing』 - 맛보기『Effective Unit Testing』 - 맛보기
『Effective Unit Testing』 - 맛보기
 
『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기
『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기
『크리스 크로퍼드의 인터랙티브 스토리텔링』 맛보기
 
『누워서 읽는 알고리즘』 - 미리보기
『누워서 읽는 알고리즘』 - 미리보기『누워서 읽는 알고리즘』 - 미리보기
『누워서 읽는 알고리즘』 - 미리보기
 
『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기
 
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 구성 지도
 
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
 
어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
 
『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기
 
『임베디드 안드로이드』 - 미리보기
『임베디드 안드로이드』 - 미리보기『임베디드 안드로이드』 - 미리보기
『임베디드 안드로이드』 - 미리보기
 
『게임을 움직이는 기술과 발상』 - 미리보기
『게임을 움직이는 기술과 발상』 - 미리보기『게임을 움직이는 기술과 발상』 - 미리보기
『게임을 움직이는 기술과 발상』 - 미리보기
 
개앞맵시 '건방진' 사용 설명서
개앞맵시 '건방진' 사용 설명서개앞맵시 '건방진' 사용 설명서
개앞맵시 '건방진' 사용 설명서
 

『데이터 분석을 통한 네트워크 보안』 - 맛보기

  • 1. 관련 도서 마이클콜린스지음 문성건옮김 마이클 콜린스 지음 문성건 옮김 IoT 시대에 맞는 상황 인식형 보안 구축하기 Network Security Through Data Analysis 데이터분석을통한네트워크보안 모바일 기기의 범람에 IoT까지, 오늘날의 복잡한 네트워크를 보호하려면 전통적인 침입 탐지와 로그 분석만 으로는 충분하지 않다. 이 책에서 보안 전문가인 마이클 콜린스는 점점 더 거대해지는 네트워크에서 트래픽 데이터를 수집, 정리, 분석하는 여러 기법과 도구를 선보인다. 네트워크가 어떻게 이용되는지 이해하고 이를 보호하고 개선하기 위한 조치가 무엇인지 배울 수 있다. 진화하는 네트워크에 대처하는 진보된 보안 기술 예제 소스 http://www.hanbit.co.kr/exam/2258 다양한 도구를 활용하는 방법과 수집한 데이터를 실행 가능한 정보로 통합하는 방법을 자세히 설명하는 책이다. 숙련된 분석가뿐 아니라 주니어 분석가도 이 책이 선보인 응용 분석 기법에 고마워할 것이다. 앙드레 디미노, 조지 워싱턴 대학교 선임 네트워크 보안 엔지니어 성숙해가는 산업 분야에서 네트워크 분석과 포렌식을 다루는 책이 부족하여 아직도 어려움을 겪는다는 사실은 놀랄 만한 일이다. 이 책은 보안 분석이라는 매우 중요한 주제를 밝혀주는 반갑고 유일한 빛이다. 랍비 롭 토머스, Team Cymru CEO 네트워크/보안 정가 30,000원 •네트워크, 호스트, 서비스 센서에서 보안 데이터 얻기 •RDB, 그래프 데이터베이스, 레디스, 하둡에 트래픽 데이터 저장하기 •SiLK, R 등의 도구로 분석 및 시각화하기 •탐구적 데이터 분석으로 이상 현상 탐지하기 •그래프 분석으로 경보와 포렌식 개선하기 •트래픽 양과 행위를 살펴 DDoS와 데이터베이스 급습 검진하기 •네트워크 지도와 장비 목록의 단계별 활용 방법 N e t w o r k S e c u r i t y T h r o u g h D a t a A n a l y s i s
  • 2. www.hanbit.co.kr 이것이 프로그래밍이다! 이것이 안드로이드다 진정한 안드로이드 개발자로 이끌어줍니다. SDK 5.0 롤리팝 호환! 책만 보고, 동영상 강좌로도 만족하지 못했다면 Daum 카페 '슈퍼드로이드'에서 만나요 cafe.daum.net/superdroid 박성근 저 | 1,164쪽 | 45,000원 이것이 C언어다 세상에 없던 새로운 C언어 입문서 탄생! 삼성, LG에서 펼쳐졌던 전설의 명강의를 풀타임 동영상 강좌로! 이보다 더 확실한 방법은 없다, 칠판강의 전체 동영상 강좌 유투브 전격 공개! http://goo.gl/tJK3Tu 서현우 저 | 708쪽 | 25,000원 이것이 자바다 가장 중요한 프로그래밍 언어를 하나 배워야 한다면, 결론은 자바다! 중급 개발자로 나아가기 위한 람다식, JavaFX, NIO 수록 자바의 모든 것을 알려주는 인터넷 강의 궁금한 것은 카페에서! cafe.naver.com/thisisjava 신용권 저 | 1,224쪽 | 30,000원 저자직강동영상 제공!
  • 3. 모던 웹을 위한 JavaScript + jQuery 입문 www.hanbit.co.kr 지금은 모던 웹 시대! HTML5 분야 부동의 1위 도서 HTML5 표준안 확정에 맞춘 완전 개정판의 귀환! HTML5 권고안과 최신 웹 브라우저 환경 대응 윤인성 저 | 624쪽 | 30,000원 모던 웹 디자인을 위한 HTML5 + CSS3 입문 자바스크립트에서 제이쿼리, 제이쿼리 모바일까지 한 권으로 끝낸다! 시대의 흐름에 맞춰 다시 쓴 자바스크립트 교과서 윤인성 저 | 980쪽 | 32,000원 페이스북, 월마트, 링크드인은 왜 Node.js를 선택했는가? 이 물음에 대한 답은 Node.js가 보여주는 빠른 처리 능력 때문이다. 윤인성 저 | 484쪽 | 25,000원 모던 웹을 위한 Node.js 프로그래밍 필요한 것만 배워 바로 현장에서 쓰는 HTML5 순서대로 읽으며 실습할 수 있는 HTML5 자습서 김상형 저 | 700쪽 | 32,000원 HTML5 + CSS3 정복
  • 4.
  • 5.
  • 6. 데이터 분석을 통한 네트워크 보안 : IoT 시대에 맞는 상황 인식형 보안 구축하기 초판발행 2016년 4월 1일 지은이 마이클 콜린스 / 옮긴이 문성건 / 펴낸이 김태헌 펴낸곳 한빛미디어 (주) / 주소 서울시 마포구 양화로 7길 83 한빛미디어(주) IT출판부 전화 02 – 325 – 5544 / 팩스 02 – 336 – 7124 등록 1999년 6월 24일 제10 – 1779호 / ISBN 978 – 89 – 6848 – 258 – 8 93000 총괄 전태호 / 책임편집 김창수 / 기획 이복연 / 교정·조판 김철수 디자인 강은영 영업 김형진, 김진불, 조유미 / 마케팅 박상용, 송경석, 변지영 / 제작 박성우 이 책에 대한 의견이나 오탈자 및 잘못된 내용에 대한 수정 정보는 한빛미디어(주)의 홈페이지나 아래 이메일로 알려주십시오. 잘못된 책은 구입하신 서점에서 교환해드립니다. 책값은 뒤표지에 표시되어 있습니다. 한빛미디어 홈페이지 www.hanbit.co.kr / 이메일 ask@hanbit.co.kr ©2016 Hanbit Media Inc. Authorized Korean translation of the English edition of Network Security Through Data Analysis, ISBN 9781449357900 © 2014 Michael Collins. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. 이 책의 저작권은 오라일리와 한빛미디어(주)에 있습니다. 저작권법에 의해 한국내에서 보호를 받는 저작물이므로 무단전재와 복제를 금합니다. 지금 하지 않으면 할 수 없는 일이 있습니다. 책으로 펴내고 싶은 아이디어나 원고를 메일 ( writer@hanbit.co.kr ) 로 보내주세요. 한빛미디어(주)는 여러분의 소중한 경험과 지식을 기다리고 있습니다. 지은이 마이클 콜린스Michael Collins 워싱턴 D.C에 위치한 네트워크 보안 및 데이터 분석 회사인 RedJack, LLC의 수석 과학자다. 그전에는 카네기 멜론 대학교의 CERT/네트워크 상황 인식 그룹의 엔지니어였다. 콜린스는 네트워크 측정 및 트래픽 분석, 특히 대규모 트래픽 데이터 분석에 관심이 많다. 2008년 카네기 멜론 대학교에서 전기공학 박사 학위를 받았다. 옮긴이 문성건 서울대학교에서 전자공학을 전공하고 동일 대학원에서 전기·컴퓨터공학 석사 과정을 밟았다. 안랩에서 보안 제품 개발에 몸담 았고, 특히 네트워크 보안 제품 개발을 맡으면서 네트워크 보안에 관심이 있다. 현재는 LG전자에 있으며 자동차 보안 분야에 관 심을 두고 있다.
  • 7.
  • 8. 4 표지의 동물은 유럽 쇠황조롱이European Merlin 로 학명은 Falco columbarius다. 북아메리카와 유럽/아시아 의 쇠황조롱이는 실제로 다른 종이라는 논란이 있 다. 칼 리나우스Carl Linnaeus 는 아메리카에서 온 표 본을 가지고 1758년에 최초로 이 새를 분류한 사람이 다. 그 후 1771년에 조류학자인 마마듀크 턴스톨Marmaduke Tunstall 이 유러시안 쇠황조롱이에 별 도의 분류군을 지정하고 『Ornithologica Britannica영국 조류학』란 그의 책에서 이 새를 ‘Falco aesalon’이라고 부르게 되었다. 최근에는 쇠황조롱이의 북아메리카와 유럽종 사이에는 유전적인 차이가 있다고 밝혀져, 이 두 종을 공식적으로 구분해야 한다는 생각을 뒷받침한다. 학자들은 두 종의 분화가 백만 년 전에 일 어났고, 그때 이후로 서로 완전히 독립적으로 존재했다고 믿는다. 쇠황조롱이는 대부분의 다른 작은 매에 비해 크며 1년 중 몸무게가 가장 많이 나갈 때는 거의 1 파운드에 이른다. 암컷이 보통 수컷보다 크며, 이는 포식자 동물에게는 공통적인 현상이다. 이 로써 수컷과 암컷이 다른 종류의 동물을 사냥할 수 있게 되어, 암수 한 쌍이 사는 데 필요한 영역 이 더 좁아도 된다. 쇠황조롱이는 보통 관목지, 숲, 공원, 초원, 황야와 같이 개방된 곳에 산다. 이 새는 키가 작거나 중간 정도인 식물이 자라는 지역을 선호하는데, 이는 이런 지역이 사냥하기 쉽고 버려진 둥지를 찾아서 자기 것으로 삼기 좋기 때문이다. 쇠황조롱이는 겨울에 잿빛개구리 매Hen Harriers 라는 다른 맹금류 새와 함께 무리지어 쉬는 것으로 알려졌다. 5, 6월에 일부일처로 짝을 맺어 번식한다. 종종 까마귀나 까치의 빈 둥지를 이용하지만, 영국에 서는 절벽이나 빌딩 틈에 둥지를 트는 일이 종종 있다. 암컷은 3개에서 6개의 알을 낳으며 28일 에서 32일의 배양 기간을 거쳐 부화한다. 새끼는 4주까지 부모에게 의존하며 그 후 독립한다. 중세에는 사냥에 사용하기 위해 쇠황조롱이의 새끼를 둥지에서 빼내어 손수 길렀다. 『The Book of St. Albans세인트 알반스의 책』라는 신사의 행복에 관한 소책자에는 ‘매사냥’이란 장에 쇠 황조롱이를 언급하며 ‘숙녀를 위한 매’라고 불렀다. 오늘날에도 더 작은 새를 사냥하기 위해 매 표지 설명
  • 9. 5 를 부리는 이들이 이 새를 훈련한다. 하지만 종을 보존하려는 노력으로 이러한 관습은 줄어들고 있다. 쇠황조롱이에게 가장 위협이 되는 것은 서식지, 특히 번식지가 파괴되는 것이다. 하지만 이 새는 정착지에 매우 빠르게 적응하여 성공적으로 살아왔기 때문에 그 숫자는 전 세계적으로 일정하게 유지되고 있다.
  • 10. 6 정보 보안은 크게 엔드 포인트 보안과 네트워크 보안으로 나눌 수 있다. 엔드 포인트 보안은 말 단 정보 기기에서 악성 행위를 방어하는 것으로 악성 코드 진단, 취약점 업데이트 등으로 실행되 는 프로그램을 감시하고 차단하는 데 중점을 둔다. 네트워크 보안은 단말 사이, 네트워크 사이의 트래픽을 감시하여 이상 행위를 감시하고 진단하여 차단하는 역할을 한다. 이 두 분야 모두 공 격자와 방어자 사이에 치열한 두뇌 싸움이 진행되고 있다. 그래서 방어하는 입장에서는 기존에 방어가 잘 이루어졌다고 해서 방심할 수 없는 것이 보안의 속성임을 더욱 절실히 느낀다. 보안 회사에 몸담으면서 처음에는 모바일 단말에서의 엔드 포인트 보안 제품을 개발했고, 최근 에는 네트워크 보안 제품 개발에 몸담게 되었다. 엔드 포인트 보안 제품이란 게 결국 Anti-Virus 제품으로 악성 코드 실행을 탐지하고 차단하는 것이 가장 중요한 일이지만, 점차 진화하는 공격 방법 앞에서는 무력화되고 있는 것이 현실이다. 네트워크 보안 제품 또한 단순히 기술적으로 자 동화되어 일정 패킷의 패턴에 대해 탐지하고 차단하는 방식으로는 변화무쌍한 공격에 그대로 노 출되고 있음을 직접 느끼고 있다. 결국 이러한 공격의 진화에 대처하기 위해서는 단순히 기술을 고도화하는 것뿐 아니라 현장에서 사람이 대응하는 방법에 대해서도 고민해야 한다. 그리고 이를 위해 실제 운영하는 입장에서의 대응 방법이나 문제점을 아는 것이 중요하다. 마침 이 책을 접하면서 실제 보안 제품을 이용하 여 어떻게 네트워크 및 IT 관리자가 이상 행위를 좀 더 스마트하게 탐지하고 차단할 수 있는지 많은 통찰을 얻을 수 있었다. 특히 각종 보안 제품에서 쏟아져 나오는 데이터를 일일이 눈으로 확인하고 대응하는 것이 아니라 데이터 분석에 수학적/통계적 기법을 적용한 점이 인상적이었 다. 즉, 요즘 빅데이터라고 하는 분야의 지식이 네트워크 보안에도 필요하며 앞으로 IT 관리자 가 갖춰야 할 역량 중 하나가 바로 데이터 분석 능력으로 보인다. 보안 제품 또한 이러한 추세에 맞춰 IT 관리자가 데이터 분석을 쉽게 할 수 있도록 각 제품이 가 진 데이터를 분석하여 내놓거나 표준에 맞춰 생산하여 공유할 수 있도록 해야 할 것으로 보인다. 옮긴이의 말
  • 11. 7 이 책은 데이터 분석 기법을 어떻게 네트워크 보안에 접목시킬 수 있는지에 관한 지침을 제시한 다. 하지만 현장의 보안 제품 개발자와 IT 관리자는 이 책의 내용에만 머무르지 말고 현장 업무 에서 더욱 효과적인 적용 방안에 대해 고민하고 발전시켜야 할 것이다. 앞으로도 네트워크 보안, 데이터 분석에 관한 좋은 책이 많이 나오길 기대한다. 문성건
  • 12. 8 이 책은 네트워크를 이야기한다. 더 구체적으로는 네트워크를 감시하고 연구하며 그 결과를 이 용하여 네트워크를 개선하는 방법을 다룬다. 여기서 ‘개선’은 더욱 안전하게 만든다는 의미다. 하지만 우리는 아직 이렇게 자신 있게 말할 수 있는 용어 또는 지식을 충분히 갖추고 있지 않다 고 생각한다. 그래서 우리는 보안을 구현하기 위해 좀 더 정량적이고 설명할 수 있는 어떤 것, 즉 상황 인식situational awareness 을 구축하려 한다. 군사 분야에서 많이 사용되는 용어인 상황 인식은 말 그대로 우리가 활동하는 환경에 대한 이해 를 말한다. 우리 목적에 따르면 상황 인식은 네트워크를 구성하는 요소와 그 요소들이 어떻게 사 용되는지 이해하는 것이다. 이러한 인식은 네트워크가 어떻게 구성되었는지 그리고 원래 어떻게 설계되었는지와 전혀 다른 경우가 많다. 정보 보안에서 상황 인식이 얼마나 중요한지 알려면 여러분 집에 얼마나 많은 웹 서버가 있는 지 세어보길 바란다. 무선 라우터도 포함했는가? 케이블 모뎀은? 프린터는? CUPS(공통 유닉 스 인쇄 시스템)에 붙는 웹 인터페이스는 고려했는가? 텔레비전은 어떤가? 수많은 IT 관리자가 이 중 몇 가지 장치는 ‘웹 서버’로 다루지도 않는다. 하지만 임베디드 웹 서 버는 HTTP 메시지를 전송하고 알려진 취약점을 갖고 있으며, 전용 제어 프로토콜이 웹 인터페 이스로 대체되면서 점차 보편화되고 있다. 공격자는 무엇인지 모른 채 임베디드 시스템을 공격 하게 될 것이다. 예를 들어 스카다(SCADA, 산업용 제어 시스템)는 몇 개의 흥미로운 디렉터 리를 가진 윈도우 서버가 되고, MRI 기계는 완벽하게 동작하는 스팸봇이 될 수 있다. 이 책에서는 네트워크가 어떻게 사용되는지 이해하기 위해 데이터를 수집하고 네트워크를 살펴 볼 것이다. 특히 보안 데이터를 가져와서 조치 가능한 결정을 내리는 데 필요한 분석에 중점을 둔다. 보안과 관련된 결정은 실질적으로 사용자의 행동을 제약하기 때문에 ‘조치 가능한actionable ’ 이란 단어를 강조하고자 한다. 보안 정책에는 사람들에게 하지 말아야 할 것, 또는 좀 더 성가시 게 해야 할 것을 알려주는 것을 포함한다. 예를 들어 ‘회사 자료를 드롭박스에 담아서는 안 된 다’, ‘로그온할 때는 비밀번호와 RSA 동글을 써라’, ‘프로젝트 서버 전체를 복사하여 경쟁사에 팔 지 마라’ 등이 있다. 보안 조치는 사람들이 일하는 방식을 간섭하기 때문에 결정하기 전에 그렇게 이 책에 대하여
  • 13. 9 해야 하는 충분하고 확고한 이유가 있어야 한다. 모든 보안 시스템은 결국 보안을 중요하게 여기고 필요악임을 받아들이는 사용자에 달려 있다. 보안은 사람에 의존한다. 보안은 규칙을 따르는 개별 사용자, 규칙을 언제 위반하는지 살펴보는 분석가와 감시자에 달려 있다. 보안 중 아주 일부만 기술적인 문제다. 정보 보안 분야에는 기술 을 악용하는 새로운 방식을 찾으려는 창의적인 공격자들이 끊이질 않는다. 그 결과 늘 변하는 위협 환경에 맞서기 위해서는 방어하려는 사람과 사용자 모두로부터 협조가 필요하다. 나쁜 보 안 정책을 세우면 사용자는 일을 수행하거나 분풀이를 위해 점차 탐지를 피해가려 할 것이므로 방어하는 이의 일이 더 많아질 것이다. 조치 가능성을 강조하고 보안을 강화한다는 목적이 이 책과 다른 데이터 과학 서적과의 차이점 이다. 분석에 대한 부분은 여러 다른 분야에서 가져온 통계 및 데이터 분석 기법을 적절히 다루 고 있다. 하지만 전체적으로는 네트워크 구조의 이해와 네트워크를 보호하기 위해 내리는 결정 에 중점을 두고 있다. 이를 위해 이론을 최대한 간추렸으며 침해 행위를 찾기 위한 기법도 다루 었다. 보안 분석에는 관찰 대상이 감시받고 있음을 스스로 알 뿐만 아니라, 할 수 있다면 감시 망을 무효화하는 데 적극적이라는 고유한 문제가 있다. MRI와 장군의 노트북 몇 년 전, 대학 병원에서 일하는 분석가와 대화를 나눴다. 그는 네트워크를 차지하는 가장 흔한 기 기가 MRI라고 했다. 생각해보면 그럴 만도 하다. “생각해봐.” 그가 말했다. “이 기계는 의료기기야. 윈도우의 특정 버전을 사용하도록 인증되어 있 지. 그래서 매주 누군가 그 버전의 취약점을 이용해서 공격하고 봇을 설치해. 스팸은 보통 수요일 즈음에 퍼지곤 하지.” 나는 왜 그 기계를 인터넷에서 차단하지 않느냐고 물어보았고, 그는 으쓱 하고는 의사들이 스캔한 데이터에 접속해서 사용하길 원했다고 말했다. 그는 이러한 문제에 봉착 한, 내가 만난 첫 분석가였으나, 마지막은 아니었다. 우리는 의사, 사장, 장군 등 권위가 강한 인물이 있는 조직에서 이러한 문제를 많이 보게 된다.
  • 14. 10 여러분은 보호 장치를 원하는 만큼 많이 만들 수 있지만, 장군이 주말 동안 노트북을 빌려서 손 녀가 네오펫1 을 하며 가지고 놀길 원한다면, 월요일에는 감염된 노트북이 되어 돌아올 것이다. 이제까지 숨겨온 이야기를 하나 꺼내보겠다. 나는 네트워크를 지키기 위한 가장 효과적인 방법 은 보호하고 지켜야 할 것만 보호하고 지키는 것이라고 굳게 믿는다. 정보 보안은 항상 감시하고 조사하는 사람이 필요하므로 이 말은 분명한 사실이다. 공격은 너무 자주 변하고, 방어를 자동 화하면 공격자는 이제 이를 이용하여 역으로 우리를 공격한다.2 나는 보안 분석가로서, 보안은 불편하고, 잘 정의되어야 하고, 제약이 있어야 한다고 굳게 믿는 다. 안전한 시스템의 최후 방어선은 시스템 내의 ‘사람’이기 때문에, 보안은 보호해야 할 자산에 대한 부자연스러운 행위여야 한다. 그리고 보안을 담당하는 사람은 의심을 품어야 하고 편집증 적이어야 하며 수상한 행위를 잘 살펴야 한다. 이는 삶을 행복하게 즐기는 방식이 아니다. 그러 니 삶을 조금이라도 덜 힘들게 하려면 반드시 보호해야 할 것에만 보안을 적용해야 한다. 모든 것을 감시하려고 하면 정말 중요한 것을 보호하는 데 필요한 주의력을 잃게 된다. 보안은 불편한 것이므로, 유능한 보안 분석가라면 미래에 닥칠지 모르는 추상적인 공격을 예방 하기 위해 사람들에게 조금 더 귀찮지만 그동안 일해오던 방식을 바꿔야 함을 설득하고 그들의 직무를 제한할 수 있어야 한다. 이를 위해 분석가는 결정사항을 확인하고 이를 받쳐줄 정보를 만들어서 대중에게 그 위험성을 보여줄 수 있어야 한다. 이 책에서 데이터 분석 과정은 보안 관련 결정을 효과적으로 하기 위해 보안 관련 지식을 쌓는 데 중점을 두고 있다. 이러한 결정은 사건 발생 후에 공격이 왜 발생했는지, 어떻게 성공했는지, 또는 어떤 피해가 일어났는지 판단하기 위해 사건을 재구성하는 포렌식(컴퓨터 법의학)이 될 수 있다. 그리고 속도 제한 장치, 침입 탐지 시스템, 네트워크에 대한 공격자의 영향을 제한하 는 조치 등의 선행 행동이 될 수도 있다. 1 역주_ 어린이용 온라인 애완동물 기르기 게임 2 비밀번호를 x번 잘못 입력하면 자동으로 계정이 잠기며, 이메일 주소를 계정으로 사용한다고 해보자. 이를 이용하면 얼마나 많은 계정을 잠글 수 있는지 생각해보라.
  • 15. 11 대상 독자 정보 보안 분석은 새로운 분야며 ‘이걸 익혀라’라고 꼭 집어서 말할 수 있는 지식 체계가 아직 잘 잡혀 있지 않다. 이 책은 나를 포함한 여러 사람이 지난 십여 년간 경험하여 효과가 있다고 생 각하는 분석 기법의 한 단면을 제공한다. 이 책은 네트워크 관리자와 운영 관련 보안 분석가, 그리고 네트워크 운영 본부(NOC)에서 일 하거나 주기적으로 침입 탐지 시스템(IDS) 콘솔을 다루는 직원을 위해 쓰였다. netstat 같은 TCP/IP 도구를 조금 다뤄보았고 약간의 수학과 통계 지식이 있다면 내용을 이해하는 데 도움 이 될 것이다. 또한 독자가 스크립트 언어에 어느 정도 친숙하길 기대한다. 이 책에서는 도구들을 통합하는 데 파이썬을 주요 언어로 자주 사용한다. 파이썬 코드는 그 자체로 설명할 수 있으며 파이썬 지식이 없더라고 이해할 수 있다. 하지만 여러분만의 언어로 필터나 다른 도구를 만들 수 있는 기술을 가지고 있다고 가정하겠다. 이 책을 집필하는 과정에서 여러 분야의 기법들을 모았다. 가능한 한 출처를 밝혀 원본 자료를 찾아 다른 방법도 더 확인할 수 있도록 하였다. 그중 많은 방법이 수학이나 통계적 추론을 하는 데, 아주 깊게 들어가기보다는 의도적으로 기능적 수준에서 다루었다. 기본적인 통계 지식이 있 다면 이 책을 이해하는 데 도움이 될 것이다. 이 책의 구성 이 책은 데이터, 도구, 분석, 이렇게 총 3부로 구성되었다. 1부 ‘데이터’에서는 데이터를 수집하 고 체계적으로 정리하는 과정을 다룬다. 2부 ‘도구’에서는 분석 과정을 지원하는 여러 도구를 다 룬다. 3부 ‘분석’에서는 여러 분석 시나리오와 기법을 다룬다. 1부에서는 데이터의 수집, 저장, 구조화에 대해 다룬다. 데이터의 저장과 운반은 보안 분석에서 중요한 문제다. 데이터를 수집하기는 쉽지만, 이를 검색하여 실제 현상을 찾는 것은 어렵다. 데 이터는 용량을 차지하며, 전혀 검색할 수 없을 정도로 많은 데이터를 수집할 수도 있다. 1부는
  • 16. 12 다음과 같이 구성되어 있다. | 1장 | 정보 수집의 일반적인 과정을 다룬다. 서로 다른 여러 센서가 정보를 수집하고 보고하는 방식과 그 센서들이 어떻게 상호작용하는지 파악하기 위한 프레임워크를 제공한다. | 2장 | 1장의 논의를 확장해서 트래픽 데이터를 수집하는 센서를 다룬다. tcpdump와 NetFlow 같은 센서는 네트워크 활동 전체를 보여주지만, 네트워크 트래픽을 재구성하기 어려워서 해석에 종종 어려움을 겪는다. | 3장 | 호스트 기반의 침입 탐지 시스템과 HTTP 같은 서비스에서 가져오는 로그처럼, 특정 시스템에 서 작동하는 센서를 다룬다. 이 센서는 네트워크 센서보다 트래픽을 훨씬 적게 살펴보지만, 더 이해하기 쉽고 해석과 추측을 덜 요구하는 데이터를 제공한다. | 4장 | 트래픽 정보를 저장하는 도구와 기법을 다룬다. 도구와 기법에는 전통적인 데이터베이스, 하둡 같은 빅데이터 시스템, 그래프 데이터베이스와 레디스 같은 전문 도구 등이 있다. 2부에서는 분석, 시각화, 보고에 사용할 수 있는 여러 도구를 다룬다. 2부에서 다루는 도구들은 나중에 다양한 분석을 어떻게 수행하는지 이야기할 때 자주 언급할 것이다. | 5장 | SiLK는 카네기 멜론 대학교의 CERT에서 개발한 흐름flow 분석 도구 모음이다. 이 장에서는 SiLK와 NetFlow 데이터를 분석할 때 이 도구를 어떻게 이용하는지 설명한다.
  • 17. 13 | 6장 | R은 상상할 수 있는 대부분의 데이터를 효과적으로 살펴보는 데 사용할 수 있는 통계 및 시각화 환경이다. 이 장에서는 R 환경에 대한 기본적인 배경 지식을 제공하고 기초적인 통계 분석에 이 용하는 방법을 설명한다. | 7장 | 침입 탐지 시스템(IDS)은 트래픽을 살펴보고 수상한 무언가가 확인되면 경보를 울리는 자동화 된 분석 시스템이다. 이 장에서는 IDS의 작동 방식, 탐지 오류가 IDS 경보에 미치는 영향 등을 살펴본다. 그리고 SiLK 같은 도구를 이용한 IDS 구축 혹은 Snort 같은 기존 IDS 설정 방법 등 을 통해 더 나은 IDS 구축 방법을 고민한다. | 8장 | 분석에서 더 보편적이고 어려운 작업 중 하나는 IP 주소가 어디에서 오는지 또는 시그니처가 무 엇을 의미하는지 파악하는 것이다. 이 장에서는 소유권과 주소의 출처, 이름, 그리고 네트워크 트래픽에 포함된 다른 태그를 확인하는 데 사용할 수 있는 도구와 조사 방법을 설명한다. | 9장 | 이전 장에서 다루기에는 적절치 않으나 분석에 유용한 여러 전문 도구를 간단히 다룬다. 전문적 인 시각화 도구, 패킷 생성 및 처리 도구, 그리고 분석가라면 잘 다뤄야 할 다양한 도구 모음을 선보인다. 3부에서는 이 모든 데이터 수집의 목표, 즉 분석에 대해 다룬다. 데이터를 조사하는 데 사용할 수 있는 다양한 트래픽 현상과 수학적 모델을 살펴본다. | 10장 | 탐구적 데이터 분석Exploratory Data Analysis (EDA)은 구조 또는 이상 현상을 파악하기 위해 데이터
  • 18. 14 를 조사하는 과정이다. 보안 데이터는 매우 많이 바뀌기 때문에 EDA는 어느 분석가에게나 필 요한 기술이다. 이 장에서는 데이터를 살펴보는 데 사용되는 기본적인 시각화 및 수학적 기법의 기본이 되는 배경 지식을 제공한다. | 11장 | 커뮤니케이션에서 발생하는 실수와 그 실수가 어떻게 스캐닝과 같은 현상을 파악하는 데 사용되 는지 살펴본다. | 12장 | 시간에 따른 트래픽 양과 트래픽의 움직임을 살펴봄으로써 이루어질 수 있는 분석에 대해 다룬 다. DDoS와 데이터베이스 침해와 같은 공격, 하루 일과가 트래픽 양에 미치는 영향, 분석 결과 를 더 효과적으로 만들기 위해 트래픽 양을 걸러내는 기법 등을 설명한다. | 13장 | 네트워크 트래픽을 그래프 데이터로 전환하고 네트워크에서 의미 있는 구조를 파악하는 데 그래 프가 어떻게 사용되는지 알아본다. 구심성과 같은 그래프 속성은 중요한 호스트 또는 이상 행위 확인에 사용할 수 있다. | 14장 | 네트워크에서 어떤 트래픽이 서비스 포트를 가로질러 가는지 판단하는 기법을 다룬다. 이 기법 에는 포트 번호 확인 같은 간단한 방법뿐 아니라 배너 찾기와 패킷 크기의 기댓값을 보는 방법도 있다. | 15장 | 네트워크의 장비 목록을 만들고 그 네트워크에서 중요한 호스트를 파악하는 단계별 과정을 다 룬다. 네트워크 매핑과 장비 목록은 정보 보안에서 필수적인 과정이고 주기적으로 이루어져야 한다.
  • 19. 15 예제 코드 이 책의 예제 코드는 다음 주소에서 얻을 수 있다. https://github.com/mpcollins/nsda_examples http://hanbit.co.kr/exam/2258 이 책은 독자의 업무를 돕는 것을 목적으로 한다. 일반적으로 이 책의 코드는 독자의 프로그램 과 문서에 사용할 수 있다. 코드 전체의 상당 부분을 복제하지 않는 이상은 필자에게 허가를 구 할 필요는 없다. 예를 들어 이 책에 나온 코드 일부를 사용하여 프로그램을 작성하는 경우에는 허가를 받지 않아도 된다. 반면 예제 코드를 CD에 담아서 판매하거나 배포하려면 허가가 필요 하다. 또한 질문에 답하기 위해 이 책과 예제 코드를 인용할 때는 허가가 필요하지 않지만, 독 자의 제품에 포함된 문서에서 이 책의 예제 코드 상당 부분을 활용하려면 허가가 필요하다. 앞서 이야기한 범위를 벗어난 목적으로 활용하려 한다면 permissions@oreilly.com으로 문의 하기 바란다.
  • 20. 16 우선 편집자인 앤디 오람Andy Oram 의 지원과 피드백에 대해 감사한다. 그가 없었으면 네트워크 감시점에 대한 글을 아직도 수정하고 있었을 것이다. 또한 작업을 완료할 수 있게 해준 보조 편 집자 앨리슨 맥도날드Allyson MacDonald 와 마리아 글릭Maria Gulick 에게 감사드린다. 기술 검토를 해 준 리아논 위버Rhiannon Weaver , 마크 토마스Mark Thomas , 롭 토마스Rob Thomas , 앙드레 디미노André DiMino , 헨리 스턴Henry Stern 에게 감사드린다. 그들의 조언으로 사소한 것을 제거하고 중요한 문 제에 집중할 수 있었다. 실제 운영 현장과 연구소에서 얻은 수많은 경험을 이 책에 담기 위해 두 분야의 많은 이들에게 빚을 지게 되었다. 다음의 모든 분께 감사드린다. 톰 롱스테프Tom Longstaff , 제이 캐다네Jay Kadane , 마이크 라이터Mike Reiter , 존 맥휴John McHugh , 캐리 게이츠Carrie Gates , 팀 시미얼Tim Shimeall , 마커스 데숀Markus DeShon , 짐 다우니Jim Downey , 윌 프랭클린Will Franklin , 샌디 패리스Sandy Parris , 숀 맥칼리 스터Sean McAllister , 그렉 버진Greg Virgin , 스콧 카울Scott Coull , 제프 제니스Jeff Janies , 마이크 위트Mike Witt . 마지막으로 부모님께 감사드린다. 아버지는 이 책을 탈고하기 전에 돌아가셨지만, 나의 설명이 이해될 때까지 끊임없이 질문해주셨다. 마이클 콜린스 감사의 글
  • 21. 17 표지 설명 ����������������������������������������������������������������������������������������������������������������������� 4 옮긴이의 말 �������������������������������������������������������������������������������������������������������������������� 6 이 책에 대하여 ���������������������������������������������������������������������������������������������������������������� 8 감사의 글 ��������������������������������������������������������������������������������������������������������������������� 16 CHAPTER 1 센서와 탐지기 1.1 감시점: 센서의 위치가 정보 수집에 미치는 영향 ���������������������������������������������������������������� 30 1.2 영역: 수집할 정보 선택하기 ������������������������������������������������������������������������������������������ 33 1.3 동작: 센서가 데이터로 하는 일 �������������������������������������������������������������������������������������� 37 1.4 마치며 ���������������������������������������������������������������������������������������������������������������������� 40 CHAPTER 2 네트워크 센서 2.1 네트워크 계층 나누기와 계층이 계측에 미치는 영향 ����������������������������������������������������������� 42 2.1.1 네트워크 계층과 감시점 ������������������������������������������������������������������������������������ 45 2.1.2 네트워크 계층과 어드레싱 ��������������������������������������������������������������������������������� 49 2.2 패킷 데이터 ��������������������������������������������������������������������������������������������������������������� 51 2.2.1 패킷과 프레임 형식 ������������������������������������������������������������������������������������������ 51 2.2.2 회전 버퍼 ������������������������������������������������������������������������������������������������������� 52 2.2.3 패킷에서 추출하는 데이터 제한하기 �������������������������������������������������������������������� 52 2.2.4 특정 유형의 패킷 필터링하기 ����������������������������������������������������������������������������� 52 2.2.5 이더넷이 아니라면 어떤 일이 벌어질까? ��������������������������������������������������������������� 57 2.3 NetFlow ������������������������������������������������������������������������������������������������������������������� 58 CONTENTS 데이터Part I
  • 22. 18 2.3.1 NetFlow v5 형식과 필드 ���������������������������������������������������������������������������������� 58 2.3.2 NetFlow 생성과 수집 �������������������������������������������������������������������������������������� 60 2.4 읽을거리 추천 ������������������������������������������������������������������������������������������������������������ 61 CHAPTER 3 호스트와 서비스 센서: 출발지에서 트래픽 로그 남기기 3.1 로그 파일 접근과 처리 �������������������������������������������������������������������������������������������������� 64 3.2 로그 파일의 내용 ��������������������������������������������������������������������������������������������������������� 67 3.2.1 좋은 로그 메시지의 요건 ����������������������������������������������������������������������������������� 67 3.2.2 로그 파일 다루기 ��������������������������������������������������������������������������������������������� 70 3.3 대표적인 로그 파일 형식 ����������������������������������������������������������������������������������������������� 72 3.3.1 HTTP: CLF와 ELF ����������������������������������������������������������������������������������������� 72 3.3.2 SMTP ����������������������������������������������������������������������������������������������������������� 77 3.3.3 마이크로소프트 익스체인지: 메시지 추적 로그 ������������������������������������������������������ 79 3.4 로그 파일 전송: 전송, syslog, 메시지 큐 ������������������������������������������������������������������������� 80 3.4.1 전송과 로그 파일 순환 교대 ������������������������������������������������������������������������������� 81 3.4.2 syslog ���������������������������������������������������������������������������������������������������������� 81 3.5 읽을거리 추천 ������������������������������������������������������������������������������������������������������������ 83 CHAPTER 4 분석을 위한 데이터 저장: 관계형 데이터베이스, 빅데이터, 그리고 다른 선택 4.1 로그 데이터와 CRUD 패러다임 ������������������������������������������������������������������������������������� 86 4.1.1 잘 조직된 플랫 파일 시스템 만들기: SiLK에서 얻은 교훈 ���������������������������������������� 87 4.2 NoSQL 시스템 소개 ��������������������������������������������������������������������������������������������������� 90 4.3 어떤 저장 방법을 사용해야 하나? ����������������������������������������������������������������������������������� 93 4.3.1 저장 계층, 질의 시간, 에이징 ������������������������������������������������������������������������������ 95 CONTENTS
  • 23. 19 CHAPTER 5 SiLK 패키지 5.1 SiLK는 무엇이며 어떻게 작동하는가? ����������������������������������������������������������������������������� 99 5.2 SiLK 설치하기 ��������������������������������������������������������������������������������������������������������� 100 5.2.1 데이터 파일 �������������������������������������������������������������������������������������������������� 101 5.3 출력 필드 처리 방식을 선택하고 형식 지정하기: rwcut ���������������������������������������������������� 102 5.4 기본 필드 조작: rwfilter ��������������������������������������������������������������������������������������������� 107 5.4.1 포트와 프로토콜 �������������������������������������������������������������������������������������������� 108 5.4.2 크기 ������������������������������������������������������������������������������������������������������������ 110 5.4.3 IP 주소 �������������������������������������������������������������������������������������������������������� 110 5.4.4 시간 ������������������������������������������������������������������������������������������������������������ 112 5.4.5 TCP 옵션 ���������������������������������������������������������������������������������������������������� 112 5.4.6 도움 옵션 ����������������������������������������������������������������������������������������������������� 114 5.4.7 기타 필터링 옵션과 기법 ��������������������������������������������������������������������������������� 115 5.5 rwfileinfo와 그 기원 �������������������������������������������������������������������������������������������������� 116 5.6 정보 흐름 결합하기: rwcount ������������������������������������������������������������������������������������� 118 5.7 rwset과 IP 집합 ������������������������������������������������������������������������������������������������������� 121 5.8 rwuniq ������������������������������������������������������������������������������������������������������������������� 125 5.9 rwbag �������������������������������������������������������������������������������������������������������������������� 127 5.10 고급 SiLK 기능 ������������������������������������������������������������������������������������������������������ 128 5.10.1 pmaps ���������������������������������������������������������������������������������������������������� 128 5.11 SiLK 데이터 수집하기 ��������������������������������������������������������������������������������������������� 131 5.11.1 YAF ��������������������������������������������������������������������������������������������������������� 131 5.11.2 rwptoflow ������������������������������������������������������������������������������������������������ 133 5.11.3 rwtuc ������������������������������������������������������������������������������������������������������ 134 5.12 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 135 도구Part II
  • 24. 20 CHAPTER 6 보안 분석가를 위한 R 소개 6.1 설치 ����������������������������������������������������������������������������������������������������������������������� 138 6.2 R 언어 기초 ������������������������������������������������������������������������������������������������������������ 138 6.2.1 R 프롬프트 ��������������������������������������������������������������������������������������������������� 138 6.2.2 R 변수 ��������������������������������������������������������������������������������������������������������� 140 6.2.3 함수 작성 ����������������������������������������������������������������������������������������������������� 146 6.2.4 조건문과 반복문 �������������������������������������������������������������������������������������������� 148 6.3 R 작업공간 사용하기 ������������������������������������������������������������������������������������������������� 151 6.4 데이터 프레임 ���������������������������������������������������������������������������������������������������������� 152 6.5 시각화 �������������������������������������������������������������������������������������������������������������������� 156 6.5.1 시각화 명령어 ����������������������������������������������������������������������������������������������� 156 6.5.2 시각화 옵션 �������������������������������������������������������������������������������������������������� 156 6.5.3 시각화에 주석 달기 ���������������������������������������������������������������������������������������� 158 6.5.4 시각화 내보내기 �������������������������������������������������������������������������������������������� 160 6.6 분석: 통계 가설 검정 ������������������������������������������������������������������������������������������������� 160 6.6.1 가설 검정 ����������������������������������������������������������������������������������������������������� 160 6.6.2 데이터 검정 �������������������������������������������������������������������������������������������������� 163 6.7 읽을거리 추천 ���������������������������������������������������������������������������������������������������������� 166 CHAPTER 7 분류 및 이벤트 도구: IDS, AV, SEM 7.1 IDS는 어떻게 작동하는가 ������������������������������������������������������������������������������������������� 170 7.1.1 기본 용어 ����������������������������������������������������������������������������������������������������� 170 7.1.2 분류기 실패 비율: 기본 비율 오류 이해하기 �������������������������������������������������������� 175 7.1.3 분류 적용하기 ����������������������������������������������������������������������������������������������� 177 7.2 IDS 성능 개선하기 ���������������������������������������������������������������������������������������������������� 179 CONTENTS
  • 25. 21 7.2.1 IDS 탐지 향상시키기 �������������������������������������������������������������������������������������� 179 7.2.2 IDS 대응 향상시키기 �������������������������������������������������������������������������������������� 185 7.2.3 데이터 미리 가져오기 ������������������������������������������������������������������������������������� 186 7.3 읽을거리 추천 ���������������������������������������������������������������������������������������������������������� 187 CHAPTER 8 참조와 조회: 누군지 파악하는 도구 8.1 MAC과 하드웨어 주소 ����������������������������������������������������������������������������������������������� 190 8.2 IP 주소 할당하기 ������������������������������������������������������������������������������������������������������ 192 8.2.1 IPv4 주소의 구조와 주요 주소 �������������������������������������������������������������������������� 192 8.2.2 IPv6 주소의 구조와 주요 주소 �������������������������������������������������������������������������� 194 8.2.3 연결 점검: ping을 이용하여 주소에 연결하기 ������������������������������������������������������ 196 8.2.4 경로 추적하기 ����������������������������������������������������������������������������������������������� 198 8.2.5 IP 정보 수집: 지리적 위치와 인구 통계 정보 ������������������������������������������������������� 200 8.3 DNS ���������������������������������������������������������������������������������������������������������������������� 201 8.3.1 DNS 이름 구조 ��������������������������������������������������������������������������������������������� 202 8.3.2 dig를 이용한 순방향 DNS 질의 ����������������������������������������������������������������������� 203 8.3.3 DNS 역조회 ������������������������������������������������������������������������������������������������� 212 8.3.4 whois로 소유권 찾기 ������������������������������������������������������������������������������������� 213 8.4 추가 참조 도구 ���������������������������������������������������������������������������������������������������������� 217 8.4.1 DNSBL ������������������������������������������������������������������������������������������������������ 217 CHAPTER 9 기타 도구 9.1 시각화 �������������������������������������������������������������������������������������������������������������������� 221 9.1.1 Graphviz ���������������������������������������������������������������������������������������������������� 221 9.2 통신과 프로브 ���������������������������������������������������������������������������������������������������������� 225
  • 26. 22 9.2.1 netcat �������������������������������������������������������������������������������������������������������� 225 9.2.2 nmap ��������������������������������������������������������������������������������������������������������� 227 9.2.3 Scapy �������������������������������������������������������������������������������������������������������� 228 9.3 패킷 분석 및 조회 ������������������������������������������������������������������������������������������������������ 232 9.3.1 와이어샤크 ��������������������������������������������������������������������������������������������������� 232 9.3.2 GeoIP �������������������������������������������������������������������������������������������������������� 233 9.3.3 NVD, 악성 사이트, C*E ��������������������������������������������������������������������������������� 234 9.3.4 검색 엔진, 메일링 리스트, 사람 ������������������������������������������������������������������������� 236 9.4 읽을거리 추천 ���������������������������������������������������������������������������������������������������������� 237 CHAPTER 10 탐구적 데이터 분석과 시각화 10.1 EDA의 목표: 분석 적용하기 ������������������������������������������������������������������������������������� 243 10.2 EDA 작업 순서 ������������������������������������������������������������������������������������������������������� 245 10.3 변수와 시각화 �������������������������������������������������������������������������������������������������������� 247 10.4 일변량 시각화: 히스토그램, QQ 도표, 상자 도표, 계층 도표 �������������������������������������������� 248 10.4.1 히스토그램 ����������������������������������������������������������������������������������������������� 249 10.4.2 막대 도표 ������������������������������������������������������������������������������������������������� 251 10.4.3 QQ 도표 �������������������������������������������������������������������������������������������������� 252 10.4.4 다섯 가지 수치로 이루어진 요약 정보와 상자 도표 �������������������������������������������� 254 10.4.5 상자 도표 만들기 ��������������������������������������������������������������������������������������� 255 10.5 이변량 설명 ����������������������������������������������������������������������������������������������������������� 258 10.5.1 산점도 ����������������������������������������������������������������������������������������������������� 258 10.5.2 분할표 ����������������������������������������������������������������������������������������������������� 261 10.6 다변량 시각화 �������������������������������������������������������������������������������������������������������� 261 CONTENTS 분석Part III
  • 27. 23 10.6.1 보안 시각화를 운영할 수 있게 하는 것 ����������������������������������������������������������� 263 10.7 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 270 CHAPTER 11 헛발질에 대하여 11.1 공격 모델 �������������������������������������������������������������������������������������������������������������� 272 11.2 헛발질: 잘못된 설정, 자동화, 스캐닝 ��������������������������������������������������������������������������� 274 11.2.1 조회 실패 ������������������������������������������������������������������������������������������������� 275 11.2.2 자동화 ����������������������������������������������������������������������������������������������������� 275 11.2.3 스캐닝 ����������������������������������������������������������������������������������������������������� 276 11.3 헛발질 식별하기 ������������������������������������������������������������������������������������������������������ 277 11.3.1 TCP 헛발질: 상태 기계 ������������������������������������������������������������������������������ 277 11.3.2 ICMP 메시지와 헛발질 ������������������������������������������������������������������������������� 281 11.3.3 UDP 헛발질 탐지하기 �������������������������������������������������������������������������������� 282 11.4 서비스 수준에서의 헛발질 ����������������������������������������������������������������������������������������� 282 11.4.1 HTTP 헛발질 ������������������������������������������������������������������������������������������� 283 11.4.2 SMTP 헛발질 ������������������������������������������������������������������������������������������� 285 11.5 헛발질 분석하기 ������������������������������������������������������������������������������������������������������ 286 11.5.1 헛발질 경고 만들기 ������������������������������������������������������������������������������������ 286 11.5.2 헛발질에 대한 포렌식 분석 �������������������������������������������������������������������������� 287 11.5.3 헛발질에서 이득을 취할 수 있도록 네트워크 개조하기 ��������������������������������������� 288 11.6 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 289 CHAPTER 12 트래픽 양과 시간 분석 12.1 근무일이 네트워크 트래픽 양에 미치는 영향 ����������������������������������������������������������������� 292 12.2 신호 보내기 ����������������������������������������������������������������������������������������������������������� 294
  • 28. 24 12.3 파일 전송과 급습 ����������������������������������������������������������������������������������������������������� 297 12.4 지역성 ������������������������������������������������������������������������������������������������������������������ 301 12.4.1 서비스 거부와 자원 소모 ����������������������������������������������������������������������������� 304 12.4.2 디도스와 라우팅 기반 시설 �������������������������������������������������������������������������� 306 12.5 트래픽 양과 지역성 분석 적용하기 ������������������������������������������������������������������������������ 311 12.5.1 데이터 선택 ���������������������������������������������������������������������������������������������� 311 12.5.2 트래픽 양을 경보로 이용하기 ����������������������������������������������������������������������� 314 12.5.3 신호 보내기를 경보로 이용하기 �������������������������������������������������������������������� 315 12.5.4 지역성을 경보로 이용하기 ��������������������������������������������������������������������������� 316 12.5.5 엔지니어링 해결책 ������������������������������������������������������������������������������������� 316 12.6 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 317 CHAPTER 13 그래프 분석 13.1 그래프 속성: 그래프란 무엇인가? ������������������������������������������������������������������������������� 319 13.2 라벨 붙이기, 가중치, 경로 ����������������������������������������������������������������������������������������� 324 13.3 요소와 연결성 �������������������������������������������������������������������������������������������������������� 330 13.4 클러스터링 계수 ������������������������������������������������������������������������������������������������������ 331 13.5 그래프 분석하기 ������������������������������������������������������������������������������������������������������ 332 13.5.1 요소 분석을 경보로 이용하기 ����������������������������������������������������������������������� 333 13.5.2 포렌식에 구심성 분석 이용하기 �������������������������������������������������������������������� 334 13.5.3 포렌식에 너비 우선 탐색 이용하기 ���������������������������������������������������������������� 335 13.5.4 엔지니어링에 구심성 분석 이용하기 �������������������������������������������������������������� 337 13.6 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 337 CONTENTS
  • 29. 25 CHAPTER 14 애플리케이션 식별 14.1 애플리케이션 식별 방법 �������������������������������������������������������������������������������������������� 339 14.1.1 포트 번호 ������������������������������������������������������������������������������������������������� 340 14.1.2 배너 획득으로 애플리케이션 식별하기 ����������������������������������������������������������� 344 14.1.3 행위로 애플리케이션 식별하기 ��������������������������������������������������������������������� 347 14.1.4 부수적인 사이트를 통한 애플리케이션 식별 ���������������������������������������������������� 352 14.2 애플리케이션 배너: 식별 및 분류 ������������������������������������������������������������������������������� 353 14.2.1 웹이 아닌 배너 ������������������������������������������������������������������������������������������ 353 14.2.2 웹 클라이언트 배너: User-Agent 문자열 ������������������������������������������������������ 354 14.3 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 356 CHAPTER 15 네트워크 지도 만들기 15.1 최초 네트워크 장비 목록과 지도 만들기 ����������������������������������������������������������������������� 357 15.1.1 장비 목록 만들기: 데이터, 범위, 파일 ������������������������������������������������������������ 358 15.1.2 1단계: 첫 질문 세 가지 ������������������������������������������������������������������������������� 360 15.1.3 2단계: IP 주소 조사 ����������������������������������������������������������������������������������� 363 15.1.4 3단계: 눈먼 그리고 혼란을 일으키는 트래픽 식별하기 �������������������������������������� 368 15.1.5 4단계: 클라이언트와 서버 식별하기 �������������������������������������������������������������� 373 15.1.6 탐지 및 차단 설비 식별하기 ������������������������������������������������������������������������� 375 15.2 장비 목록 갱신하기: 지속적인 감사를 향해 ������������������������������������������������������������������� 376 15.3 읽을거리 추천 �������������������������������������������������������������������������������������������������������� 376 찾아보기 ��������������������������������������������������������������������������������������������������������������������������������������������������� 377
  • 30.
  • 31. 29 효과적인 정보 감시의 시작은 여러 센서가 수집한 데이터다. 이 데이터는 각자의 목적을 가진 수 많은 사람에 의해 서로 다른 형태로 만들어진다. 센서는 네트워크 탭tap 부터 방화벽 로그에 이르 기까지 무엇이든 될 수 있다. 네트워크 정보를 수집하고 네트워크의 보안성을 판단하는 데 사용 될 수 있다면 센서라 할 수 있다. 유용한 센서 시스템을 구성하려면 완전성completeness 과 중복성 redundancy 사이에 균형을 잡아야 한다. 완벽한 센서 시스템은 모두 아우르면서 전혀 중복되지 않 을 것이다. 모두 아우른다는 말은 모든 이벤트가 의미 있게 표현된다는 의미고, 중복되지 않는 다는 말은 센서들이 이벤트 정보를 중복해서 만들지 않는다는 의미다. 달성할 수 없는 목표일지 는 몰라도 감시 솔루션을 어떻게 만들어야 할지 결정하는 지표다. 한 종류의 센서가 모든 일을 수행할 수는 없다. 네트워크 기반 센서는 제공 범위가 넓지만 트래 픽을 조작하면 감지를 피할 수 있으며, 암호화된 트래픽은 분석할 수 없고, 호스트에서의 동작은 어림짐작만 할 수 있을 뿐이다. 호스트 기반 센서는 현상에 대한 정보를 더 광범위하고 정확하게 제공한다. 센서를 효과적으로 조합하기 위해 다음 세 가지 기준으로 센서를 분류할 것이다. | 감시점vantage | 네트워크에서 센서의 위치. 다른 감시점을 가진 센서는 같은 이벤트에 대해 서로 다른 부분을 볼 것이다. 센서와 탐지기 CHAPTER 1
  • 32. 30 1부 데이터 | 영역domain | 호스트, 호스트 내 서비스, 네트워크와 같은 센서의 위치 정보. 감시점은 같지만 영역이 다른 센서는 같은 이벤트에 대해 보완적인 정보를 제공한다. 이벤트에 따라 정보를 한 영역에서만 얻을 수도 있다. 예를 들어 호스트 감시는 누군가 호스트에 물리적으로 접근했는지 알 수 있는 유일한 방법이다. | 동작action | 센서가 정보를 보고하는 방식. 센서는 정보를 기록하거나 이벤트를 발생하거나 데이터를 생성 하는 트래픽을 조작하기도 한다. 다르게 동작하는 센서들은 서로 간섭할 가능성이 있다. 1.1 감시점: 센서의 위치가 정보 수집에 미치는 영향 센서의 감시점은 센서가 관찰하게 될 패킷에 대해 알려준다. 감시점은 센서의 위치와 네트워크 의 라우팅 구조를 함께 고려하여 결정한다. [그림 1-1]을 통해 감시점에 영향을 주는 현상을 이해 해보자. 그림에서 알파벳 대문자는 잠재적인 센서의 위치를 나타낸다. 각 센서는 다음과 같이 동 작한다. A: 라우터를 인터넷과 연결하는 인터페이스를 감시한다. B: 라우터를 스위치와 연결하는 인터페이스를 감시한다. C: 라우터를 호스트 128.2.1.1과 연결하는 인터페이스를 감시한다. D: 호스트 128.1.1.1을 감시한다. E: 스위치가 운영하는 스패닝 포트를 감시한다. 스패닝 포트는 스위치를 통과하는 모든 트래 픽을 기록한다(스패닝 포트에 대한 자세한 정보는 2.2.4절을 참조하라). F: 스위치와 허브 사이의 인터페이스를 감시한다. G: 호스트 128.1.1.2의 HTTP 로그 정보를 수집한다. H: 허브의 모든 TCP 트래픽을 가로챈다.
  • 33. 311장 센서와 탐지기 그림 1-1 간단한 네트워크의 감시 지점과 그래프 표현 인터넷 (스패닝 포트) 128.2.1.1 (워크스테이션) 128.1.1.1 (워크스테이션) 128.1.1.2 (HTTP 서버) 128.1.1.3-32 (워크스테이션) 그래프 표현 각 센서는 다른 감시점을 가지며, 이 감시점에 따라 다른 트래픽을 살피게 된다. 이를 [그림 1-1]의 오른쪽 아래와 같은 단순한 노드-링크 그래프로 바꾸면 노드를 연결하는 링크들을 추적 하여 네트워크의 감시점을 어림짐작할 수 있다. 링크는 해당 링크를 지나 목적지로 가는 어떠한 트래픽도 기록할 수 있다. [그림 1-1]의 경우는 다음과 같다. ● A에 있는 센서는 네트워크와 인터넷 사이를 지나는 트래픽만 볼 수 있다. 예를 들어 128.1.1.1 과 128.2.1.1 사이의 트래픽은 볼 수 없다. ● B에 있는 센서는 그 아래에 속하는 주소 중 하나가 출발지 또는 목적지 주소고, 그 반대 주소 가 128.2.1.1이거나 외부 인터넷에 속하는 주소인 트래픽을 볼 수 있다.
  • 34. 32 1부 데이터 ● C에 있는 센서는 128.2.1.1에서 시작하거나 끝나는 트래픽만 볼 수 있다. ● D에 있는 센서는 C에 있는 센서와 같이 128.1.1.1에서 시작하거나 끝나는 트래픽만 볼 수 있다. ● E에 있는 센서는 스위치의 포트들을 지나는 트래픽을 볼 수 있다. 128.1.1.1에서 어디론가 가는 트래픽, 128.1.1.2에서 시작하는 트래픽, 128.1.1.3에서 128.1.1.32 중 허브 외부 와 통신하는 트래픽 등을 볼 수 있다. ● F에 있는 센서는 E에 있는 센서가 보는 것 중 일부를 보며, 허브 외부의 호스트와 통신하는 128.1.1.3에서 128.1.1.32까지의 트래픽만 본다. ● G는 HTTP 로그의 특별한 경우다. 이 센서는 128.1.1.2가 서버인 HTTP 트래픽(80 포트 와 443 포트)만 본다. ● H는 128.1.1.3에서 128.1.1.32 사이의 주소 중 하나가 출발지 또는 목적지인 트래픽뿐 아니라 이 호스트들 사이의 트래픽도 본다. 단일 센서로는 이 네트워크를 전부 살펴볼 수 없다는 사실을 알아야 한다. 게다가 센서를 배치할 때는 중복된 트래픽도 고려해야 한다. 예를 들어 H와 E 지점에 센서를 배치하면 128.1.1.3에서 128.1.1.1까지의 트래픽을 두 번 보게 된다. 올바른 감시점 위치를 선택하려면 트래픽을 모두 볼 수 있는지 여부와 중복된 데이터의 홍수 사이에서 균형을 잘 잡아야 한다. 네트워크에 센서를 배치할 경우 감시점 결정은 세 단계로 진행한다. 네트워크 지도를 획득하고, 잠재적인 감시점 위치를 결정하고, 최적화된 지점을 결정한다. 첫 번째 단계에서는 잠재적인 센서 위치 목록과 함께 네트워크와 어떻게 연결되는지 보여주는 지도를 획득한다. [그림 1-1]은 이 지도의 단순한 버전이다. 두 번째 단계는 각 지점의 감시점을 결정하는 것으로, 네트워크에서 모든 가능한 배치 위치를 파 악하고 각 위치에서 무엇을 볼 수 있는지 판단한다. 이 값은 IP 주소/포트 값의 범위로 표현할 수 있다. [표 1-1]은 [그림 1-1]에 대한 이러한 목록의 한 예다. 그래프를 이용하면 감시점이 무 엇을 보게 될지 추측할 수 있다. 하지만 모델을 정밀하게 구축하려면 라우팅과 네트워킹 하드 웨어에 대한 자세한 정보가 필요하다. 예를 들어 라우터에 대해서는 감시점이 비대칭적인([표 1-1]의 트래픽은 모두 대칭이다) 지점을 찾는 것이 가능하다. 자세한 정보는 2.1절 ‘네트워크 계층 나누기와 계층이 계측에 미치는 영향’을 참조하라.
  • 35. 331장 센서와 탐지기 표 1-1 [그림 1-1]에서의 감시점 목록 감시 지점 출발지 IP 범위 목적지 IP 범위 A 인터넷 128.1,2.1.1-32 128.1,2.1.1-32 인터넷 B 128.1.1.1-32 128.2.1.1, 인터넷 128.2.1.1, 인터넷 128.1.1.1-32 C 128.2.1.1 128.2.1.1-32, 인터넷 128.1.1.1-32, 인터넷 128.2.1.1 D 128.1.1.1 128.1.1.2-32, 128.2.1.1, 인터넷 128.1.1.2-32, 128.2.1.1, 인터넷 128.1.1.1 E 128.1.1.1 128.1.1.2 128.1.1.3-32 128.1.1.2-32, 128.2.1.1, 인터넷 128.1.1.1, 128.1.1.3-32, 128.2.1.1, 인터넷 128.1.1.1-2, 128.2.1.1, 인터넷 F 128.1.1.3-32 128.1.1.1-32, 128.2.1.1, 인터넷 128.1.1.1-2, 128.2.1.1, 인터넷 128.1.1.3-32 G 128.1,2.1.1-32, 인터넷 128.1.1.2:tcp/80 128.1.1.2:tcp/80 128.1,2.1.1-32 H 128.1.1.3-32 128.1.1.1-32, 128.2.1.1, 인터넷 128.1.1.1-32, 128.2.1.1, 인터넷 128.1.1.3-32 마지막 단계에서는 작성한 표의 감시점 중에서 최적화된 지점들을 고른다. 중복을 최소화하는 지점을 고르는 것이 목표다. 예를 들어 센서 E는 센서 F가 제공하는 정보 중 일부를 제공한다. 따라서 이 둘을 모두 포함할 이유는 없다. 감시점을 선택할 때 대부분 어느 정도의 중복은 허용 하게 되는데, 때때로 필터링 규칙으로 제한을 둘 수 있다. 예를 들어 128.1.1.3-32에 해당하는 호스트 사이의 트래픽을 살펴보려면 H 지점을 반드시 계측해야 하고, 이 트래픽은 E, F, B, A 에서도 나타날 것이다. 이들 지점에 있는 센서에 128.1.1.3-32에서 발생하는 트래픽을 감시하 지 않도록 설정하면 중복 문제를 해결할 수 있다. 1.2 영역: 수집할 정보 선택하기 [그림 1-1]에서 센서 G는 다른 센서와 다르다. 다른 센서들은 모든 네트워크 트래픽을 기록하 게 되어 있는 데 반해, 센서 G는 HTTP 트래픽(TCP/80)만을 기록한다. 다른 센서들이 네트워 크 트래픽 정보를 수집한다면 센서 G는 다른 영역에 있는 정보를 수집한다. 센서의 영역이란 기록하는 정보의 범위를 말한다. 센서는 다음 세 가지 영역 중 하나의 정보를 수집할 수 있다.