-
-
API 보안 전략 - 일찍 시작하고 끝까지 지키는 안전한 소프트웨어 개발을 위한 필수 방어 기술
콜린 도모니 지음, 류광 옮김 / 정보문화사 / 2024년 8월
평점 :
API 공격에 대처하기
책을 선택한 이유
일론 머스크 는 SNS 플랫폼 X에서 대선 유력후보
도널드 트럼프 와 카말라 해리스 에게 인터뷰를 제안한다.
트럼프 만 승낙하면서, 일론 과의 대담이 X에서 성사된다.
X는 최대 8백만 명까지 동시 접속을 준비했지만
대규모 디도스 공격으로 30분 가량 정상적 방송이
송출되지 못하는 사건이 일어난다.
해킹은 정보를 유출시키거나, 자금을 빼돌리기도 하지만,
상대방의 선거 운동을 방해하는 수단으로 까지 악용되고 있다.
해커 의 악의적 공격을 방어하는 방법을 알아보기 위해
"API 보안 전략"을 선택한다.
"API 보안 전략"은
PART 1 API 보안의 기초
PART 2 API 공격
PART 3 API 방어
로 구성되었다.
PART 1 API 보안의 기초
1장 API 보안이란? 에서는
API는 디지털 경제의 근간이다.
API는 서로 다른 시스템이 중요한 데이터를 교환하면서
연동할 수 있게 한다.
API 경제는 비즈니스 또는 조직을 플랫폼으로 전환하는 추동요인이다.
현대적 아키텍처 가 API를 중심으로 구축되며,
API는 마이크로서비스 아키텍처 의 마이크로서비스들
사이의 연결 조직을 형성한다.
API는 공격자들에게 인기 있는 공격 대상이다.
기존 보안 도구들은 API 보안에 적합하지 않으며,
개발자는 API 보안을 모를 때가 많다.
속도 제한, 암복호화, 해시, HMAC, 서명, 전송 보안,
인코딩 등 API 보안 구성 요소
XML, JSON, YAML, OpenAPI 명세
등 API 데이터 형식,
데브옵스, SAST, DAST, SCA, WAF,
APIM 포털과 게이트웨이, API 보안 플랫폼
등 API 보안의 계층별 핵심 요소,
기밀성, 무결성, 가용성 등 API 보안 목표,
데이터 거버넌스, 양성 보안 모델,
위험 기반 방법론 등 API 보안 패러다임 을 설명한다.
2장 API의 이해 에서는
API는 HTTP를 바탕으로 작동한다.
URL, HTTP 요청, HTTP 응답, HTTP 메서드,
상태 코드, 세션 등 HTTP 구성요소,
REST, GraphQL, RPC, SOAP, 웹소켓 API
등 API 유형,
인증 없음, HTTP 인증, AWS 키 기반 HMAC 인증,
세션 쿠키, API 키, OAuth 2.0 등 접근 제어,
JWT를 이용한 클레임 및 신원 확인에 대해 설명한다.
3장 흔히 발견되는 API 취약점들 에서는
취약점 분류로 특성에 따라 비슷한 취약점들을 묶으면,
완화와 제거를 위한 표준적인 패턴을 효과적으로 적용할 수 있다.
취약점 분류에 가장 널리 쓰이는 체계는 CWE다.
OWASP 톱텐 은 10대 보안 위험 목록이다.
OWASP 톱텐 은 보안 취약점을 바로 알아볼 수 있으므로,
보안팀과 개발팀에 매우 유용한 지표다.
객체 수준 취약점, 인증 취약점, 기능 수준 취약점,
데이터 취약점, 설정/구성 취약점, 구현 취약점
등 OWASP 10대 API 보안 위험의 취약점,
주요 API 오남용 유형, 비즈니스 로직 취약점,
OWASP 10대 API 보안 위험의 2023년 버전 을 알아본다.
4장 최근 침해 사례 분석 에서는
설계상의 잘못된 결정과 구현상의 결함을 악용해서
API를 공격한 사례를 소개한다.
성숙한 데브옵스 조직은 데브옵스 의 세 가지 방법을 따른다.
품질 저하를 피하려면 선제적 예방조치를 취할 필요가 있으며,
책임을 묻기보다 원인과 문제 자체에 초점을 두어야 한다.
2022년의 10대 주요 API 침해 사고 사례와
핵심 교훈을 이야기 한다.
PART 2 API 공격
5장 API 공격의 기초 에서는
공격자가 API를 악용하는 방법을 살펴본다.
API 공격 실습 환경 준비하고,
API와 상호작용, API 키 찾기, API 열거 및 발견,
API 종단점 퍼징 등 API 주요 공격 방법,
CLI 클라이언트, 포스트맨, 브라우저 도구,
버프 스위트, 역방향 프록시 등 API 공격 필수도구,
실습실 만들기, API 해킹 실습용 예제 앱,
API 교육 프로그램을 소개한다.
6장 API 발견 에서는
API 방어자는 API 공격 기법에 주의하고,
API 공격 기법 지식을 바탕으로 API구현을 강화해야 한다.
실습 환경을 준비하고,
구글 검색, 구글 해킹 데이터베이스,
API 관련 데이터베이스, 쇼단, 깃허브,
JavaScript 파일 탐색 등 수동적 발견,
네트워크 발견 및 스캔, OWASP ZAP, 버프 스위트,
모바일 앱의 역설계, 포스트맨 등 능동적 발견,
API 서버 구현에 추가 정보를 수집하는 데 도움이 되는 요령을 설명한다.
7장 API 공격 에서는
API 보안의 관건은 강력한 인증과 권한 부여다.
자동화된 공격을 통해서 API의 문을 부수고 들어가기,
API가 예상보다 많은 데이터를 받아들이도록 속이기,
과도한 API 정보를 노출하는 API 찾는 법을 설명한다.
인증 공격은 클라이언트 신원을 도용해서 인증 제어를 우회한다.
설계상의 약점을 공격하거나 구현 로직의 보안상 허점을 악용한다.
자격증명 공격, 키 기반 공격, 토큰 기반 공격,
약한 재설정 절차, 비보안 전송, 속도 제한 부재 등을 설명한다.
BOLA 공격, BFLA 공격 등 권한 부여 공격을 설명한다.
데이터 공격 은 가장 인기 있는 공격 벡터다.
대부분 읽기 공격이지만 쓰기 공격도 상당한 피해를 준다.
과도한 정보 노출 취약점 공격, 대량 할당 등을 설명한다.
주입 공격은 가장 오래되고, 잘 알려진 소프트웨어 취약점 공격 방법이다.
주입 취약점을 탐지, SQL 주입, NoSQL 주입,명령 주입,
경로 순회, 서버 족 요청 위조 를 설명한다.
API 오남용, 민감한 업무 프로세스에 대한 제한 없는 접근,
비즈니스 로직 공격 등 API 공격을 설명한다.
PART 3 API 방어
8장 API 보안을 위한 왼쪽 이동 에서는
API 보안을 개선하는 방법에 초점을 둔다.
API 는 왼쪽 이동 접근 방식에 아주 잘 맞는다.
코드 설계 단계에서부터 보안을 고려하고,
API 보안을 정의해서 보안을 더 쉽게 적용한다.
실습 환경을 준비하고, OpenAPI 정의서에 포함하는
보안 요소들을 데이터 정의와 보안 명세로 살펴본다.
양성 보안 모델 에서는 정의는 계약이고 계약에 없는 것은 모두 무효다.
음성 보안 모델 은 차단 목록 이므로 보안에 취약하다.
허용 목록 접근 방식이 제대로 작동하려면 모든 데이터와
연산에 대해 OpenAPI 정의서에 따라 작성되어야 한다.
API의 위협 모델링, API 보안의 자동화,
공격자처럼 생각하면서 안전한 API 구축하기를 설명한다.
9장 주요 취약점 방어 에서는
소프트웨어 개발 수명 주기 설계 및 개발 단계에서
API 주요 취약점을 방어하는 방법을 소개한다.
인증 취약점 공격은 API에서 가장 흔히 발생하는 공격이다.
JWT 보안 모범관행, OAuth2 구현, 패스워드 와 토큰 강화,
재설정 절차의 보안을 설명하고, 인증 처리 예제 코드 를 설명한다.
권한 부여 취약점 방어 는 객체 수준 권한 부여 취약점과
기능수준 권한 부여 취약점을 방어하며,
권한 부여 미들웨어 를 이용해서 전반적 안정성과
확장성을 개선한다.
객체 수준 취약점 방어, 기능 수준 취약점 방어,
권한 부여 미들웨어 활용 방법을 설명한다.
데이터 취약점 은 API 보안에 영향을 미치는
가장 중요한 약점 중 하나다.
데이터 처리 계층은 데이터 입력 개체, 데이터베이스 개체,
데이터 출력 개체로 구분된다.
과도한 데이터 노출, 대량 할당 문제를 설명한다.
기타 구현 취약점 방어에서는 주입 공격,
서버 쪽 요청 위조, 불충분한 로깅 및 모니터링,
API 자원 과도 소비를 막는 API 사용 제한,
API 비즈니스 수준 취약점과 방어에 대해 말한다.
10장 프레임워크와 구현 코드 수준의 보안 에서는
API 보안과 관련한 이론은 코드로 변환되면서 현실화 된다.
설계 우선 프로세스 관리 문제점, API 명세와 API 구현의 수명 주기 관리,
프레임워크를 이용한 안전한 API 구현에 대해 알아본다.
실제 개발 과정에서 설계 우선 프로세스 관리하기,
스웨거 Codegen, OpenAPI Generator,
프레임워크 보안을 위한 패턴에 대해 알아본다.
11장 실행 시점 보호를 통한 API 오른쪽 보호 에서는
오른쪽 보호는 실행 시점에서 API를 보호한다.
실행 환경의 보안 강화에서는 컨테이너 이미지,
운영체제에 대해 설명한다.
WAF는 OSI 계층 7로, 최상위 계층인 응용 계층에서 작동한다.
NGFW와 WAAP 제품군을 소개하고,
기존 WAF와의 차이점을 설명한다.
API 게이트웨이는 공용 인터페이스상의 외부 클라이언트와
내부 구현 사이의 출입구로 작용해서 문제들을 해결한다.
콩 게이트웨이 는 가장 인기 있는 API 게이트웨이다.
핵심 보안 기능을 이용해서 API를 보호하는 방법을 살펴본다.
API 게이트웨이 수준의 API 방어를 위한 모범관행,
API 방화벽 활용, API 모니터링 및 경보,
API에 적합한 보호 기능 선택을 설명한다.
12장 마이크로서비스 보안 에서는
마이크로서비스 아키텍처가 인기를 얻고 있으므로,
마이크로서비스 내부 API 방어는 점점 중요해진다.
대형 프로젝트 는 모놀리스 에 해당할 때가 많지만,
결합도가 낮은 아키텍처 의 핵심은 느슨한 결합이다.
마이크로서비스 아키텍처 의 가장 명백한 단점은
분산된 설계에서 오는 복잡성이다.
컨테이너, 쿠버네티스 등 마이크로서비스 기반 구조의 보안,
마이크로서비스 연결성 보안, 접근 제어를 알아보고,
안전한 마이크로서비스 운영의 실제를 설명한다.
13장 API 보안 전략 구현 에서는
API 보안 전략은 조직의 구조가 큰 영향을 미친다.
API 보안의 소유권, 42Crunch의 성숙도 모델,
API 보안 계획 수립, 팀 구축을 위한 접근 방식에 대해 알아본다.
"API 보안 전략"은 API 보안의 기초 개념,
API 공격 과 방어 방법을 알아본다.
API는 서로 다른 시스템이 중요한 데이터를 교환하면서
연동할 수 있게 하면서, 디지털 경제의 근간이 된다.
API를 중심으로 현대적 아키텍처 가 구축되므로,
API는 공격자들에게 인기 있는 공격 대상이다.
API는 HTTP를 바탕으로 작동한다.
취약점 분류로 특성에 따라 비슷한 취약점들을 묶으면,
완화와 제거를 위한 표준적인 패턴을 효과적으로 적용할 수 있다.
공격자는 설계상의 잘못된 결정과 구현상의 결함을 악용해서
API를 공격하고 있다.
API 방어자는 API 공격 기법에 주의하고,
API 공격 기법 지식을 바탕으로 API구현을 강화해야 한다.
API 보안의 관건은 강력한 인증과 권한 부여다.
인증 공격은 클라이언트 신원을 도용해서 인증 제어를 우회한다.
데이터 공격 은 가장 인기 있는 공격 벡터다.
대부분 읽기 공격이지만 쓰기 공격도 상당한 피해를 준다.
주입 공격은 가장 오래되고, 잘 알려진 소프트웨어 취약점 공격 방법이다.
API 는 왼쪽 이동 접근 방식에 아주 잘 맞는다.
코드 설계 단계에서부터 보안을 고려하고,
API 보안을 정의해서 보안을 더 쉽게 적용한다.
인증 취약점 공격은 API에서 가장 흔히 발생하는 공격이다.
데이터 취약점 은 API 보안에 영향을 미치는
가장 중요한 약점 중 하나다.
API 보안과 관련한 이론은 코드로 변환되면서 현실화 된다.
오른쪽 보호는 실행 시점에서 API를 보호한다.
API 게이트웨이는 공용 인터페이스상의 외부 클라이언트와
내부 구현 사이의 출입구로 작용해서 문제들을 해결한다.
콩 게이트웨이 는 가장 인기 있는 API 게이트웨이다.
핵심 보안 기능을 이용해서 API를 보호하는 방법을 살펴본다.
마이크로서비스 아키텍처가 인기를 얻고 있으므로,
마이크로서비스 내부 API 방어는 점점 중요해진다.
마이크로서비스 아키텍처 의 가장 명백한 단점은
분산된 설계에서 오는 복잡성이다.
안전한 마이크로서비스 운영의 실제를 설명한다.
API 보안 전략은 조직의 구조가 큰 영향을 미친다.
데이터가 중요한 시대다.
데이터를 탈취하기 위해서 API 공격이 증가하면서,
기존 보안 도구들은 API 보안에 적합하지 않다.
API 보안을 제대로 구현하기 위해서는
API 해킹 기법에 대한 이해를 바탕으로,
근본적이고 체계적인 보안 전략을 세워야 한다.
"API 보안 전략"은 API가 어떤 위협과 공격을 받는지 이해하고,
API 공격자의 관점에서 API의 보안 허점을 이해하면서,
안전한 API 설계, 구축, 배포를 통한 API 방어를 돕는다.
디지털 시대에서 사이버 해킹 범죄자들이 판치고 있다.
데이터 보안을 제대로 구축하지 못한다면,
데이터는 엄청난 위협을 가져다 준다.
"API 보안 전략"은 API 보안상 문제점을 이해하고,
API 보안을 강화하는 법을 이해하면서,
디지털 인프라를 안전하게 보호하는 방법을
이론부터 실제까지 상세하게 다룬다.
"API 보안 전략"은 API 개념을 이해하고, API 공격을 효과적으로
방어하도록 돕는 좋은 안내서다.
정보문화사 와 컬처블룸 서평단에서 "API 보안 전략"를 증정해주셨다.
감사드린다.
#API보안전략 #일찍시작하고끝까지지키는안전한소프트웨어개발을위한필수방어기술
#정보문화사 #컬처블룸 #컬처블룸서평단 #콜린도모니 #COLINDOMONEY #류광
#API #APIM #API구축 #API보안 #API방어 #API배포 #secureAP
#안전한API #API공격 #API해커 #API해킹 #OWASP #API유형 #사이버보안
#사이버위협 #마이크로서비스보안 #API예제 #shiftleft #shieldright
이 리뷰는 컬처블룸을 통해 출판사에서 도서를 제공 받아, 직접 읽고 작성한 리뷰입니다.