API 관리 · 보안

Self-learning, holistic API Security. No coding, network configuration, or documentation needed.

API 보안, 웹 방화벽만으로 부족한 이유

웹 애플리케이션 방화벽 없이 애플리케이션의 보안을 상상하기란 쉽지 않습니다.

웹방화벽은 애플리케이션의 기능과 목적에 관계없이 동일한 방식으로 웹 애플리케이션을 보호하는 범용적인 보안 솔루션입니다.

API는 웹 애플리케이션과 다르며, 애플리케이션 보안은 API를 보호하기에 충분하지 않습니다.

API 보호에 관련해 웹방화벽은 강점이며 단점이기도 합니다.

IMVISION

API 호출을 분석하고 실행 가능한 통찰력을 실시간으로 제공하여 신속한 조치를 취할 수 있도록 돕는 API 위협 탐지 및 예방 솔루션입니다. 기업의 보안팀 운영 비용을 절감할 수 있는 방식으로 API 동작의 이상징후를 탐지합니다.

웹 방화벽과 API 보안

웹 방화벽은 시행하는 정책에만 유용합니다. 수동 구성에서 힘든 프로세스 였던 최신 차세대 방화벽은 자동 정책 생성을 위한 고급 기능을 갖추고 있습니다.

최근 몇 년 동안 웹방화벽 솔루션은 API 기반 남용에 대한 보호 기능이 포함되기 시작했습니다. 웹 방화벽은 일반적인 유효성 검사 및 콘텐츠 위협 감지 기능이 포함되어 있으나, 해당 기술로만 API를 보호합니다. API 보호를 활성화하기 위해 웹 방화벽은 OpenAPI(fka Swagger)와 같은 API 스키마를 수집하여 전용 정책을 생성합니다. 이러한 보호는 효과적일 수 있지만 사전에 정확한 스키마가 있어야합니다.

그러나 현실은 전제 조건이 충족되지 않고 다양하기에 조직은 보안을 위해 고군분투해야 합니다.

또한 WAF는 많은 설정 및 정책, 유지 관리가 필요하므로 다양한 API와 빠른 속도로 인해 관리가 불가능하며 API에 대한 변경 사항을 인식하지 못하고 서비스를 시작할 때가 많습니다.

기대효과

온라인 자가 학습 기반 공격 탐지

  • 자가 학습으로 별도의 설정 또는 조정이 필요 없음

  • AI 기반 API 데이터 행동 모델링

  • 혁신적인 내부 알고리즘 기반 자동 API 검색

  • 타사 API 게이트웨이, 사이드카, 서버와 완벽한 통합

  • 비 정상적인 API 호출 탐지 및 방지

이상징후에 대한 쉬운 설명

  • NLP(Natural Language Processing, 자연어 처리) 알고리즘을 활용하여 데이터 내의 복잡한 관계를 효율적으로 모델링

  • API 호출 및 호출 흐름을 자연어로 자동 생성

  • NLP 알고리즘과 스마트 분석을 활용하여 의미있는 이상징후를 탐지하고 오탐 최소화

  • 새로운 API 및 프로세스 변경에 대한 자동 검색 및 이해

  • 비 정상적인 API 이상 이벤트 및 사건에 대한 보고서를 자동으로 생성

지속적인 공격 분석 및 위험 평가

  • 동급 최고의 분석 기술로 자동적이고 지속적으로 API 분류

  • 모든 관련된 이상징후 이벤트를 단일 사건으로 그룹화

유해한 트랜잭션 차단

  • 조직위 정책에 따라 다양한 예방 방법 제공

  • 보안 분석가가 분석하여 향후 유사한 발생을 막을 것인지 결정

모든 API 프로토콜 지원

  • 다양한 유형의 WEB 및 Non-WEB 프로토콜 지원

입증된 API 위협 방지 플랫폼

  • imVision API AMP를 통해 매월 100억회 이상의 API 호출 분석

기술

