이미 소장하고 있다면 판매해 보세요.
|
1장 웹사이트를 해킹하다
__소프트웨어 익스플로잇 및 다크 웹 __웹사이트 해킹하는 방법 2장 인터넷 작동 방식 __인터넷 프로토콜 스위트 ____인터넷 프로토콜 주소 ____도메인 네임 시스템 __애플리케이션 계층 프로토콜 ____하이퍼텍스트 전송 프로토콜 __상태 저장 연결 __암호화 __요약 3장 브라우저 작동 방식 __웹 페이지 렌더링 ____렌더링 파이프라인: 개요 ____Document Object 모델 ____스타일링 정보 __자바스크립트 __렌더링 전/후: 브라우저에서 수행하는 다른 모든 작업 __요약 4장 웹 서버 작동 방식 __정적 자원 및 동적 자원 __정적 자원 ____URL 결정 ____콘텐츠 전송 네트워크 ____콘텐츠 관리 시스템 __동적 자원 ____템플릿 ____데이터베이스 ____분산 캐시 ____웹 프로그래밍 언어 __요약 5장 프로그래머 작동 방식 __1단계: 설계 및 분석 __2단계: 코드 작성 ____분산 버전 관리 vs 중앙집중식 버전 관리 ____분기 코드 및 병합 코드 __3단계: 배포 전 테스트 ____커버리지 및 지속적인 통합 ____테스트 환경 __4단계: 릴리스 프로세스 ____릴리스 중 표준화된 배포 옵션 ____빌드 프로세스 ____데이터베이스 마이그레이션 스크립트 __5단계: 릴리스 후 테스트 및 관찰 ____침투 테스트 ____모니터링, 로깅, 오류 보고 __종속성 관리 __요약 6장 인젝션 공격 __SQL 인젝션 공격 ____SQL이 무엇인가? ____SQL 인젝션 공격의 구조 ____조치 방안 1: 매개 변수화된 구문 사용 ____조치 방안 2: 객체 관계 매핑 사용 ____추가 조치 방안: 심층 방어 사용 __커맨드 인젝션 공격 ____커맨드 인젝션 공격 구조 ____조치 방안: 이스케이프 제어 문자 __원격 코드 실행 ____원격 코드 실행 공격의 분석 ____조치 방안: 역직렬화 중 코드 실행 비활성화 __파일 업로드 취약점 ____파일 업로드 공격 분석 ____조치 방안 __요약 7장 크로스 사이트 스크립팅 공격 __스토어드 크로스 사이트 스크립팅 공격 ____조치 방안 1: 이스케이프 HTML 문자 ____조치 방안 2: 콘텐츠 보안 정책 구현 __리플렉티드 크로스 사이트 스크립팅 공격 ____조치 방안: HTTP 요청에서 동적 콘텐츠 이스케이프 __DOM 기반 크로스 사이트 스크립팅 공격 ____조치 방안: URI 조각에서 동적 콘텐츠 이스케이프 __요약 8장 사이트 간 요청 위조 공격 __사이트 간 요청 위조 공격 분석 __조치 방안 1: REST 원칙을 따른다 __조치 방안 2: 안티 CSRF 공격 쿠키 구현 __조치 방안 3: SameSite 쿠키 속성 사용 __추가적인 조치 방안: 중요한 작업에 대한 재인증 필요 __요약 9장 인증 손상 __인증 구현 ____HTTP 네이티브 인증 ____네이티브하지 않은 인증 ____무작위 대입 공격 __조치 방안 1: 서드 파티 인증 사용 __조치 방안 2: Single Sign-On과 통합 __조치 방안 3: 자체 인증 시스템 보호 ____사용자 이름, 이메일 주소 또는 둘 다 필요하다 ____복잡한 비밀번호 필요 ____안전하게 암호 저장 ____멀티팩터 인증 필요 ____로그아웃 기능 구현 및 보안 ____사용자 열거 금지 __요약 10장 세션 하이재킹 __세션 작동 방식 ____서버 측 세션 ____클라이언트 측 세션 __공격자가 세션을 가로채는 방법 ____쿠키 도난 ____세션 고정 ____취약한 세션 ID 활용 __요약 11장 권한 __권한 상승 __접근 제어 ____인증 모델 설계 ____접근 제어 구현 ____접근 제어 테스트 ____감사용 기록 추가 ____일반적인 실수 주의 __디렉터리 접근 공격 ____파일 경로 및 상대 파일 경로 ____디렉터리 접근 공격 분석 ____조치 방안 1: 웹 서버 신뢰 ____조치 방안 2: 호스팅 서비스 사용 ____조치 방안 3: 간접 파일 참조 사용 ____조치 방안 4: 파일 참조 삭제 __요약 12장 정보 누출 __조치 방안 1: 숨길 수 없는 서버 헤더 사용 안 함 __조치 방안 2: 깔끔한 URL 사용 __조치 방안 3: 일반 쿠키 매개 변수 사용 __조치 방안 4: 클라이언트 측 오류 보고 사용 안 함 __조치 방안 5: 자바스크립트 파일 최소화 또는 난독화 __조치 방안 6: 클라이언트 측 파일 삭제 __보안 권고 사항의 최상위에 있어야 한다 __요약 13장 암호화 __인터넷 프로토콜의 암호화 ____암호화 알고리듬, 해싱, 메시지 인증 코드 ____TLS 핸드셰이크 __HTTPS 사용 ____디지털 인증서 ____디지털 인증서 획득 ____디지털 인증서 설치 __HTTP(및 HTTPS) 공격 ____무선 라우터 ____Wi-Fi 핫스팟 ____인터넷 서비스 공급자 ____정부 기관 __요약 14장 서드 파티 __종속성 보호 ____실행 중인 코드 파악 ____새로운 버전을 신속하게 구현할 수 있다 ____보안 문제의 경계 유지 ____업그레이드 시기 파악 __구성 보안 ____기본 자격 증명 사용 안 함 ____디렉터리 리스팅 비활성화 ____구성 정보 보호 ____테스트 환경 강화 ____보안 관리 프론트엔드 __사용하는 서비스 보안 ____API 키 보호 ____웹훅 보호 ____서드 파티에서 제공하는 보안 콘텐츠 __공격 벡터로서의 서비스 ____멀버타이징을 경계하라 ____악성 코드 전송 방지 ____평판이 좋은 광고 플랫폼 사용 ____SafeFrame을 사용하라 ____광고 기본 설정 맞춤 ____의심스러운 광고 검토 및 보고 __요약 15장 XML 공격 __XML의 사용 __XML 유효성 검사 ____문서 유형 정의 __XML bomb 공격 __XML 외부 엔티티 공격 ____해커가 외부 엔티티를 이용하는 방법 __XML 구문 파서 보안 방법 ____파이썬 ____루비 ____Node.js ____자바 ____.NET __기타 고려 사항 __요약 16장 부속품이 되지 마라 __이메일 사기 ____발신인 정책 프레임워크 구현 ____도메인 키 식별 메일 구현 ____이메일 보호: 실제 단계 __이메일에서 악의적인 링크 숨기기 ____리다이렉션 열기 ____열린 리다이렉션 방지 ____기타 고려 사항 __클릭잭킹 ____클릭잭킹 방지 __서버 측 요청 위조 ____서버 측 위조 방지 __봇넷 ____악성 코드 감염에게서 보호 __요약 17장 서비스 거부 공격 __서비스 거부 공격 유형 ____인터넷 제어 메시지 프로토콜 공격 ____전송 제어 프로토콜 공격 ____애플리케이션 계층 공격 ____반사 및 증폭된 공격 ____분산 서비스 거부 공격 ____의도하지 않은 서비스 거부 공격 __서비스 거부 공격 조치 방안 ____방화벽 및 침입 방지 시스템 ____분산 서비스 거부 보호 서비스 ____규모별 건물 __요약 18장 마치며 |
Malcolm McDonald
장지나의 다른 상품
|
◈ 이 책에서 다루는 내용 ◈
◆ SQL 인젝션 공격, 악의적인 자바스크립트와 CSRF로부터의 보호 방법 ◆ 인증 및 형상 액세스 제어 방법을 활용한 계정 보호 ◆ 암호 추측, 세션 도용 또는 권한 상승에 의존하는 공격 방지 ◆ 암호화 구현 ◆ 레거시 코드의 취약점 관리 ◆ 취약점을 노출하는 정보 누출 방지 ◆ 과대 광고 및 서비스 거부 등 고급 공격 완화 ◈ 이 책의 대상 독자 ◈ 이제 막 일을 시작하는 웹 개발자라면 이 책이 인터넷 보안에 대한 이상적인 안내서가 될 것이다. 컴퓨터 과학 관련 자격증을 취득했거나 부트캠프를 갓 수료한 사람, 독학한 사람 모두 이 책을 읽어볼 것을 권한다. 모든 필수 지식이 명확한 예시와 함께 직설적으로 설명한다. 위협에 대해 미리 준비한다면 앞으로 다가올 많은 문제를 해결할 수 있다. 경험이 많은 프로그래머에게도 유용하다. 보안 지식이 있다면 일을 할 때 도움이 되므로 이 책을 통해 부족한 부분을 보충할 수 있다. 많은 프로그래머가 경력 전반에 걸쳐 다양한 언어를 사용하기 때문에 개별 라이브러리에 지나치게 집중하는 것보다 웹 보안의 원리를 익히는 것이 좋다. ◈ 이 책의 구성 ◈ 1장 '웹사이트를 해킹하자’에서는 웹사이트를 해킹하는 것이 얼마나 쉬운지 알 수 있다. 2장 ‘인터넷이 어떻게 작동하는지’에서는 TCP, IP 주소, 도메인 이름, HTTP를 검토하고 네트워크에서 데이터를 안전하게 전달할 수 있는 방법을 확인한다. 3장 ‘브라우저의 작동 방식’에서는 브라우저가 웹 페이지를 렌더링하는 방법과 브라우저 보안 모델에서 자바스크립트 코드가 실행되는 방법을 배운다. 4장 ‘웹 서버의 작동 방식’에서는 정적 콘텐츠를 제공하는 방법과 템플릿과 같은 동적 콘텐츠를 사용해 데이터베이스 및 기타 시스템의 데이터 통합 방법을 설명한다. 5장 ‘프로그래머의 작동 방식’에서는 웹사이트 코드를 작성하는 과정과 버그 및 보안 취약점의 위험을 줄이는 개발 습관을 설명한다. 6장 ‘인젝션 공격’에서는 해커가 코드를 주입하고 서버에서 실행하는 것을 살펴보며 웹사이트 취약점을 조사한다. 7장 ‘크로스 사이트 스크립팅 공격.’에서는 악의적인 자바스크립트 코드를 브라우저 환경에 반입하는 데 사용되는 공격과 공격으로부터 보호하는 방법을 검토한다. 8장 ‘사이트 간 요청 위조 공격’에서는 해커들이 사용하는 위조 공격 방법을 소개한다. 9장 ‘인증 손상’에서는 타협 암호의 무작위 대입공격부터 사용자 목록에 이르기까지 로그인 화면을 회피하기 위한 방법을 소개한다. 10장 ‘세션 하이재킹’에서는 사용자들이 로그인한 후 계정을 어떻게 탈취할 수 있는지 알려준다. 11장 ‘권한’에서는 악의적인 행위자가 권한 상승을 이용해 사이트의 금지된 영역에 액세스하는 것을 방지할 수 있는 방법을 알아본다. 12장 ‘정보 누출’에서는 정보가 유출돼 드러난 웹사이트의 취약점을 없애는 방법을 알려준다. 13장 ‘암호화’에서는 암호화를 적절하게 사용하는 방법을 보여주고 인터넷상에서 암호화가 중요한 이유를 설명한다. 14장 ‘제3자 코드’에서는 다른 사람의 코드에서 취약점을 관리하는 방법을 배운다. 15장 ‘XML 공격’에서는 XML 공격에 취약한 웹 서버를 보호하는 방법을 알려준다. 16장. ‘부속품이 되지 마라’에서는 보안 허점을 해결해 해킹의 부속품이 되지 않는 방법을 알려준다. 17장 ‘서비스 거부 공격’에서는 서비스 거부 공격의 일환으로 얼마나 많은 양의 네트워크 트래픽이 웹사이트를 오프라인으로 전환시킬 수 있는지 보여준다. 18장 ‘요약’에서는 지금까지 배운 보안의 핵심 요소들을 복습한다. ◈ 지은이의 말 ◈ 웹은 야생의 장소다. 인터넷은 전문가들이 의도적으로 설계한 것이고 모두가 다 그럴듯하게 동작한다는 인상을 받기 쉽다. 사실 인터넷의 진화는 빠르고 무모했으며 오늘날 네트워크에서 하는 일은 기존의 발명가들이 상상했던 것을 뛰어넘는다. 결과적으로 웹사이트를 보호하는 것은 어려운 제안처럼 보일 수 있다. 웹사이트는 해커의 활동적이고 동기 부여된 커뮤니티를 포함해 수백만 명의 사용자가 즉시 이용할 수 있는 독특한 유형의 소프트웨어다. 대기업들은 일상적인 보안 장애를 겪고 있으며 매주 새로운 데이터 침해 사례가 발표되고 있다. 웹 개발자는 이런 상황에서 어떻게 스스로를 보호해야 할까? 웹 보안의 가장 큰 장점은 웹 취약점의 수가 실제로는 한 권의 책에 들어갈 정도로 적은 편이라는 것이다. 그리고 취약점은 크게 바뀌지 않는다. 이 책은 여러분이 알아야 할 모든 주요 위협을 가르쳐주며 웹사이트를 방어하기 위해 취해야 할 실질적인 조치를 이해하기 쉽게 만든다. 가장 일반적인 보안 취약점을 배우고, 어떻게 차단해야 하는지 안다면 99%의 공격에서 시스템을 보호할 수 있다. 기술적인 해커들은 시스템을 손상시킬 수 있는 방법을 항상 갖고 있다. 하지만 여러분이 이란 원자로나 미국의 정치 캠페인을 벌이지 않는 한 이런 생각으로 밤잠을 설칠 필요는 없다. |