웹어플리케이션 보안 취약점으로 인해 해킹때문에 어려움을 겪는 업체들이 줄지 않고 있습니다. 점차 방화벽 도입은 늘고 있다지만, 80포트는 보호되지 않기 때문에 여전히 어려움에 처해 있습니다.
당시만 해도 생소했던 웹방화벽이 최근 들어서는 필수 조건으로 자리잡고 있습니다. 어떤 취약점 때문에 해킹을 당하고 있나 10가지 보안 취약점 자료입니다. 지금도 크게 다르지 않습니다.
이 자료는 2005년 한국정보보호산업회에서 발표한 자료입니다.
당시 웹해킹이 발생할 때 세미나로 사용했던 것 같은데, 관련 PPT 등 자료가 있으니 참고 할 만 할 것 입니다.
OWASP (Open Web Application Security Project) 10가지 사항입니다.
- 입력값 검증 부재
웹 브라우저는 HTTP request에 URL, Query string, Form Fields, Hidden Fields, Cookies, Headers 등을 포함하여 웹 어플리케이션에 전송
웹 어플리케이션은 이 정보를 가지고 웹 페이지를 생성
공격자는 request를 수정하여 공격할 수 있음
대처 방안:
- 모든 parameter에 대해 사용 전에 검증 수행
- 허용된 값만을 받아들이는 Positive 방식을 사용하여 parameter 검증 - 취약한 접근 통제
인증되지 않은 사용자가 시스템에 접근하여 권한 없는 기능을 수행
접근 통제 설계가 취약하여 공격자가 SQL-Injection 등의 방법을 사용하여 다른 사람의 계정으로 들어갈 수 있음
대처 방안:
- 어플리케이션의 접근통제 요구사항을 반영하여 보안정책을 명시
- 접근 통제 메커니즘의 우회 가능성 검증 - 취약한 인증 및 세션 관리
강력한 인증 메커니즘도 취약한 사용자의 credential 관리로 침해 받을 수 있음 (ex. 패스워드 분실)
세션 토큰이 적절히 보호되지 않으면 공격자가 현재 활성화된 사용자의 세션을 가로채 다른 사용자를 가장하여 접속 가능
대처 방안:
- 강력한 패스워드 사용
- 전송중의 credential 보호
- 세션 아이디 보안 - Cross-Site Scripting 취약점
웹어플리케이션의 특성상 사용자의 브라우저에서 실행될 수 있는 악성코드 전달가능
대처 방안:
- 어플리케이션 차원에서 HTTP 헤더, 쿠키, 쿼리 스트링, 폼 필드, 히든 필드 등의 모든 인자들에 대해 허용된 유형의 데이터만을 받아들이도록 한다. - 버퍼 오버플로우
웹 어플리케이션의 실행 가능한 스택을 덮어쓰기 위해 사용됨
웹 어플리케이션에 주의깊게 조작한 입력 값을 보내 웹 어플리케이션이 임의의 코드를 수행하도록 함
대처 방안:
- 해당 제품의 최신 패치 적용
- 자체 제작한 어플리케이션의 경우 HTTP 요청을 통해 입력 받아들이는 코드 검토 - 삽입 (Command Injection) 취약점
취약한 웹 어플리케이션을 통해 악성 코드를 전송하여 시스템 콜을 통한 OS 호출, 쉘 명령어를 통한 외부 프로그램 사용, SQL 구문을 통한 백엔드 데이터베이스 호출 등을 수행
SQL-Injection의 예:
SELECT Count (*) FROM Users WHERE UserName=‘’ Or 1=1 -–’ AND Password=‘’
대처 방안:
- 가능한 한 외부 인터프리터 사용하지 않는다.
- 백엔드 데이터베이스 호출할 경우, 입력 값을 주의 깊게 검증 - 부적절한 에러 처리
부적절한 에러 처리로 stack trace, 데이터베이스 덤프나 에러 코드를 사용자가 볼 수 있도록 자세한 에러 메시지 반환
대처 방안:
- 해당 사이트가 예상 가능한 모든 에러를 적절히 다루도록 보장 - 암호의 안전하지 않은 사용
중요 데이터를 암호화하지 않거나, 키를 안전하지 않은 장소에 보관하는 등 암호를 적절히 사용하지 않는 경우
대처 방안:
- 취약점이 없는 암호 라이브러리 사용
- 사용자 인증정보, 패스워드 등은 안전하게 저장되도록 함 - Denial of Service
웹 어플리케이션은 공격과 정상적인 트래픽 사이의 차이를 구분하기 어려워 DoS 공격에 취약할 가능성이 높음
대처 방안:
- 완벽하게 방어하는 방법은 없음
- 모든 사용자에게 제한된 자원만을 할당 - 부적절한 환경 설정
취약점을 패치하지 않거나 적절하지 않은 파일 권한 설정, 디폴트 패스워드를 사용하는 계정을 남겨두는 등의 부적절한 환경 설정은 심각한 위험을 줄 수 있음
대처 방안:
- 보안 강화 가이드라인을 만들고 준수
참고자료 :
- 웹 어플리케이션 보안 및 웹 방화벽에 대한 조사
- 웹어플리케이션 보안 기술 동향 (www.kisia.or.kr)
'윈도우 보안' 카테고리의 다른 글
| KISA, 웹 서버 보안강화 가이드라인 발표 (0) | 2008/07/07 |
|---|---|
| 웹해킹은 방화벽+패치+백신해도 해킹한다 (14) | 2008/07/03 |
| 10가지 웹어플리케이션 보안 취약점 (0) | 2008/07/02 |
| 웹해킹 공격 사례 #2 (0) | 2008/07/01 |
| 웹서버 해킹. 방법이 바뀌었다. (1) | 2008/06/16 |
| 보안에 쓸돈 있으면 마케팅에 쓰겠다는 생각 (4) | 2008/04/23 |
TAG 웹방화벽

웹어플리케이션 보안 기술 동향.ppt


댓글을 달아 주세요