상세 컨텐츠

본문 제목

구글과 파이썬으로 시작하는 보안

전체 출간 도서

by 비제이퍼블릭 2021. 8. 23. 15:39

본문

 

구글과 파이썬으로 시작하는 보안  

부제 취약점은 이제 끝! 실전 예제와 코드로 배우는 데이터 보호

저자 김용재 

 

출간/배본가능일 2021년 8월 31일 

정가 33,000 

페이지 572

판형 크라운판 (173 * 230)

 

ISBN 979-11-6592-081-4 (93000)

 

책 소개 

어렵거나 이론 위주의 보안은 NO!

실제 데이터의 흐름으로 배운다

보안 공부에 대해서는 사람마다 접근법이 다를 것입니다. 이 책은 보안이 데이터를 따라가는 분야라는 관점을 가지고, 업무를 하다 보면 만날 수 있는 여러 보안 주제들에 대해서 예시를 들어 설명합니다.

 

각 챕터는 저자의 다양한 경험과 구글 검색을 기반으로 구성된 자세한 설명 및 개성 있는 삽화, 데이터의 흐름을 보여주는 파이썬 예제들로 구성되어 있습니다. 예제들을 통해 보안에서 파이썬을 어떻게 응용할지에 대한 아이디어를 얻고 책 전반을 통해 보안, 개인 정보의 기술, 비기술적인 업무를 수행할 때 필요한 다양한 배경 지식을 얻을 수 있습니다.

 

이 책의 특징

- 보안의 중요한 여러 주제들에 대해서 사전적인 설명을 배제하고 원리에 대하여 설명한다.

- 파이썬 코드를 통해 데이터의 흐름을 보며 좀더 직관적으로 이해할 수 있다.

- 보안이 가진 원초적인 불완전함을 극복하기 위해 해야 될 노력들에 대해서 설명한다.

 

이 책이 필요한 독자

- 보안/개인정보 보호 분야에 필요한 여러 원리 및 배경에 대해 알고 싶은 독자

- 개발/시스템 등 다른 IT 분야와 비슷한 시각으로 보안을 이해하고 싶은 독자

- 한 권의 책을 통해 보안과 파이썬이라는 두 마리 토끼를 잡고 싶은 독자

 

소스코드 다운로드

https://github.com/bjpublic/security

 

저자 소개 

김용재

건국대학교 전자공학과 졸업 후, 동 대학원 네트워크 전공을 수료하였다. 나모인터랙티브에서 4년을 일했고, 이후 이베이코리아에서 6년간 Quality Assurance Engineer Information Security Engineer를 거쳐 현재까지 10년간 일하고 있다. 자동화, 데이터 분야뿐만 아니라 일본어, 중국어 등 외국어 공부에도 관심이 많다. 저서로 비제이퍼블릭에서 출간한 <구글로 공부하는 파이썬>이 있다.

 

목차

PART 1 어떻게 보안에 접근해야 할까?

Chapter 01 보안을 바라보는 방법

1. 보안에 대한 접근 방법

2. 보안이 어렵게 느껴지는 이유

3. 보안의 공격과 방어 측면의 차이

 

PART 2 보안을 이해하기 위한 중심 개념

Chapter 01 암호화와 복호화

1. 암호화의 여러 종류

2. 치환 및 이동

3. 대칭키 암호화

4. 비대칭키 암호화

5. 단방향 암호화 - 해시

6. 3자 인증 형태 - 설계적 인증

7. 마무리하며

 

Chapter 02 인젝션

1. 인젝션이란?

2. SQL Injection 살펴보기

3. SQL 인젝션 기본 방어 전략

4. 방어 전략 1 - Prepared Statements 살펴보기

5. 방어 전략 2 - 스토어드 프로시저(Stored Procedure) 살펴보기

6. SQL 인젝션 방어 전략 정리

7. Prepared Statement 사용 예외 사항

8. 그 외의 Injection

9. 마무리하며

 

Chapter 03 스크립트 문제

1. 자바스크립트에 영향을 주는 요소들

2. 자바스크립트 공격의 종류

3. 반사(Reflected) vs 저장(Stored) XSS 공격 살펴보기

4. 브라우저 입장에서 생각해 보기

5. XSS 방어 코드 예제 보기

6. 응용 - 비동기 호출과의 만남

7. XSS 방어 설계

8. 마무리하며

 

Chapter 04 클라이언트 코드

1. 클라이언트 코드의 의미

2. 웹에서의 클라이언트 코드

3. 웹의 1세대 - 창고

4. 웹의 2세대 - 동적 페이지

5. 웹의 3세대 - 비동기 호출 페이지(AJAX)

6. 클라이언트 vs 서버 코드

7. 피들러로 클라이언트 코드 조작하기

8. 모든 것에 대한 믹스 및 정리

9. 클라이언트 코드의 OWASP TOP 10에서의 의미

10. 모바일(PC)에서의 클라이언트 코드

11. 클라이언트 코드의 OWASP Mobile TOP 10에서의 의미

12. 마무리하며

 

Chapter 05 업로드와 다운로드

