API 사용이 기하급수적으로 증가함에 따라 API를 목표로 하는 공격 역시 빠른 속도로 증가하고 있다. 최근 분석에 따르면 API 공격이 681%나 증가했다. API가 보호하는 데이터의 높은 경제적 가치 때문에 API는 현재 공격자들에게 가장 인기 있는 공격 대상인 것이다. 하지만 기존의 보안 도구들은 보호해야 할 주된 자산이 웹 앱이던 시절에 만들어졌기 때문에, API 보안에는 더 이상 적합하지 않다. API 보안에는 탄탄한 방어 설계와 코딩 기법, 그리고 좀 더 현대적인 API 기술이 필요하다.
이 책은 더욱 안전한 API를 구축하고 배포하기 위해 API 방어를 전반적으로 다루며, API 해킹 기법을 포함해 더 근본적이고 체계적인 보안 전략을 보여준다. 우선 API가 어떤 위협과 공격에 직면하는지에서 시작한다. 그리고 일반적인 유형의 공격을 왼쪽 이동(shift-left)에 초점을 둔 API 우선 설계를 통해서 근본적으로 방어하는 방법을 설명한다. API 보안의 필요성과 실제 침해 사례를 다루며, API 보안 전략의 목표와 KPI 선택, 보안 계획 수립 및 구체적인 실행을 논의한다. 챕터마다 요약과 추가 읽을거리도 포함된, 국내에서 가장 종합적인 API 보안 도서이다.
Contents
PART 01 API 보안의 기초
제01장 API 보안이란?
1.1 API 보안이 중요한 이유
1.2 API 보안을 구성하는 요소들
1.3 여러 가지 API 데이터 형식
1.4 API 보안의 계층별 핵심 요소
1.5 API 보안 목표 설정
제02장 API의 이해
2.1 HTTP 기초 지식
2.2 여러 API 유형
2.3 접근 제어
2.4 JWT를 이용한 클레임 및 신원 확인
제03장 흔히 발견되는 API 취약점들
3.1 취약점 분류의 중요성
3.2 OWASP 10대 API 보안 위험의 취약점들
3.3 취약점 악용 대 오남용
3.4 비즈니스 로직 취약점
3.5 OWASP 10대 API 보안 위험의 2023년 버전
제04장 최근 침해 사례 분석
4.1 실수로부터 배우는 것의 중요성
4.2 2022년의 10대 주요 API 침해 사고
4.3 이 사례들의 핵심 교훈
PART 02 API 공격
제05장 API 공격의 기초
5.1 실습 환경 준비
5.2 API 공격자의 주요 공격 방법
5.3 필수 도구에 숙달하기
5.4 API 공격의 핵심 기술
제06장 API 발견
6.1 실습 환경 준비
6.2 수동적 발견
6.3 능동적 발견
6.4 구현 분석
제07장 API 공격
7.1 실습 환경 준비
7.2 인증 공격
7.3 권한 부여 공격
7.4 데이터 공격
7.5 주입 공격
7.6 그 밖의 API 공격
PART 03 API 방어
제08장 API 보안을 위한 왼쪽 이동
8.1 실습 환경 준비
8.2 OpenAPI 정의서 활용
8.3 양성 보안 모델의 활용
8.4 API의 위협 모델링
8.5 API 보안의 자동화
8.6 공격자처럼 생각하기
제09장 주요 취약점 방어
9.1 실습 환경 준비
9.2 인증 취약점 방어
9.3 권한 부여 취약점 방어
9.4 데이터 취약점 방어
9.5 기타 구현 취약점 방어
9.6 제한 없는 자원 소비 방지
9.7 API 비즈니스 수준 공격의 방어
제10장 프레임워크와 구현 코드 수준의 보안
10.1 실습 환경 준비
10.2 실제 개발 과정에서 설계 우선 프로세스 관리하기
10.3 코드 생성 도구 활용
제11장 실행 시점 보호를 통한 API 오른쪽 보호
11.1 실습 환경 준비
11.2 실행 환경의 보안 강화
11.3 WAF 활용
11.4 API 게이트웨이와 APIM 활용
11.5 API 모니터링 및 경보
11.6 API에 적합한 보호 기능 선택
제12장 마이크로서비스 보안
12.1 실습 환경 준비
12.2 마이크로서비스의 이해
12.3 마이크로서비스 기반 구조의 보안
12.4 마이크로서비스 연결성의 보안
12.5 마이크로서비스의 접근 제어
12.6 안전한 마이크로서비스 운영의 실제
제13장 API 보안 전략 구현
13.1 API 보안의 소유권
13.2 42Crunch의 성숙도 모델
13.3 계획 수립
13.4 계획 실행
13.5 여러분 자신의 API 보안 여정
Author
콜린 도모니,류광
개발 분야에서 오랫동안 다양한 경력을 쌓았으며 최근에는 안전한(secure) 소프트웨어 시스템의 옹호자로 활동하고 있다. 남아프리카에서 미션크리티컬한 군사 및 의료시스템을 개발하는 것으로 경력을 시작했는데, 그 작업에서 시스템을 견고하고 튼튼하게 개발하는 것의 중요성을 배워 그러한 경험을 자동차, 금융서비스, 가전제품 등 여러 산업 분야에 적용했다. 좀 더 최근에는 전 세계 최대 규모의 기업과 조직을 위해 대규모 응용프로그램 보안 계획을 구축하는 데 자신의 기술을 적용해, 소프트웨어 보안 역량을 확장하는 데 도움을 주었다. 독립 보안 컨설턴트로서는 개발자에게 안전한 소프트웨어를 구축하는 최선의 방법을 가르치는 일을 전문으로 한다. 또한 42Crunch의 최고기술전도사로 안전한 API 개발 모범 관행과 설계 시점부터 보안을 고려해서 API를 개발하는 접근 방식을 전파한다.
옹호자 역할 외에 그는 콘퍼런스 강연과 웨비나도 정기적으로 진행하며, 최신 API 보안 소식을 다루는 APISecurity.io 뉴스레터의 큐레이터로도 활동하고 있다. 이 뉴스레터를 통해 API 보안에 대한 열정을 발견했는데, 그곳에서 시작된 여정이 이어진 『API 보안 전략』과 연관된 강연과 워크숍을 준비하고 있다.
개발 분야에서 오랫동안 다양한 경력을 쌓았으며 최근에는 안전한(secure) 소프트웨어 시스템의 옹호자로 활동하고 있다. 남아프리카에서 미션크리티컬한 군사 및 의료시스템을 개발하는 것으로 경력을 시작했는데, 그 작업에서 시스템을 견고하고 튼튼하게 개발하는 것의 중요성을 배워 그러한 경험을 자동차, 금융서비스, 가전제품 등 여러 산업 분야에 적용했다. 좀 더 최근에는 전 세계 최대 규모의 기업과 조직을 위해 대규모 응용프로그램 보안 계획을 구축하는 데 자신의 기술을 적용해, 소프트웨어 보안 역량을 확장하는 데 도움을 주었다. 독립 보안 컨설턴트로서는 개발자에게 안전한 소프트웨어를 구축하는 최선의 방법을 가르치는 일을 전문으로 한다. 또한 42Crunch의 최고기술전도사로 안전한 API 개발 모범 관행과 설계 시점부터 보안을 고려해서 API를 개발하는 접근 방식을 전파한다.
옹호자 역할 외에 그는 콘퍼런스 강연과 웨비나도 정기적으로 진행하며, 최신 API 보안 소식을 다루는 APISecurity.io 뉴스레터의 큐레이터로도 활동하고 있다. 이 뉴스레터를 통해 API 보안에 대한 열정을 발견했는데, 그곳에서 시작된 여정이 이어진 『API 보안 전략』과 연관된 강연과 워크숍을 준비하고 있다.