OWASP 상위 10대 API 보안 리스크

OWASP(Open Worldwide Application Security Project)는 소프트웨어 보안 향상을 목표로 하는 비영리 단체입니다. OWASP는 기업이 웹 애플리케이션을 보안하는 데 도움이 되는 툴, 방법론, 문서 등 무료 및 오픈 리소스를 제공합니다. OWASP의 가장 잘 알려진 기여 중 하나는 API 보안에 대한 가장 중요한 리스크를 강조하는 상위 10대 API 보안 리스크 목록입니다. 2023년 업데이트에서는 애플리케이션 프로그래밍 인터페이스(API) 및 웹 애플리케이션 보안의 중요성이 높아지고 고유한 과제가 증가하고 있음을 반영합니다.

API란 무엇인가요?

API는 서로 다른 소프트웨어 애플리케이션이 서로 통신할 수 있도록 지원하는 일련의 프로토콜 및 정의입니다. API의 주요 기능은 기술 간 효율적인 데이터 교환을 촉진하는 것입니다. 최신 애플리케이션 아키텍처의 기본 기술인 API를 사용하면 한 애플리케이션이 데이터를 복제하거나 서비스를 처음부터 구축하지 않고도 다른 앱과 서비스의 정보를 요청하고 기능을 활용할 수 있습니다. API는 디지털 세상의 중심에 있으며 애플리케이션, 시스템, 데이터를 연결합니다.

API가 위협을 받는 이유는 무엇인가요?

2024년 API 보안 영향 연구에 참여한 1200명 이상의 IT 및 보안 전문가에 따르면, 기업의 84%가 지난 12개월 동안 API 보안 인시던트를 경험했습니다. 최신 애플리케이션 아키텍처에서 API가 빠르게 증가함에 따라 사이버 범죄자는 여러 가지 이유에서 공격 기법으로 API에 점점 더 많이 끌리고 있습니다.

  • 광범위한 도입: API는 최신 소프트웨어 개발에서 어디에나 존재하며 웹 및 모바일 애플리케이션, IoT 디바이스, 다양한 플랫폼 간의 통합을 지원합니다. 이러한 광범위한 도입으로 공격자에게는 수많은 새로운 잠재적 표적이 되었고 기업의 공격 표면도 확대되었습니다.
  • 민감한 데이터에 대한 접속: API는 개인 정보, 재무 정보, 기밀 비즈니스 데이터 등의 민감한 데이터도 종종 처리합니다. 공격자는 API를 악용해 신원 도용, 금융 사기 또는 기업 스파이 활동에 사용될 수 있는 중요한 기밀 정보에 접속할 수 있습니다.
  • 백엔드 시스템에 직접 접속: API는 백엔드 시스템 및 데이터베이스에 대한 직접 접속을 제공하며, 종종 기존 사용자 인터페이스를 우회합니다. 이러한 직접 접속은 프런트엔드 애플리케이션의 일반적인 보안 검사와 균형을 거치지 않고 데이터를 검색, 수정 또는 삭제하는 데 악용될 수 있습니다.
  • 복잡성 및 설정 오류: API는 여러 엔드포인트와 버전이 있어 복잡할 수 있으며, 엔드포인트마다 적절한 설정과 보안이 필요합니다. 설정 오류와 보안 결함은 흔한 문제이기 때문에 API 공격의 성공 가능성이 상당히 큽니다.
  • 공격의 자동화 및 확장성: 자동화된 툴과 스크립트를 사용해 API를 표적으로 삼을 수 있으므로 공격자가 공격을 쉽게 확장할 수 있습니다. 자동화된 공격은 취약한 인증 메커니즘 및 기타 보안 결함과 같은 API 취약점을 신속하게 악용할 수 있습니다.
  • 써드파티 통합: API는 써드파티 서비스와의 통합을 촉진하는 경우가 많으며, 이로 인해 추가적인 보안 리스크가 발생할 수 있습니다. 써드파티 서비스가 감염되면 공격자가 기본 API를 악용할 수 있는 진입점이 될 수 있습니다.
  • 불충분한 로깅 및 모니터링: 많은 기업에 API에 대한 적절한 로깅과 모니터링이 부족해 의심스러운 활동을 실시간으로 탐지하고 대응하기 어렵습니다. 이를 통해 공격자는 장기간 탐지되지 않으면서 보안 취약점을 악용할 수 있습니다.

