서브메뉴

본문

정보 보안 개론과 실습 (시스템 해킹과 보안)
정보 보안 개론과 실습 (시스템 해킹과 보안)
저자 : 양대일
출판사 : 한빛미디어
출판년 : 2013
ISBN : 9788998756628

책소개

『정보 보안 개론과 실습: 시스템 해킹과 보안』은 시스템에서 서비스 제공을 위한 프로그램 개발과 관련한 보안 이슈와 시스템 운영에 관련한 보안 설정 등에 관해 배울 수 있는 책이다. 보안이 중요한 게임 등의 상용 프로그램을 개발하거나, 백신을 개발하거나, 시스템을 안정적으로 운영해야 하거나 또는 이와 유사한 업무 내용을 익히는데 도움을 준다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

이 책의 특징(개정판에서 달라진 부분)

① 불필요한 내용 축소 및 삭제 : 단순한 운영체제의 설명 최소화. 직접적인 관련이 적어 이해하는 데 방해가 되는 내용은 삭제
② 시스템 해킹을 위한 기초 지식 강화 : 시스템 해킹을 위한 기초 지식인 메모리 구조와 어셈블리어에 대한 내용을 별도의 장으로 구성
③ 최신 기술과 실습 추가 : 리버스 엔지니어링(Reverse Engineering) 관련 장을 새로 추가, 패스워드 크래킹, 버퍼 오버플로우, 백도어 등의 장에 새로운 실습들 추가
④ 실습 환경의 변경 : 최신 리눅스인 페도라 14와 윈도우 서버 2008, 윈도우 XP를 기준으로 설명. 단, 개념을 정확하게 이해할 수 있도록 버퍼 오버플로우와 포맷 스트링 장에서는 레드햇 리눅스 6.2를 준으로 설명
? 서버 시스템 : 페도라 14, 솔라리스 10, 레드햇 6.2/7.2, 윈도우 서버 2008
? 공격자 시스템 : 윈도우 XP
⑤ 예제소스 다운로드 : http://www.hanb.co.kr/exam/1845

도서 특징(책 표지글)

기본 이론, 최신 해킹 기술과 보안 기법을 망라한 해킹/보안 실습서

【누구를 위한 책인가?】

컴퓨터나 보안 관련 학과 학생과 IT 전문학원에서 보안을 처음 배우고자 하는 일반인을 대상으로 한다. 시스템 해킹과 보안은 주제의 성격상 운영체제와 C언어 등에 대한 기초 지식이 필요하다. 이 책은 시스템에서 서비스 제공을 위한 프로그램 개발과 관련한 보안 이슈와 시스템 운영에 관련한 보안 설정 등에 관한 내용을 담고 있다. 보안이 중요한 게임 등의 상용 프로그램을 개발하거나, 백신을 개발하거나, 시스템을 안정적으로 운영해야 하거나 또는 이와 유사한 업무를 하고 싶은 독자라면 이 책 전반의 내용이 무척 유용할 것이다.

부/장별 내용 요약

? 1부. 시스템 해킹을 위한 기초 지식(1장∼3장)
운영체제의 개념과 CPU 레지스터의 종류와 동작, 어셈블리어의 기본 문법, 메모리의 동작 원리 등을 알아봄으로써 실제 시스템 해킹 공격 방법을 배우기 전에 기초 지식을 다진다.

? 2부. 시스템 해킹(4장∼9장)
패스워드 크래킹, 리버스 엔지니어링, 백도어, 레이스 컨디션, 버퍼 오퍼플로우, 포맷 스트링 등 실제 시스템 해킹 기법을 알아보고 직접 실습한다.

? 3부. 운영체제 보안(10장∼11장)
해킹을 방지하기 위한 윈도우와 리눅스/유닉스 시스템의 보안 설정 방법을 알아보고 직접 실습한다.

? 4부. 로그와 침입 탐지(12장∼13장)
해킹 여부를 알 수 있는 시스템 로그 분석 방법과 해킹 후 흔적 제거 방법, 침입을 추적하는 방법을 알아본다.

? 부록
본문 실습을 위한 환경을 구축한다(VMplayer와 레드햇 6.2, 솔라리스 10 설치).
[교보문고에서 제공한 정보입니다.]

목차정보

Part 01 시스템 해킹을 위한 기초 지식
Chapter 01 운영체제에 대한 이해 ? 23
01 운영체제의 개념과 기능 ? 25
02 윈도우에 대한 이해 ? 28
03 리눅스/유닉스에 대한 이해 ? 39
요약 ? 49
연습문제 ? 53

