Offcanvas

How To / 개발자 / 보안 / 애플리케이션

서드파티 API 보안을 강화하기 위한 5가지 모범 수칙

2023.06.20 Linda Rosencrance  |  CSO
API 보안에 대해 고려할 때 일반적인 기업은 내부에서 작성하는 API 보호에 초점을 둔다. 그러나 기업이 사용하는 모든 API가 내부적으로 개발되는 것은 아니다. 일부는 다른 기업이 설계하고 개발한다. 문제는 많은 기업이 이런 서드파티 API 사용으로 인해 애플리케이션이 맬웨어, 데이터베이스 침해, 무단 액세스와 같은 보안 문제에 노출될 수 있다는 사실을 인식하지 못하고 있다는 점이다.
 
ⓒ Getty Images Bank

서드파티 API는 기업이 자체 웹사이트 또는 애플리케이션에서 서드파티 기능이나 데이터를 활용할 수 있게 해주는 소프트웨어 인터페이스다. 기술 연구 및 자문 업체 ISG의 사이버 보안 책임자인 필 퀴투가는 서드파티 API는 개발자가 애플리케이션 또는 시스템을 외부 서비스, 데이터 또는 기능과 통합할 수 있게 해준다고 말했다.

널리 사용되는 서드파티 API에는 내비게이션 앱, 소셜 미디어 플랫폼, 디지털 결제 처리 툴 등이 있다. 데이터돔(DataDome)의 제품 담당 부사장인 폴 스캘론은 “서드파티 API는 가령 구글 또는 페이스북과 같은 서드파티가 자체 데이터나 기능에 대한 접근을 허용하기 위해 제공하는 API다. 모두가 API를 좋아한다. API는 다양한 기기 및 애플리케이션에서 다양한 통신 프로토콜을 통해 정보를 교환할 수 있게 해주므로 개발자는 훨씬 더 쉽고 효율적으로 우수한 사용자 경험을 만들어낼 수 있다”라고 설명했다.

그러나 API의 보편성과 인기에는 보안 측면의 큰 약점이 존재한다. 솔트 시큐리티(Salt Security)의 2023년 1분기 API 보안 현황 보고서에 따르면, 기업의 약 94%는 2022년 프로덕션 API에서 보안 문제를 경험했고 17%는 API 관련 침해를 겪었다. 서드파티 API에 대한 보안을 구현해야 할 필요성을 잘 보여주는 데이터다.


서드파티 앱의 보안이 중요한 이유

NCC 그룹(NCC Group)의 산업 및 운영 기술 부문 사업 책임자인 짐 맥키니는 서드파티 API는 약점이 될 수 있으므로 강력한 보안이 필요하다고 말했다. 보안이 되지 않는 서드파티 API는 민감 데이터를 유출시키거나 소프트웨어에서 문제를 일으킬 수 있다.

맥키니는 “API 보안은 사이버 위협에서 오픈스트리트맵(OpenStreetMap) API와 같은 프로그램 간 통신을 보호한다. 악의적 공격, 무단 액세스, 그리고 API 악용과 같은 새로운 위협에 대응해 방어하고 애플리케이션 간에 안전하고 인증된 통신을 보장한다”라고 설명했다.

캡제미니(Capgemini)의 자회사인 소게티(Sogeti)의 인사이트 및 데이터 부문 부사장인 덕 로스는 서드파티 API 보안은 인증, 권한 부여, 암호화, 모니터링 같은 수단을 구현해서 API 및 관련 데이터의 무결성, 가용성, 기밀성을 보장한다면서, “API는 다양한 시스템을 잇는 다리 역할을 한다. 민감 정보와 중요한 정보를 교환하는 데 사용되는 경우가 늘고 있는 만큼 API 보안은 소프트웨어 개발의 중요한 측면”이라고 강조했다.

서드파티 API의 보안을 보장하는 것은 많은 이유에서 중요하다. 우선 API는 사용자 데이터, 결제 정보와 같은 민감한 정보에 액세스할 수 있다. 따라서 서드파티 API가 침해되면 데이터가 유출되고 최종 사용자와 그 API에 의존하는 기업이 모두 피해를 입을 수 있다. 또한 안전하지 않은 API는 애플리케이션이나 시스템을 취약점과 공격에 노출시켜 시스템 장애 또는 부적절한 리소스 액세스를 유발할 수 있다.

