REST API 보안 모범 사례
REST API란 무엇일까요?
REST(Representational State Transfer)의 소프트웨어 아키텍처 스타일은 컴퓨터 과학자 로이 필딩(Roy Fielding)의 2000년 박사 학위 논문으로 거슬러 올라갑니다. 이후 수십 년 동안 RESTful API라고도 불리는 REST API는 웹 및 모바일 애플리케이션은 물론, B2B 애플리케이션과 기업의 내부 시스템에서 매우 인기 있는 API 아키텍처 모델로 발전해 왔습니다.
다른 API 접근 방식(예: SOAP, GraphQL, gRPC)도 여러 구축 작업에 사용되지만, REST API는 구축이 간편해 가장 널리 사용되고 있습니다. REST API 디자인은 최신 프런트엔드 프레임워크에서 매우 쉽게 사용할 수 있으므로 웹 애플리케이션, 모바일 애플리케이션, 많은 내부 및 B2B API 구축에 널리 사용됩니다.
상위 5대 REST API 보안 모범 사례
REST API는 매우 안전하고 탄력적인 방식으로 구축할 수 있지만, 모든 구축에 필수적인 여러 가지 기본적인 API 보안 표준이 있습니다.
REST API 설계에 보안을 구축할 때 가장 중요한 5가지 방법은 다음과 같습니다.
항상 TLS 암호화를 사용합니다
견고하고 확장 가능한 인증 및 권한 부여 모델을 구축합니다
URL에 민감한 정보를 포함하지 않습니다
허용되는 RESTful API 요청 및 응답을 좁은 범위로 정의합니다
지속적인 API 검색 기능을 구축합니다
항상 TLS 암호화를 사용합니다
다른 종류의 민감한 HTTP 트래픽과 마찬가지로, RESTful API에 TLS를 사용하면 API 소비자와 API 엔드포인트 간의 모든 통신을 암호화할 수 있습니다. 결과 HTTP 트래픽에 비밀번호, API 키 또는 토큰 같은 민감한 인증 세부 정보가 포함될 수 있기 때문에 이 방법은 웹 애플리케이션 보안만큼이나 REST API 보안에도 중요합니다.
견고하고 확장 가능한 인증 및 권한 부여 모델을 구축합니다
REST API에 대한 접속을 관리하는 데는 다양한 기술을 사용할 수 있습니다. 가장 일반적으로 사용되는 기술은 API 키와 보안 토큰입니다. 하지만 키와 토큰 관리는 매우 복잡할 수 있습니다.
이로 인해 의도하지 않은 REST API 보안 취약점이 발생하는 경우가 많습니다. 이러한 리스크는 OAuth 2.0호환 ID 관리 공급업체와 통합해 인증 및 접속 토큰을 발급함으로써 방어할 수 있습니다. 또한 중앙 집중식 API 게이트웨이를 활용해 REST API 보안 접근 방식을 표준화하고 보호할 수 있습니다.
URL에 민감한 정보를 포함하지 않습니다
일반적인 REST API 설계 결함은 사용자 인증정보, 키 또는 토큰을 포함한 민감한 정보를 URL에 포함시키는 것입니다. TLS를 사용하더라도 공격자는 이러한 정보를 쉽게 발견할 수 있습니다. URL은 API 요청의 데이터 경로를 따라 다양한 서버와 네트워킹 디바이스에 의해 자주 기록되므로, URL에 민감한 정보가 포함된 경우 추가적인 데이터 유출이 발생할 수 있습니다.
허용되는 RESTful API 요청 및 응답을 좁은 범위로 정의합니다
공격자가 악의적이거나 의도하지 않은 방식으로 API를 사용할 가능성을 염두에 두어야 합니다. 따라서 RESTful API 요청을 암묵적으로 신뢰해서는 안 됩니다. 가장 중요한 단계 중 하나는 매개변수나 오브젝트의 형식, 길이, 종류 같은 속성의 유효성을 검사하는 것입니다.
또한 REST API가 제공할 수 있는 응답 종류를 엄격하게 관리해야 합니다. 예를 들어 명시적으로 허용된 콘텐츠 종류(예: GET, PUT, POST)로 응답을 제한해야 합니다.
지속적인 API 검색 기능을 구축합니다
REST API 보안 모범 사례를 준수하는 기업도 정상적인 프로세스 외부에서 구축된 섀도 API나 아직 폐기되지 않은 레거시 인프라에 있는 잊혀진 좀비 API의 기습 공격을 받을 수 있습니다. 따라서 전사적으로 지속적인 API 검색 기능을 구축해야 합니다.
모든 API에 대한 완전한 인벤토리를 확보하는 가장 좋은 방법은 다음과 같이 사용 가능한 모든 API 활동 정보 소스에서 데이터를 수집하는 것입니다.
API 게이트웨이
CDN(Content Delivery Network)
클라우드 공급업체 로그
로그 관리 시스템
오케스트레이션 툴
이 데이터를 분석해 API 활동의 증거를 찾으면 보안 팀이 기업 전체에서 사용 중인 모든 API를 파악할 수 있습니다. 그런 다음, 예기치 않게 발견된 REST API는 적절한 REST API 모범 사례를 적용해 폐기하거나 공식화된 인벤토리로 가져올 수 있습니다.
상위 4대 고급 REST API 보안 모범 사례
REST API 설계에 일련의 기본 보안 표준을 구축하는 것은 필수적인 첫 단계지만, 이 단계만으로는 애플리케이션을 완전히 안전하게 보호할 수 없습니다. 많은 공격자들이 기본 RESTful API 보안 조치를 우회하는 고급 기술을 개발했습니다. 모든 REST API 보안 공격이 웹 애플리케이션 인프라를 침해하는 것을 목표로 하는 것은 아닙니다.
대부분의 경우, 단순히 의도하지 않은 방식으로 API 기능을 사용해 민감한 데이터에 접속하고 경쟁 우위를 확보하려 합니다. 이러한 활동은 REST API에 대한 접속 권한을 부여받은 고객이나 파트너와 같은 신뢰할 수 있는 소스에서 시작될 수 있습니다. 인증정보, 키, 토큰을 도난당하거나 탈취당하면 공격자가 기본 REST API 보안 표준을 뛰어넘어 유사한 활동을 진행할 수 있습니다.
이와 같이 보다 정교한 형태의 API 남용을 추가적으로 차단하려면 다음 네 가지 고급 REST API 보안 모범 사례를 활용하는 것이 좋습니다.
클라우드를 사용해 대량의 REST API 보안 데이터를 수집합니다
REST API 데이터에 행동 애널리틱스를 적용합니다
개발 및 운영 팀에 REST API 사용에 대한 인사이트를 제공합니다
선제적인 REST API 위협 탐지 활동을 수행합니다
클라우드를 사용해 대량의 REST API 보안 데이터를 수집합니다
많은 1세대 API 보안 기술은 온프레미스에서 작동합니다. 그 결과 매우 짧은 기간의 활동만 분석하고 그 이후에는 API 데이터가 폐기되는 한계가 있습니다. 이는 많은 종류의 API 남용이 몇 주나 몇 달에 걸쳐 저속으로 이루어지기 때문에 효과적이지 않습니다. API 활동 데이터를 클라우드로 전송하면 한 달 이상의 API 세부 정보를 저장하는 데 필요한 용량을 확보할 수 있습니다. 이를 통해 보다 정교한 분석 기법을 활용할 수 있습니다.
REST API 데이터에 행동 애널리틱스를 적용합니다
유의미한 분량의 REST API 활동 정보를 확보한 후에는 클라우드의 컴퓨팅 규모를 활용해 행동 애널리틱스를 수행할 수 있습니다. 이를 통해 REST API 보안 전략을 강화하는 첫 번째 방법은 관련된 엔티티를 식별해 더 많은 맥락을 확보하는 것입니다. 엔티티에는 사용자뿐만 아니라 의미 있는 비즈니스 프로세스도 포함될 수 있습니다.
이런 맥락이 있으면 API의 정상적인 사용 패턴을 기준으로 삼을 수 있습니다. 여기에서 추가 분석을 수행해 이상 징후를 탐지할 수 있습니다. 이런 종류의 이상 징후 탐지는 특히 인증된 사용자로부터 발생한 남용을 발견하는 가장 좋은 방법입니다.
개발 및 운영 팀에 REST API 사용에 대한 인사이트를 제공합니다
REST API 보안 취약점으로부터 기업을 보호하는 가장 좋은 방법 중 하나는 취약점을 완전히 피하는 것입니다. 개발자, 운영 담당자와 RESTful API가 어떻게 사용되고 악용되고 있는지에 대한 정보를 공유하면 기업이 개발 및 구축 프로세스 초기에 더 나은 REST API 보안 관행으로 ‘전환’할 수 있습니다.
선제적인 REST API 위협 탐지 활동을 수행합니다
REST API 남용이 심각한 보안 인시던트로 확대될 때까지 기다리지 말고 조치를 취해야 합니다. 선제적으로 REST API 사용을 조사하고 남용 시도를 찾아내는 작업은 나중에 비록 실패하더라도 REST API 보안 관행의 약점을 찾는 데 도움이 됩니다.
API 사용 활동을 조사하는 것은 OWASP(Open Web Application Security Project) API 보안 상위 10대 취약점에설명된 것과 같은 REST API 보안 취약점의 존재를 발견하는 효과적인 방법이기도 합니다. 공격자가 취약점을 을 악용하기 전에 이러한 취약점을 찾아서 제거하는 것이 REST API 보안 체계를 강화하는 가장 효과적인 방법 중 하나입니다.
시작할 준비가 되셨나요?
Akamai는 전 세계에서 가장 인정받는 기업들이 기본 및 고급 REST API 보안 모범 사례를 구축하도록 지원하고 있습니다. Akamai의 접근 방식은 API 발견부터 행동 애널리틱스, 매니지드 위협 탐지에 이르는REST API의 보안 수준을 더욱 빠르게 높여드립니다.
자세히 보기
더 자세히 알고 싶으신가요? Akamai의 API Security 솔루션을 확인하세요.