기억력

웹방화벽 Wapple 정책 설명 본문

웹 취약점

웹방화벽 Wapple 정책 설명

샤이릴라 2019. 7. 16. 10:48

1.Buffer Overflow

Buffer Overflow 취약점은 일반적인 응용프로그램 보안 취약점의 하나입니다. 공격자는 악의적인 공격 코드를 전송하여 프로그램의 정상적인 동작을 방해하거나 임의의 명령을 수행할 수 있습니다.

Buffer Overflow 취약점은 웹 서버 또는 웹 애플리케이션에 존재할 수 있습니다. 많이 사용되는 제품에 존재하는Buffer Overflow 취약점은 널리 알려지게 되고 이로 인해 해당 제품의 사용자는 상당한 위험에 노출되게 됩니다. 자체 제작한 웹 애플리케이션의 경우 검증 부재 문제로 인해 Buffer Overflow가 발생할 확률이 상대적으로 높습니다.

 

2.Cookie Poisoning

쿠키는 웹 서버가 웹 브라우저에게 보내어 저장했다가 서버의 부가적인 요청이 있을 때 다시 서버로 보내 주는 문자열 정보를 의미합니다. 예를 들어, 어떤 사용자가 특정 웹사이트에 접속한 후 그 사이트 내에서 어떤 정보를 보았는지 등에 관련된 기록을 남겨 놓았다가 다음에 접속하였을 때 그것을 읽어 이전의 상태를 유지하면서 검색할 수 있게 하는 역할을 합니다.

많은 웹 애플리케이션은 중요 정보(사용자 ID, 타임스탬프 등)를 쿠키에 저장하여 사용합니다. 쿠키는 항상 그 내용이 안전하지 않기 때문에 공격자는 쿠키를 획득, 변조할 수 있고, 이를 통해 웹 애플리케이션을 속일 수 있습니다. 쿠키를 변조함으로써 특정 계정에 대한 접근 권한을 얻거나, 또한 사용자의 쿠키를 훔쳐서 ID, 암호 없이 또는 어떤 인증도 없이 사용자 계정을 얻을 수 있습니다.

 

3.Cross Site Scripting

javaScript, VBScript, Flash, ActiveX, XML/XSL, DHTML 등과 같이 클라이언트 측에서 실행되는 언어로 작성된 코드를 사용자 입력으로 주게 되면 이 코드가 그대로 클라이언트 측 브라우저에서 수행되는 특성을 이용하여 악성 스크립트 코드를 웹 페이지, 웹 게시판 또는 이메일에 포함시켜 사용자에게 전송하는 것이 Cross Site Scripting(XSS) 공격 기법입니다.

웹 사용자가 취약한 웹 서버에 접속 중일 때 공격자는 악성 스크립트를 업로드한 후 웹 사용자에게 이메일이나 웹 페이지를 전송하여 악성스크립트가 있는 링크를 클릭하도록 유도합니다. 웹 사용자가 해당 링크를 클릭하게 되면 자신의 쿠키 등의 정보가 공격자에게 전송되고, 공격자는 수집된 정보를 이용하여 피해자의 권한으로 웹 서버에 접속할 수 있습니다.

 

4.Directory Listing

웹 서버의 설정이 기본적으로 웹 브라우저에서 사용자가 입력한 URL에 웹 내용 파일이 없을 경우 디렉터리 리스트를 보여주도록 되어 있다면, 외부에서 접근 가능한 웹 서버의 디렉터리 구조 및 파일 정보를 노출 시킬 수 있습니다.

이렇게 외부에 공개되지 않아야 할 디렉터리 및 파일에 대한 디렉터리 리스트를 보여주지 못하도록 방지하는 역할을 합니다.

 

5.Error Handling

웹 애플리케이션 사용 시 메모리 부족, Null Pointer Exception, 시스템 콜 실패, 데이터베이스 접속 에러, 네트워크 타임아웃 등 다양한 에러가 발생하는데, 이러한 에러의 부적절한 처리는 악의적인 사용자들에게 해당 사이트가 가진 잠재적 취약점에 대한 힌트를 제공하는 등 다양한 보안 문제를 야기할 수 있습니다.

 

6.Extension Filtering

웹 서버의 내부 파일에 대해 접근 권한이 허술하게 설정되어 있을 경우 악의적인 사용자의 공격 대상이 될 수 있습니다. 이러한 접근을 차단하기 위해 사전에 웹 브라우저를 통해 사용자가 입력한 URL의 확장자를 검사하여 접근 가능하도록 설정된 확장자 이외의 접근은 차단하는 역할을 합니다.

 

7.File Upload

공격자가 공격에 사용되는 도구를 업로드 하는 것을 적절히 막지 못하는 문제점이 있는 경우 공격자는 PHPASP, JSP 등으로 작성된 공격 도구를 서버에 업로드 하여, 웹 서버를 장악할 수 있습니다.

 

8.Input Content Filtering

사용자가 입력하는 문자열 가운데 남에게 불쾌감을 야기할 수 있는 내용이 있을 수 있습니다. 이러한 경우 이러한 문자열을 등록하여 다른 내용으로 변경할 수 있습니다.

 

9.Invalid HTTP

HTTP의 규격에서 벗어난 요청이나 응답, 존재하지 않는 웹사이트에 대한 요청은 비정상적인 트래픽으로, 일반적으로 웜을 비롯한 각종 공격 도구들로부터 생성됩니다. 이러한 트래픽은 정상적인 웹 브라우저에서는 생성되지 않는 것이므로 이상 징후로 간주할 수 있습니다.

 

10.Include Injection

웹 서버에 URI요청시 악의적인 목적을 가진 파일의 Include를 탐지 및 차단합니다.

 

11.Invalid URI

