국제웹보안표준기구 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 접근 제한 실패를 막기 위해서는 기본적으로 모든 웹 페이지에 세션에 대한 인증을 수행해야 한다. 모든 웹 페이지에 대해 일관성 있는 인증 로직을 적용하려면 기업 단위에서 또는 웹 사이트 단위에서 세션 인증 로직을 표준화하고, 모든 웹 페이지를 개발할 때 해당 표준을 준수하도록 해야 한다.
'IT > 해킹보안' 카테고리의 다른 글
악성코드와 멀웨어 포렌식 (0) | 2013.09.24 |
---|---|
보안관제 3단계 분석 (2) | 2013.09.22 |
HTTP Response 결과 코드(값) (0) | 2013.09.08 |
백트랙을 활용한 모의해킹 - (1) (0) | 2013.09.02 |
주요 정보통신 기반 시설 취약점 분석 평가 기준 (0) | 2013.09.01 |
댓글