Akamai는 온라인 비즈니스를 지원하고 보호하는 사이버 보안 및 클라우드 컴퓨팅 기업입니다. 시장을 대표하는 보안 솔루션, 탁월한 위협 인텔리전스, 글로벌 운영팀이 어디서나 기업 데이터와 애플리케이션을 보호하기 위한 심층적 방어 기능을 제공합니다. Akamai의 풀스택 클라우드 컴퓨팅 솔루션은 세계에서 가장 분산된 플랫폼에서 성능과 경제성을 제공합니다. 글로벌 기업들은 비즈니스 성장에 필요한 업계 최고의 안정성, 확장성, 전문성을 제공하는 Akamai를 믿고 신뢰합니다.
애플리케이션 프로그래밍 인터페이스(API) 엔드포인트는 클라이언트가 API에 접속할 수 있는 특정 경로 또는 URL입니다. 이러한 엔드포인트는 애플리케이션이 서비스와 상호 작용하고, 데이터를 검색하며, 특정 기능을 수행할 수 있도록 하는 승인된 진입로 역할을 합니다.
엔드포인트는 민감한 정보를 노출하고 중요한 시스템에 대한 접속을 허용할 수 있기 때문에 사이버 범죄자들은 API 엔드포인트를 매우 효과적인 공격 기법으로 간주합니다. API 엔드포인트를 보호하려면 보안팀은 보안에 대한 멀티레이어 접근 방식을 도입하고 몇 가지 주요 모범 사례를 준수해야 합니다.
API 엔드포인트란 무엇인가요?
API는 소프트웨어 프로그램이나 시스템이 다른 소프트웨어 프로그램이나 시스템과 서로 통신할 수 있도록 지원하는 일련의 정의 및 프로토콜입니다. 중개자 역할을 수행하는 API는 애플리케이션이 서로 상호 작용하며 다른 애플리케이션, 고객, 외부 사용자와 데이터 및 기능을 공유하도록 시스템이 지원하는 방식을 제어합니다. API를 통해 애플리케이션이 다른 애플리케이션의 데이터와 기능에 접속할 수 있기 때문에 API는 애플리케이션과 시스템을 연결하는 동시에 개발자가 더 강력한 애플리케이션을 더 빠르게 만들 수 있도록 지원합니다.
API 엔드포인트는 애플리케이션 간 통신을 위한 게이트웨이 역할을 하며 데이터나 리소스의 정확한 위치를 제공합니다. 기본적인 수준에서 API 엔드포인트는 애플리케이션이나 시스템이 다른 애플리케이션이나 시스템에서 제공하는 리소스나 서비스에 접속할 수 있도록 지원하는 특정 URL입니다. 이러한 엔드포인트 URL을 통해 클라이언트 애플리케이션은 API와 상호 작용할 때 GET, POST, PUT 또는 DELETE와 같은 HTTP 요청을 생성할 수 있습니다. 엔드포인트에 대한 요청은 URL과 함께 특정 HTTP 메소드를 전송해 수행됩니다. API 서버는 이러한 요청을 처리하고 응답을 반환합니다. 이러한 간단한 상호 작용이 최신 웹 애플리케이션의 기반을 구성합니다.
API 엔드포인트 보안의 필요성
API는 최신 애플리케이션과 디지털 시스템에서 필수적인 역할을 하기 때문에 기업 보안팀은 API 엔드포인트를 보호하고 보안해야 합니다. 뛰어난 API 엔드포인트 보호를 통해 기업은 중요한 목표를 달성할 수 있습니다.
- 민감한 데이터 보호: API 엔드포인트는 개인 정보, 재무 세부 정보, 지적 재산과 같은 민감한 데이터를 처리하곤 합니다. 엔드포인트가 보안되지 않으면 공격자는 엔드포인트를 악용해 데이터를 유출하거나 민감한 정보의 기밀성과 무결성을 훼손할 수 있습니다.
- 사용자 신뢰 유지: API 엔드포인트를 보안하지 못하면 기업의 평판이 크게 훼손되고 사용자, 고객, 파트너의 신뢰가 무너질 수 있습니다. 이러한 이해관계자와의 신뢰를 구축하려면 강력한 엔드포인트 보안이 필요합니다.
- 컴플라이언스 보장: 많은 규제 대상 업계에서 민감한 고객 정보와 기밀 데이터를 보호하지 못하면 막대한 벌금과 법적 처벌을 받을 수 있습니다. 뛰어난 보안은 GDPR, HIPAA, PCI DSS와 같은 규정 및 표준을 준수함으로써 이러한 피해를 방지하는 데 도움이 됩니다.
- 금전적 피해 방지: 데이터 유출 및 보안 인시던트는 공격자가 은행 계좌를 유출하거나 사기로 자금을 이체할 경우 직접적인 재정적 손실을 초래하는 경우가 많습니다. 그러나 API 엔드포인트를 보안하지 못하면 문제 해결, 포렌식 조사, 비즈니스 기회 손실로 인한 간접적인 비용이 발생합니다.
- 비즈니스 중단 방지: API 엔드포인트는 애플리케이션과 시스템의 성능에 필수적인 요소입니다. 강력한 엔드포인트 보안은 애플리케이션 속도 저하 또는 충돌을 유발할 수 있는 서비스 거부(DoS) 또는 분산 서비스 거부(DDoS) 공격뿐만 아니라 운영 중단과 다운타임을 방지하는 데 도움이 됩니다.
API 엔드포인트 보안의 과제
강력한 API 엔드포인트 보안을 유지 관리하려면 IT팀이 다양한 과제를 처리해야 합니다.
- 복잡한 공격 표면: 다른 애플리케이션과 시스템에서 다양한 기능을 사용할 수 있도록 하려면 API가 여러 엔드포인트를 노출해야 합니다. 이러한 노출은 API의 증가와 함께 공격 표면을 더욱 확대합니다. 노출된 각 엔드포인트는 공격자의 잠재적인 진입점 역할을 합니다.
- 새로운 위협: 공격자는 공격 기법을 지속적으로 개선하고 새로운 취약점을 찾고 있습니다. 최신 위협에 대응하고 모든 API 엔드포인트를 위협으로부터 보호하려면 지속적인 경계가 필요합니다.
- 가시성 부족: 온프레미스와 클라우드를 포괄하는 IT 생태계는 더욱 복잡해지고 탈중앙화되면서 IT 보안 담당자는 전체 API를 시각화하고 인벤토리로 구축하는 데 어려움을 겪는 경우가 많습니다. 써드파티 API, 오픈 소스 API, 섀도 API는 자산을 식별하는 작업을 더욱 어렵게 합니다.
- 성능에 미치는 영향: 암호화, 검증, 속도 제한 등 API 엔드포인트를 보호하는 많은 기술은 사용되는 툴의 종류에 따라 API의 응답성과 성능에 부정적인 영향을 줄 수 있습니다. IT팀은 보안의 필요성과 사용자에게 빠르고 원활한 경험을 제공해야 하는 필요성 사이의 균형을 유지해야 합니다.
- 개발 일정: 개발팀은 새로운 앱과 API를 더 빠르게 출시해야 한다는 압박을 끊임없이 받고 있습니다. 팀이 압박 속에서 매일 새로운 제품이나 새 버전을 출시하면 엄격한 보안 테스트와 보안 프로토콜 준수에 대한 부담이 가중될 수 있습니다.
- 급속한 성장: 많은 기업에서 API와 API 엔드포인트는 프로세스에 보안을 도입하기 위한 중앙 프레임워크 없이 서로 다른 영역의 여러 팀에서 개발됩니다. 결과적으로 프로덕션 환경에서 API 엔드포인트를 보호하기 점점 더 어려워집니다.
- 통합: API는 종종 다른 시스템, 웹 서비스, 웹 애플리케이션과 통합됩니다. 이러한 외부 시스템의 보안 체계가 기준에 부합하지 못하면 새로운 취약점이 발생할 수 있습니다.
API 엔드포인트 보안에 대한 위협
API 보안 엔드포인트를 위협하는 환경은 점점 커지고 있습니다. 다음은 가장 일반적인 몇 가지 위협입니다.
- 손상된 인증 및 권한 확인 프로세스: 인증 메커니즘이 취약하거나 부적절하게 구축되면 공격자가 무단 API 접속 권한을 얻을 수 있습니다. 권한 확인 프로세스와 관련된 문제 때문에 정상적인 사용자나 공격자가 가져선 안되는 권한을 보유할 수 있고 이는 잠재적인 유출로 이어질 수 있습니다.
- 인젝션 공격: 인젝션 공격은 API 코드의 취약점이나 결함을 악용하기 위해 악성 코드나 데이터를 API 요청에 주입할 때 발생합니다. 그 결과 공격자는 악성 명령을 실행하거나 무단으로 데이터에 접속할 수 있습니다.
- 서비스 거부(DoS) 공격: API 엔드포인트에 대한 DoS 공격은 과도한 요청으로 API를 압도하거나 모든 리소스를 소모하는 취약점을 악용해 정상적인 사용자가 API를 사용할 수 없게 만드는 것이 목표입니다. 공격자는 트래픽 처리 용량을 초과해 엔드포인트에 대량의 요청을 보낼 수 있습니다. 다른 방법으로 공격자가 API에 대한 과도한 연결을 열거나 악의적으로 제작된 XML 페이로드를 전송해 서버, 메모리, CPU 리소스를 소비하기도 합니다.
- 민감한 데이터 노출. 일부 공격은 암호화되지 않은 트래픽에서 얻은 정보나 API 엔드포인트가 API 요청에 응답하는 과정에서 의도치 않게 너무 많은 정보를 노출하면서 얻은 정보를 악용합니다.
- 중간자(MITM) 공격: 이러한 형태의 API 엔드포인트 위협에서 공격자는 의심하지 않는 두 당사자 간 통신을 가로채거나 변경해 데이터 도난, 조작, 무단 접속으로 이어질 수 있습니다. 공격자는 클라이언트와 API 서버 사이로 침투하기 위해 도청이나 DNS 스푸핑과 같은 기술을 사용할 수 있습니다.
- 보안 설정 오류: IT팀이 API 엔드포인트를 부적절하게 설정하면 공격자가 무단 접속 권한을 쉽게 얻을 수 있습니다. 불완전한 설정, 안전하지 않은 설정 또는 업데이트 실패로 인해 설정 오류가 발생할 수 있습니다.
- 무차별 대입 공격: 공격자는 자동화된 툴을 사용해 여러 사용자 이름과 암호를 조합함으로써 계정 로그인을 시도하곤 합니다.
API 엔드포인트 보안을 위한 솔루션
IT팀은 API 엔드포인트를 보안하기 위해 광범위한 기술과 솔루션을 배포할 수 있습니다.
인증 및 권한 확인 기술: 클라이언트 인증 및 권한 확인을 위해 검증된 프레임워크와 기술 구축은 API 엔드포인트를 보안하는 가장 중요한 단계 중 하나입니다. OAuth 2.0은 토큰 기반 보안 권한 확인을 관리하고 HTTP 서비스의 사용자 계정에 대한 제한된 접속 권한을 제공하는 프레임워크입니다. OpenID Connect는 OAuth 2.0 위에 ID 레이어를 추가합니다. JWT(JSON Web Tokens)는 두 당사자 간에 전송되는 클레임을 나타내는 컴팩트한 URL 안전 수단입니다.
데이터 암호화 솔루션: SSL/TLS 프로토콜을 사용해 전송 중인 데이터를 암호화하면 API 호출 가로채기나 변조를 막을 수 있습니다. TLS(Transport Layer Security) 기술은 데이터가 클라이언트와 서버 사이를 이동할 때 데이터를 암호화해 도청과 변조를 방지합니다. SSL(Secure Socket Layer)은 보안 강화를 주로 TLS로 대체된 이전의 암호화 모델입니다.
API 게이트웨이: 게이트웨이는 API 요청에 대한 단일 진입점 역할을 함으로써 API 엔드포인트에서 특정 보호 기능을 제공합니다. 이를 통해 게이트웨이는 전송률 제한, 부하 분산, 모니터링과 같은 특정 보안 기능을 수행할 수 있습니다.
전송률 제한 및 스로틀링: 전송률 제한 기술은 특정 기간 클라이언트에서 생성할 수 있는 API 요청 수를 제어함으로써 남용을 방지하고 DoS 공격을 방어합니다. 스로틀링은 클라이언트가 사용할 수 있는 대역폭을 제한해 리소스가 과도하게 사용되지 않도록 합니다.
방화벽: 웹 애플리케이션 방화벽(WAF)은 크로스 사이트 스크립팅(XSS), SQL 인젝션, 기타 보안 위협과 같은 일반적인 악용 사례로부터 엔드포인트를 보호합니다.
SIEM: 보안 정보 및 이벤트 관리 시스템은 API 엔드포인트를 포함한 IT 생태계 전반의 다양한 리소스에서 활동을 수집하고 분석해 보안 알림을 실시간으로 분석합니다.
접속 제어: 역할 기반 접속 제어(RBAC)를 제공하는 기술은 개별 사용자의 역할에 따라 API 엔드포인트에 대한 접속을 제한합니다. 속성 기반 접속 제어(ABAC)는 사용자, 리소스, 환경 등의 속성을 사용해 접속을 제어하고 상황에 맞는 접속 결정을 내립니다.
API 관리 플랫폼: 이러한 솔루션은 API 엔드포인트를 생성, 게시, 모니터링 및 보안하기 위한 툴을 제공합니다. 내장된 보안 기능에는 API 키 관리, 사용자 인증, 분석 등을 위한 툴이 포함될 수 있습니다.
모니터링 및 로깅: API 트래픽에 대한 비상 모니터링 툴은 악성 활동을 나타낼 수 있는 비정상적인 패턴을 식별할 수 있습니다. 로깅 솔루션은 감사 및 포렌식 분석을 위해 API 요청 및 응답에 대한 세부 기록을 보관합니다.
봇 관리 플랫폼: 봇 관리 솔루션은 봇의 트래픽을 탐지하고 관리해 자동화된 공격, 데이터 스크레이핑, API 엔드포인트를 겨냥한 기타 악성 활동을 방지합니다.
보안 테스트: 보안 테스트 기술로는 자동 스캐너와 수동 침투 테스트가 포함됩니다.
API 엔드포인트 보안에 대한 모범 사례
기업은 특정 보안 기술 외에도 몇 가지 모범 사례를 준수함으로써 API 엔드포인트를 보안할 수 있습니다.
- 입력 검증: 모든 입력을 적절히 검증하면 인젝션 공격과 같은 위협을 방지할 수 있습니다. 잠재적으로 유해한 데이터를 제거하기 위해 입력을 정리하거나 정화하는 작업도 공격 방지에 도움이 될 수 있습니다.
- 제로 트러스트 도입: 제로 트러스트 보안 모델에서는 기본적으로 기업 내부 또는 외부의 모든 엔티티를 신뢰하지 않습니다. API 엔드포인트에 대한 접속을 요청하는 모든 사용자, 디바이스, 애플리케이션은 각 요청에서 지속적으로 인증되고 검증되어야 합니다. 제로 트러스트에는 사용자와 애플리케이션이 작업을 수행하는 데 필요한 최소 수준의 접속만 제공하는 최소 권한 원칙도 포함됩니다.
- HTTPS 사용: IT팀은 HTTPS를 유일한 통신 옵션으로 제공함으로써 패킷 스니퍼 및 중간자(MITM) 공격에 의해 암호, 프라이빗 키, 신용카드 정보가 일반 텍스트에서 쉽게 도난당하거나 읽히지 않도록 방지할 수 있습니다.
- 항상 단방향 암호 해싱 기법 사용: 대칭 암호화 대신 단방향 암호화(해싱)로 암호를 보호하면 공격자로부터 더 안전하게 보호할 수 있습니다.
- API 보안 설계: 개발 프로세스에 보안 조치를 도입하면 취약점과 결함이 더 적은 API 엔드포인트를 생성하는 데 도움이 될 수 있습니다.
- 패치 및 업데이트: IT팀은 엔드포인트에 정기적으로 패치와 업데이트를 적용해 알려진 결함, 취약점 및 기타 보안 리스크를 제거해야 합니다.
- 위협 인텔리전스: IT팀은 API 보안 모범 사례와 OWASP API 보안 상위 10대 취약점과 같은 최신 위협에 대한 인텔리전스에서 최신 정보를 지속적으로 확인해야 합니다.
FAQ
API 엔드포인트는 클라이언트가 백엔드 서비스와 상호 작용할 수 있도록 하는 API 내 특정 경로입니다. 각 엔드포인트는 고유한 기능이나 리소스를 나타냅니다.
REST(Representational State Transfer) API와 SOAP(Simple Object Access Protocol) API는 기본적인 프로토콜과 표준을 사용하기 때문에 다른 보안 접근 방식이 필요합니다. REST API는 더 가볍고 간단하기 때문에 구축이 더 쉬우면서도 보다 포괄적인 보안 메커니즘이 필요합니다. REST API 보안은 주로 전송 수준 보안, 토큰 기반 인증, HTTP 보안 메커니즘에 의존합니다. SOAP API 엔드포인트에는 WS-Security 표준을 사용하는 전송 수준 보안과 메시지 수준 보안이 모두 필요합니다.
Akamai 보안 솔루션
Akamai 보안은 성능이나 고객 경험에 영향을 주지 않으면서 상호 작용이 일어나는 모든 지점에서 비즈니스의 원동력이 되는 애플리케이션을 보호합니다. 글로벌 플랫폼의 규모와 위협에 대한 가시성을 활용해 고객과 협력함으로써 위협을 예방, 탐지, 방어하고 브랜드 신뢰를 쌓고 비전을 실현할 수 있도록 지원합니다.