주요 API 기술 및 개념

OWASP 상위 10대 API 보안 리스크의 특정 위협을 이해하려면 API와 관련된 몇 가지 핵심 개념과 용어를 검토하는 것이 좋습니다.

  • API 엔드포인트: API 엔드포인트는 클라이언트가 API에 접속할 수 있는 특정 URL 또는 경로입니다. 각 엔드포인트는 양식 제출, 데이터베이스 항목 업데이트, 사용자 정보 검색 등 다양한 기능이나 리소스에 대한 접속을 제공합니다.
  • 호출 및 요청: API 호출 또는 요청은 데이터를 요청하거나 작업을 수행하기 위해 클라이언트가 API 엔드포인트로 보내는 메시지입니다. API 호출 또는 요청은 API 엔드포인트에서 응답을 생성합니다.
  • 오브젝트: 오브젝트는 사용자, 제품 또는 주문과 같은 실제 엔티티를 나타내는 데이터 구조입니다. 오브젝트로는 특성/속성 및 메소드/함수가 포함될 수 있습니다. 예를 들어 소셜 미디어 API에서 오브젝트는 이름, 프로필 사진, 이메일 등의 속성을 포함하는 사용자 프로필과 친구 요청을 보내고 프로필을 업데이트하는 메소드일 수 있습니다.
  • 데이터 바인딩: 데이터 바인딩은 API 요청에서 오브젝트로 입력 데이터를 매핑하는 프로세스입니다.
  • 인증: 인증은 API 요청을 생성하는 사용자 또는 시스템의 ID를 확인하는 프로세스입니다. 엔티티 인증 또는 사용자 인증의 목적은 해당 엔티티가 누구인지 또는 무엇인지를 확인하는 것입니다.
  • 권한 확인: 권한 확인은 인증된 사용자 또는 시스템에 허용되는 액세스 권한 수준을 결정합니다.

2023년 OWASP 상위 10대 API 보안 리스크

OWASP 상위 10대 API 보안 리스크에서는 API에 대한 가장 중요한 보안 리스크를 강조합니다.

  • API1:2023 - 손상된 오브젝트 수준의 권한 확인: 이 위협은 API가 사용자 권한에 따라 특정 오브젝트에 대한 접속을 적절히 제한하지 않는 경우 발생합니다. 즉, 권한이 없는 사용자가 원래 접속해서는 안 되는 데이터에 접속하거나 해당 데이터를 수정할 수 있어서 이로 인해 민감한 정보가 노출되거나 악의적인 행동이 발생할 수 있습니다.
  • API2:2023 - 손상된 인증: 손상된 인증은 사용자의 신원을 확인하는 데 사용되는 방법에 결함이 있는 경우 발생합니다. 이를 통해 공격자는 사용자 계정을 탈취하고, 무단 접속 권한을 얻으며, 정상적인 사용자처럼 작업을 수행할 수 있습니다.
  • API3:2023 - 손상된 오브젝트 속성 수준의 권한 확인: 이 문제는 API가 오브젝트 내 속성 수준에서 권한을 제대로 확인하지 못하는 경우 발생합니다. 공격자가 무단 접속 권한을 얻거나 오브젝트 내 특정 데이터 필드를 수정해 민감한 데이터를 노출하거나 악의적인 행동을 일으킬 수 있습니다.
  • API4:2023 - 무제한 리소스 사용: API가 작동하려면 네트워크 대역폭, CPU, 메모리, 스토리지 등의 리소스가 필요합니다. API가 리소스 소비에 적절한 제한을 두지 않으면 공격자는 과도한 요청을 만들어 API를 압도해 서비스 거부 또는 운영 비용 증가로 이어질 수 있습니다.
  • API5:2023 - 손상된 기능 수준의 권한 확인: 손상된 기능 수준의 권한 확인은 API가 사용자 역할에 따라 특정 기능이나 작업에 대한 접속을 적절히 제한하지 않았음을 의미합니다. 이 경우 사용자는 관리 기능에 접속하는 등 원래 안 되는 작업을 수행할 수 있습니다.
  • API6:2023 - 민감한 비즈니스 플로우에 대한 무제한 접속: API는 이러한 기능이 악용되는 방식을 적절히 제어하지 않고 항목을 구매하거나 의견을 게시하는 등의 비즈니스 프로세스를 노출시킬 수 있습니다. 공격자는 이러한 기능의 오용을 자동화함으로써 비즈니스에 피해를 줄 수 있습니다.
  • API7:2023 - 서버 측 요청 위조(SSRF): SSRF는 API에서 사용자가 제공한 URL을 제대로 검증하지 않고 다른 서버에서 리소스를 가져오는 경우 발생합니다. 공격자는 이를 악용해 API 서버가 방화벽을 우회하거나 내부 시스템에 접속해 의도하지 않은 위치로 요청을 전송하도록 할 수 있습니다.
  • API8:2023 - 보안 설정 오류: 보안 설정 오류는 API의 설정이 잘못되었거나 불완전해 공격에 취약해지는 문제를 의미합니다. 기본 설정, 패치 누락 또는 보안 제어 설정 오류로 인해 발생할 수 있으며, 잠재적 악용으로 이어질 수 있습니다.
  • API9:2023 - 부적절한 인벤토리 관리: 이 리스크는 API가 필요 이상으로 많은 엔드포인트를 노출하거나 적절한 문서화 및 버전 관리가 부족한 경우 발생합니다. 공격자는 개발자가 잊어버렸을 수 있는 오래된 엔드포인트 및 API 버전을 악용할 수 있습니다.
  • API10:2023 - 안전하지 않은 API 사용: 개발자가 써드파티 API의 데이터를 너무 신뢰해 사용자 입력에 사용하는 보안 표준을 동일하게 적용하지 않을 수 있습니다. 공격자는 이러한 써드파티 서비스의 취약점을 악용해 API를 간접적으로 감염시킬 수 있습니다.
