블로그 | CTO 사무실

앱 대 API 보안? 봇은 신경 쓰지 않아요. 디지털 자산을 방어하세요

로리 맥비티 썸네일
로리 맥비티
2024년 2월 20일 게시

깜짝 퀴즈 시간입니다. 다음 중 어느 엔드포인트가 API에 속하고, 어느 엔드포인트가 앱에 속합니까? 

https://www.example.com/product

https://www.example.com/product

혼란스럽고 결정을 내릴 수 없다면 괜찮습니다. 그것이 요점이에요. 앱과 API 엔드포인트는 거의 동일합니다. 그 이유는 기술적으로 RESTful한 경우(대부분이 그렇습니다) HTTPS를 통해 일반적으로 GET 메서드를 사용하여 동일한 방식으로 호출되기 때문입니다. 종종 다른 점은 요청과 함께 전송되는 페이로드입니다. 일반적으로 JSON 또는 XML 형식의 일부 데이터를 포함하는 API인 반면, 웹 앱 요청에는 아무것도 포함되지 않을 수도 있습니다. 

그럼에도 불구하고, 우리의 연례 조사 에서 나온 주요 결과 중 하나는 조직이 보안 측면에서 API를 애플리케이션과 다르게 취급한다는 것을 보여줍니다. 이는 조직의 41%가 애플리케이션과 같 거나 그 이상의 API를 보유하고 있지만, 이를 보호하는 동일한 보안 서비스에 덜 가치를 두고 있다는 조사 결과에 근거하여 추론한 것입니다. 

조직에서 앱보다 API가 더 많아지는 이유가 궁금할 수도 있습니다. 질문해 주셔서 고맙습니다! 내부 서비스 간 통신(마이크로서비스)에 사용되는 API는 지원하는 서비스와 긴밀하게 결합되어 있지만 API를 사용하여 외부 인터페이스를 제공하는 경우에는 반드시 그렇지는 않습니다. 

API는 어디에서 나오나요?

2021년 조사에서 응답자의 61%가 현대화 방법으로 "현대 사용자 인터페이스를 활성화하는 API 계층을 추가"하고 있다고 답했다는 점을 고려하세요. 2022년에는 그 숫자가 45%였습니다. 즉, 최신 사용자 인터페이스를 구현하는 API는 반드시 애플리케이션에 직접 연결된 아티팩트는 아니라는 뜻입니다. 이러한 외관은 모바일 앱 및 디지털 서비스 와 같이 현대적인 사용자 인터페이스와 애플리케이션을 용이하게 하는 외관일 수도 있고, 파트너와 공급망 커뮤니케이션을 가능하게 하도록 설계된 외관일 수도 있습니다. 이러한 사용 사례는 로드 밸런서의 API 게이트웨이 및 레이어 7 라우팅에서 지원되며, 이는 종종 API 엔드포인트에서 앱 엔드포인트로 변환할 수 있는 일정 수준의 변환 기능을 제공하여 오래된 미국 서부 건물을 실제보다 훨씬 인상적으로 보이게 하는 API 외관을 구현할 수 있습니다. 

물론 상당수의 API는 앱에 연결되어 웹(일반적으로 HTTPS)을 통해 액세스되는 공개 엔터티입니다. 

어떤 방식으로 공개 API가 등장하게 되었는지는 중요하지 않습니다. 공개 API도 애플리케이션과 동일한 공격을 많이 받을 수 있습니다. 특히 봇이 관련된 경우 이러한 현상이 두드러지는데, 좋은 문서가 있는 API를 사용하면 공격자가 대규모 공격을 스크립팅하기 쉽기 때문입니다. 

예를 들어, 2023년에 F5 Distributed Cloud Bot Defense 로 보호되는 거래 중 자동화된 거래는 13%에 불과했습니다. 즉, 웹 브라우저나 모바일 앱을 사용하는 사람 대신 스크립트나 소프트웨어가 사용되었습니다. 이러한 거래는 API와 앱을 통해 발생합니다. 자동화된 거래 중 일부는 확실히 "악성 봇"이었으며, 보안 서비스가 있어서 그들이 하려고 했던 나쁜 일을 할 수 없었습니다. (이 F5 Labs 보고서 에서 그들이 무엇을 하려고 했는지 더 자세히 알아볼 수 있습니다) 

그래서 우리가 응답자가 보고한 API 수를 기준으로 봇 관리를 어떻게 인식하는지 살펴봤을 때, 봇 관리의 중요성이 꽤 낮다는 사실에 다소 충격을 받았습니다.

이러한 멋진 막대형 차트를 보면 API 게이트웨이의 중요성이 관리 중인 API 수에 적절해 보이는 반면, 봇 관리에는 그렇지 않다는 것을 알 수 있습니다. 사실은 그 반대입니다! API의 수가 늘어나면서 봇 관리의 중요성은 낮아지는 것으로 보입니다. 급속히.  

물론 대부분의 API가 내부적으로만 존재할 수도 있습니다. 즉, 이는 악의적인 의도를 가진 나쁜 봇일 수 있는 외부 행위자에게 노출되지 않는 마이크로서비스 간의 동서 API입니다. 

하지만 다시 생각해 보면 그럴 수도 있겠죠. 지난 1년 동안 공격자가 API를 통해 액세스하는 것에 대한 기사를 많이 읽었기 때문에 우리가 생각하는 것보다 외부적인 공격이 훨씬 더 많을 것이라고 추측합니다. 

따라서, 사업을 방해하는 귀찮은 봇(그린치 봇, 스니커 봇 등)도 많이 있지만, 취약점을 찾아내 공격하는 것만을 목적으로 하는 봇도 상당수 있다는 사실을 사람들에게 상기시켜야 할 때입니다. API와 애플리케이션 모두 에서. 

따라서 조직에서는 API를 보호하고 궁극적으로 비즈니스를 보호하기 위해 다양한 보안 옵션을 채택하는 것이 좋습니다. 봇 관리(Bot management)는 확실히 그러한 보안 옵션 중 하나이며 모든 보안 전략의 중요한 구성 요소로 간주되어야 합니다. 

결국 봇은 해당 엔드포인트가 앱에 속하는지 API에 속하는지 신경 쓰지 않습니다. 둘 다 공격할 것입니다. 

즉, 조직에서는 봇을 탐지하고 봇이 시도하는 모든 나쁜 일을 방지하여 앱과 API를 모두 보호해야 합니다.  

봇 방어가 실제로 어떻게 활용되는지 보고 싶다면 이 데모를 확인해 보세요.