API 보안, 이상징후 탐지·보안 테스트 필수
상태바
API 보안, 이상징후 탐지·보안 테스트 필수
  • 데이터넷
  • 승인 2023.03.20 09:00
  • 댓글 0
이 기사를 공유합니다

클라우드·마이데이터 확산으로 API 보안 중요…API 보안 전문 솔루션으로 보호해야
‘노네임시큐리티’, 기존 운영 시스템 영향 없이 API 보안 구성
<손장군 엔시큐어 이사>

[데이터넷] 웹 기반의 업무와 서비스가 증가하면서 웹 해킹으로 인한 많은 사고가 발생하고 있다. 그 피해 또한 과거와는 비교할 수 없을 정도로 커지고 있다. 그래서 애플리케이션 보안의 중요성을 인식한 기업들을 중심으로 애플리케이션 보안 방안을 논의하기 시작했다.

이전에는 대부분의 애플리케이션 보안이 모의 해킹, 웹 취약점 점검 등과 같은 사후 관점에 초점이 맞춰져 있어 발견된 취약점 제거에 막대한 비용과 시간이 소요됐다. 통상 연간 1~2회 보안점검을 실시하는 탓에 점검할 때마다 전체 시스템에 대한 분석은 현실적으로 불가능해 애플리케이션 취약점에 대한 상시 점검 및 모니터링 체계가 필요하게 됐다.

이에 많은 기업들이 시큐어코딩 점검체계 도입을 통해 개발 또는 유지보수 시 상시 체계로 취약점을 점검할 수 있는 기반을 구축하게 됐다.

API 보안 필요성 급증

최근에는 타사 서비스와의 연계 및 통합을 통해 고객의 요구에 맞는 서비스를 제공하는 것이 보편적인 추세를 이루고 있다. 고객이 피자를 주문하기 위해 과거에는 해당 브랜드의 앱이나 웹사이트에서 주문을 했다면 이제는 포털 사이트나 배달 앱을 통해 주문할 수 있다. 이는 타사 서비스 간의 상호 연계를 통해 가능했다.

각 기업의 서비스는 개발 플랫폼을 비롯해 많은 것들이 서로 다르기 때문에 상호 연계의 용이성 확보를 위해 표준 프로토콜인 API를 사용하는 것이 일반적이다. 이를 통해 서로 다른 시스템과의 연결이 상대적으로 손쉽게 이뤄진다.

보수적이라고 알려진 금융권의 경우에도 2022년 초 시작한 마이데이터 서비스를 위해 API를 표준으로 사용하며 각 금융사 간의 서비스와 고객 데이터를 보안성을 확보한 상태로 제공할 수 있게 됐다. 다양한 산업군에 걸쳐 API 사용이 일반화되고 급증함에 따라 보안성 확보는 보안 담당자들의 큰 고민거리로 등장했다.

국내 보안 담당자들이 API 보안에 대해 어떤 고민과 생각을 하고 있는지 대화 해보면 대부분이 API는 웹 기반 서비스기 때문에 시큐어코딩 프로세스와 웹방화벽으로 대처할 수 있다고 판단하고 있었다. 일리 있는 생각이지만 기존 웹 서비스와는 조금 다른 API 서비스의 특성을 이해한다면 해결이 필요한 부분이 존재한다는 것을 알 수 있고, 이러한 특성을 보다 더 잘 이해하려면 2019년 OWASP에서 발 표한 ‘API 보안 톱10’ 항목을 검토해 볼 필요가 있다.

▲API 보안 필요사항
▲API 보안 필요사항

API 보안 특성 반영돼야

기존 웹 취약점을 다루는 OWASP 톱10과 유사한 항목도 있지만 API 특성에 기인한 보안 고려 요소가 많다. 이는 ‘설계 및 구현상의 논리를 깨려는 로직 공격’으로 요약할 수 있고, 이는 기존 웹방화벽이나 시큐어코딩으로는 제어하기 힘든 특성을 갖추고 있다. 그렇다고 웹방화벽이나 시큐어코딩이 필요 없다는 의미는 아니다. API 관련 대표적인 보안 사고 몇 가지를 살펴보면 다음과 같다.

