F/W은 네트워크 Packet중 Network Protocols의 TCP/IP Layer에서 IP와 Port 정보를 가지고 방어하는 개념을 가지고 있다.
1. 방화벽
· 외부 네트워크(인터넷)로부터 내부 시스템을 보호
- 문제 있는 트래픽이 들어오는 것을 제한(필터링)하는 일종의 라우터
· 방화벽의 설치위치: 외부망과 내부망(사내망)의 연결통로에 설치
· 구현방식: 대부분이 라우터로써, 통합 구현
2. 방화벽 수행 역할별 구분
· 침입 차단(Firewall) 역할
- IP주소 및 포트에 의거한 침입 차단 기능 수행
· 침입방지(IPS) 역할
- 다양한 위협에 대처하기 위해, 수 많은 다기능 침입방지 기능들이 추가적으로 수행됨
· 가상사설망(VPN) 역할
- 정보의 비밀성 및 무결성에 촛점을 두고 수행
3. 방화벽의 주요기능
· 접근제어 (Access Control)
- 프록시(Proxy)를 통한 다양한 접근통제
· 다수를 대신하여 일을 할 수 있는 제한된 서버 등 만을 허용
· 네트워크 외부로부터 내부 위치를 감추는 등의 효과를 줌
- 규칙 집합(차단, 허용 정책)에 의해 접근제어가 정의되어짐
· 허용: 차단, 허용 동시에 있을 때, 우선순위가 차단보다 높음
· 차단: 차단은 허용보다 우선적으로 적용됨
· 로깅 및 감사추적(Logging and Auditing)
- 사전 보안공격 시도 발견
- 보안 사고에 대한 책임 추적성 확보 등
4. 방화벽 구현 종류
· 구성형태에 따른 구분
- Packet Filtering 방식
· 라우터 등을 이용하여 패킷을 선별적으로 차단, 통과
· 특정 판단 기준에 의해 특정 패킷을 폐기
- Application Gateway 방식
· 라우터 기능(ID Forwarding)을 수행하지 않음
· 프록시 서버, 베스천 호스트에 의한 방화벽 등
· 성능 문제로 인해 현재 널리 사용되지 않음
·· 트랜스포트 계층 상의 서비스 마다 프록시 서버가 존재해야 하는 등 유연성 부족
- Circuit Gateway 방식
- Hybrid 방식
· 구축 유형에 따른 구분
- 네트워크 레벨(Network Level)의 방화벽 시스템
- 응용 레벨(Application Level)의 방화벽 시스템
2. 웹 방화벽의 개념과 원리
웹 방화벽(Web Application Firewall)을 알기 위해서는 먼저 Web Application에 대해 알아야 한다. Web Application은 우리 생활에서 늘 접하는 것이라고 할 수 있다. 인터넷을 통해서 우리들이 사용하는 홈페이지나 대부분의 서비스들이 Web Application 이라고 생각하면 된다.
사용자들이 사용하는 웹 사이트의 구조는 보통 아래와 같다.
그림 1 Web Application 전형적인 아키텍처
웹 공격의 대부분은 Web Application을 구축할 때 생겨나는 취약점을 이용해서 Web Server를 공격하거나 DB 내용을 악용하는 방법이 대부분이다. 공격자는 HTTP Request에 특정 공격코드 또는 특정 Web Application만이 가지고 있는 취약점을 우회는 코드를 삽입하여 Web Server에 전송하게 된다. 결국 Web Application은 의도하지 않은 동작을 하게 되고, 그 결과를 HTTP Reply 통해 공격자게 다양한 정보들을 전송하게 되는 것이다.
웹 방화벽에서 Web Server쪽으로 전송되는 모든 HTTP Request Packet을 검사하여 Web Application에게 의도하지 않은 내용들은 전송되지 못하도록 하는 역할을 한다. 또한 Web Server에서 통과하는 HTTP Reply Packet 내용을 감시하여 특정 정보의 유출을 막는 역할도 하게 된다.
웹 방화벽에서 Web Server쪽으로 HTTP Request/Reply Packet을 검사한다고 했는데, 이것은 어떤 방법으로 가능한지 살펴 보겠다. 중간에서 Packet을 검사하는 원리는 Proxy Server의 원리에서 가지고 온 것이다. Proxy Server는 Client와 Server간의 통신을 중계하고 Relay 하는 역할을 한다.
웹 방화벽의 원리란 웹 서버로 들어오고 나가는 모든 Packet을 Proxy 원리를 적용하여 Packet의 내용을 검사하고 차단 하는 것이다.
그림 2 Proxy Server Relay
웹 방화벽(Web Application Firewall)이 대두되기 전에는 F/W(Fire Wall), IDS(Intrusion Detection System), IPS(Intrusion Prevention system) 가 네트워크 보안을 책임 지고 있었다. 그러나 네트워크 보안제품의 한계로 인한 각종 침해사고가 발생하면서 웹 해킹을 전담으로 차단하는 웹 방화벽에 대해 이슈화 되기 시작하였다.
웹 방화벽은 기존의 네트워크 보안 제품(F/W, IDS, IPS)들과 어떠한 차이점이 있는지 알아보자.
그림 3 Simple Network/Application Layer
F/W은 네트워크 Packet중 Network Protocols 의 TCP/IP Layer에서 IP와 Port 정보를 가지고 방어를 하는 개념을 가지고 있다. IDS, IPS는 Network Protocol에서 Application Protocols의 Packet 내용을 문자열 비교에 의해 침입시도를 감시하고 차단하는 역할을 한다. 웹 방화벽은 Application Protocols 중에 HTTP의 내용만을 문자열 비교에 의해 침입시도를 감시하고 차단하는 역할을 한다.
얼핏 보면 IDS, IPS, 웹 방화벽은 그다지 큰 차이점을 찾아 보기 힘들다. 다른 점이라면 문자열을 비교할 때, 비교하는 DATA의 종류가 다르다는 것이 가장 큰 차이점이다.
IDS, IPS에서 검사하는 문자열은 Application Protocols 에 쌓여 있는(encapsulation) 상태의 DATA이고, 웹 방화벽에서는 Application 에서 직접 사용하게 되는 풀려진(Demultiplexing) 상태의 DATA 문자열 비교를 하게 되는 것이다.
이러한 차이는 Application Protocols에서 암호화된 DATA를 IDS, IPS에서는 기존의 문자열 비교를 통해서는 침입패턴들을 검출해 낼 수 없다. 하지만 웹 방화벽에서는 이미 하위 Layer에서 복호화를 마친 DATA로 문자열 비교를 하기 때문에 침입패턴을 검출해 낼 수 있게 되는 것이다.
또한 웹 방화벽은 HTTP 프로토콜만을 감시하기 때문에 단순한 문자열 비교만을 이용한 침입패턴 탐지가 아닌 HTTP의 프로토콜 속성값들을 통해서 효율적인 방어를 할 수 있다.
웹 방화벽은 HTTP의 Request/Response 메시지 내용을 분석, Positive 정책과 Negative 정책을 혼용하여 탐지 기능을 수행하게 된다. 먼저 Request 메시지를 이용한 탐지 기능을 알아보자.
가장 큰 특징이라고 할 수 있는 것은 URL 단위의 탐지 기능이다. 해당 사이트는 서비스를 제공할 URL을 Positive 정책으로 설정하면, 등록된 URL외의 다른 URL을 사용자가 요청할 경우 탐지하여 요청거부 메시지를 보내는 것이다. 이러한 경우에는 악의적인 사용자가 정상적인 URL외의 다른 URL로 접근하는 것을 원천적으로 봉쇄할 수 있다. Negative 정책에서는 정상적인 URL에서 악의적인 공격 패턴(XSS, SQL Injection, OS Command Injection 등)을 검출해 내는 문자열 비교정책을 추가할 수 있다.
Request Method(GET, POST, OPTION) 까지도 Positive 정책에 설정할 수 있다. 특정 URL에서만 사용하는 Cookie/Hidden 필드나 Parameter 값들을 설정하여 보다 정교한 탐지 기능을 제공하게 된다.
파일 업로드 제어기능과 파일 검사기능을 지원한다.
사용자들이 웹 서버로 업로드하는 파일에 대해 파일의 종류에 따라 업로드를 허용 또는 차단 여부를 지정할 수 있다. 업로드 파일의 내용을 검사하여 악의적인 공격 형태의 파일들은 파일 필터를 통해 업로드가 차단된다. 이러한 기능은 웹 사이트를 악용하려는 사용자로부터 안전하게 보호하는 역할을 한다.
앞의 탐지 기능이 Request 메시지를 이용한 것이라면, 이번에는 Response 메시지를 이용한 탐지 기능을 알아 보겠다.
가장 대표적인 기능은 바로 웹 서버의 에러 또는 오류 정보를 차단하여, 악의적인 사용자가 웹 서버에 대한 정보를 알 수 없게 하는 것이다. 그러나 요즘은 주요정보를 차단하는데 더 많이 이용되고 있다. 사용자의 주민번호, 핸드폰번호, 집 주소, E-mail 주소, 카드번호 등의 개인 정보들이 다른 사용자들에게 노출 되는 것을 방지하는 것이다.
부가적으로 웹 가속기능이나, SSL 가속기능, Cache 기능들을 지원한다.
웹 방화벽 탐지기술의 장점은 HTTP 프로토콜 속성값의 작은 단위까지도 디테일한 정책설정이 가능하다는 점이다. 웹 서비스 개발 시점에 미처 신경쓰지 못했던 보안상의 문제점들을 보완할 수 있어 웹 서비스를 보다 안전하게 사용자들에게 제공할 수 있다는 점이다..
'학업' 카테고리의 다른 글
클라우드의 역사 (0) | 2016.05.26 |
---|---|
SAP데이터 암호화 (0) | 2016.05.25 |
[데이터통신과 네트워킹] Chapter 10. IP 패킷 전송과 성능분석 기법 (1) | 2016.05.03 |
[데이터통신과 네트워킹] Chapter 07. 멀티미디어와 ATM 전송기술 (0) | 2016.04.19 |
[데이터통신과 네트워킹] Chapter 06. 이더넷과 LAN 프로토콜 (1) | 2016.04.19 |