API 보안이 모두의 비즈니스인 이유
지구에는 컴퓨터가 정보를 교환하는 데 사용하는 메커니즘인 모든 소프트웨어의 구성 요소인 API가 넘쳐납니다. 기업은 내부용으로 또는 고객이 시스템과 상호 작용할 수 있도록 자체 API를 구축합니다. 그들은 API를 사용하여 엑스트라넷과 클라우드 전반에서 파트너와 통신합니다. 예를 들어 Google 지도를 표시하거나 양식에서 우편번호 조회 테이블을 사용하는 등 기성 기능에 액세스하기 위해 타사 API를 사용합니다.
모바일, 웹, 클라우드 애플리케이션이 확산됨에 따라 API의 수도 기하급수적으로 늘어나고 있습니다. 일부 업계 통계:
당연히 API도 중요하고 빠르게 성장하는 공격 벡터입니다. Gartner에 따르면 "API의 폭발적인 성장으로 조직의 공격 표면이 확대되고 있으며, 악의적인 행위자에게 새로운 침해 및 데이터 유출 기회가 제공되고 있습니다."
관점에 따라 사용 중인 API의 약 50%가 관리되지 않는다는 것은 매우 놀랍거나 전혀 놀라운 일이 아닙니다.
명백하고 점점 커지는 위험을 초래하기 때문에 놀랍습니다. API 사용의 폭발적인 증가는 위험에 대한 인식 부족과 API 관리가 어렵기 때문에 더 이상 놀라운 일이 아닙니다. 개발자는 이전 API를 삭제할 필요 없이 새 API나 새 버전을 게시하는 경우가 많습니다. 사이버 공간은 백엔드 시스템과 데이터를 노출하지만 모니터링되지 않고 비즈니스 가치를 제공하지 않는 좀비 API로 가득 차 있습니다.
끊임없이 확장되고 제대로 순찰되지 않는 공격 표면: 이것이 해커의 꿈이 실현된 것입니다.
Gartner의 경고는 API 보안의 명백한 위험 중 하나를 강조합니다. API는 많은 민감한 트래픽의 교차점입니다. 은행이나 전자상거래 앱에서는 고객의 계좌 세부정보나 신용카드 번호가 포함될 수 있습니다. 그러나 API는 회사(및 고객)의 데이터뿐만 아니라 서비스 이면의 비즈니스 로직도 노출합니다. 비즈니스 논리의 약점으로 인해 해커는 심각한 손실이 발생하기 전에 감지되지 않을 가능성이 있는 공격을 시작할 수 있는 새로운 방법을 제시합니다.
예를 들어, 우리는 환전 거래에서 아주 작은 금액을 반올림하는 루틴을 사용하는 은행을 위해 몇 가지 작업을 수행했습니다. 이 알고리즘은 1센트 미만의 차이를 의미하므로 일반적인 거래에서는 중요하지 않았습니다. 그러나 시스템은 단일 고객이 하루에 수행할 수 있는 트랜잭션 수에 제한을 적용하지 않았으며 프런트엔드 제어를 우회하고 비즈니스 로직을 직접 공격함으로써 공격자가 허용할 만큼 많은 수의 소규모 트랜잭션을 수행하는 것이 가능했습니다. 반올림 기능을 사용하여 우리 계좌에 돈을 인쇄합니다. 우리는 API 비즈니스 로직을 남용하여 암호화폐를 훔칠 수 있었던 암호화폐 산업 고객과 유사한 결과를 얻었습니다.
물론 은행은 결국 문제에 대해 경고할 수 있는 통제 수단을 갖고 있었지만 위험 신호가 발생하기 전에 수백만 달러 상당의 비정상적인 거래가 필요할 수 있다는 점을 인정했습니다. 이 예에서는 API 보안의 몇 가지 중요한 원칙을 보여줍니다. 가장 유용한 API는 공개 API입니다. 그것들은 사용되기 위한 것입니다. 작업을 중단하지 않고는 숨기거나 접근하기 어렵게 만들 수 없습니다.
침투 테스트와 같은 기술이 도움이 될 수 있지만 침투 테스트도 특정 시점의 연습일 뿐이며 테스터는 제공된 범위만 평가합니다. API 사각지대가 있는 회사는 API 범위를 지정하는 방법을 모르고 대부분의 침투 테스터는 비즈니스 논리를 테스트하라는 요청을 받지 않거나 유능한 API 공격자가 액세스 권한으로 무엇을 할 수 있는지 평가할 API 관련 기술 세트가 부족합니다. .
두 번째 교훈은 API 수명주기의 한 부분에만 집중하는 것은 의미가 없다는 것입니다. Shift-Left 원칙은 설계 및 코딩 시점에서 보안 구축에 초점을 맞추고 있지만 코드의 생산 수명 주기도 마찬가지로 중요합니다. 모든것은 변한다. 원래 코드는 다른 개발자에 의해 수정되었습니다. 문서가 부족하거나 존재하지 않습니다. 사업은 압박을 받고 있습니다. 업데이트가 철저하게 테스트되지 않을 수 있습니다. 개발과 테스트가 흠잡을 데 없고 개정이 꼼꼼하더라도 원래 디자인에서 놓친 부분이 다시 나타나 마음을 괴롭힐 수 있습니다. 왼쪽으로 이동하세요. 그렇습니다. 하지만 위험을 바로 보지 마세요.