1. 컴퓨터 안의 데이터

2. 다운로드 문제

3. 업로드 설계

4. 마무리하며

 

Chapter 06 API

1. API 이해하기

2. API 만들어 보기

3. API JWT 토큰 추가하기

4. 애플리케이션 보안 측면의 API

5. 마무리하며

 

Chapter 07 하드닝

1. 우리 주위의 하드닝

2. 하드닝 패턴

3. 마무리하며

 

PART 3 보안의 기본을 넘어서

Chapter 01 보안 설계 문제

1. 보안의 포괄성

2. 보안 설계란?

3. 보안 설계 예제

4. 보안 설계 정리하기

5. 마무리하며

 

Chapter 02 보안에서의 코드 읽기

1. 코드 보기가 필요한 이유

2. 복잡성의 단순화

3. 코드의 사칙연산

4. 현실적 문제들

5. 코드를 이용하기 위한 전략

6. 마무리하며

 

Chapter 03 스캐너 vs 수동 테스트

1. 스캐너 살펴보기

2. SQL 인젝션 스캐너 만들기

3. XSS 인젝션 스캐너 만들기

4. 현재 스캐너 구조의 한계 생각해 보기

5. 상용 툴과의 비교

6. 수동 테스트(펜테스트)와의 차이

7. 마무리하며

 

Chapter 04 자동화

1. 자동화란?

2. 자동화의 구성 요소

3. 보안에서의 자동화

4. 자동화 예제 1 - 셀레늄으로 스캐너 구현하기

5. 자동화 예제 2 - 메모장으로 파이썬 스크립트 저장하여, 실행 후 지우기

6. 자동화 예제 3 - 주기적으로 돌아가면서 작업하기

7. 자동화 예제 4 - 데이터베이스에서 개인정보 찾기

8. 마무리하며

 

Chapter 05 모니터링 문제

1. 물리 보안 vs 소프트웨어 보안

2. 결국 중요한 것은 데이터

3. 간단한 모니터링 예제 보기

4. 마무리하며

 

Chapter 06 리버싱과 포렌식

1. 리버싱과 포렌식의 연결점

2. 리버싱 예제 만들어 보기

3. 정적인 어셈블리 코드 보기

4. 동적인 어셈블리 코드 보기

5. 파이썬의 바이트 코드와 비교해 보기

6. 리버싱에 대해 생각해 보기

7. 실험을 통한 리버싱

8. 포렌식에 대해 생각해 보기

9. 포렌식 예제 1 - 시스템 정보 보여주기

10. 포렌식 예제 2 - 특정 파일에 대한 생성, 수정, 접근 시간 보기

11. 엑셀의 최근 사용 문서를 레지스트리에서 찾아보기

12. 마무리하며

 

Chapter 07 악성 코드

1. 랜섬웨어의 행동

2. 백신 프로그램의 입장에서 상상해 보기

3. 백신 프로그램이 할 수 있는 전략을 상상해 보기

4. 프로그램 행동 분석의 명암

5. 간단한 정적 분석 샘플 만들기

6. 동적 분석 및 회피 시도해보기

7. 마무리하며

 

Chapter 08 보안과 데이터

1. 데이터의 소우주

2. 머신러닝의 종류

3. 룰 엔진을 기반으로 한 데이터 판단

4. 지도학습 방식-분류와 추정을 기반으로 한 데이터 판단

5. 비지도학습 방식 1 - 군집을 기반으로 한 데이터 판단

6. 비지도학습 방식 2 - 이상치(Abnormality)를 기반으로 한 데이터 판단

7. 보안에서의 데이터

 

PART 4 마지막 이야기

Chapter 01 보안의 여러 분야

1. 보안의 여러 분야들

2. 보안 분야들의 공통점

3. 마무리하며

 

PART 5 부록

1. 파이썬 설치

2. 파이썬 코드 실행 - 커맨드창

3. 파이썬 코드 실행 - 파이참(PyCharm) 사용하기

4. MSSQL 설치

5. 피들러(Fiddler) 설치하기

6. 비주얼 스튜디오 커뮤니티 설치하기

 

출판사 리뷰

보안 분야도 여러 사람이 다양한 생각 및 관점을 가지고 접근하고 이해하겠지만, 이 책에서는 데이터를 따라가는 직업이라는 시작점에서 진행하고자 합니다. 챕터마다 보안을 이해하는 데 있어 필요한 주제들을 선정해 이야기하며, 구글 검색과 파이썬 코드로 작성한 예제 파일의 실행을 통하여 관련된 데이터를 보여주고 증명합니다.

 

리눅스에서 쉘을 잘 이해하면 원하는 모든 작업을 그 연장선상에서 쉽게 할 수 있다고 얘기하듯, 업무에서 파이썬을 잘 이용하면 여러 OS 환경에서 자연스럽게 비슷한 효과를 누릴 수 있다고 생각합니다. 파이썬을 경험하지 않은 분들이 이 책의 예제들을 살펴본 후, “파이썬이 참 편하고 재미있구나!”라고 생각하게 되기를 바랍니다.

관련글 더보기

댓글 영역