Offcanvas

How To / 보안 / 악성코드

효과적인 애플리케이션 침투 테스트의 비결··· '매트릭스'

2017.04.06 George V. Hulme  |  CSO
가장 효과적으로 안전한 애플리케이션을 개발하는 방법은 시큐어 코딩 후 애플리케이션의 보안 결함을 테스트하는, '기본'에 충실하는 것이다. 이런 테스트의 일부로 항상 상세한 애플리케이션 펜(pen ; penetration) 테스트를 실시해야 한다. 그러나 이런 테스트와 평가가 진짜 도움을 주고 있는지 어떻게 알 수 있을까?

애플리케이션 보안을 구현하기 위해 반영해야 하는 것들은 잘 알려져 있다. 개발자들은 개발 환경에서 코드를 테스트해야 한다. 개발 파이프라인에서 코드를 대상으로 여러 차례 품질과 보안 테스트를 실시해야 하는 것이다. 또 애플리케이션을 배포한 즉시 테스트를 해야 한다. 그렇게 할지라도 애플리케이션에 미쳐 발견하지 못한 취약점이 다수 존재할 확률이 아주 높다.

이런 다루기 힘든 취약점을 발견할 수 있는 방법이 정기적인 애플리케이션 펜 테스트다. 이는 보안 관리가 효과적인지, 공격 취약점이 있는지 애플리케이션을 점검하는 테스트이다. 시장 조사 기업 마켓 앤 마켓(Markets & Markets)은 2016년 기준 5억 9,500만 달러인 펜 테스트 시장이 2021년에는 17억 달러 시장으로 성장할 것으로 전망한다. 이 시장 조사 기업에 따르면 2016년에 가장 규모가 큰 시장 부문은 웹 애플리케이션 펜 테스트 시장 부문이었다.

개발을 하는 동안, 또 애플리케이션을 운영하는 동안 버그를 찾기 힘든 것이 애플리케이션 보안 펜 테스트가 유효한 이유다. 이 테스트에서는 크로스-사이트 스크립팅, SQL 주입, 원격 코드 실행, 취약한 인증 등 잠재적인 취약점을 찾아 바로잡을 방법을 찾게 된다.

그렇다면 성과를 높이고, 향후 더 큰 가치를 이끌어 낼 수 있는 효과적인 펜 테스트는 어떤 테스트일까? 어떤 방법으로 효과를 측정할까?

코발트(Cobalt)는 2016년 기업들이 실시한 모든 애플리케이션 펜 테스트를 조사함으로써, 애플리케이션 펜 테스트 매트릭스를 사용해 보안 프로그램과 써드파티 주도 펜 테스트의 효과를 측정하는 방법을 규명했다. 결론부터 이야기하면, 현 상황을 평가한 후 목표를 수립하고, 이 목표에 대한 성과를 측정하는 것이 효과를 높이는 유일한 방법이다.

이 점을 염두에 뒀을 때, 출발점이 되는 질문은 기업이 애플리케이션 펜 테스트를 실시하는 이유다. 코발트의 보안 전략 담당 캐롤린 웡 VP에 따르면 펜 테스트를 실시하는 가장 흔한 이유는 비즈니스 거래의 일부로 고객사에게 실사했음을 입증하는 경우였다. 즉 잠재된 보안 결함을 수정했음을 입증하려는 목적이었다.

웡은 "우리가 확인한 가장 일반적인 '유즈 케이스'이다"라고 말했다. 두 번째는 무엇일까? 보안 컴플라이언스였다.

리버티 뮤츄얼 보험(Liberty Mutual Insurance)의 보안 위험 테크놀로지스트인 크리스 블로우도 여기에 동의한다. 그는 "고객 주도 아래, 또는 컴플라이언스(규제나 정책 준수)를 위해 애플리케이션 펜 테스트를 하는 사례가 많다. 기업 스스로 보안을 강화하기 위해, 애플리케이션의 보안 상태를 확인하기 위해 테스트를 하는 경우는 드물다. PCI요건을 충족하는 등 컴플라이언스를 위해, 또는 고객이 보안을 실사하기 위해 펜 테스트를 하는 사례가 많다"라고 설명했다.

콜바트는 기업들이 애플리케이션 펜 테스트에서 큰 성과를 달성하는 방법을 규명하자 했다. 웡은 "최신 펜 테스트 프로그램의 효과나 ROI를 규명하는데 도움을 주는 핵심 매트릭스를 찾고 싶었다. 조직들은 펜 테스트에 많은 돈을 투자한다. 그런데 이런 투자로 창출하는 수익은 얼마일까?"라고 말했다.