2019년 이후 OWASP 상위 10대 API 보안 리스크의 변경 사항을 보여주는 다이어그램. 2019년 이후 OWASP 상위 10대 API 보안 리스크의 변경 사항을 보여주는 다이어그램.

추가 위협

OWASP API 보안 프로젝트의 이전 버전에는 기업에 여전히 큰 위협이 되는 몇 가지 추가 공격 및 취약점이 포함되어 있습니다.

  • 과도한 데이터 노출: API가 응답에 필요한 것보다 더 많은 데이터를 제공하는 경우 데이터가 과도하게 노출됩니다. 그러면 사용자가 직접 정보를 요청하지 않더라도 의도치 않게 민감한 정보가 공격자에게 노출될 수 있습니다.
  • 리소스 부족 및 전송률 제한: 이 위협은 사용자가 특정 기간 수행할 수 있는 요청 수를 제한하지 않는 API와 관련됩니다. 전송률 제한이 없으면 공격자가 너무 많은 요청으로 API에 과부하를 일으켜 서비스 거부를 유발하거나 리소스 집약적인 작업을 악용할 수 있습니다.
  • 대규모 할당: 대규모 할당은 API가 요청의 입력을 프로그램 오브젝트에 자동으로 바인딩해 공격자가 의도하지 않은 데이터 필드를 수정하거나 설정할 수 있는 경우 발생합니다. 이로 인해 사용자가 제어해서는 안 되는 데이터나 설정이 무단으로 변경될 수 있습니다.
  • 인젝션: 인젝션 결함은 신뢰할 수 없는 데이터가 명령이나 쿼리의 일부로 인터프리터에 전송되는 경우 발생합니다. 예를 들어 SQL, NoSQL, 명령어 인젝션이 이에 해당하며, API를 속여 의도하지 않은 명령을 실행하게 함으로써 데이터 도난, 손실 또는 손상으로 이어질 수 있습니다.
  • 불충분한 로깅 및 모니터링: 관리자가 로그를 적절히 기록하고 API를 모니터링하지 않으면 의심스러운 활동을 알아차리지 못하고 유출 탐지가 지연되어 보안 인시던트에 효과적으로 대응하기가 어려워질 수 있습니다.
  • 부적절한 자산 관리: 부적절한 자산 관리는 API의 엔드포인트와 버전을 적절히 유지 관리하고 모니터링하지 않았음을 의미합니다. 이로 인해 공격자가 악용할 수 있는 오래된 엔드포인트, 더 이상 사용되지 않거나 안전하지 않은 엔드포인트가 노출될 수 있습니다.