서드파티 API 보안은 규정 준수에도 중요하다. EU의 GDPR, 미국의 의료보험 양도 및 책임에 관한 법률 등 많은 산업이 데이터 보호 및 개인정보 보호와 관련하여 엄격한 규정을 적용 받기 때문이다. 로스는 서드파티 API의 보안을 보장하면 이런 규정을 준수하고 감독 기관의 처벌을 피하는 데 도움이 된다고 말했다.

또한 서드파티 API와 관련된 보안 침해는 회사의 평판에도 피해를 입혀 고객 신뢰 손실로 이어지거나 비즈니스 파트너십에 영향을 미칠 수 있다.

서드파티 API의 보안을 보장하기 위한 5가지 권장 사항은 다음과 같다.


1. 서드파티 API가 포함된 API 인벤토리 유지

바이오닉(Bionic)의 보안 연구원 제이콥 개리슨은 코드 변경에 따라 자동으로 업데이트되는 API 인벤토리를 유지하는 것이 API 보안 프로그램을 위한 중요한 첫 단계라고 말했다. AI 인벤토리는 퍼스트 파티와 서드파티 API를 구분해야 하며, 섀도우 IT, 즉 보안팀에 알리지 않고 도입된 API에 대한 지속적인 모니터링에도 도움이 된다.

개리슨은 “인벤토리의 견고함과 실행 가능성을 보장하려면 어느 API가 개인 식별 정보, 결제 카드 데이터와 같은 핵심 비즈니스 정보를 전송하는지 추적해야 한다”라고 말했다. 개리슨에 따르면, API 인벤토리는 서드파티 위험 관리를 보완한다. 개발자가 서드파티 API를 활용할 때는 업체 자체에 대한 위험 평가를 고려하는 것이 좋다.

이어 “데이터 엔지니어링팀이 분석을 위해 개인 식별 데이터를 태블로(Tableau)로 전송하려는 경우를 가정해 보자. 이 경우 업체의 보안 태세가 기업의 위험 허용 범위 내에 있는지 평가하는 것이 좋다”라고 설명했다.

인빅티 시큐리티(Invicti Security)의 CTO이자 보안 연구 책임자인 프랭크 카투치 역시 서드파티 API 인벤토리를 포함하는 것이 중요하다는 데 동의했다. 카투치는 “서드파티 API를 전체적인 API 인벤토리의 일부로 포함하고, 내 소유이며 책임도 나에게 있는 자산으로 인식해야 한다. 모르는 것을 보호할 수는 없으므로 어느 API가 어디서 실행되고 무엇을 하고 있는지 정확히 파악하는 것이 중요한 첫 단계”라고 말했다.


2. 업체 조사

맥키니에 따르면, 기업은 강력한 보안 대책을 갖춘 평판이 좋은 API 업체를 선택하고 API 활동에서 의심스러운 활동을 모니터링하며, 암호화를 사용해야 한다. 예를 들면, 신뢰할 수 있는 업체의 결제 처리 API만 사용하고 API 로그를 정기적으로 모니터링해서 비정상적인 활동을 감시하고 API를 통해 전송되는 모든 민감 데이터가 암호화되는지 확인해야 한다.

렉스마크(Lexmark)의 최고 정보 보안 책임자 브라이언 윌렛은 서드파티의 경우 업체의 보안 관리 프로세스를 확장 구축하는 것이 중요하다면서, “이런 프로세스는 조달 프로세스와 긴밀하게 통합해 모든 업체와의 계약이 해당 프로세스를 거치도록 해야 한다. 이런 프로세스는 업체 위험 평가, 보안 점수, 지속적인 모니터링, 그리고 계약 조건이 기업의 위험 허용 범위 내에 있는지 확인하기 위한 계약 검토 등의 몇 가지 하위 프로세스로 구성되어야 한다”라고 조언했다.


3. API에 대한 해당 업체의 보안 정책 검토