Chapter 02 80x86 시스템에 대한 이해 ? 55
01 80x86 시스템 CPU와 레지스터 ? 57
02 80x86 시스템 메모리 ? 67
03 어셈블리어의 기본 문법과 명령 ? 72
[실습 2-1] 어셈블리어 프로그램 작성하고 실행하기 ? 92
04 스택을 통한 명령 처리 과정 ? 97
[실습 2-2] 프로그램 실행 과정에 따른 스택의 동작 이해하기 ? 97
[실습 2-3] 셸 실행 과정을 이해하고, 셸 코드 생성하기 ? 105
요약 ? 126
연습문제 ? 131
현장의 목소리 : 내 서버는 해킹당하지 않았다. 그런데 왜?? ? 133

Chapter 03 계정과 권한 ? 135
01 리눅스/유닉스의 계정과 권한 체계 ? 137
[실습 3-1] 리눅스/유닉스에서 파일에 대한 접근 권한 설정하기 ? 140
02 리눅스/유닉스의 권한 상승 ? 145
[실습 3-2] SetUID를 이용한 해킹 기법 익히기 ? 148
03 윈도우의 계정과 권한 체계 ? 153
04 윈도우의 권한 상승 ? 156
[실습 3-3] SYSTEM 권한 획득하기 ? 157
요약 ? 160
연습문제 ? 163

Part 02 시스템 해킹
Chapter 04 패스워드 크래킹 ? 167
01 패스워드 크래킹에 대한 이해 ? 169
02 윈도우 인증과 패스워드 ? 179
[실습 4-1] 윈도우 XP, 2008, 7 패스워드 크래킹하기 ? 188
03 리눅스/유닉스 인증과 패스워드 ? 197
[실습 4-2] 리눅스 패스워드 크래킹하기 ? 199
04 서비스 데몬 패스워드 크래킹 ? 203
[실습 4-3] 서비스 데몬 패스워드 크래킹하기 ? 203
05 운영체제별 패스워드 복구 ? 209
[실습 4-4] 윈도우 패스워드 복구하기 ? 209
[실습 4-5] 리눅스 패스워드 복구하기 ? 212
요약 ? 215
연습문제 ? 219

Chapter 05 리버스 엔지니어링 ? 221
01 리버스 엔지니어링에 대한 이해 ? 223
[실습 5-1] 비주얼 C++ 컴파일러 사용법 익히기 ? 224
02 PE 파일에 대한 이해 ? 227
03 리버스 엔지니어링 툴 ? 237
04 리버스 엔지니어링 공격 ? 257
[실습 5-2] 바이너리 파일 수정을 통해 리버스 엔지니어링 공격하기 ? 257
[실습 5-3] 프로그램 로직 분석을 통해 리버스 엔지니어링 공격하기 ? 264
05 리버스 엔지니어링에 대한 대응책 ? 269
[실습 5-4] UPX 패킹하기 ? 270
요약 ? 274
연습문제 ? 276
현장의 목소리 : USB 바이러스와 한판 승부 ? 278

Chapter 06 레이스 컨디션 ? 279
01 레이스 컨디션 공격에 대한 이해 ? 281
[실습 6-1] 심볼릭 링크 기능 알아보기 ? 284
[실습 6-2] 레이스 컨디션 수행하기 ? 291
02 레이스 컨디션 공격에 대한 대응책 ? 295
요약 ? 297
연습문제 ? 298
현장의 목소리 : 해커도 직업이 될 수 있다? ? 300

Chapter 07 버퍼 오버플로우 ? 301
01 스택 버퍼 오버플로우 공격 ? 303
[실습 7-1] gdb 분석을 통해 취약프로그램의 스택 버퍼 오버플로우 개념 이해하기 ? 305
[실습 7-2] 스택 버퍼 오버플로우 수행하기 ? 315
02 힙 버퍼 오버플로우 공격 ? 320
[실습 7-3] gdb 분석을 통해 취약 프로그램의 힙 버퍼 오버플로우 개념 이해하기 ? 321
[실습 7-4] 힙 버퍼 오버플로우 수행하기 ? 332
03 버퍼 오버플로우에 대한 대책과 발전된 공격 ? 338
[실습 7-5] rtl 공격 수행하기 ? 343
04 스택 가드 ? 347
[실습 7-6] canary 확인하기 ? 348
05 스택 쉴드 ? 352
06 ASLR ? 352
요약 ? 354
연습문제 ? 356
현장의 목소리 : 머리 용량이 부족하면 오버플로우되는 버퍼 오버플로우 ? 358