OWASP 상위 10대 API 보안 리스크를 방어하는 방법

OWASP 상위 10대 API 보안 리스크 및 기타 위협으로부터 API를 보호하려면 IT 및 보안팀은 API 보안을 위한 멀티레이어 전략을 배포해야 합니다.

이 접근 방식의 핵심은 다음과 같은 4가지 핵심 기능을 제공하는 완전한 API 보안 솔루션을 배포하는 것입니다. API 검색, API 보안 체계 관리, 런타임 보호, API 보안 테스트가 이러한 기능에 해당합니다. 

이 포괄적인 접근 방식은 API 게이트웨이 및 웹 애플리케이션 방화벽(WAF)와 같이 API를 관리하고 보호하기 위해 사용하는 기업의 기존 툴을 보완하는 중요한 역할을 합니다.

API 검색: 대부분의 기업은 API 트래픽의 대부분에 대한 가시성이 거의 없거나 전혀 없는데, 모든 API가 API 게이트웨이를 통해 라우팅된다고 가정하기 때문입니다. 하지만 사실은 그렇지 않습니다. 일반적인 기업의 API 중 다수는 관리되지 않습니다(예: 잊혀졌지만 여전히 실행 중이며 민감한 데이터와 접촉하는 휴면 API). 완전하고 정확한 인벤토리가 없으면 기업은 다양한 리스크에 노출됩니다. 필요한 핵심 기능은 다음과 같습니다. 

  • 설정이나 종류에 관계없이 모든 API의 위치 및 인벤토리 파악
  • 휴면, 레거시, 좀비 API 탐지
  • 잊히거나, 방치되거나, 알려지지 않은 섀도 도메인 식별
  • 사각지대 제거 및 잠재적 공격 경로 파악 

API 체계 관리: 완전한 API 인벤토리를 구축한 후에는 API를 통해 어떤 종류의 데이터가 이동하고 있는지, 이것이 규제 요구사항을 준수하는 데 있어서 어떤 영향을 미치는지 파악해야 합니다. API 체계 관리는 트래픽, 코드, 설정에 대한 포괄적인 보기를 제공해 기업의 API 보안 체계를 평가합니다. 필요한 핵심 기능은 다음과 같습니다.

  • 인프라를 자동으로 스캔해 설정 오류와 숨겨진 리스크 발견
  • 주요 이해관계자에게 취약점을 알리는 맞춤형 워크플로우 생성
  • 민감한 데이터에 접속할 수 있는 API 및 내부 사용자 식별
  • 탐지된 문제에 심각도 순위를 할당해 해결 우선순위 지정

API 런타임 보안: ‘유출 가정’이라는 개념에 대해 다들 잘 알고 계실 것입니다. API 관련 유출 및 공격도 이와 같이 불가피한 수준에 도달하고 있습니다. 프로덕션 환경에서 운영 중인 모든 API에 대해 실시간으로 공격을 탐지하고 차단할 수 있어야 합니다. 필요한 핵심 기능은 다음과 같습니다.

  • 데이터 변조 및 유출, 정책 위반, 의심스러운 행동, API 공격 모니터링
  • 추가적인 네트워크 변경이나 설치하기 어려운 에이전트 없이 API 트래픽 분석
  • 기존 워크플로우(티켓팅, SIEM 등)와 통합해 보안 및 운영 팀에 알림 제공
  • 부분적으로 또는 완전히 자동화된 해결을 통해 실시간으로 공격 및 오용 방지 

API 보안 테스트: API 개발팀은 가능한 한 빨리 작업해야 한다는 압박을 받고 있습니다. 모든 애플리케이션을 개발할 때 속도가 필수적인데, 개발 속도가 빠르면 취약점이나 설계 결함이 발생하고 이를 발견하지 못할 가능성이 큽니다. 개발 중인 API를 프로덕션에 출시하기 전에 테스트하면 취약한 API를 수정하는 데 드는 리스크와 비용을 크게 줄일 수 있습니다. 필요한 핵심 기능은 다음과 같습니다.

  • 악성 트래픽을 시뮬레이션하는 광범위한 자동화된 테스트 실행
  • API가 프로덕션 환경에 들어가기 전에 취약점을 발견해 공격 성공 리스크 줄이기
  • 확립된 거버넌스 정책 및 룰에 따라 API 사양 검사
  • 온디맨드 또는 CI/CD 파이프라인의 일부로 실행되는 API 중심 보안 테스트 실행

