API 보안 위험 및 권장 사항

2020년 9월 1일 | 블로그 API 보안 위험 및 권장 사항


API 보안 위협

전문가들은 사이버 세계를 강타할 차세대 대형 위협, 즉 애플리케이션 프로그래밍 인터페이스(API) 공격에 대해 보안 전문가들에게 경고하고 있습니다. API는 다른 웹사이트의 서비스를 자체 시스템에 통합하여 시스템 성능을 향상시키는 데 사용됩니다. 구글 지도, 유튜브, 트위터와 같은 인기 있는 API를 통해 웹사이트 제작자는 지도, 유튜브 영상, 트윗 등을 자신의 웹페이지에 삽입할 수 있습니다. 이러한 도구들이 널리 사용됨에 따라 해커들은 이를 악용하여 사기 행위를 저지르고 데이터를 탈취하는 방법을 찾아내고 있습니다.

OWASP API 위험 10가지

해커들이 API 해킹에 주목함에 따라, 웹사이트에서 API를 사용하는 기업들에게 위협이 되고 있습니다. OWASP의 믿음직한 동료들은 API와 관련된 주요 보안 위험을 다음과 같이 정리했습니다.

  1. 손상된 객체 수준 권한 부여. API의 유일한 목적은 데이터에 대한 원격 액세스를 제공하는 것입니다. 일부 API에서는 한 사용자가 다른 사용자의 데이터에 접근하지 못하도록 권한을 설정해야 합니다. 이는 객체 수준 권한 부여를 통해 이루어집니다. 이러한 위험을 줄이려면 API가 적절한 사용자에게만 접근 권한을 제한해야 합니다. 예를 들어, 간단한 전자상거래 API를 통해 매장의 매출 정보를 나열할 수 있습니다. 객체 수준 권한 부여를 제대로 수행하면 다른 매장 소유자가 매장 매출 정보를 조회하는 것을 방지할 수 있습니다. 
  2. 사용자 인증이 손상되었습니다. 인증 메커니즘은 종종 잘못 구현되어 공격자가 인증 토큰을 손상 시키거나 구현 결함을 악용하여 다른 사용자의 신원을 일시적 또는 영구적으로 가정 할 수 있습니다. 클라이언트 / 사용자를 식별하는 시스템 기능을 손상 시키면 API 보안이 전체적으로 손상됩니다.
  3. 과도한 데이터 노출. 개발자는 의도치 않게 API 데이터 세트를 노출하는 경우가 많습니다. 기밀 데이터 노출 가능성을 줄이기 위해 최소 권한 원칙을 적용하세요. 전자상거래 예시에서 스토어 A는 스토어 A의 데이터에만 접근하고, 스토어 B는 스토어 B의 데이터에만 접근하도록 허용합니다. 
  4. 쿼리 제한 및 속도 제한이 없습니다. API는 클라이언트/사용자가 요청할 수 있는 리소스의 크기나 수에 어떠한 제한도 두지 않습니다. 이는 API 서버 성능에 영향을 미칠 뿐만 아니라 서비스 거부 (DoS), 또한 인증 공격도 가능하게 합니다. 무차별 대입 공격 신임장에 관하여. 
  5. 손상된 기능 수준 권한 부여. 다양한 그룹과 역할에 따른 복잡한 접근 제어 정책, 그리고 관리 기능과 일반 기능을 제대로 구분하지 못하는 문제 등이 있습니다. 이러한 API 오류는 권한 부여 결함입니다. 공격자는 이러한 문제를 악용하여 다른 사용자의 리소스 및/또는 관리 기능에 접근할 수 있습니다.
  6. 대량 할당. API는 기본적으로 사용자에게 기본 데이터 접근 기능을 제공합니다. API는 모든 데이터 요청을 특정 함수 호출 집합으로 제한해야 합니다. 이렇게 하면 객체 속성을 추측하거나, 다른 API 엔드포인트를 탐색하거나, 문서를 읽거나, 요청 페이로드에 추가 객체 속성을 제공하는 등의 간단한 방법으로 부적절한 객체 수정 또는 접근 위험을 줄일 수 있습니다.
  7. 보안 오류. 보안 설정 오류는 일반적으로 안전하지 않은 기본 설정, 불완전하거나 임시 설정, 오픈 클라우드 스토리지, 잘못 설정된 HTTP 헤더, 불필요한 HTTP 메서드, 허용적인 교차 출처 리소스 공유(CORS), 그리고 민감한 정보가 포함된 자세한 오류 메시지 등으로 인해 발생합니다. 예를 들어, 웹 로그인 실패 시 사용자 이름이 웹사이트에 존재하는지 여부가 드러나서는 안 됩니다.
  8. 주입. 신뢰할 수없는 데이터가 명령 또는 쿼리의 일부로 인터프리터에 전송되면 SQL, NoSQL, 명령 삽입 등과 같은 주입 결함이 발생합니다. 공격자의 악의적 인 데이터는 인터프리터가 의도하지 않은 명령을 실행하거나 적절한 권한없이 데이터에 액세스하도록 속일 수 있습니다.
  9. 부적절한 자산 관리. API는 기존 웹 애플리케이션보다 더 많은 엔드포인트를 노출하는 경향이 있으므로 적절하고 최신화된 문서가 매우 중요합니다. 모든 API 배포 및 버전에 대한 철저한 문서화는 유효한 인벤토리로 이어집니다. API에서 버그나 취약점이 발견되어 수정되면 인벤토리를 통해 모든 것이 최신 상태로 유지되도록 할 수 있습니다. 
  10. 로깅 및 모니터링이 부족합니다. 불충분한 로깅 및 모니터링과 사고 대응 과정의 누락 또는 비효율적인 통합은 많은 문제를 야기합니다. 이로 인해 공격자는 시스템을 악용하고, 지속성을 설정 및 유지하고, 더 많은 시스템을 공격하기 위해 선회하고, 데이터를 추출하거나 파괴할 수 있습니다. 대부분의 침해 연구는 침해를 탐지하는 데 200일이 넘는 시간이 소요되며, 이는 일반적으로 내부 프로세스나 모니터링보다는 외부 기관에 의해 탐지됩니다.

