해킹 입문자를 위한 TCP/IP 이론과 보안
- 지은이오동진
- ISBN : 9788960778474
- 25,000원
- 2016년 04월 27일 펴냄 (절판)
- 페이퍼백 | 284쪽 | 188*235mm
- 시리즈 : 해킹과 보안
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
해킹은 전산 시스템을 대상으로 수행하는 만큼 전산 시스템 체계를 구성하는 요소를 정확하게 파악할 필요가 있다. TCP/IP 네트워크는 전산 시스템 체계에서 가장 하위 계층에 속하는 분야다. 따라서 보안 입문자가 TCP/IP 네트워크를 학습한다는 것은 곧 해킹 학습의 출발점에 있다는 의미이기도 하다. 이 책은 보안 입문자가 무난하게 접근할 수 있는 윈도우 운영 체제를 기반으로 TCP/IP 네트워크 전반을 설명한 뒤 TCP/IP 프로토콜을 계층별 데이터 전송 단위를 중심으로 각 계층의 기능과 특징을 설명했다. 또한 TCP/IP 프로토콜 구성과 동작을 기반으로 TCP/IP 네트워크의 취약점과 다양한 공격 유형을 설명했다.
추천의 글
어렵고 힘든 분야이지만 처음부터 어려운 방법으로 시작할 필요는 없다고 생각합니다.
이 책을 검토하면서 본문의 서술 방식이라면 기초 지식이 전혀 없는 사람일지라도 충분히 이해시킬 수 있겠다는 생각이 들었고, 동시에 이제까지 제가 알고 있던 지식을 다시 한 번 정리할 수 있었던 기회이기도 했습니다. 위키백과를 검색하거나 대학교에서 TCP/IP 네트워크 수업 시간에 영문 서적을 읽는 시간 또는 직접 RFC 문서를 통해 습득하는 과정에서 무수하게 시행착오를 경험해야 했던 나에게 이 책은 무척이나 이해하기 쉬운 지식 전달 체계로 이루어진 책이라고 느껴졌습니다. 이 책에서 접근하는 관점은 용어나 기초 이론에 익숙해지기가 어려운 TCP/IP 네트워크를 쉽고 빠르게 배울 수 있는 방법을 제공합니다. 또한 이 책은 짧은 시간 안에 TCP/IP 이론과 보안을 익힐 뿐만 아니라, 향후 고급 해킹 분야를 익힐 수 있는 기반 지식을 풍부하게 담았다고 생각합니다.
저자와는 하이텔 근무를 통해 지금까지 15년 넘게 인연을 맺었는데 당시 저자는 TCP/IP 분야의 백지 상태였습니다. 그런 저자가 이런 책을 집필했다는 사실이 새삼 놀랍기만 합니다. 또한 저자의 이런 출발 상태가 있었기에 그 어떤 책보다도 입문자를 배려한 서술 방식이 돋보였습니다. 아주 쉬운 내용에서 시작해 반복적인 설명 방식으로 난이도 있는 내용까지 자연스럽게 이어지는 전개 방식은 내가 그동안 지켜본 저자의 지적 진화 과정을 고스란히 투영했습니다.
이 책을 통해 좀 더 많은 사이버 보안 입문자들이 고급 전문가로 성장할 수 있는 밑거름이 되었으면 하는 바람입니다.
-최정용 / LG 전자 HE 연구소 WebOS TV 개발자
2008년 어느 날, 컴퓨터 네트워크에 대한 전문성을 더 높이기 위해 네트워크 관리자 과정을 수강하러 갔다. 교육 담당자가 네트워크 강사라고 소개해준 다소 왜소한 체격에 안경을 쓴, 지금 이 책의 저자이신 오동진 선생님의 첫인상은 사람들에게 친근하게 다가가려는 다소 편안한 그런 모습이었다.
하지만 이윽고 강의가 시작되자 선생님의 친근한 모습은 사라지고 열정적인 전문가의 모습으로 네트워크에 대한 자신의 지식을 쏟아냈다. 그러한 첫 강의는 당시 네트워크와 해킹 관련 전문가를 꿈꾸며 느리지만 계속 공부를 하던 나에게 그 방대한 영역에 대한 내 지식의 미천함을 여실히 느끼게 해줬다.
선생님 지식의 깊이와 나의 부족한 느낌의 결정판은 바로 중반쯤 이루어진 TCP/IP 내용이었다. 아직은 정보 처리 기사 정도를 따고 관련 자료를 읽는 수준이었던 나는 TCP/IP 한 개 계층만으로도 수 시간 이상 강의를 하며 그것도 시간이 부족하다는 말에 소위 멘붕이 왔다.
나에게는 어려운 강의였지만 오 선생님은 열정적으로 강의를 하셨고, 전국에서 모인 각 부처 네트워크 담당 공무원들은 열심히 강의를 들으며 질문과 답변을 수시로 주고받았다. 나는 그런 열정적인 오 선생님의 모습에 많은 느낌을 받았고 강의가 끝난 후에도 내가 모르는 부분을 여쭤보았다. 강의 기간이 끝났음에도 선생님은 언제나 친절하게 답변해주셨다.
그런 오 선생님으로부터 이번에 새로 쓰신다는 TCP/IP 원고 초안을 받아보았다. 원고 구석구석에 2008년 당시 수강생을 배려하고자 하는 오 선생님의 편안한 모습과 함께 자신의 지식을 조금이라도 더 전달하려는 열정적인 강의 모습이 보이는 듯했다.
입문자를 위한 책이라는 저술 목적답게 입문자를 위한 세심한 배려가 돋보이는 이 책은 사이버 보안에 입문하려는 분들이라면 일독을 권하고 싶다.
-이상현 / 전 중앙 경찰 학교 교수, 현 서울 지방 경찰청 기동 본부 장비 과장
오동진 강사님은 어려운 내용도 항상 쉽게 설명하시는 능력이 있습니다. TCP/IP 분야는 우리가 쓰는 인터넷의 가장 기본이 되는 프로토콜이니만큼 굳이 개발을 공부하지 않는다고 할지라도 전산 분야 입문자나 근무자 또는 해커 지망생이라면 꼭 알아야 합니다. 쉽게 가르치는 것이 특기이신 오 강사님께서 알기 쉽게 설명해주고 있습니다.
많은 분들이 이 책을 통해 TCP/IP 이론과 보안에 대해 좀 더 체계적으로 이해하고 실무에서 적극적으로 활용할 수 있는 계기가 되었으면 합니다.
-박찬규 / 한국 지역 정보 개발원 개발자 겸 운영자
이 책에서 다루는 내용
입문자를 고려해 윈도우 명령 프롬프트를 중심으로 TCP/IP 기초 동작부터 설명
여러 장에 걸쳐 다양한 관점으로 반복적으로 설명하는 나선형 방식을 채택
송신을 기준으로 하향식 방식에 따라 TCP/IP 방식의 계층별 기능 설명
수신을 기준으로 상향식 방식에 따라 TCP/IP 방식의 계층별 약점 설명
TCP/IP 방식의 계층적 구조에 따라 VPN 종류와 기능 설명
정보보안기사 과목 중 네트워크 보안 분야에서 다루는 내용을 충실히 설명
TCP/IP 기반 소켓 개발을 위한 파이썬의 주요한 기능을 각 장마다 설명
이 책의 대상 독자
네트워크 보안을 처음 접하거나 기초를 쌓고 싶은 학생
TCP/IP 구조를 정리하고 싶은 네트워크 관리자
정보보안기사를 준비하며 TCP/IP 관련 지식을 쌓으려는 독자
이 책의 구성
이 책을 집필하면서 다음과 같은 사항을 염두에 뒀다.
입문자를 고려해 윈도우 운영체제의 명령 프롬프트를 중심으로 TCP/IP 기초 동작부터 설명하고, 이후 여러 장에 걸쳐 다양한 관점을 추가적으로 적용해 반복적으로 설명하는 나선형 방식을 채택했다.
송신을 기준으로 하향식 방식에 따라 TCP/IP 방식의 계층별 기능을 설명했고, 수신을 기준으로 상향식 방식에 따라 TCP/IP 방식의 계층별 약점을 설명했다.
보안 알고리즘을 기밀성과 무결성으로 구분해 핵심 개념을 설명한 뒤 TCP/IP 방식의 계층적 구조에 따라 VPN 종류와 기능을 설명했다.
정보보안기사 과목 중 네트워크 보안 분야에서 다루는 내용을 충실하게 설명했다.
TCP/IP 기반의 소켓 개발을 위한 파이썬 언어의 주요한 기능을 각 장마다 설명했다.
지은이의 말에서 밝힌 바와 같이 이 책은 사이버 보안 분야에 처음 입문하는 초보자를 대상으로 집필한 만큼 독자의 TCP/IP 프로토콜 지식을 백지 상태라고 가정했다. 이에 따라 윈도우 운영 체제의 명령 프롬프트를 중심으로 TCP/IP 기초 동작부터 시작해 이후 여러 장에 걸쳐 다양한 관점을 추가했다. 이때, 전반부에서는 송신을 기준으로 하향식 방식에 따라 TCP/IP 방식의 계층별 기능을 설명했고, 후반부에서는 수신을 기준으로 상향식 방식에 따라 TCP/IP 방식의 계층별 약점을 설명했다. 또한, TCP/IP 방식의 계층적 구조에 따라 VPN 종류와 기능을 설명함으로서 TCP/IP 방식 안에서 VPN 개념을 파악할 수 있도록 서술했다.
이러한 특징을 염두하면서 본문의 구성하는 각 장의 내용은 다음과 같다.
1장, IP 주소와 서브넷 마스크 그리고 기본 게이트웨이의 의미
IP 주소에는 클래스라는 개념이 있고 서브넷 마스크라는 기능을 이용해 IP 주소를 네트워크 ID와 호스트 ID로 구분하는 내용을 설명한다. 또한 인터넷 공간으로 나가기 위한 관문에 해당하는 게이트웨이(라우터) 개념을 설명한다. 아울러 네트워크 ID와 호스트 ID 구분에 따라 LAN 영역에 대한 개념과 네트워크 ID의 의미, 마지막으로 라우터가 수행하는 라우팅 개념을 설명한다.
2장, DCHP 서비스와 DNS 서비스 그리고 물리적 주소의 의미
DCHP 서비스와 DNS 서비스의 개념을 설명한다. 간단하게나마 LAN 영역에서 사용하는 스위칭 동작을 설명(14장에서 좀 더 자세히 설명)하고 물리적 주소, 다시 말해 맥 주소 전반에 대해 설명하면서 이더넷 종류를 설명한다. 이더넷 종류와 관련해 IEEE 802 내용을 상세히 소개한다.
3장, ARP 캐시 테이블
ARP 캐시 테이블에 기반해 IP 주소와 맥 주소 사이를 연결해주는 ARP 기능(11장에서 좀 더 자세히 설명)을 설명한다. 또한 ARP 요청과 응답 과정에서 목적지 맥 주소를 구하는 일련의 과정을 설명하고 LAN 영역을 네트워크 ID 관점과 맥 주소 관점, 그리고 ARP 영역 관점에서 각각 설명한다.
4장, DNS 캐시 테이블
DNS 캐시 테이블에 기반해 2장에서 다룬 DNS 서비스 동작 과정을 3단계에 걸쳐 좀 더 구체적으로 설명한다. 또한 ARP 캐시 테이블과 DNS 캐시 테이블에 기반한 ARP 스푸핑 공격(14장에서 좀 더 자세히 설명)과 DNS 스푸핑 공격의 개념을 간략하게 설명한다.
5장, UDP 방식과 TCP 방식
버퍼링 기능 유무에 따라 UDP 방식과 TCP 방식의 차이점, 그리고 TCP 방식에서 수행하는 3단계 연결 설정(3-way handshaking)과 3/4단계 연결 종료(3/4-way terminating)를 설명한다. 또한 netstat -n 명령어를 통해 포트 번호의 개념(8장에서 좀 더 자세히 설명)을 간략히 설명하며, 주요한 포트 번호를 제시한다.
6장, 데이터 전송 단위
운영체제가 데이터를 송신할 경우 발생하는 다양한 데이터 전송 단위의 변화 과정을, 편지지와 편지 봉투를 예로 들어 설명한다.
7장, TCP/IP 방식의 계층적 구조
6장에서 정리한 데이터 전송 단위에 입각해 TCP/IP 방식에서 계층의 의미와 구조 등을 설명한다. 또한 OSI 방식이 등장한 배경도 간단하게 설명한다(부록 B에서 좀 더 자세히 설명).
8장, TCP/IP 방식의 응용 계층
TCP/IP 방식의 응용 계층에서 수행하는 기능을 설명한다. 또한 TCP/IP 방식의 구조에 따라 5장에 이어 포트 번호에 대해 좀 더 명확하게 설명하고, 포트 스캔에 대한 개념(15장에서 좀 더 자세히 설명)도 설명한다.
9장, TCP/IP 방식의 전송 계층
5장에서 정리한 UDP 방식과 TCP 방식을 각각의 헤더 구조를 통해 좀 더 상세히 설명한다. 특히, TCP 헤더에서 사용하는 일련번호 항목과 확인 번호 항목, 윈도 항목 등은 TCP 방식이 버퍼링에 기반해 수행하는 일련의 제어라는 관점에서 설명한다.
10장, TCP/IP 방식의 네트워크 계층
IP 헤더에서 사용하는 각 항목의 기능을 상세히 설명한다. 또한 1장에서 누락한 사설 IP 주소와 NAT 기능 등을 설명했다. 끝으로, ping과 tracert 명령어를 통해 ICMP 방식의 개념을 설명한다.
11장, TCP/IP 방식의 데이터 링크 계층
3장에서 소개한 ARP 요청과 응답 과정을 ARP 헤더를 이용해 좀 더 상세히 설명한다. 또한 LAN 영역과 WAN 영역에서 사용하는 주요한 프로토콜의 종류를 제시한다.
12장, TCP/IP 방식의 물리 계층
지금까지 단편적으로 언급했던 허브와 스위치, 그리고 라우터를 TCP/IP 계층에 따라 분류하고 그에 따른 동작 방식을 설명한다. 또한 개념적으로 스위칭 테이블과 라우팅 테이블의 구조를 설명한다.
13장, TCP/IP 방식에 따른 완전한 전송 과정
1장부터 12장까지 다루었던 모든 내용을 기반으로 TCP/IP 방식에 따른 일련의 송수신 과정을 설명한다. 전체 내용 중 가장 핵심적인 장이다.
14장, LAN/WAN 영역의 개념적 이해
지금까지 다루었던 LAN/WAN 영역에 대한 개념적 이해를 총정리하면서 LAN 카드와 스위치의 동작을 상세히 설명하고, VLAN 개념을 소개하면서 서브넷 기법을 상세히 설명한다. 또한 WAN 영역의 프레임 헤더 구조와 라우팅 알고리즘 등을 상세히 설명한다.
15장, TCP/IP 네트워크 공격 유형
8장에서 간략하게 언급했던 포트 스캔과 관련해, TCP Open 스캔 기법과 TCP Half Open 스캔 기법 같은 주요한 포트 스캔 유형을 설명한다. 또한 스푸핑 공격과 플러딩 공격 등, TCP/IP 네트워크에서 나타날 수 있는 공격 유형을 설명한다.
16장, TCP/IP 방식의 계층별 취약점에 기반한 공격 유형
TCP/IP 방식의 데이터 링크 계층부터 전송 계층까지 나타나는 다양한 공격 유형을 설명한다. 응용 계층에서 수행하는 공격 유형은 해당 서비스를 서버를 통해 구축하면서 확인해야 할 각론적인 내용이라고 웹 플러딩 공격에만 국한해 설명한다.
17장, 보안 알고리즘
기밀성 보안 알고리즘과 관련해 대칭 암호 구조와 비대칭 암호 구조에서 사용하는 열쇠와 문제점 등을 설명한다. 또한 무결성 보안 알고리즘과 관련해 요약 함수와 전자 서명을 설명한다.
18장, VPN 개념
SSL/TLS VPN 기법과 IPSec VPN 기법 등을 중심으로 TCP/IP 방식의 계층적 구조에 따라 설명했다.
19장, 보안 장비에 대한 이해
방화벽에서 제공하는 ACL 방식을 기반으로 방화벽의 기본 원리를 TCP/IP 기반의 공격 방어 설정을 일례로 설명한다. 또한 침입 탐지 장비와 침입 차단 장비의 개요를 설명한다.
목차
목차
- 1장 IP 주소와 서브넷 마스크 그리고 기본 게이트웨이의 의미
- 정리
- 파이썬 맛보기
- 2장 DHCP 서비스와 DNS 서비스 그리고 물리적 주소의 의미
- 정리
- 파이썬 맛보기
- 3장 ARP 캐시 테이블
- 정리
- 파이썬 맛보기
- 4장 DNS 캐시 테이블
- 정리
- 파이썬 맛보기
- 5장 UDP 방식과 TCP 방식
- 정리
- 파이썬 맛보기
- 6장 데이터 전송 단위
- 정리
- 파이썬 맛보기
- 7장 TCP/IP 방식의 계층적 구조
- 정리
- 파이썬 맛보기
- 8장 TCP/IP 방식의 응용 계층
- 정리
- 파이썬 맛보기
- 9장 TCP/IP 방식의 전송 계층
- 정리
- 파이썬 맛보기
- 10장 TCP/IP 방식의 네트워크 계층
- 정리
- 파이썬 맛보기
- 11장 TCP/IP 방식의 데이터 링크 계층
- 정리
- 파이썬 맛보기
- 12장 TCP/IP 방식의 물리 계층
- 정리
- 파이썬 맛보기
- 13장 TCP/IP 방식에 따른 완전한 전송 과정
- 정리
- 파이썬 맛보기
- 14장 LAN/WAN 영역의 개념적 이해
- 정리
- 파이썬 맛보기
- 15장 TCP/IP 네트워크 공격 유형
- 정리
- 파이썬 맛보기
- 16장 TCP/IP 방식의 계층별 취약점에 기반한 공격 유형
- 물리 계층
- 데이터 링크 계층
- 네트워크 계층
- 전송 계층
- 응용 계층
- 정리
- 파이썬 맛보기
- 17장 보안 알고리즘
- 기밀성 보안 알고리즘
- 무결성 보안 알고리즘
- 정리
- 파이썬 맛보기
- 18장 VPN 개념
- 정리
- 파이썬 맛보기
- 19장 보안 장비에 대한 이해
- 파이썬 맛보기
- 파이썬 맛보기
- 부록 A IPv6 헤더 구조
- 부록 B OSI 참조 모형
- 부록 C VMware 네트워크 구성
- 부록 D 사이버 보안 입문자를 위한 학습 조언
- 부록 E 인용 목록
도서 오류 신고
정오표
정오표
[p.58: 7행]
ping police.go.kr처럼 도메인 네임을 입력해도 목적지 IP 주소에 해당
->
ping police.go.kr처럼 도메인 네임을 입력해도 ping police.go.kr은 목적지 IP 주소에 해당
[p.58: 아래에서 5행]
8.8.8번
->
8.8.8.8번
[p.58: 아래에서 3행]
운영 체제는 자기가 사용하는 라우터의 IP 주소를 목적지 IP 주소로 변경
->
운영 체제는 목적지 IP 주소를 라우터의 IP 주소로 변경
[p.73 밑에서 2행]
이것이 4장을 시작하면서
->
내가 3장과 4장을 시작하면서
[p.80: 1행 - 표 5-1 전송 중 부분에서]
전송 후 응답 신호 대기
->
실제 데이터 송•수신 수행
[p.85: 3행]
2의 배수만을
->
2씩 증가된 값을
[p.85: 아래에서 2행]
이때 일련 번호와 확인 번호는 각각 0이다.
->
이때 일련 번호와 확인 번호는 각각 0이라고 가정한다.
[p. 89: 첫 행]
조작
->
조각
[p.126: 8행]
표 10-2와 같다.
->
표 10-2와 같이 생각할 수 있다(여기서는 헤더를 포함해 계산했기 때문에 실제와는 차이가 있다).
[p. 138: 12행]
수행하기 때문에 ICMP와 마찬가지로
->
수행하기 때문에 IGMP와 마찬가지로
[p.176: 위에서 6행]
목적지 맥 주소 항목과 출발지 맥 주소 항목 각각 6 바이트를 이룬다.
->
목적지 맥 주소 항목과 출발지 맥 주소 항목은 각각 6 바이트를 이룬다.
[p.179: 밑에서 3행]
그림 12-6과 마찬가지로 그림 14-4에서 언급한 포트 번호는
->
그림 12-3과 마찬가지로 그림 14-4에서 언급한 포트 번호는
[p.188: 위에서 3행]
스위치가 그림 12-6과 같은 스위칭 테이블에 기반해 스위칭을 수행하는 것처럼 라우터는 그림 12-8과 같은 라우팅 테이블에 기반해 라우팅을 수행한다.
->
스위치가 그림 12-3과 같은 스위칭 테이블에 기반해 스위칭을 수행하는 것처럼 라우터는 그림 12-5와 같은 라우팅 테이블에 기반해 라우팅을 수행한다.
[p.195: 8행]
포트 스캔은 그림 9-4에서 볼 수 있는
->
포트 스캔은 그림 9-5에서 볼 수 있는
[p.195: 아래에서 5행]
그림 6-6과 같이 목적지 IP 주소와 동일하게 설정한 뒤
->
그림 16-9와 같이 목적지 IP 주소와 동일하게 설정한 뒤
[p.197 : 마지막 행]
공격 대상자는 공격 대상자와
->
공격 대상자는 공격자와
[p.231: 5행]
비밀 열쇠의 교환 문제
->
비밀 열쇠의 분배 문제
[p.232: 11행]
비밀 열쇠 교환의 문제
->
비밀 열쇠의 분배 문제
[p.234: 4행]
비밀 열쇠의 교환 문제
->
비밀 열쇠의 분배 문제
[p.265 : 3번째 문단]
오탐이란 부적절한 정보를 정확한 정보로 오판하는 경우에 해당한다. 성대 모사를 통한 음성 인증 체계를 무력화하는 방법이라든가 새로운 악성 코드를 개발해 침입 탐지 장비를 우회하는 경우 등이 오탐에 해당한다. 미탐이란 정확한 정보를 부적절한 정보로 오판하는 경우에 해당한다. 감기에 걸린 목소리로 음성 인증을 시도할 때 음성 인증이 동작하지 않는 경우 등이 미탐에 해당한다.
->
오탐이란 정확한 정보를 부적절한 정보로 오판하는 경우에 해당한다. 감기에 걸린 목소리로 음성 인증을 시도할 때 음성 인증이 동작하지 않는 경우 등이 오탐에 해당한다. 미탐이란 부적절한 정보를 정확한 정보로 오판하는 경우에 해당한다. 성대 모사를 통한 음성 인증 체계를 무력화하는 방법이라든가 새로운 악성 코드를 개발해 침입 탐지 장비를 우회하는 경우 등이 미탐에 해당한다.