- 호주 통신사 옵터스(OPTUS)의 고객정보 1120만 건 유출 사고 (2022년)

- USPS 사이트에서 사용자 6000만 명에 대한 데이터 노출(2018년)

이에 해외 스타트업을 중심으로 API 보안 특성을 이해하고 분석할 수 있는 솔루션이 출시되고 있으며, 일부 WAF 기업들도 API 보안 특성 반영을 위해 노력하고 있다.

그렇다면 어떤 솔루션을 어떻게 검토해야 할지, 다음과 같은 질문에 대한 답을 고민해 볼 필요가 있다. 이것이 API 보안 솔루션 또는 플랫폼 도입을 위한 주요 고려 사항이라고 할 수 있다.

  • 귀사에서 서비스하고 있는 API가 몇 개나 되고 어떤 것들이 있는지를 질문한다면 ‘모른다’를 제외하고 개발팀이 엑셀로 정리한 목록을 받아 갖고 있다는 답변이 일반적이다.
  • 개발팀이 정리한 목록은 실제 서비스와 일치한다고 보장할 수 있고, 업데이트는 잘 이뤄지고 있는가?
  • API들이 어떤 정보를 다루고 있는지 알고 있고, 정리된 자료로 유지하고 있는가?
  • 각 API가 취급하는 정보의 중요도에 따른 관리를 하고 있는가?
  • 서비스하는 API에 대해 이상 또는 공격 징후, 잠재적 위험 요 소, 평소와 다른 대량 요청, API 변경 사항(개발팀을 통한 내부 변경 또는 타사에 의한 요청 변경) 등을 모니터링할 수 있는가?
  • API 개발 시 보안 관점의 자동화 테스트 방안은 확보하고 있는 가?
  • 인터넷이 노출된 API 또는 깃허브 등을 통한 API 키 등의 주요 정보 유출 등 공개된 정보에 대한 정찰 공격 모니터링 방안을 확 보하고 있는가?

앞선 질문에 대한 답을 고민해 본 보안 담당자라면 무언가 대안이 필요하다는 것을 느꼈을 것이다. 이는 API를 통한 서 비스를 제공하는 대부분의 기업에서 고민하고 있는 것이다.

이를 해결하기 위해 시장조사기관들이 제시하는 API 보 안 솔루션 도입 시 고려할 기능적인 사항을 요약하면 다음 과 같다.

● API 가시화

- 실제 서비스 중인 API에 대해 자동화된 목록화

- 각 API에 대한 중요도 분류(중요 데이터 취급 여부, 인증 필요 여부 등)

● 이상 징후 탐지

- 실시간 또는 실시간에 준하는 API에 대한 이상 징후 탐지

- OWASP 톱10, 표준 위배, 중요 데이터에 대한 보호 미흡(미인 증, 약한 암호화 등) 탐지

● 외부 관점 이상징후 탐지

- 인터넷에 노출된 API 취약점 탐색

- 깃허브 등 외부 저장소를 통한 보안 위협 여부 탐색

● API 보안 테스트

- 개발 중 API에 대한 사전 보안 테스트(OWASP 톱10)

API 보안 전략에 대해 다수의 기관들은 앞서 언급한 기능이 필요하다고 공통적으로 이야기하고 있다. 국내 금융권은 ‘노네임 시큐리티(Noname Security)’를 API 보안 플랫폼으로 도입 또는 도입을 검토 중이다.

국내 금융기관의 서비스는 마이데이터로 대표할 수 있는데, 금융당국에서는 마이데이터 서비스에 대한 여러 보안 요구사 항을 제시하고 있다. 하지만 이상거래 탐지 및 대응, 비정상 오픈 API 탐지 등은 기존 기술로는 한계가 있기 때문에 마이데이터 서비스를 제공하는 금융권의 별도 API 보안 전용 기술을 도입해야 한다.