보안 요구 사항

API 도입이 증가함에 따라 해당 API를 노리는 해커 공격도 증가하고 있습니다. 전문가들은 설계자와 개발자가 API가 포함된 애플리케이션을 다룰 때 다음과 같은 보안 요구 사항을 준수할 것을 권장합니다. 

시정

API 가시성과 관련하여 '지식이 곧 힘'이라는 말이 적절합니다. 애플리케이션 개발자와 사용자는 어떤 API가 게시되고, 언제 어떻게 업데이트되고, 누가 접근하고, 어떻게 접근하는지 알아야 합니다. API 사용 범위를 파악하는 것이 API 가시성을 확보하기 위한 첫 번째 단계입니다.

컨트롤에 액세스

API 접근은 종종 느슨하게 관리되어 원치 않는 노출로 이어질 수 있습니다. 각 API에 대해 적절한 접근 권한을 가진 사용자 그룹이 적절한 접근 권한을 갖도록 하는 것은 중요한 보안 요구 사항이며, 이는 ID 및 접근 관리(IAM) 시스템과 조율되어야 합니다.

봇 완화

일부 환경에서는 각 애플리케이션 트래픽(계정 로그인/가입, 장바구니 결제)의 최대 90%가 자동화된 봇에 의해 생성됩니다. 정상적인 트래픽을 차단하지 않고 자동화된 공격을 방지하려면 트래픽 프로필을 이해하고 관리해야 하며, 여기에는 좋은 봇과 나쁜 봇을 구분하는 것도 포함됩니다. 효과적인 보완책으로는 화이트리스트, 블랙리스트, 속도 제한 정책, CAPTCHA, 그리고 사용 사례 및 해당 API 엔드포인트에 특화된 지오펜싱 구현 등이 있습니다.

취약점 악용 방지

API는 웹 양식이나 모바일 앱을 제거하여 공격 프로세스를 간소화하고, 악의적인 공격자가 특정 취약점을 더욱 쉽게 악용할 수 있도록 합니다. 비즈니스 로직 악용 및 기타 취약점 악용으로부터 API 엔드포인트를 보호하는 것은 API 보안 완화의 핵심 요건입니다.

데이터 손실 방지

프로그래밍 권한 또는 보안 제어 차이로 인해 적절한 권한을 가진 사용자 또는 기타 방법으로 노출 된 API에 대한 데이터 손실을 방지하는 것도 중요한 보안 요구 사항입니다. 많은 API 공격은 백엔드 서버 및 시스템에서 제공되는 중요한 데이터에 액세스 할 수 있도록 특별히 설계되었습니다.

앞으로 이동

자주 사용하는 도구와 소프트웨어의 최신 정보를 파악하고 시스템과 관련된 새로운 취약점을 모두 알아두는 것이 중요합니다. 사이버 보안 뉴스레터를 구독하면 이러한 새로운 보안 위협에 대한 최신 정보를 얻을 수 있습니다. CyberHoot의 뉴스레터를 확인 하고 무료 월간 업데이트를 신청하세요. 시스템 보안의 첫걸음은 직면한 보안 위협을 인지하는 것입니다.

CyberHoot은 사이버 보안 기본 사항을 포함한 수백 가지 교육 프로그램을 보유하고 있어 협력하기 좋은 회사입니다. CyberHoot은 사이버 보안 기본 사항부터 OWASP 애플리케이션 위험, 고급 Microsoft Excel 교육까지 다양한 분야의 교육을 제공합니다. 문의하시려면 으로 연락주세요. sales@cyberhoot.com또는 회의를 설정하세요 https://Calendly.com/CyberHoot.

API 보안에 대해 자세히 알아보려면 2분 분량의 짧은 영상을 시청하세요.

출처 : 

ThreatPost

HelpNet보안

추가 독서 과제 : 

OWASP 10대 보안 위험

Apple, 개발자에게 iOS 14의 새로운 App Attest API를 사용하여 보안 위협으로부터 보호하도록 권장

최근 블로그

최신 정보를 놓치지 마세요 보안 통찰력

최신 사이버 보안 동향, 팁, 모범 사례를 알아보고 공유하세요. 또한 주의해야 할 새로운 위협도 알려드립니다.

가짜 암호화폐 지갑 확장 프로그램이 파이어폭스에 나타났습니다. 브라우저를 안전하게 유지하는 방법을 알려드립니다.
Corp MDM: 당신의 문자 메시지를 읽으려 했던 가짜 업무용 앱

Corp MDM: 당신의 문자 메시지를 읽으려 했던 가짜 업무용 앱

저자: 케이티 보케티 | 편집: 크레이그 테일러 크레이그 테일러 편집글: 우리는 이미 오래전부터 알고 있었죠...

더보기
가짜 ChatGPT 도우미들이 악성코드를 유포하고 있습니다. 이들을 구별하는 방법을 알려드립니다.

가짜 ChatGPT 도우미들이 악성코드를 유포하고 있습니다. 이들을 구별하는 방법을 알려드립니다.

저자: Katie Boquetti | 편집: Craig Taylor Craig Taylor의 편집: CAPTCHA는 다음 사항을 테스트해야 합니다...

더보기