본문 바로가기
Security Essay

애플리케이션 API 보안 취약점 사례

by _Jay_ 2022. 5. 15.
반응형

작년부터 계속해서 보안 문제에 대해 글을 올리고 있는데 갈수록 더 많은 공격들과 취약점들이 나오고 있는 듯 합니다. 사실 웹 서비스나 소프트웨어 개발이 과거보다 확실히 쉬워진 지금이 오히려 더 보안 문제가 더 많이 발생하고 있는데요. 유용하고 새로운 기능을 위해 개발한 애플리케이션에서 정교하게 보안을 지키지 않았다면, 해커가 공략할 수 있는 취약점들이 항상 존재하기 때문이죠. 특히 시큐어코딩 뿐만 아니라 인증을 우회하는 설계상의 취약점도 흔히 발견되기에 늘 주의를 기울여야 하는데, 오늘은 이러한 문제점이 있는 애플리케이션의 API 보안에 대해 짧게 이야기해보도록 하겠습니다.

요즘은 개발자가 아니라도 API라는 용어를 굉장히 많이 들어보셨을 것으로 생각되는데, API는 것은 Application Programming Interface의 약자로 다른 애플리케이션과 정보를 주고 받기 위한 사용자 인터페이스입니다. 쉽게 말해서, 네이버와 같은 웹 페이지 같은 프론트엔드(Front-end)에서 로그인이나 검색을 하면 네이버 회사에 구축되어 있는 백엔드(Back-end)에 정보를 요청하게 되는데 이때 API를 사용한다고 보시면 됩니다. 사실 개발을 처음 시작하시는 분들은 C언어나 파이썬의 print같은 함수들만 API라고 생각을 하실 수 있는데, 최근에는 사용자에게 공개하는 Open API나 HTTP를 통해 정보를 제공하는 REST API도 이에 해당하죠.

여기서는 Open API를 기준으로 발생할 수 있는 취약점에 간단하게 설명드려보겠습니다. 기업에서 특정 서비스를 개발할 때 대부분은 사용자가 외부에서 사용할 수 있는 Open API를 같이 공개하게 됩니다. 특히 최근 여러 금융기관들의 데이터를 조회해서 가계부처럼 자산 내역을 관리할 수 있는 뱅크샐러드와 같은 앱도 금융권의 Open API를 이용한 것이죠. 사실 이런 계좌 정보나 거래 내역을 포함한 금융 정보들을 API 하나로 확인할 수 있다는게 굉장히 찝찝하긴 했지만, 각각의 금융 앱에 접속할 필요 없이 인증만 하면 볼 수 있다는 점에서 정말 편리한건 사실입니다.

하지만 만약 이런 Open API를 사용할 때 사용자 인증을 제대로 확인하지 않는다면, 다른 사람이 내 금융 정보를 확인할 수도 있겠죠. API를 만드는 개발자들마다 이런 인증 방식은 제각각이지만 보통 Open API를 사용해서 내 계좌 정보를 조회한다고 하면, API에 아이디와 비밀번호 같은 인증 정보와 확인할 계좌번호 등을 파라미터로 같이 보내게 됩니다. 그런데 여기서 계좌번호를 다른 사람의 것으로 바꿔서 조회하니 설계상 결함으로 인해 다른 사람들의 정보들을 볼 수 있다면.. 에이 설마 저렇게 허술하게 만들까라고 생각하시는 분들이 계시겠지만, 실제 저런 문제들이 종종 발생하여 개인정보가 유출되기 합니다.

위에서는 Open API를 통해 금융 정보를 조회하는 다소 극단적인 예시를 들었긴 했지만, 기업에서 공개하는 API 관리가 상당히 허술한 경우가 있기에 보안 업계에서 API 보안이 중요해지고 있다고 하죠. 어떻게 보면 새로운 서비스를 개발해서 사용자가 편리하게 사용할 수 있도록 API를 공개하는 것 자체가, 해커들의 입장에서는 새로운 공격 경로가 생기는 것과 동일합니다. 과거에 비해 오픈소스를 통해 필요한 기능들을 쉽게 사용할 수 있고, 개발과 배포 환경도 빠르게 구축이 되다보니 개발 속도는 계속해서 빨리질텐데, 반대로 보안의 속도는 그만큼 못 따라고 있는 실정이라고 보셔야겠죠.

 

 

애자일과 클라우드의 보편화로 갈수록 위험해지고 있는 API

애자일 개발 환경에 대한 인기가 점점 올라감에 따라 API의 사용량도 계속해서 증가하고 있다. 덕분에 소프트웨어에 대한 의존도가 높은 기업들은 매우 편리하게 사업을 확장하고 서비스를 출시

www.boannews.com

현재 기업의 ISMS 인증을 받을 때 기업에서 기술적 진단 측면에서 보안 장비들이나 웹/앱의 취약점만 필수적으로 점검하도록 되어있고, 금융권을 제외하고는 API와 같은 영역을 모의해킹 수준에서 선택적으로 진단하고 있죠. 그러다 보니 모의해커의 역량에 따라 결함 진단의 결과가 크게 차이나기도 합니다. 서비스 개발이 빨라지고 점차 API를 더 많이 공개하고 사용하는 만큼, 이 부분도 ISMS 인증 기준에 필수로 포함해서 API 보안이 강화되었으면 합니다. 그럼 오늘은 여기서 이만 마치도록 하죠. 읽어주셔서 감사합니다.

반응형

댓글