윌렛은 기업이 업체의 일반적인 보안 통제 수단뿐 아니라 서드파티 API 라이프사이클 여러 단계에 걸쳐 보안 통제 수단을 구축해서 위험 허용 한도를 충족하는 적절한 보호를 보장하는 것이 중요하다고 말했다.

윌렛은 “예를 들어, 교육부터 제공 프로세스 전반의 여러 관문에 이르기까지, 보안 개발 라이프사이클이 기업 문화에 뿌리깊게 자리잡아야 한다”라고 말했다. 이런 관문에는 서드파티 업체가 개발한 소스코드와 제품에 포함된 오픈소스 라이브러리로 인한 위험에 대처하는 방법도 포함돼야 한다.

이어 “업체가 정적 코드 분석, 퍼즈(fuzz) 테스트, 취약점 스캔을 수행하기 위한 최신 툴을 사용하는 우수한 보안 테스트를 실천하고 있는지 확인해야 한다. 운영 측면에서는 데이터에 대한 적절한 액세스 제어 및 제로 트러스트 원칙을 구현하고 있는지와 함께 강력한 변경 관리 프로세스가 있는지를 확인해야 한다”라고 설명했다.

또한 서드파티 업체는 운영 환경에서 패치를 모니터링하는 성숙한 취약점 관리 프로그램과 취약점이 패치되는 경우에 대한 명확한 서비스 수준 계약도 두고 있어야 한다.


4. 직접 서드파티 API 테스트

카투치는 서드파티 API를 작성하지 않은 기업이 직접 제어할 수 없다고 해도, 자체 API에 하듯이 테스트는 할 수 있다고 말했다. 예를 들어, 기업은 동적 애플리케이션 보안 테스트 기능을 사용하여 서드파티 API에서 알려진 취약점, 취약한 구성요소 또는 API 내에 포함될 수 있는 오래된 구성요소를 스캔할 수 있다.

카투치는 “소유하고 있지 않다 해도 테스트해야 한다. 서드파티 API에서 특정 취약점을 발견하는 경우 수정될 때까지 해당 기능을 차단하거나 API 사용을 중단하는 것이 좋다”라고 말했다.


5. API 키 순환

또 다른 보안 고려 사항은 API 키 순환이다. 윌렛에 따르면, 사용자는 서드파티 API를 호출할 때 ‘키’라고 하는 고유한 문자열을 요청과 함께 제공해야 한다. 이 문자열은 솔루션 업체에 어느 고객이 호출하고 있는지 알려주는 역할을 한다. 정기적인 키 순환이 필요한 이유는 크게 2가지다.

윌렛은 “첫째, 공격자가 API 키를 가로채면 사용자를 대신해 요청을 생성할 수 있다. 서드파티에서 사용하는 보안 프로토콜에 따라 이 키만으로도 계정과 관련된 민감한 정보를 빼내기에 충분할 수 있다. 둘째, 서드파티 API 사용에는 비용이 든다. API 키는 청구 프로세스에 사용된다. 공격자는 키를 사용해서 빠르게 API 요청을 발행해 청구 비용을 증가시킬 수 있다. 이런 2가지 이유로 API 보안 프로그램은 정기적인 키 순환을 포함해야 한다”라고 지적했다.


요약 : API를 보호하지 않는 상태로 방치하지 말 것

API 기반 공격은 매우 정교하므로 그에 상응하는 강력한 방어가 필요하다. 게다가 스렛엑스(ThreatX)의 보안 전략 책임자이자 현장 최고 정보 보안 책임자인 제레미 벤추라는 지금은 서드파티 침해가 과거 어느 때보다 기승을 부리고 있다고 말했다.

벤추라는 “펠로톤(Peloton), 닛산 등 유명한 많은 보안 침해 사건이 보호되지 않는 API에서 시작됐다. 공급망 공격은 네트워크에 침투하고자 하는 사이버 범죄자들에게 매우 매력적인 공격 수법”이라고 말했다.

벤추라는 따라서 서드파티 API 보안 위협이 단순한 IT 문제가 아니라 관련된 모든 기업과 고객에 영향을 미치는 핵심 비즈니스 문제임을 인식하는 것이 중요하다고 덧붙였다.
editor@itworld.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.