1. 취약한 객체 수준 인가 ( Broken Object Level Authorization )
자신이 아닌 다른 사람의 데이터에 접근 가능한 문제
예시
- /api/users/42/posts 로 42번 사용자의 비공개 게시물을 URL 숫자만 바꿔서 접근
방어법
- 사용자가 요청한 데이터에 접근 권한이 있는지 매 요청마다 확인
- 요청한 id 뿐만 아니라 소유권과 권한도 확인
2. 취약한 인증 ( Broken Authentication )
누가 로그인했는지 제대로 확인하지 않는 문제
예시
- 약한 암호를 허용하거나 무제한 로그인 시도를 허용
- JWT 토큰을 제대로 검증하지 않거나 만료된 토큰을 계속 사용가능한 경우
방어법
- 강력한 비밀번호 정책 사용
- 다중 인증(MFA - 비밀번호, 휴대폰, 지문 등 중 2가지 이상 조합해서 사용) 구현
- 안전한 토큰 관리 및 토큰 만료시간 설정
3. 취약한 객체 속성 수준 인가 ( Broken Object Property Level Authorization )
사용자가 볼 수 없어야 하는 데이터 필드 까지 노출되는 문제
예시
- 일반 사용자가 api 요청시 "isAdmin": false 와 같은 민감한 속성이 포함된 경우
방어법
- 응답 데이터에서 사용자 역할별로 필드 필터링
- 서로 다른 권한 레벨에 맞는 응답 스키마 설계
4. 취약한 리소스 제한 ( Unrestricted Resource Consumption )
API가 너무 많은 요청이나 큰 데이터를 처리하게 해서 서버가 느려지거나 멈추는 문제
예시
- 한 사용자가 초당 수천개의 요청을 보냄
- 매우 큰 파일을 업로드하거나 복잡한 검색 쿼리를 실행
방어법
- 요청 속도 제한 구현
- 페이지네이션 적용
- 업로드 파일 크기 및 요청 데이터 크기 제한
5. 취약한 함수 수준 인가 ( Broken Function Level Authorization )
권한이 없는 사용자가 관리자 기능을 사용할 수 있는 문제
예시
- 일반 사용자가 관리자 전용 api 에 접근할수 있는 경우
방어법
- 모든 api 엔드포인트에 권한 확인 적용
- 역할기반 접근제어 구현
- 프론트엔드 숨김으로 보안 의존하지 않음
6. 비정상적 자산 할당 ( Unrestriced Access to Sensitive Business Flows )
자동화 봇이 중요한 비즈니스 프로세스를 악용하는 문제
예시
- 봇이 티켓팅 사이트의 모든 좋은 좌석을 자동으로 예약
- 쇼핑몰에서 할인 상품을 자동으로 대량 구매해서 재판매
방어법
- CAPTCHA 구현
- 비정상적인 행동 패턴 감지
- 비즈니스 프로세스에 제한 설정( 구매 수량 제한 등 )
7. 서버 측 요청 위조 ( Server Side Request Forgery )
공격자가 서버를 속여서 내부 네트워크나 외부 시스템에 원치 않는 요청을 보내게 하는 문제
예시
- api에 {"profileUrl": "http://internal-network/admin"}을 보내 서버가 내부 관리자 페이지에 접근하게 함
방어법
- 요청 URL의 허용 목록 사용
- 내부 네트워크 주소로의 요청 차단
- 서버 응답 내용을 클라이언트에게 직접 전달하지 않기
8. 보안 설정 오류 ( Security Misconfiguration )
API 서버의 보안 설정이 잘못되어 있는 문제
예시
- 기본 비밀번호 사용
- 오류 메시지에 너무 많은 정보 노출
- HTTPS 대신 HTTP 사용
- 불필요한 api 엔드포인트 공개
방어법
- 보안 강화 설정 적용
- 안전한 기본값 사용
- 모든 환경(개발, 테스트, 운영) 에 일관된 보안 설정 적용
9. 부적절한 재고 관리 ( Improper Inventory Management )
API의 모든 버전, 문서, 호스트 정보가 제대로 관리되지 않아 생기는 문제
예시
- 오래된 API 버전에 보안 패치가 적용되지 않음
- 개발용 / 테스트용 API 가 인터넷에 노출됨
- API 문서가 불필요하게 모든 엔드포인트 정보를 노출함
방어법
- API 인벤토리 목록 관리
- 미사용 API 및 엔드포인트 제거
- API 버전 관리 및 지원 정책 수립
10. 안전하지 않은 API 클라이언트 설정 ( Unsafe Consumption of APIs )
클라이언트 앱이 외부 API 응답을 신뢰하고 제대로 검증하지 않는 문제
예시
- 외부 API에서 받은 데이터를 검증 없이 데이터베이스에 저장
- 외부 API 응답에 포함된 스크립트를 그대로 실행
방어법
- 모든 외부 API 응답 데이터 검증
- 최소 권한 원칙 적용
- API 응답 데이터 샌드박스 처리