‘OWASP TOP 10 2013’ 상세 리뷰...2010 버전과 다른 점은?
[보안뉴스 김태형] OWASP(The Open Web Application Security Project)에서 3년 마다 발표하는 ‘OWASP Top 10’은 웹 보안과 관련한 10대 취약점을 집계한 것으로, 보안종사자들에게 좋은 참고자료가 되고 있다.
이와 관련해 국내 웹보안 업체인 트리니티소프트에서 ‘OWASP TOP 10 2013’ 리뷰와 함께 국내 시큐어코딩 점검항목 43개와 비교한 보고서를 발표해 관심을 모으고 있다.
지난 2001년 12월 온라인을 통해 활동을 시작한 OWASP는 웹 보안을 주도하는 비영리 기구로 국내에서는 ‘OWASP Top 10’으로 잘 알려진 단체다. 특히, 웹 애플리케이션과 관련된 보안 취약점 대응을 비롯해 다양한 소프트웨어 보안 강화를 위한 컨퍼런스 개최, 연구 보고서 발간 등의 활동을 수행하고 있다.
▲ ‘OWASP TOP 10’ 2010년 버전과 2013년 버전에서 변경된 부분
이번에 발표된 ‘OWASP TOP 10 2013’을 지난 2010년과 비교해 보면 변경된 부분은 ‘A7, A8’, 그리고 2010년 버전에 존재했던 ‘A6: Security Misconfiguration’이 삭제되고, ‘A9: Insufficient Transport Layer Protection’이 2013년 버전의 A6인 ‘Sensitive Data Exposure’로 통합됐다.
또한, 2013년에 새로 생성된 ‘A9 Using Known Vulnerable Components’이 있다는 점이다.
공격자들은 운영중인 기업 및 조직을 침해하기 위해 애플리케이션의 다양한 경로를 사용할 수 있다. 이러한 공격경로의 확인은 아주 쉽게 혹은 때때로 찾기 어려울 정도로 복잡할 수도 있으며, 이러한 공격경로들은 다양한 침해사고를 유발시키고 있다.
그렇다면 이러한 침해사고의 위험성에 대한 평가는 위 그림에서 언급된 공격자(Threat Agents), 공격유형(Vectors), 취약요소(Security Weakness)와 이러한 요소들이 기업에 미치는 영향을 함께 조사해야만 가능하다.
OWASP Top 10은 발생할 수 있는 위험요소를 확인하는데 집중하고 있으며, 아래의 그림은 위험 요소별 비즈니스에 미치는 영향을 나타내는 OWASP의 위험등급방법론을 의미하고 있다.
물음표로 채워져 있는 부분(Threat Agent, Business Impact)은 사이트를 관리하는 담당자의 몫으로, 관리자가 관련성을 고려해 평가를 수행해야 하며 관련 내용은 홈페이지(www.owasp.org/index.php/OWASP_Risk_Rating_Methodology)에서 좀 더 자세하게 확인해볼 수 있다.
OWASP Top 10 Application Security Risks - 2013
△ A1- Injection
SQL삽입, 명령어 삽입, LDAP 삽입과 같은 취약점이 포함되며, 주요 원인은 신뢰할 수 없는 외부 값에 의해 발생되며 명령어 실행 또는 접근이 불가능한 데이터에 대한 접근 등의 취약점을 발생시킨다.
△ A2 - Broken Authentication and Session Management
인증 및 세션관리와 관련된 애플리케이션의 비정상적인 동작으로 인해 패스워드, 키, 세션토큰 및 사용자 도용과 같은 취약점을 발생시킨다.
△ A3 - XSS
신뢰할 수 없는 외부 값을 적절한 검증 없이 웹 브라우저로 전송하는 경우 발생되는 취약점으로, 사용자 세션을 가로채거나, 홈페이지 변조, 악의적인 사이트 이동 등의 공격을 수행할 수 있다.
△ A4 - Insecure Direct Object References
파일, 디렉토리, 데이터베이스 키와 같은 내부적으로 처리되는 오브젝트가 노출되는 경우, 다운로드 취약점 등을 이용해 시스템 파일에 접근하는 취약점 등을 의미한다.
△ A5 - Security Misconfiguration
애플리케이션, 프레임워크, 애플리케이션서버, 데이터베이스서버, 플랫폼 등에 보안설정을 적절하게 설정하고 최적화된 값으로 유지하며, 또한 소프트웨어는 최신의 업데이트 상태로 유지해야 한다.
△ A6 - Sensitive Data Exposure
대다수의 웹 애플리케이션은 카드번호 등과 같은 개인정보를 적절하게 보호하고 있지 않기 때문에 개인정보 유출과 같은 취약점이 발생되고 있다. 이를 보완하기 위해서는 데이터 저장 시 암호화 및 데이터 전송 시에도 SSL 등을 이용해야 한다.
△ A7 - Missing Function Level Access Control
가상적으로는 UI에서 보여지는 특정기능을 수행 전, 기능 접근제한 권한을 검증해야 하나, 애플리케이션은 각 기능에 대한 접근 시 동일한 접근통제 검사 수행이 요구된다. 만일 적절하게 수행되지 않는 경우 공격자는 비인가된 기능에 접근하기 위해, 정상적인 요청을 변조할 수도 있다.
△ A8 - CSRF
로그온된 피해자의 웹 브라우저를 통해, 세션 쿠키 및 기타 다른 인증정보가 포함되어 변조된 HTTP 요청을 전송시켜, 정상적인 요청처럼 보이게 하는 기법으로 물품구매, 사이트 글 변조 등의 악의적인 행동을 하는 취약점을 의미한다.
△ A9 - Using Components with Known Vulnerabilities
슈퍼유저 권한으로 운영되는 취약한 라이브러리, 프레임워크 및 기타 다른 소프트웨어 모듈로 인해 데이터유실 및 서버 권한획득과 같은 취약성이 존재한다.
△ A10 - Unvalidated Redirects and Forwards
웹 애플리케이션에 접속한 사용자를 다른 페이지로 분기 시키는 경우, 이동되는 목적지에 대한 검증부재 시, 피싱, 악성코드 사이트 등의 접속 및 인가되지 않는 페이지 접근 등의 문제점을 일으킬 수 있다.
한편, 트리니티소프트에서 ‘OWASP TOP 10 2013’ 리뷰와 함께 국내 시큐어코딩 점검항목 43개와 비교한 보고서는 본지 컨텐츠 코너(http://www.boannews.com/security_contents/info/view.asp?idx=599&code=04038)에서 다운로드 받을 수 있다.
[김태형 기자(boan@boannews.com)]
<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>