이 글은 제가 2023년 11월에 Black Hat MEA에서 했던 강연을 바탕으로 작성했습니다. 이 글에서는 한 해를 마무리하는 시점에서 API 보안 현황을 살펴봅니다. 이는 주로 두 가지 이유 때문입니다. 첫 번째 이유는 지난 몇 년 동안과 마찬가지로 API의 사용량이 증가했다는 점입니다. API는 HTTP 트래픽의 대부분을 차지합니다. 두 번째 이유로, 이게 더 중요하겠지만, 이러한 증가가 해당 API에 대한 공격의 증가와 병행된다는 점입니다. 업데이트된 OWASP 상위 10대 API 목록이 발표되었지만, API 공격이 지속해서 증가한다는 사실은 더 큰 우려의 원인이 될 수 있습니다. 해당 주제와 근본 원인을 살펴보고 API 생태계를 강화하는 데 중요한 해결책을 고려해 보겠습니다.
지난 몇 년 동안 API는 기존 기술을 기반으로 더욱 통합되고 역동적인 애플리케이션을 만들 수 있는, 더욱 강력한 도구가 되었습니다. 이러한 기능은 역동적인 소프트웨어 애플리케이션과 비즈니스 모두를 지원하는 원동력이 되었습니다. 이러한 기능은 또한 삶을 개선하는 방식으로도 사용할 수 있습니다. 예를 들어, 영국의 지방 의회에서 환경청 강우량 API에서 제공하는 데이터를 사용하여 해당 지역의 추세를 확인하고 그에 따라 대비하고자 할 수 있습니다. 시민 참여 단체에서는 시민 API와 통합하여 주민들에게 다가오는 선거, 투표소, 후보자에 대한 정보를 제공할 수 있는 애플리케이션을 만들고자 할 수 있습니다. 또한 점점 더 많은 국가에서 은행이 다른 은행 및 타사 공급자의 고객 금융 데이터에 대한 API 액세스를 허용해야 하는 오픈 뱅킹 등 규제상의 이유도 있습니다. 이는 경쟁을 개선하여 궁극적으로 소비자에게 좋은 결과가 생깁니다.
API의 수가 늘어남에 따라 API에 대한 공격도 늘어나고 있습니다. 2021년에 Gartner에서는 2022년까지 API 남용이 드물게 발생하던 공격 벡터에서 가장 빈번한 공격 벡터가 되어 기업 웹 앱의 데이터 유출이 초래될 것으로 예측했습니다. 수많은 경고에도 불구하고 API 공격은 여전히 대체로 성공하고 있습니다. 그 이전 몇 년 동안 많은 유명 조직에서 피해를 입었습니다. 웹 앱 보안 강화에 중점을 둔 단체인 OWASP에서는 2019년에 처음으로 10대 위험 요소의 API별 버전을 발표했습니다. 이 목록은 올해 업데이트되었습니다. 안타깝게도 악용되는 대기업의 목록도 업데이트되었습니다. 일부 대기업에서는 올해 두 번이나 그런 일을 겪었습니다. 대규모 조직이 희생양이 되고 있다면, 뉴스에 오르지 않는 기업에서는 어떤 일이 벌어지고 있을지 상상해 보세요. 올해가 API 유출 사고의 기록적인 해가 될 가능성이 높습니다. (특정 조직을 지목하려는 것은 아니므로 특정 조직을 언급하는 것은 피했습니다.)
사실 이는 우리 모두에게 영향을 미칩니다. 데이터 유출로 인한 전 세계 평균 비용이 445만 달러에 달한다는 사실을 무시하면서, 안전장치를 갖추고 있다고 생각하지만 충분한 안전장치를 갖추지 않았을 가능성이 있는 기관의 손에 점점 더 많은 개인 데이터가 들어가고 있는 것입니다. 데이터 노출이나 계정 탈취로 인한 신원 도용은 사람들이 생각보다 자주 겪는 고충입니다. API 공격이 급증하고 있으므로 더 깊은 이해와 더 정교한 방 어 태세가 필요합니다.
작년 한 해 동안 보안 활동이 직면했던 주요 과제는 다음 5가지 영역에 속합니다.
인증/권한 부여의 난제: 유출 사고의 원인은 인증/권한 부여 메커니즘의 취약점으로 거슬러 올라가는 경우가 많습니다. 자격 증명 손상, 취약한 인증 방법, 불충분한 프로세스/프로토콜 등 신원 확인의 중요성은 위협 환경과 함께 진화되지 못하고 있는 부분입니다. 취약한 개체 수준 권한 부여(BOLA)는 두 OWASP 목록 모두에서 몇 년 간격으로 가장 큰 API 보안 위험으로 꼽혔습니다.
API의 확산: 내부적으로나 대외적으로나 API의 성장세는 놀랍습니다. API의 다양성과 API가 사용되는 컨텍스트의 다양성으로 인해 이 문제는 꾸준히 심각해지고 있습니다.
WAF: 일반적으로 API 특정 트래픽에는 아무런 의미가 없으며 위의 1번 문제를 해결할 수 없습니다. 대부분의 공격은 정상적인 트래픽으로 표시되며, 대부분의 WAF(머신 러닝 요소가 있는 WAF 포함)는 이들 공격을 통과시킵 니다. WAF를 믿지 않는 것은 초기 단계를 놓치는 것입니다. 제 강연의 관련 슬라이드입니다.
중간에 갇혀 있음: 왼쪽으로 이동하는 것이 중요하다는 인식이 널리 퍼져 있음에도 불구하고 왼쪽으로 이동하지 못하면 강력한 엔드투엔드 보호의 구현이 심각하게 약화됩니다. 보안을 염두에 두고 설계하고 구축하는 것은 아직 많은 팀에 있어서 낯선 개념입니다. 다른 사람들에게도, 지속해서 적응하는 과정이어야 한다는 사실은 마찬가지로 낯선 개념입니다.
API 구성: API 보안의 아킬레스건인 잘못된 설정은 여전히 API 보안 관리의 골칫거리입니다. 여기에는 사용하지 않는 메서드를 활성화된 상태로 두거나, 사용하지 않는 기본 엔드포인트를 그대로 두거나, 과도한 로깅 등 API를 구현할 때 잘못될 수 있는 여러 가지 사항이 포함됩니다. 진화하는 위협 인텔리전스에 맞춰 지속해서 적응하는 조정보다는 정적 구성에 의존합니다.