국내 금융그룹 API 모니터링 시스템 구축 사례

필자는 다양한 금융사에서 노네임 시큐리티의 API 보안 플랫폼 구축 및 개념검증(PoC)을 진행하면서 벤더가 제공하는 기능적인 측면 외에도 실질적으로 중요한 현실적인 고려사항을 파악할 수 있게 됐다. 대부분의 트래픽 분석 시스템이 그러 하듯이 기존 인프라에 영향을 주지 않는 연계와 함께 암호화되지 않은 트래픽의 연결 또한 필요하다는 사실이다.

국내 A 금융그룹의 마이데이터 플랫폼의 API 모니터링 시스템 구축 사례를 살펴보자.

실제 시스템 구축을 위해 보안 담당자들과 기술적인 검토를 하다 보면 이미 설명했던 기능 측면의 요구 사항을 넘어 현실적인 문제에 봉착하게 됐고, 이러한 문제 해결을 위해 다음과 같은 과정으로 API 모니터링 시스템 프로젝트가 진행됐다.

● 비암호화 구간의 트래픽을 찾기 어렵다.

- 솔루션에서 제공하는 카프카(Kafka), SqlDB, API 서버 로그 파일 직접 처리 등을 통해 API 트래픽 연동

- 필요시 로그 데이터 암호화 해제 코드 개발(커스텀 파서)

● 기존 서비스가 이미 운영 중이므로 절대 가용성에 영향을 미치면 안 된다.

- 기존 로깅 시스템과 API 보안 솔루션을 위한 로깅 시스템 분리로 가용성 영향 차단

- 프라이빗·퍼블릭 클라우드, 온프레미스 환경 모두에 대해 구축해야 한다.

- 솔루션에서 모든 환경 지원

API 모니터링 시스템의 대략적인 구성은 아래 그림과 같다. 고객사의 실제 아키텍처는 공개할 수 없기에 개념으로 이해하 면 된다. 고객의 요구대로 기존 운영 시스템에 미치는 영향 없이 데이터를 연결하고, AWS 및 내부 클라우드에 모든 구성을 진행했다.

▲API 보안 구축사례

현재 고객은 수개월간 API 보안 모니터링을 진행하고 있으며 다음과 같은 다양한 성과를 얻고 있다.

● 서비스되는 모든 API 목록화와 중요도 분류

- 1000여 개의 API 서비스

- 고객 정보 등 중요 정보를 취급하는 API는 주요 모니터링 대상으로 관리

● 서비스되는 API의 변경 사항 추적

- 평균 주당 10여 건의 API가 요구에 따라 변경 개발되고 있고, 변 경 사항 추적 가능

● 서비스 API에 대한 이상징후 탐지

- 마이데이터 표준 미준수 API 검출

- 중요 데이터를 취급하지만 암호화가 미흡한 API 검출

- 상대 기관에서 잘못된 요청 시에도 정상 처리하는 API 검출

● 개발 조직과 유연한 커뮤니케이션

- 발견된 이상징후와 수정사항에 대해 상세 데이터를 기반으로 커 뮤니케이션해 빠르게 문제 교정

플랫폼에서 제공하는 기능은 앞서 설명한 성과보다 더 많지 만 기존에 해결하지 못했던 가시성 확보와 상시 모니터링 및 분 석만으로도 많은 고민을 해결했다.

향후 내부 시스템과 API 개발 및 보안 프로세스가 안정화되 면 차단을 위한 타 보안 장비 및 개발 프로세스와의 연계를 통 한 API 데브섹옵스(DevSecOps)를 완성할 수 있을 것으로 기 대된다.

API 보안 솔루션 또는 플랫폼 도입을 고려하고 있는 보안 담 당자라면 앞서 제시된 질문에 대해 기업의 현황을 먼저 확인하 고, 구축 과정에서 언급된 현실적인 문제를 어떻게 잘 해결할 수 있을지를 최우선으로 고민해 보기를 바란다.



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.