Akamai는 Fermyon을 인수해 웹어셈블리 FaaS(Function as a Service)와 Akamai의 전 세계적으로 분산된 플랫폼을 결합합니다. 뉴스 읽기

보안 API란 무엇인가요?

API(애플리케이션 프로그래밍 인터페이스)는 최신 애플리케이션 아키텍처에 필수적입니다. API는 애플리케이션이 다른 소프트웨어, 서비스 및 플랫폼과 통신하고 데이터를 교환할 수 있도록 하는 룰과 프로토콜을 정의합니다. 이 기능을 통해 개발자는 기존 소프트웨어의 데이터와 기능을 활용해 보다 강력한 애플리케이션을 구축할 수 있으며, 기업은 IT 시스템을 외부 서비스 및 써드파티 플랫폼과 통합할 수 있습니다.

API는 또한 주요 운영 리스크를 초래합니다. 기업이 점점 클라우드 중심적이고 디지털화됨에 따라 API의 범위와 규모, 복잡성도 증가하고 있습니다. API는 온프레미스에서 하이브리드 클라우드에 이르기까지 여러 환경에 분산되어 있는 경우가 많습니다. 여기에 기업의 API 생태계가 자체 네트워크와 클라우드를 훨씬 넘어 확장되어 있을 가능성이 높다는 점이 이를 더 복잡하게 만듭니다. API가 써드파티 및 개발자 생태계의 앱, 서비스, 시스템과 수없이 연결되어 있는 것을 생각해 보세요.

API의 범위와 규모, 복잡성이 증가함에 따라 다음에 대한 실시간 인사이트를 얻기 어렵습니다.

  • 여러 사업부에서의 API 위치(대부분의 경우 사업부에 자체 개발자팀이 있음)

  • API 설정 방법, API의 라우팅 위치, 적절한 인증 및 권한 제어가 존재하는지 여부

  • API가 호출될 때 민감한 데이터를 반환하는지 여부와 해당 데이터에 접속할 수 있는 사람

특히 기업에 축적되는 API의 상당 부분이 관리되지 않고, 눈에 보이지 않으며, 보호되지 않는 경우가 많기 때문에 더욱 어렵습니다. 여기에는 휴면, 섀도, 좀비 API가 포함되며, 대부분의 경우 일반적으로 사용되는 툴의 방어에 취약합니다.

기업 보안팀은 API와 API가 상호 작용하는 애플리케이션, 웹 서비스, IT 환경을 보호하기 위해 API 공격, API 유출, API 남용을 방어하는 기술과 모범 사례를 도입해야 합니다. 

API에 대한 주요 위협

API에 대한 상위 8대 위협을 보여주는 다이어그램

가장 일반적인 API 위협은 여러 범주로 나뉩니다.

  • 취약점 악용: 많은 API는 공격자가 원치 않는 행동을 유발하는 API 요청을 보낼 수 있도록 하는 취약점으로 생성됩니다. 공격자는 이러한 취약점을 악용해 API 또는 관련 애플리케이션에 무단으로 접속할 수 있습니다. 일반적인 예로는 교차 사이트 요청 위조(CSRF)와 같은 공격이 있습니다.

  • 인젝션 공격: SQL 인젝션, 크로스 사이트 스크립팅(XSS), XML 인젝션, 스크립팅과 같은 공격에서 공격자는 API 요청에 악성 코드를 삽입합니다. 서버에서 코드를 실행하면 API가 원치 않거나 악의적인 특정 작업을 수행할 수 있습니다.

  • 인증 문제: 인증은 API 요청을 수락하고 처리하기 전에 사용자, 애플리케이션 또는 디바이스가 정상적인 클라이언트인지 확인하는 프로세스입니다. 기업에 취약한 인증 메커니즘이 있는 경우 공격자는 정상 사용자의 인증정보를 얻거나, API 키를 훔치거나, 인증 토큰을 가로채서 사용하거나, 무차별 대입 공격에서 다양한 암호 또는 암호화 키 조합을 시도할 수 있습니다.

  • 권한 확인 문제: 권한 확인은 클라이언트에 허용되는 API 접속 수준을 결정하는 작업입니다. 권한을 제대로 관리하지 않으면 API 클라이언트가 금지된 데이터에 접속할 수 있으므로 데이터 유출의 리스크가 증가합니다. 일반적인 예로는 BOLA(손상된 오브젝트 수준 권한)라는 위협이 있습니다. 이 위협은 공격자가 접속 제어가 불충분하기 때문에 접속 권한이 없는 개체에 접속하거나 조작할 수 있습니다.

  • 서비스 거부(DoS) 또는 분산 서비스 거부(DDoS) 공격: 이러한 공격은 처리할 수 있는 것보다 더 많은 트래픽으로 API를 플러딩해 API를 압도해 API가 충돌하거나 느려지게 합니다. 그 결과 정상 사용자에 대한 서비스가 거부될 수 있습니다.

  • 중간자(MITM) 공격: 공격자가 두 시스템 간의 트래픽과 통신을 가로챌 수 있으면 API 키, 접속 토큰, 사용자 인증정보와 같은 민감한 데이터를 캡처하거나 한 당사자에서 다른 당사자로 전송되는 데이터를 조작할 수 있습니다.

  • 보안 설정 오류: IT 팀이 API에 대한 보안 설정을 적절히 구성하지 못하면 공격자가 무단 접속을 얻고, 권한을 에스컬레이션하고, IT 환경을 감염시킬 수 있습니다.

  • 데이터 노출: 많은 API가 API 요청에 응답할 때 필요한 것보다 더 많은 정보를 유출하도록 조작될 수 있습니다. 공격자가 이 취약점을 악용해 데이터를 훔치거나 무단 접속을 얻을 수 있습니다.