애플리케이션 펜 테스트 매트릭스는 이 질문에 대한 답을 찾는데 도움을 줄 수 있다. '보안 매트릭스, 초보자 가이드(Security Metrics, A Beginner's Guide)'라는 책을 쓴 웡은 "측정치는 보안 프로그램에 대한 가시성과 정보를 제공하고, 이를 통일되게 이해할 수 있도록 해준다. 또 계획 수립과 의사결정을 강화해 보안 프로그램을 가장 효과적으로 관리할 수 있도록 도와준다"라고 주장했다.

경험 많은 펜 테스트 전문가들 또한 애플리케이션 펜 테스트의 가치를 평가하기 위해서는 애플리케이션 보안 프로그램의 다른 측면을 살펴야 한다는 점에 동의하고 있다.

블로우는 "1월에 애플리케이션 펜 테스트를 실시, '고'와 '중', '저'에 해당하는 취약점을 각각 10개, 20개, 50개 발견했다고 가정하자. 해당 조직은 60일 이내에 이들 모든 취약점을 해결했다. 그러나 3월에 다시 테스트를 실시했을 때 새로운 취약점들을 발견했다. 더 나아가 '고'와 '중', '저'가 각각 20개, 30개, 50개였다”라고 가정했다.

그는 이어 "그렇다면 첫 번째 애플리케이션 펜 테스트는 시간 낭비였을까?"라는 질문을 묻고는, "아니다. 취약점을 수정했기 때문이다. 하지만 이러한 결과는 더 많은 개발자 교육, 개발자 파이프라인에서 더 많은 테스트가 필요하다는 점을 시사한다"라고 대답했다.

안전한 애플리케이션 개발 프로그램에 대한 정보를 제공하는 매트릭스 외에 도움을 줄 수 있는 매트릭스는 무엇일까? 애플리케이션 테스트 빈도, 중대한 취약점을 고치는데 소요되는 시간, 특정 취약점군의 감소에 대한 매트릭스를 예로 들 수 있다.

웡은 "각 조직에 중요한 것을 중심으로 테스트를 하고, 테스트 결과를 가지고 개선을 시키는 것이 중요하다"라고 강조했다.

기업들은 얼마나 자주 애플리케이션 펜 테스트를 실시할까? 코발트 조사에 따르면, 매년 1회 테스트를 실시하는 기업들이 많다. 구체적으로 매년 1회, 6개월에 1회, 분기에 1회 테스트를 실시하는 비율이 약 46%, 39%, 15%이다.

또 얼마나 위험한 취약점을 발견할까? 펜 테스트에서 발견한 취약점 중 9%가 아주 위험한 취약점이고, 꽤 위험한 취약점, 중간 정도 위험한 취약점 비율이 각각 8%와 14%이다. 그리고 위험도가 낮은 취약점의 비율은 절반이 훨씬 넘는 72%였다.

애플리케이션 펜 테스트를 더 많이 실시할수록 좋다는 생각을 갖기 쉽다. 그러나 반드시 그런 것만은 아니다. 조직마다 기술에 대한 접근법, 내부에 배포한 애플리케이션과 기능이 다르기 때문이다. 블로우는 "보안 프로그램의 특성, 애플리케이션 개발 활동과 관련된 특성에 따라 결정된다"라고 설명했다.

최근 새 코드를 개발함에 있어 데브옵스와 애자일 개발 워크플로를 적용해야 한다는 압력이 높아지고 있다. 따라서 개발 및 배포 프로세스 동안 소프트웨어를 검사할 수 있는 올바른 테스트 도구를 도입해 이용하는 것이 아주 중요하다. 예를 들어, 앱을 운영하면서 계속 자동화된 애플리케이션 스캔 도구로 테스트를 할 수도 있다. 블로우는 "이 경우, 중요한 릴리스 직후, 또는 6개월에 한 번 애플리케이션 펜 테스트를 해도 무방하다"라고 말했다.

또 비즈니스에 대한 중요도(위험)가 평가와 수정에 가장 많은 시간을 투자할 애플리케이션을 결정할 필요가 있다. 웡은 "가장 중요한 비즈니스 애플리케이션, 보안 및 규제 관련 위험이 가장 높은 애플리케이션에 초점을 맞춰야 한다. 이런 앱의 위험한 취약점을 가장 먼저 고쳐야 한다"라고 강조했다. ciokr@idg.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.