참고: 기업은 API 보안 솔루션 외에도 웹 애플리케이션 및 API 보안(WAAP)의 기능을 살펴볼 수 있습니다. 다중 공격 기법에서 위협을 신속하게 탐지하고 방어하기 위해 설계된 WAAP는 기존 WAF의 보호 기능을 확장합니다. WAF 및 WAAP와 함께 여기에 API 보안 솔루션을 사용하면 방화벽 너머로 보안을 확장하기 때문에 훨씬 더 강력한 방어가 가능합니다.

API 보안 접근 방식을 강화하려는 기업은 다음 기법과 기술을 사용할 수도 있습니다.

인증 및 권한 확인

  • 세분화된 권한 확인 구축: 모든 API 요청에서 특정 오브젝트에 접속하기 위한 사용자의 권한을 확인하도록 합니다. 역할 기반 접속 제어(RBAC) 또는 속성 기반 접속 제어(ABAC)를 사용해 이러한 룰을 적용합니다.
  • 강력한 인증 메커니즘 사용: 멀티팩터 인증(MFA)을 구축하고 OAuth 2.0 및 OpenID Connect와 같은 보안 프로토콜을 사용해 사용자 ID를 확인합니다.
  • 강력한 암호 정책 적용: 복잡한 암호를 요구하고 암호 교체 정책을 적용해 보안을 강화합니다.

Access Control

  • 속성 수준 접속 제어: 오브젝트 내 속성 수준에서 접속 제어를 적용해 사용자가 권한이 있는 속성에만 접속하거나 해당 속성을 수정할 수 있도록 합니다.
  • 기능 수준 접속 제어: 사용자 역할 및 권한에 따라 각 API 기능에 대한 접속이 제한되는지 확인합니다. 최소 권한 원칙을 사용해 접속을 최소화합니다.

전송률 제한, 스로틀링, 리소스 모니터링

  • 전송률 제한 및 스로틀링 구축: 사용자가 특정 기간에 수행할 수 있는 API 요청 수를 제한함으로써 리소스 고갈을 방지합니다.
  • 리소스 모니터링 및 확장: 리소스 사용량을 지속적으로 모니터링하고 인프라를 동적으로 확장해 가용성을 유지하면서 정상적인 트래픽 급증을 처리합니다.

검증 및 위협 요소 삭제

  • 사용자 입력 검증 및 위협 요소 삭제: 서버 측 요청의 URL 또는 기타 입력을 적절히 검증하고 위협 요소를 삭제해 악성 요청을 차단합니다.
  • API 응답 검증 및 위협 요소 삭제: 써드파티 API의 데이터를 사용자 입력과 동일한 방식으로 사용 전에 검증하고 위협 요소를 삭제해 처리합니다.

세그멘테이션

  • 네트워크 세그멘테이션: 필요한 내부 서비스로만 서버 측 요청을 제한하고 네트워크 세그멘테이션을 사용해 잠재적인 SSRF 공격의 영향을 제한합니다.

설정 및 인벤토리

  • 설정 강화 API 설정을 정기적으로 검토하고 업데이트해 보안 모범 사례를 따릅니다. 불필요한 기능과 서비스를 비활성화합니다.
  • 보안 설정 관리 자동화: 자동화된 툴을 사용해 모든 환경에서 보안 설정을 일관되게 관리하고 적용합니다.

테스트 및 감사

  • 지속적인 보안 테스트: API 엔드포인트의 취약점을 정기적으로 테스트하고 문제를 즉각적으로 해결합니다.
  • 정기 감사: 정기적인 보안 감사를 수행해 권한 확인 결함을 식별하고 수정합니다.

