블로그

OWASP Top Ten API 취약점 해결: API 보안에는 봇 관리가 필요합니다.

짐 다우니 썸네일
짐 다우니
2024년 2월 29일 게시

기업 사이버보안 팀은 API 보안 에 초점을 맞추었고, 이는 당연한 일입니다. 디지털 경제에서 API는 비즈니스의 정문이자 IoT 기기, 웹 및 모바일 앱의 진입점이며, 점점 더 비즈니스 방식을 혁신하고 있는 AI 기반 애플리케이션의 진입점이기도 합니다. 안타깝게도 API는 범죄자들의 전초기지이기도 하며, 많은 범죄자들이 봇을 이용해 공격을 수행합니다. 따라서 보안팀에서는 API를 보호하고 이를 공격하는 데 사용되는 봇을 완화하는 것이 중요합니다.

OWASP 상위 10대 API 보안 취약점을 살펴보면 API 공격에 봇이 중심적인 역할을 한다는 것이 분명해집니다. 상위 10개 API 취약점 중 3개는 봇과 직접적이고 명백하게 관련이 있습니다.

  • 손상된 인증 : 봇은 무차별 대입 공격, 사전 공격, 신임장 정보 입력 공격을 통해 인증을 해독하여 계정 인수, 사기, 재정적 손실, 고객 불만 등을 초래합니다.
  • 제한 없는 리소스 소비 : API의 메모리와 처리 용량을 고갈시키고, 무제한 리소스 소비를 이용하는 것은 봇입니다. 봇이 대화형 애플리케이션(즉, 사람이 사용하는 웹 및 모바일 애플리케이션)에서 사용하도록 설계된 API를 타겟으로 하는 경우 성능과 비용에 미치는 영향이 치명적일 수 있습니다.
  • 민감한 비즈니스 흐름에 대한 무제한 액세스 : 특정 사업 흐름에 대한 과도한 접근은 사업에 해를 끼칠 수 있습니다. 허가받지 않은 재판매업체는 더 높은 가격으로 재판매하기 위해 품목의 재고를 사들일 수 있습니다. 스패머는 댓글/게시물 흐름을 악용할 수 있습니다. 공격자는 예약 시스템을 사용해 사용 가능한 모든 시간 슬롯을 예약할 수 있습니다. 어느 경우든 피해를 일으키는 것은 봇입니다. 테일러 스위프트 콘서트 티켓이 얼마나 빨리 매진되어 티켓마스터 앱이 다운되고 팬들이 실망했는지 기억하시나요? 이런 소동을 일으킨 것은 봇 이었습니다.

OWASP API 상위 10개 목록 에 있는 다른 7개 항목(보안 오류, 부실한 인벤토리 관리, 손상된 권한 부여 등)은 봇과 그다지 관련이 없어 보이지만 공격자는 봇을 이용해 이러한 취약점을 효과적으로 발견하고 빠르게 악용합니다. Corey J. Ball은 그의 책 Hacking APIs 에서 API 검색(OWASP ZAP, Gobuster, Kiterunner)과 퍼징(Postman, Wfuzz, Burp Suite)을 위한 여러 자동화 도구의 사용에 대해 설명합니다. 공격자는 이러한 도구를 사용해 API에 수천 개의 요청을 보내 취약점을 찾아냅니다. 이런 감청을 파악하고 성공 가능성을 줄이려면 봇을 완화하기 위한 효과적인 시스템이 필요합니다.

게다가 AI 애플리케이션으로 인해 API가 엄청나게 늘어나고, 이러한 API가 자동화된 공격에 더 취약해지고 있습니다. 이에 대응하여 OWASP는 LLM 및 Gen AI 앱을 위한 2025년 상위 10가지 위험 및 완화책을 발표했습니다. 자세한 내용은 최근 게시물 ' 봇이 대규모 언어 모델을 공격하는 방식'을 참조하세요.

봇이 모든 API에 동일한 방식으로 영향을 미치지 않는다는 점을 알아두는 것이 중요합니다. 머신 간 통신을 통해 자동화된 프로세스(일반적으로 내부 프로세스 또는 파트너의 프로세스)를 통해 액세스하는 API는 일반적으로 상호 TLS 로 보호됩니다. 이 경우 인증이 깨질 위험이 낮고 인증된 클라이언트별로 속도 제한을 적용할 수 있습니다. 오히려 인간이 사용하는 웹 및 모바일 앱, 즉 대화형 앱에서만 트래픽을 기대하는 API가 봇에 가장 취약합니다.

인간이 시작한 트래픽을 예상하는 API의 경우, 봇을 방어하는 것이 점점 더 어려워졌습니다. 오픈소스 라이브러리를 사용하면 헤더 핑거 프린팅을 통한 감지를 쉽게 피할 수 있으며, 봇 운영자는 수천만 개의 주거용 IP 주소가 포함된 네트워크를 통해 CAPTCHA프록시 요청을 무력화할 수 있는 널리 사용 가능한 서비스를 이용할 수 있습니다. 헤더 분석, IP 거부 목록, CAPTCHA와 같은 기존 기술은 더 이상 효과적이지 않으므로 , 봇을 완화하려는 애플리케이션 보안 팀은 풍부한 클라이언트 측 신호 수집, JavaScript 및 모바일 SDK 활용, 정교한 머신 러닝을 통해 공격 도구와 봇 동작을 구별해야 합니다.

귀하의 조직의 어떤 API가 봇에 취약한가요? 영향 가능성과 영향 비용은 얼마입니까? 봇에 대한 필요한 보호를 보장하기 위해 보안 제어를 설계하려면 어떻게 해야 합니까? 이러한 질문은 위협 모델링에서 다루기에 좋은 질문입니다. 봇이 비즈니스에 미치는 영향에 대해 자세히 알아보려면 해당 주제에 대한 F5 백서를 참조하거나 무료 상담 에 등록하세요.