API 보안의 필요성

최신 웹 애플리케이션과 앱에서 API가 수행하는 중요한 역할을 고려할 때 API 보안 작업은 전반적인 사이버 보안에 매우 중요합니다. API를 적절히 보호하지 못하면 기업에 심각한 악영향을 미칠 수 있습니다.

  • 민감한 데이터 손실: 공격자가 API를 사용해 백엔드 시스템에 접속하면 고객의 개인 식별 정보, 비즈니스 계획, 재무 기록, 지적 재산과 같은 민감한 데이터를 훔칠 수 있습니다.

  • 신뢰 상실: API Security  위협에 굴복하는 기업은 종종 고객과 파트너의 신뢰 하락을 경험해 비즈니스 기회와 수익에 큰 영향을 미칩니다. API 공격 이후 보안팀은 고위 경영진과 이사회와 같은 주요 내부 이해관계자의 신뢰를 잃고 신뢰를 훼손할 수도 있습니다. 

  • 컴플라이언스 실패: 데이터 유출로 인해 민감한 정보가 도난되거나 노출되면 규제가 엄격한 업계의 기업에 상당한 벌금과 법적 처벌이 부과될 수 있습니다. 많은 기업이 데이터 보안 규정을 준수하기 위한 접근 방식을 고려할 때 API를 염두에 두고 있지만, API Security 및 컴플라이언스 모범 사례를 인식하는 기업은 훨씬 적습니다.

  • 데이터 유출 및 사이버 공격: 많은 사이버 범죄자들은 API 공격을 사용해 IT 환경에 접속해 대규모 악성 사이버 공격을 시작합니다.

  • 서비스 중단: API는 애플리케이션과 시스템을 연결하는 데 필수적이기 때문에 API에 대한 공격은 서비스와 시스템을 손상시켜 중단이나 상당한 생산성 손실을 초래할 수 있습니다.

  • 재정적 피해: API 공격은 공격자가 금융 계좌를 유출할 수 있도록 하는 것 외에도 방어 프로세스, 포렌식 조사, 프로덕션 손실, 비즈니스 기회 손실에 막대한 비용을 초래합니다.

API Security의 도전 과제

IT 팀은 API를 보호하기 위해 여러 가지 중요한 도전 과제를 극복해야 합니다.

  • 복잡한 API 생태계: 수천 개의 API, 수많은 API 엔드포인트, 다양한 유형의 요청으로 인해 기업의 API 생태계는 일반적으로 매우 복잡합니다. 또한 기업의 디지털 풋프린트에는 오픈 소스, 써드파티, 섀도 API가 포함되어 있어 모든 자산을 인벤토리화하기가 어려울 수 있습니다. 따라서 IT 팀은 강력한 보안 조치로 API를 보호하고 100% API를 시각화하지 못할 수 있습니다.

  • 진화하는 위협: 공격자들은 API를 악용하기 위한 새로운 방법을 끊임없이 개발하고 있으며, 이에 따라 보안 조치에 대한 지속적인 경계와 업데이트가 필요합니다.

  • 상호 연결성: API는 IT 환경 전반에 걸쳐 매우 복잡하기 때문에 IT 팀은 지연 시간, 성능 저하 또는 확장성 제한으로 이어질 수 있는 보안 조치를 도입하는 것을 꺼립니다.

  • 관리되지 않는 확산: 많은 기업에서 API는 API를 보호하고 개발을 관리하기 위한 중앙 프레임워크 없이 다양한 팀에서 빠르게 개발합니다.

  • 전송 압력: 최신 소프트웨어 개발 라이프사이클의 빠른 속도로 인해 API Security의 필요성과 새로운 버전을 프로덕션 환경으로 신속하게 전환해야 하는 압박 사이의 긴장이 고조되고 있습니다.