인벤토리, 문서화 및 검토

  • API 인벤토리 유지 관리: 버전 및 사용 사례를 비롯해 모든 API 엔드포인트의 최신 인벤토리를 유지합니다. 사용되지 않는 엔드포인트가 제대로 폐기되었는지 확인합니다.
  • API 문서화 및 모니터링: API 기능을 문서화하고 사용 사례를 모니터링해 부적절한 관리와 관련된 보안 리스크를 탐지하고 방어합니다.
  • 비정상 활동 모니터링: 지속적인 모니터링을 구축해 비즈니스 흐름을 악용하려는 시도를 나타낼 수 있는 비정상적인 API 사용 패턴을 탐지하고 이에 대응합니다.
  • 정기적인 보안 검토: 접속 제어 정책을 주기적으로 검토하고 업데이트해 유효성을 유지합니다.
  • 보안 라이브러리 및 프레임워크 사용: 써드파티 API와 상호 작용하는 데 사용되는 라이브러리와 프레임워크가 안전하고 정기적으로 업데이트되는지 확인합니다.

암호화

전송 중인 데이터 암호화: TLS(Transport Layer Security)를 사용해 전송 중인 데이터를 암호화함으로써 공격자가 민감한 정보를 가로채지 못하도록 보호합니다.

방화벽 및 게이트웨이

  • 웹 애플리케이션 방화벽(WAF) 구축: 웹 애플리케이션 방화벽은 악성 요청을 차단해 SQL 인젝션 및 크로스 사이트 스크립팅(XSS)과 같은 일반적인 웹 기반 공격으로부터 API를 보호합니다.
  • API 게이트웨이 사용: API 게이트웨이는 모든 API 요청의 진입점 역할을 하며 클라이언트 인증, 전송률 제한 구축, 트래픽 관리, DDoS 공격을 실시간으로 방지하는 등 보안 작업을 수행합니다.

패치 및 업데이트

  • 패치 관리: 패치, 업데이트, 보안 수정 사항을 정기적으로 적용해 알려진 취약점을 해결합니다. 패치가 호환성 문제나 의도하지 않은 결과를 초래하지 않도록 테스트 환경을 준비합니다.

제로 트러스트

  • 제로 트러스트 접근 방식 도입: 제로 트러스트 프레임워크는 IT 환경 내부 또는 외부의 사용자, 디바이스 또는 애플리케이션을 본질적으로 신뢰할 수 없다고 가정합니다. 제로 트러스트 접근 방식은 API에 대한 접속을 요청하는 모든 클라이언트를 지속적으로 인증하고 검증하도록 요구함으로써 무단 접속을 방지하고 공격의 피해를 제한합니다.

FAQ

OWASP(Open Worldwide Application Security Project)는 소프트웨어 보안 향상을 목표로 하는 비영리 단체입니다. 개발자와 보안 전문가가 웹 애플리케이션을 보안할 수 있도록 무료 오픈 소스 툴, 리소스, 커뮤니티 기반 프로젝트를 제공합니다.

OWASP 상위 10대 API 보안 리스크는 API에 대한 가장 중요한 보안 리스크 목록입니다. 상위 10대 목록은 개발자, 아키텍트, 보안 전문가에게 가장 일반적인 취약점과 이를 방어하는 방법에 대한 인사이트를 제공하는 것을 목표로 합니다.

API가 다양한 서비스와 시스템을 연결하는 데 점점 더 많이 사용되면서 공격자의 주요 표적이 되고 있습니다. API 보안은 민감한 데이터를 보호하고, 트랜잭션의 무결성을 보장하며, 서비스의 가용성을 유지하는 데 매우 중요합니다.

고객이 Akamai를 선택하는 이유

Akamai는 온라인 비즈니스를 지원하고 보호하는 사이버 보안 및 클라우드 컴퓨팅 기업입니다. 시장을 대표하는 보안 솔루션, 탁월한 위협 인텔리전스, 글로벌 운영팀이 어디서나 기업 데이터와 애플리케이션을 보호하기 위한 심층적 방어 기능을 제공합니다. Akamai의 풀스택 클라우드 컴퓨팅 솔루션은 세계에서 가장 분산된 플랫폼에서 성능과 경제성을 제공합니다. 글로벌 기업들은 비즈니스 성장에 필요한 업계 최고의 안정성, 확장성, 전문성을 제공하는 Akamai를 믿고 신뢰합니다.

Akamai 보안 솔루션 둘러보기