RFC(인터넷 표준)에 정의된 형식을 벗어난 URI는 웹 서버나 웹 애플리케이션의 오동작을 야기할 수 있습니다.

 

12.IP Block

웹 환경에서는 무수히 많은 공격들이 시도되고 있으며 이러한 공격들은 대부분 자동화된 툴에 의해서 공격되는 것이 대부분 입니다. 이러한 악의적인 방법에는 특정 서버의 취약점을 찾아 접근을 시도하기도 하지만 반복적으로 접속을 시도할 수 있는 자동화된 툴을 이용하여 정상적인 접속방식으로 짧은 시간안에 다수의 접속시도를 통해 웹서버의 과부하를 유도하기도 합니다.

 

13.IP Filtering

Ip Filtering이란 웹 서버와 웹 어플리케이션 서버에 경유하는 IP에 대한 검사를 통해, 설정에 따라서 접속한 클라이언트의 국가와 IP를 차단 또는 통과시키는 룰입니다.

 

14.Parameter Tampering

웹 애플리케이션의 URL이나 인자를 프로그래머가 원하지 않던 다른 값으로 변조하여 공격하는 기법입니다. 웹 애플리케이션이 사용자의 입력값을 적절히 검증하지 않는 경우 예기치 못한 오동작을 유발하거나, 웹 애플리케이션의 보안 메커니즘을 우회할 수 있습니다.

 

15.Privacy File Filtering

개인정보가 포함된 각종 파일들이 웹 서비스에 업로드 및 다운로드되는 것을 차단합니다. 주민등록번호, 외국인등록번호, 신용카드번호, 이메일 주소, 전화 번호, 거주지 주소, 법인등록번호, 사업자등록번호, 은행계좌번호 양식, 등과 같은 중요한 개인정보들이 업로드 및 다운로드된 파일을 통해 유출되는 것을 차단하는 목적으로 사용됩니다.

 

16.Privacy Input Filtering

웹 서비스를 통하여 Request Message에 포함되어 웹 서버로 유입될 수 있는 정보를 차단합니다. 기본적으로 주민번호와 같은 개인정보가 유입되는 것을 차단하는 목적으로 사용됩니다.

 

17.Privacy Output Filtering

웹 서비스를 통하여 유출될 수 있는 정보를 차단합니다. 기본적으로 주민번호와 같은 개인정보가 유출되는 것을 차단하는 목적으로 사용됩니다.

 

18.Request Method Filtering

HTTP 요청 가운데 불필요하거나 공격에 악용될 수 있는 HTTP method를 필터링합니다.

 

19.Response Header Filtering

웹 서버의 헤더 응답들 중 사용자에게 필요 이상의 정보를 주는 필드를 필터링합니다.

 

20.SQL Injection

웹 애플리케이션에 강제로 SQL 구문을 삽입하여 데이터베이스의 데이터를 유출, 변조 가능하며, 관리자 인증을 우회할 수도 있습니다. 먼저 공격자는 웹 애플리케이션이 데이터베이스로 전달하는 인자를 찾아냅니다. 악의적인SQL 명령어를 주의 깊게 인자로 삽입하여, 공격자는 웹 애플리케이션이 악의적인 질의를 데이터베이스로 전달하도록 조작할 수 있습니다. 이 공격 기법은 수행하기 어렵지 않으며 해당 취약점을 찾아주는 다양한 툴들이 지속적으로 발전해나가고 있습니다.

 

21.Stealth Commanding

많은 웹 애플리케이션이 OS나 외부 프로그램을 사용하여 기능을 수행하고 있습니다. 웹 애플리케이션이 HTTP 요청을 받아 이 정보를 외부로 전달할 때, 공격자가 악의적인 명령어를 정보로 삽입할 수 있고, 웹 애플리케이션은 이 정보를 그대로 외부 프로그램에 전달하여 실행하게 합니다. 공격자는 이를 이용하여 트로이 목마를 심거나 악의적인 코드를 실행할 수 있습니다.

 

22.Suspicious Access

웜이나 해킹 스크립트, 보안 스캔툴과 같은 자동화된 공격 도구는 웹 브라우저와는 달리 HTTP 규약의 모든 내용을 다 제대로 처리하지 못합니다. 또한 웜의 경우에는 확산 시 단시간 내에 대량의 접속 시도가 발생합니다. Suspicious Access 규칙은 이와 같은 자동화된 공격 도구의 특성을 판단하여 정상적인 웹 브라우저가 아닌 클라이언트의 접속을 차단하거나 접근을 제한할 수 있습니다.

 

23.URI Access Control

강제 접근(Forceful Browsing), 관리자 페이지 등 중요한 페이지에 인증이 설정되어 있는 경우, 관리자 게시물 쓰기 URL 이나 관리자 게시물 지우기 URL 등 관리자 페이지의 다른 메뉴로 강제 접속하여 인증을 우회하고 관리자 권한을 획득하는 공격 기법입니다.

 

24.Unicode Directory Traversal

웹 애플리케이션의 특정 인자로 개발자가 예상치 못한 디렉터리나 파일을 지정하여, 해당 파일이나 디렉터리의 내용을 살펴볼 수 있는 공격 기법입니다. 관리자의 ID와 패스워드, DBMS 서버 접속에 사용되는 정보, 소스 파일 등 서버의 주요 정보를 노출할 수 있습니다.

 

25.Web Site Defacement

웹 환경에 대한 많은 공격들이 초기 페이지를 변조하여 자신의 주의, 주장을 알리는데 중점을 두고 있습니다. Web Site Defacement 규칙은 해당 페이지 정보 비교를 통하여 변조된 웹 페이지가 외부로 노출되는 것을 차단할 수 있습니다.

'웹 취약점' 카테고리의 다른 글

웹 진단 항목  (0) 2018.12.13
Comments