OWASP 소개

최근 사이버 공격에 의한 개인 정보 유출이나 홈페이지 운용 서버를 대상으로 하는 침해사고가 급격하게 증가하는 가운데 보안팀 뿐만 아니라 개발팀도 보안에 대한 주의가 더욱 필요해지고 있습니다.
Acunetix사에 의하면 70% 이상의 웹 서버에서 신용카드정보, 개인정보 등과 같은 민감한 정보를 유출시킬 수 있는 웹 취약점이 발견된다고 합니다.
또한 IT가 비즈니스 견인차 역할을 하게 되면서, DevOps나 Agile과 같은 더 빠르고 신뢰성 있는 소프트웨어 개발 모델이 유행하면서 개발팀의 부담은 더욱 증가하고 있습니다.

DevOps

개발팀은 Time To Market 실현을 위하여 제품/서비스 개발 기간을 단축시키는데 집중하고 있습니다.
이러한 상황에서 보안 점검으로 인하여 제품/서비스 출시 일정이 지연되어 비즈니스 기회를 놓치는 일이 있어서는 안될 것입니다.
이제, 요구 사항 정의, 설계 그리고 개발하는 전 과정에서 보안을 염두에 두고, 안전한 시스템을 구축하는 것이 무척 중요합니다.

하지만 대규모 시스템 구축 프로젝트에는 여전히 폭포수(waterfall) 모델이 채용되는 경우가 많습니다.
이러한 경우 시스템 오픈 직전에서야 보안 취약점을 진단하면서 광범위한 수정이 필요한 취약점이 발견되기도 합니다.
일정이 촉박한 시점에 예측하지 못한 작업으로 인한 지연과 비용 부담이 발생하게 됩니다.
이런 문제를 미연에 방지하기 위해서는 개발 단계에서 부터 취약점을 미리 검검하여 제거하는 것이 중요합니다.

OWASP (The Open Web Application Security Project) 란?

OWASP는 전 세계적으로 보안 전문가들이 보안 취약점 진단 기준과 표준을 수립하고, 웹 어플리케이션 보안 관련 문서를 배포하고 보안 취약점 관련 툴을 개발하는 오픈소스 커뮤니티입니다.
OWASP는 웹 어플리케이션 뿐만 아니라 소프트웨어의 보안 환경, 안전한 소프트웨어 개발을 촉진하는 기술 프로세스에 대한 정보 공유 및 보급을 목적으로 하고 있습니다.
OWASP 프로젝트는 여러 개의 서브 프로젝트들이 있으며 그 중 가장 유명한 프로젝트는 OWASP TOP 10 입니다.
OWASP TOP 10은 웹 애플리케이션 취약점 중에서 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 10가지 취약점과 그 취약점에 대한 조치 방법을 정리하여 공유하는 프로젝트입니다.
2004년, 2007년, 2010년, 2013년, 2017년을 기준으로 3 년에 한 번씩 발표되었으며, 2017 년에 공개된 버전이 한글로 번역되어 있습니다.

OWASP TOP 10 2017 한글판 공식 문서

OWASP Top 10을 선정하는 가장 큰 이유는 가장 중요한 웹 애플리케이션의 보안 취약점 개발자, 설계자, 아키텍트, 운영자 혹은 기관들에게 주요 웹 애플리케이션 보안 취약점으로 인한 영향을 알리기 위해서 입니다.
Top 10은 위험도가 큰 문제들에 대해 대응할 수 있는 기본적인 기술을 제공하며, 또한 이를 근거로 향후 방향을 제시하고 있습니다.

OWASP ZAP (OWASP Zed Attack Proxy Project) 란?

OWASP ZAP을 간단히 요약하면 개발 단계에서 개발자가 손쉽게 스스로 보안 취약점을 발견하고 조치할 수 있도록 하는 오픈소스 제품입니다.

OWASP ZAP

구체적으로 OWASP ZAP는 오픈 소스 프로젝트로 웹 어플리케이션 스캐너인 ZAP (Zed Attack Proxy)을 개발하는 프로젝트 입니다.
이미 공개되어 있는 오픈소스 프로젝트인 Paros Proxy라는 웹 어플리케이션 스캐너를 기반으로 다양한 기능을 추가하고 개선한 제품입니다.
OWASP ZAP이 자동으로 진단 검사 할 수 있는 취약점은 접근할 수 없는 부분을 제외한 웹 어플리케이션의 주요 취약점을 포괄적으로 확인할 수 있습니다.

OWASP ZAP
OWASP ZAP의 주요 기능은 다음과 같습니다.
기능
용도
프록시
브라우저와 어플리케이션 간의 HTTP 통신 내용을 저장
보안 진단을 위한 요청을 보내면 응답 데이터를 시각화
스파이더
전체 웹 어플리케이션에 대한 정보 수집
공개해서는 안되는 파일이나 디렉토리 유무 확인
정적 / 동적 검색
다양한 취약점 자동 감지
Fuzzer
기본적인 정적/동적 스캔으로는 검출이 어려운 취약점을 수동으로 검색
애드온 Script
어플리케이션  고유의 기능에 대응할 수 있는 진단 도구 작성
ZAP API 스파이더와 검색 등 다양한 기능을 외부에서 조작하여 진단 작업을 완벽하게 자동화

공개S/W를 이용한 홈페이지 취약점 점검 안내서

OWASP ZAP의 용도는 앞서 언급한 것처럼 보안담당자나 개발자가 직접 보안 취약성을 점검하고 조치하는데 그 목적을 두고 있습니다.
어플리케이션 개발 중에도 간단하게 준비해서 보안 취약점에 대한 점검을 할 수 있으며, 개발 초기 단계부터 반복적으로 보안 취약점 점검을 실시하고 수정할 수 있기 때문에 조기에 보안 취약성을 확인하고 줄일 수 있습니다.
OWASP ZAP을 설치하고 사용하는 방법에 대한 자세한 가이드 문서는 아래의 URL에서 확인할 수 있습니다.

위의 문서에는 과학기술사이버안전센터(S&T-SEC)에서 실제 보안 취약성 점검시 사용하고 있는 공개용 웹 취약점 점검도구인 웹서버의 네트워크 포트 점검을 위한 Nmap, 웹서버의 서비스 설정의 취약점을 점검할 수 있는 Nikto2, 종합적인 홈페이지 취약점 점검을 위한 OWASP ZAP에 대한 활용 방법을 설명하고 있습니다.

References & Related Links