Machine learning NLP(Natural language processing, 자연어 처리) 기반 기술 을 적용하여 Imvision의 AMP(Anomaly Management Platform)는 모든 API에 대한 고유한 대화를 분석하고 애플리케이션의 동작 관계를 모델링 할 수 있습니다. 이를 통해 비정상적인 동작을 식별하여 침해 사고를 사전에 예방할 수 있습니다.

API Threat LandScape

애플리케이션 상위에 있는 WAF는 입력 유효성 검사 (1)을 위해 스키마를 활용할 수 있지만, 일반적으로 기능 공격 (2) 및 공개적으로 사용 가능한 악성 API를 발견 (3)하는 데는 비효율적입니다.

하지만 중요한 부분은 스키마 조차도 데이터를 구조화하는 방식만 설명한다는 것입니다. API 호출에 대한 기술 지침과 표준을 제공하지만 사용 방법과 목적에 대해서는 다루지 않습니다. 비즈니스 로직은 문서화되어 있는 경우가 드뭅니다. 기술적 보호를 위해 스키마를 명확히 하여 보호할 수 있지만, 기능적인 공격은 보호하기에는 어렵습니다.

Case Study: Functional Attacks

기능적 공격은 애플리케이션을 중단하려는 시도에서 예상되는 표적으로 삼습니다. 기능적 공격을 실행할 때 공격자는 리소스에 액세스하기 위해 API를 조작하는 방법을 사용하거나 의도하지 않은 작업을 수행하여 API를 속입니다. 일반적으로 기능적 공격은 API 설계 및 구현의 결함을 악용합니다. 다음과 같은 금융 API를 통한 데이터 도용 사례를 고민해야 합니다.

금융 서비스의 일반적인 사용에서 등록 프로세스의 일부로 사용자는 투자 계정과 연결된 전화번호를 입력합니다. 다양한 데이터 개체 간에는 1 : 1 또는 1 : n 관계가 있으며 해당 논리는 일반적으로 사용자 행동에 반영됩니다.


Charter 은행에 발생한 이 공격은 해당 은행의 고객에 의해 발생하였습니다. 공격자는 자신의 자격증명을 사용하여 애플리케이션을 우회하고 다른 사용자의 전화번호를 이용해 API를 조작하여 타인의 계정 정보를 열람하였습니다.

API의 취약한 보안으로 인해 서버는 사용자의 개인정보의 유효성을 검사하지 않고 요청에 응답한 결과, 공격자는 다른 사용자의 개인정보를 손쉽게 얻을 수 있었습니다. Charter 은행은 결과적으로 평판이 크게 손상되었고 개인정보보호 규정을 위반하였습니다.


Case Study: Functional Attacks

웹 API는 웹 애플리케이션과 동일하지 않습니다. 주요 차이점은 비즈니스 로직과 기능에 있습니다. API는 애플리케이션보다 훨씬 더 보안을 구체화해야 합니다. 모든 API에는 특정 기능 (또는 기능 집합)을 제공하는 고유한 비즈니스 로직이 있습니다. 과거에는 애플리케이션 내부에 숨겨져 있던 기능이 API를 통해 노출되었습니다. 이로 인해 공격자는 API 흐름을 추론하여 공격하고 있습니다.

Addressing the OWASP API Security Top 10

널리 알려진 상위 10 대 웹 애플리케이션 보안 위험 목록 외에도 2019 년 OWASP는 API 보안 전용 목록을 별도로 발표했습니다. API를 악용하기 위해 남용되는 일반적인 취약성에 대해 잘 연구된 상세한 검토를 제공하며, 악용 가능성, 확산성, 공격자의 탐지 용이성 및 잠재적 영향에 따라 위험의 내림차순으로 나열됩니다.

OWASP가 API 취약성의 공통 분모를 다루고 있지만 각 API마다 다르며 비즈니스 로직 및 프로세스와 관련된 고유한 취약성이 있기 때문에 사용자 행동이 다른 상황보다 더 맥락적이라는 점을 기억해야 합니다.