본문 바로가기
IT/해킹보안

웹의 취약점 보안

by 모르면 모른다고 해 2013. 9. 8.
반응형

국제웹보안표준기구 OWASP(The Open Application Sercurity Project)에서는 해마다 웹 관련 상위 10개의 주요 취약점을 발표하고 있다. 10가지 취약점은 매년 순위와 항목이 바뀌기는 하지만, 대동소이하다.SQL Injection, XSS, CSFR, 취약한 인증 및 세션 관리,URL 접근 제한 실패, 인증 시 비암호화 채널 사용 등 여러가지가 있다.

 

이러한 웹의 취약점 보안을 위하여 최소한의 보안은 어떠한 것이 있는지 포스팅 한다.

 

1. 특수문자 필터링

 

웹 취약점은 다양하지만 대부분 몇 가지 보완을 통해 막을 수 있다. 가장 대표적인 것이 특수문자 필터링이다. 웹 해킹의 가장 기본적인 형태 중 하나가 인수 조작인데 인수 조작은 예외적인 실행을 유발하기 위해 일반적으로 특수문자를 포함하게 되어 있다.

필터링 대상 주요 특수문자

 

 <  XSS
 >  XSS
 & , " , ? , '   XSS
 --, *  SQL 삽입 공격, XSS
 "  SQL 삽입 공격
 ;  SQL 삽입 공격
 /  XSS, 디렉터리 탐색

 

2. 서버 측 통제 작용

 

파일 업로드 취약점이나 특수문자 필터링을 수행할 때 주의할 점은 자바 스크립트와 같은 CSS 기반의 언어로 필터링을 하면 안 된다는 것이다. CSS(Client Side Script) 기반의 언어는 웹 프록시를 통해 웹 브라우저에 전달되기 때문에 웹 프록시를 통해 전달되는 과정에서 변조될 가능성이 있다.

따라서 CSS 기반의 언어로 필터링할 경우 공격자가 필터링 로직만 파악하면 쉽게 필터링이 무력화된다. 즉 필터링 로직은 ASP, JSP 등과 같은 SSS로 필터링을 수행해야 한다.

 

3. 지속적인 세션 관리

 

URL 접근 제한 실패를 막기 위해서는 기본적으로 모든 웹 페이지에 세션에 대한 인증을 수행해야 한다. 모든 웹 페이지에 대해 일관성 있는 인증 로직을 적용하려면 기업 단위에서 또는 웹 사이트 단위에서 세션 인증 로직을 표준화하고, 모든 웹 페이지를 개발할 때 해당 표준을 준수하도록 해야 한다.

 

반응형

댓글