API를 보호하는 기술

IT 팀은 API를 적절히 보호하기 위해 여러 레이어의 기술을 도입할 수 있습니다. 다음은 기업이 API를 관리하고 기본 보호 기능을 제공하는 데 일반적으로 사용하는 기존 툴의 네 가지 예입니다.

  • 인증 및 권한 확인 프로토콜: 인증과 권한 확인은 API Security의 필수 요소입니다.  OAuth 2.0, OpenID Connect, JWT(JSON Web Tokens)와 같은 프로토콜은 사용자의 신원을 확인하고 리소스에 대한 접속을 제어하는 데 도움이 될 수 있습니다. 이러한 기술을 역할 기반 접속 제어 및 속성 기반 접속 제어와 함께 구축하면 API 보안을 위한 노력을 크게 개선할 수 있습니다.

  • API 관리 플랫폼: API 관리 플랫폼 공급업체는 기업이 API를 생성, 게시, 모니터링, 분석, 보호하는 데 도움이 되는 포괄적인 툴을 제공합니다. 이러한 솔루션은 개발부터 폐기까지 전체 API 라이프사이클을 중앙 집중식으로 관리할 수 있는 방법을 제공합니다.

  • API Gateway: API Gateway는 모든 API 트래픽에 대한 단일 엔트리 포인트 역할을 하며 전송률 제한, 제한, API 요청 유효성 검사와 같은 작업을 관리합니다. API와 게이트웨이는 트래픽과 활동에 대한 자세한 로그를 캡처하기 때문에 실시간 모니터링 기능도 제공할 수 있습니다.

  • WAF(Web Application Firewall): WAF는 HTTP 요청을 필터링하고 모니터링해 API를 보호합니다. WAF는 클라이언트와 서버 사이에 위치하여 웹 애플리케이션에서 들어오고 나가는 HTTP/HTTPS 트래픽을 모니터링, 필터링 및 분석합니다. 애플리케이션 레이어를 표적으로 하는 공격을 방어하는 데 특히 유용합니다.

그러나 API 공격의 복잡성과 빈도로 인해 많은 기업에서 사용하는 기존 툴을 넘어서는 또 다른 보안 레이어가 필요합니다. 오늘날의 위협 환경에서는 API 검색, 체계 관리, 런타임 보호, API Security 테스트를 제공하는 완벽한 API Security 솔루션이 필요합니다. 

이 포괄적인 접근 방식은 API Gateway 및 WAF와 같이 API를 관리하고 보호하기 위해 사용하는 기업의 기존 툴을 보완하는 중요한 역할을 합니다.

API 검색: 대부분의 기업은 API 트래픽의 대부분에 대한 가시성이 거의 없거나 전혀 없는데, 모든 API가 API Gateway를 통해 라우팅된다고 가정하기 때문입니다. 하지만 사실은 그렇지 않습니다. 일반적인 기업의 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 Security 솔루션 외에도 웹 애플리케이션 및 API Security(WAAP)의 기능을 살펴볼 수 있습니다. 다중 공격 기법에서 위협을 신속하게 탐지하고 방어하기 위해 설계된 WAAP는 기존 WAF의 보호 기능을 확장합니다. WAF 및 WAAP와 함께 여기에 API Security 솔루션을 사용하면 방화벽 너머로 보안을 확장하기 때문에 훨씬 더 강력한 방어가 가능합니다.

API 보안을 위한 전반적인 모범 사례

