API 현황
지난 몇 년 동안 많은 조직이 디지털 전환을 추진해 왔으며, 이러한 과정은 코로나19 팬데믹으로 인해 더욱 가속화되었습니다.
그리고 API는 이러한 혁신에서 중요한 역할을 하고 있습니다. 디지털 혁신의 일환으로, 이러한 조직 중 다수는 이제 자사가 ‘API 우선(API-First)’ 조직이라고 밝히고 있습니다. ‘API 우선’ 조직은 애플리케이션을 설계할 때 API를 먼저 설계하는 조직입니다. 그런 다음 API를 기반으로 애플리케이션의 나머지 부분을 설계합니다. 이는 애플리케이션이 기반 API를 활용하여 다른 애플리케이션과 통신하고 정보를 가져오도록 하는 것을 목표로 합니다.
이러한 조직은 일반적으로 외부 조직과의 파트너십을 지원하고, 개발 시간과 비용을 절감하며, 내부 시스템, 도구 및 팀 간의 상호 운용성을 향상하기 위해 API를 개발하고 활용합니다.
F5 Labs의 2021년 애플리케이션 전략 현황 보고서에서 언급했듯이, API는 애플리케이션 현대화의 초석이기도 하며, 오래된 기존 애플리케이션을 조정하고 업데이트하여 더욱 새롭고 모듈화된 애플리케이션 언어, 도구 및 플랫폼을 지원하는 데 활용됩니다. 또한 좋은 API와 나쁜 API를 모두 포함한 API 트래픽은 이제 전체 웹 트래픽의 대다수를 차지합니다.
이것이 바로 API라는 ‘양날의 검’이 지닌 첫 번째 날입니다.
API라는 ‘양날의 검’의 두 번째 날은 보안 위험입니다. Gartner에 따르면 2022년에는 API 악용이 가장 빈번한 공격 벡터가 될 것으로 전망됩니다. 공격자들은 애플리케이션과 다른 애플리케이션 간에 데이터와 정보를 원활하게 공유해야 하는 API의 특성상 API가 취약할 수 있으며, 일부 조직에서는 보호 조치조차 하지 않는다는 점을 알고 있습니다. 단순한 부주의로 API가 방치되는 경우도 있지만, 이 역시 공격자가 애플리케이션을 침해할 수 있는 빠르고 손쉬운 진입점을 제공합니다. 이러한 상황에 대응하려면 업계에서 사용하는 모든 API 프로토콜과 기술을 기본적으로 지원하는 등의 특별한 조치가 필요합니다.
GraphQL API
지난 몇 년간 빠르게 성장했으며 계속해서 주목받고 있는 비교적 새로운 API 기술 중 하나가 GraphQL입니다. 2012년 Facebook에서 내부적으로 개발되어 현재 Linux Foundation의 일부가 된 GraphQL은 REST API가 안고 있는 중대한 과제들을 해결하고 있습니다. 여러 조직이 REST나 SOAP 대신 GraphQL을 사용해 API를 개발하고 있습니다.
이러한 과제에는 데이터의 과소 조회 및 과다 조회, 새로운 API 엔드포인트 없이도 가능한 더 빠른 프런트엔드 개발(GraphQL은 단일 엔드포인트 사용), GraphQL 쿼리를 활용한 뛰어난 백엔드 분석, 그리고 구조화된 스키마 및 타입 시스템이 포함됩니다.
지난해 GraphQL은 이미 업계 도입률 22%를 넘어섰으며1, 혁신 수용 주기에서 혁신자, 조기 수용자, 전기 다수 수용자 단계에 도달했습니다.
GraphQL은 향후 몇 년 안에 API를 위한 주요 표준 중 하나로 자리 잡을 것으로 예상됩니다.
GraphQL 보안
하지만 GraphQL의 폭발적인 성장과 확산은 사이버 공격자들의 관심도 빠르게 끌었으며, 이들 중 일부는 이미 GraphQL 생태계의 취약점을 악용하고 이를 공격하기 위한 도구를 개발하기 시작했습니다.
GraphQL을 사용하는 API에 대한 공격 기법에는 전통적인 SQL 인젝션뿐만 아니라, GraphQL 사양을 악용해 API에 관한 데이터를 노출시키고 이를 공격자에게 유리하게 활용하는 새로운 형태의 공격도 포함됩니다.
또한 GraphQL로 구축된 API를 악용해 서버 리소스를 빠르게 고갈시키는 새로운 서비스 거부(DoS) 공격 기법도 등장했습니다.
Advanced WAF v16.1부터 F5는 GraphQL API 보안을 기본적으로 지원합니다.
무엇보다도 F5는 Advanced WAF 공격 시그니처를 적용할 수 있도록 GraphQL 트래픽을 기본적으로 구문 분석하는 기능을 개발했습니다.
한편으로 이 접근 방식은 페이로드의 적절한 위치에서 공격을 탐지하고(값에 시그니처 적용), 다른 한편으로는 GraphQL 요청의 잘못된 부분에 공격 시그니처가 적용되어 발생하는 오탐을 방지합니다.
둘째, F5는 애플리케이션 보안 정책의 일부로 GraphQL 정책 템플릿과 콘텐츠 프로필을 생성합니다.
이 새로운 콘텐츠 프로필에서 사용자는 매개변수의 전체 길이와 값 길이를 구성하고 정책에 따라 제한할 수 있습니다.
또한 사용자는 최대 구조 깊이를 구성하여 DoS 공격으로 이어질 수 있는 재귀적 GraphQL 쿼리를 차단하고, 최대 일괄 쿼리 수를 구성하여 하나의 HTTP 요청에 포함되는 서로 다른 GraphQL 쿼리의 수를 제한할 수 있습니다.
인트로스펙션 쿼리도 제한할 수 있습니다. 제한하지 않으면 공격자가 API 구조를 파악하는 데 악용하여 앱 침해에 성공할 가능성이 높아질 수 있습니다.

이에 대응하기 위해 F5는 선언적 정책 구성 지원, Behavioral DoS 기능을 활용한 대규모 DoS 공격 방어, F5 Advanced WAF의 DataGuard 기능을 통한 응답 필터링도 추가했습니다.
요약하면, GraphQL은 API를 생성하고 관리하는 새로운 방법을 제공하고, 기존의 전통적인 애플리케이션을 현대화하며, 디지털 트랜스포메이션을 지원합니다. 하지만 늘 그렇듯이 새로운 기술의 허점을 악용하려는 위협이 계속 등장하고 있으며, 이에 미처 대비하지 못할 수 있습니다.
지금 바로 F5 Advanced WAF로 GraphQL API 보호를 시작하세요!
자세한 내용은 DevCentral 게시물과 YouTube의 Lightboard Lesson을 확인해 주세요.
1 2020년 API 현황 보고서, Postman
관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.