Chapter 08 포맷 스트링 ? 359
01 포맷 스트링 공격 ? 361
[실습 8-1] 포맷 스트링 공격 원리 이해하기 ? 362
[실습 8-2] 포맷 스트링 공격 수행하기 ? 374
02 포맷 스트링 공격에 대한 대응책 ? 381
요약 ? 383
연습문제 ? 384

Chapter 09 백도어 ? 385
[실습 9-1] SetUID형 로컬 백도어 설치하고 이용하기 ? 392
02 윈도우 백도어 ? 397
[실습 9-2] 윈도우 백도어 설치하고 이용하기 ? 397
03 리눅스/유닉스 백도어 ? 403
[실습 9-3] 자동 실행형 백도어 설치하고 이용하기 ? 404
04 백도어 탐지와 대응책 ? 407
[실습 9-4] 윈도우 백도어 탐지하고 제거하기 ? 411
[실습 9-5] 리눅스 백도어 탐지하고 제거하기 ? 421
[실습 9-6] tripwire를 이용한 무결성 검사하기 ? 424
요약 ? 430
연습문제 ? 431

Part 03 운영체제 보안
Chapter 10 윈도우 시스템 보안 설정(윈도우 서버 2008) ? 435
01 계정 정책 ? 437
02 로컬 정책 ? 441
03 데몬 관리 ? 449
[실습 10-1] 윈도우 FTP 서비스 보안 설정하기 ? 450
[실습 10-2] 윈도우 터미널 서비스 보안 설정하기 ? 466
04 접근 제어 ? 474
[실습 10-3] 윈도우 방화벽 규칙 적용하기 ? 474
05 파일과 디렉터리 관리 ? 480
[실습 10-4] 파일과 디렉터리 권한 설정하기 ? 480
06 패치 ? 486
요약 ? 487
연습문제 ? 489

Chapter 11 유닉스 시스템 보안 설정(솔라리스 9, 10) ? 491
01 계정 관리 ? 493
[실습 11-1] 유닉스에서 관리자 계정 생성하기 ? 494
02 서비스 관리 ? 497
[실습 11-2] FTP Anonymous 접속 설정하기 ? 503
[실습 11-3] SSH 접속하기 ? 507
[실습 11-4] XDMCP 접근 제어하기 ? 515
03 접근 제어 ? 524
[실습 11-5] TCP Wrapper를 이용한 접근 제어 적용하기 ? 525
04 파일과 디렉터리 관리 ? 531
05 패치 ? 535
요약 ? 536
연습문제 ? 538
현장의 목소리 : 스패머가 되버린 이메일 서버 ? 540

Part 04 로그와 침입 탐지
Chapter 12 시스템 로그 분석 ? 543
01 로그에 대한 이해 ? 545
02 윈도우의 로그 분석과 설정 ? 547
[실습 12-1] 윈도우 로그 관리하기 ? 568
03 리눅스/유닉스의 로그 분석과 설정 ? 573
[실습 12-2] 적절한 로깅 환경 설정하기 ? 589
[실습 12-3] BSM 툴 설치하고 이용하기 ? 593
요약 ? 598
연습문제 ? 601

Chapter 13 흔적 제거와 침입 추적 ? 603
01 침입 사고 발생 시 대응 절차 ? 605
02 윈도우의 흔적 제거 ? 608
[실습 13-1] 윈도우 로그 정책 변경하고 기존 로그 삭제하기 ? 608
03 윈도우의 침입 추적 ? 612
[실습 13-2] 윈도우 메모리 덤프하기 ? 613
[실습 13-3] 시스템 이미지 획득하기 ? 615
[실습 13-4] 삭제 파일 복구하기 ? 617
04 리눅스/유닉스의 흔적 제거 ? 619
[실습 13-5] 리눅스 시스템 로그 삭제하기 ? 619
05 리눅스/유닉스의 시스템의 침입 추적 ? 623
[실습 13-6] 리눅스 시스템 메모리 덤프하기 ? 625
[실습 13-7] 리눅스 시스템 이미지 획득하기 ? 627
요약 ? 633
연습문제 ? 636
현장의 목소리 : 계정 암호만 잘 만들면 되는가 ? 637

Appendix 실습 환경 구성 ? 639
01 기본 실습 환경 ? 640
02 가상 운영체제 설치(VMWare Player) ? 641
03 리눅스 설치(레드햇 6.2) ? 642
04 유닉스 설치(솔라리스 10) ? 647
현장의 목소리 : 합법적인 해킹?! ? 654

찾아보기 ? 655
[교보문고에서 제공한 정보입니다.]