이러한 API Security 모범 사례는 기업이 보안 리스크를 방어하고 강력한 웹 애플리케이션 보안을 보장하는 데 도움이 될 수 있습니다.

  • 전송 중인 데이터 암호화: TLS(Transport Layer Security) 및 SSL(Secure Sockets Layer) 프로토콜을 사용해 데이터가 클라이언트와 API 간에 이동할 때 암호화함으로써 API 호출을 가로채거나 변조되지 않도록 합니다.

  • 인풋 검증 및 정제: 모든 인풋을 적절히 검증하고 정제하면 인젝션 공격과 같은 위협을 방지할 수 있습니다. 유효성 검사는 인풋이 유효한 데이터로 간주되는 데이터에 대한 기대치에 부합하는지 확인하는 프로세스입니다. 정제는 잠재적으로 악성 또는 유해한 콘텐츠를 제거하기 위해 인풋을 정리하거나 필터링하는 프로세스입니다.

  • 전송률 제한 및 스로틀링 사용: API 요청의 수를 제어해 API의 남용이나 과대 사용을 방지하고, 리소스의 과도한 소비를 방지하고, 잠재적인 DoS 및 DDoS 공격을 차단합니다.

  • API 활동 모니터링 및 기록: API 호출에 대한 자세한 로그를 유지하고 비정상적인 활동을 모니터링합니다. 보안팀은 로그를 분석해 비정상적인 트래픽 급증 또는 보안 위협을 나타낼 수 있는 반복적인 로그인 시도 실패와 같은 의심스럽거나 비정상적인 활동 패턴을 발견할 수 있습니다.

  • 정기적인 보안 테스트 실시: 정기적인 보안 테스트 및 감사를 통해 취약점을 식별하고 수정합니다. 테스트는 개발 및 프로덕션 환경에서 수행되어 보안팀의 결함 발견 능력을 극대화할 수 있습니다.

  • 최소 권한 접속 구축: 사용자와 서비스가 기능을 수행하는 데 필요한 최소 수준의 접속 권한만 갖도록 합니다. 이를 통해 API 및 IT 리소스에 대한 무단 접속을 방지할 수 있습니다.

  • 안전한 API 엔드포인트: API Gateway 및 웹 애플리케이션 방화벽 사용 등 적절한 보안 조치를 통해 API 엔드포인트를 보호합니다.

  • 보안 API 설계 실천: API를 보호하는 가장 중요한 방법 중 하나는 설계 프로세스 초기에 보안을 도입하는 것입니다. 개발팀은 개발 중에 결함을 테스트하고 제거함으로써 API가 프로덕션으로 이동한 후 공격자가 취약점을 악용할 리스크를 제한할 수 있습니다.

  • OWASP 상위 10개 모니터링: OWASP(Open Worldwide Application Security Project)는 소프트웨어 보안 향상을 위해 노력하는 비영리 재단입니다. OWASP API Security 상위 10대 취약점은 개발자와 보안 전문가가 해결해야 하는 가장 중요한 API Security 문제의 목록입니다.

  • 제로 트러스트 원칙 채택: 제로 트러스트 프레임워크는 IT 환경 내부 또는 외부의 사용자, 디바이스 또는 애플리케이션을 본질적으로 신뢰할 수 없다고 가정합니다. 제로 트러스트 프레임워크는 API 접속 요청에 대해 지속적인 인증과 검증을 요구함으로써 무단 접속을 방지하고 기업의 방어 체계를 성공적으로 침해한 공격의 피해를 제한합니다.

  • API 키 사용: API 키는 웹사이트를 사용하는 사람이 아닌 API 호출을 하는 애플리케이션이나 웹사이트를 인증하는 고유 식별자입니다. API 키는 원치 않는 호출, 무단 접속, 데이터 유출을 방지하는 데 도움이 됩니다.

FAQ

SOAP(Simple Object Access Protocol)와 REST(Representational State Transfer)는 서로 다른 종류의 API입니다. 메시징에 XML을 사용하는 고도로 구조화된 메시지 프로토콜인 SOAP API는 WS-Security와 같은 기본 제공 표준으로 인해 설계상 더 안전합니다. REST API는 API에 대한 더 간단한 접근 방식을 제공하지만 내장된 보안 기능은 없습니다. 데이터 전송, 배포, 상호 작용을 위해 보안을 추가해야 합니다.

API 엔드포인트는 API가 다른 시스템 또는 애플리케이션과 상호 작용하는 특정 경로입니다. 각 엔드포인트는 API의 고유한 기능이나 리소스를 나타내며, 이러한 엔드포인트를 보호하는 것은 무단 접속 및 공격을 방지하는 데 매우 중요합니다.

고객이 Akamai를 선택하는 이유

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

Akamai 보안 솔루션 둘러보기