본문으로 이동

애플리케이션 방화벽

위키백과, 우리 모두의 백과사전.

애플리케이션 방화벽(Application firewall)은 애플리케이션 또는 서비스의 입출력 또는 시스템 호출을 제어하는 방화벽의 한 형태이다. 일반적으로 미리 정의된 규칙 집합으로 구성된 정책에 따라 통신을 모니터링하고 차단하여 작동한다. 애플리케이션 방화벽의 두 가지 주요 범주는 네트워크 기반과 호스트 기반이다.

역사

[편집]

퍼듀 대학교진 스패포드, AT&T 연구소의 빌 체스윅, 마르쿠스 라넘은 3세대 방화벽으로 알려진 애플리케이션 계층 방화벽을 설명했다. 폴 빅시, 브라이언 리드, 제프 모굴이 만든 방화벽을 기반으로 한 마르쿠스 라넘의 작업은 최초의 상업 제품 출시를 이끌었다. 이 제품은 DEC에서 출시되었으며, 지오프 멀리건이 DEC SEAL(Secure External Access Link)로 명명했다. DEC의 첫 번째 주요 판매는 1991년 6월 13일 듀폰에 이루어졌다.

TIS에서 더 광범위한 DARPA 계약 하에 마르쿠스 라넘, 웨이 쉬, 피터 처치야드는 방화벽 툴킷(FWTK)을 개발하고 1993년 10월에 라이선스 하에 무료로 제공했다.[1] 상업적 사용이 아닌 무료 FWTK를 출시한 목적은 다음과 같았다. 즉, 당시 11년의 공식 보안 방법 경험과 방화벽 경험을 가진 개인이 방화벽 소프트웨어를 어떻게 개발했는지 소프트웨어, 문서, 사용된 방법을 통해 시연하기 위함이었다. 또한 다른 사람들이 기반으로 삼을 수 있는 매우 좋은 방화벽 소프트웨어의 공통 기반을 만들고(그래서 사람들이 처음부터 계속해서 "직접 만들" 필요가 없도록) 사용되는 방화벽 소프트웨어의 "수준을 높이는" 것이었다. 그러나 FWTK는 사용자 상호 작용이 필요한 기본 애플리케이션 프록시였다.

1994년, 웨이 쉬는 IP 상태 필터 및 소켓 투명성 커널 개선을 통해 FWTK를 확장했다. 이는 최초의 투명 방화벽으로, 기존 애플리케이션 프록시(2세대 방화벽)를 넘어선 3세대 방화벽의 시작으로 알려졌으며, Gauntlet 방화벽이라는 상업 제품으로 출시되었다. Gauntlet 방화벽은 1995년부터 1998년(네트워크 어소시에이츠(NAI)에 인수된 해)까지 최고의 애플리케이션 방화벽 중 하나로 평가받았다. 네트워크 어소시에이츠는 Gauntlet이 "세계에서 가장 안전한 방화벽"이라고 계속 주장했지만, 2000년 5월 보안 연구원 짐 스틱클리는 이 방화벽에서 운영 체제에 대한 원격 접근을 허용하고 보안 제어를 우회하는 큰 취약점을 발견했다.[2] 스틱클리는 1년 후 두 번째 취약점을 발견했으며, 이로써 Gauntlet 방화벽의 보안 지배력은 사실상 끝났다.[3]

설명

[편집]

응용 계층 필터링은 기존 보안 장비보다 높은 수준에서 작동한다. 이를 통해 단순히 송수신 IP 주소나 포트뿐만 아니라 특정 호스트에 대한 여러 연결에 걸쳐 있는 정보를 사용하여 패킷 결정을 내릴 수 있다.

네트워크 기반 애플리케이션 방화벽

[편집]

네트워크 기반 애플리케이션 방화벽은 TCP/IP 스택의 애플리케이션 계층에서 작동하며[4] 파일 전송 프로토콜(FTP), 도메인 네임 시스템(DNS) 또는 하이퍼텍스트 전송 프로토콜(HTTP)과 같은 특정 애플리케이션 및 프로토콜을 이해할 수 있다. 이를 통해 비표준 포트를 사용하는 원치 않는 애플리케이션 또는 서비스를 식별하거나 허용된 프로토콜이 오용되고 있는지 감지할 수 있다.[5]

네트워크 기반 애플리케이션 방화벽의 최신 버전에는 다음 기술이 포함될 수 있다.

웹 애플리케이션 방화벽(WAF)은 리버스 프록시 역할을 하는 네트워크 기반 장비의 특수 버전으로, 트래픽을 관련 서버로 전달하기 전에 검사한다.

호스트 기반 애플리케이션 방화벽

[편집]

호스트 기반 애플리케이션 방화벽은 애플리케이션 시스템 호출 또는 기타 일반적인 시스템 통신을 모니터링한다. 이는 더 세분화된 제어 기능을 제공하지만, 실행 중인 호스트만 보호하는 것으로 제한된다. 제어는 프로세스별로 필터링하여 적용된다. 일반적으로 연결을 받지 않은 프로세스에 대한 규칙을 정의하기 위해 프롬프트가 사용된다. 데이터 패킷 소유자의 프로세스 ID를 검사하여 추가 필터링을 수행할 수 있다. 많은 호스트 기반 애플리케이션 방화벽은 패킷 필터와 결합되거나 함께 사용된다.[6]

기술적 한계로 인해 샌드박스와 같은 최신 솔루션이 시스템 프로세스를 보호하기 위해 호스트 기반 애플리케이션 방화벽의 대체제로 사용되고 있다.[7]

구현

[편집]

애플리케이션 방화벽은 무료 및 오픈 소스 소프트웨어뿐만 아니라 상용 제품을 포함하여 다양한 형태로 제공된다.

macOS

[편집]

macOS 레오파드부터 FreeBSD에서 가져온 TrustedBSD MAC 프레임워크 구현이 포함되었다.[8] TrustedBSD MAC 프레임워크는 서비스를 샌드박스화하고, macOS 레오파드 및 스노우 레오파드의 공유 서비스 구성에 따라 방화벽 계층을 제공하는 데 사용된다. 서드파티 애플리케이션은 앱별로 아웃바운드 연결을 필터링하는 기능을 포함하여 확장된 기능을 제공할 수 있다.

리눅스

[편집]

다음은 리눅스용 보안 소프트웨어 패키지 목록으로, 애플리케이션-OS 통신을 사용자별로 필터링할 수 있다.

윈도우

[편집]

네트워크 장비

[편집]

이러한 장치는 하드웨어, 소프트웨어 또는 가상화된 네트워크 장비로 판매될 수 있다.

차세대 방화벽:

웹 애플리케이션 방화벽/로드밸런서:

기타:

같이 보기

[편집]

각주

[편집]
  1. “Firewall toolkit V1.0 release”. 2018년 12월 28일에 확인함. 
  2. Kevin Pulsen (2000년 5월 22일). “Security Hole found in NAI Firewall”. securityfocus.com. 2018년 8월 14일에 확인함. 
  3. Kevin Pulsen (2001년 9월 5일). “Gaping hole in NAI's Gauntlet firewall”. theregister.co.uk. 2018년 8월 14일에 확인함. 
  4. Luis F. Medina (2003). 《The Weakest Security Link Series》 1판. IUniverse. 54쪽. ISBN 978-0-595-26494-0. 
  5. “What is Layer 7? How Layer 7 of the Internet Works”. 《Cloudflare》. 2020년 8월 29일에 확인함. 
  6. “Software Firewalls: Made of Straw? Part 1 of 2”. 《Symantec.com》. Symantec Connect Community. 2010년 6월 29일. 2013년 9월 5일에 확인함. 
  7. “What is sandbox (software testing and security)? - Definition from WhatIs.com” (영어). 《SearchSecurity》. 2020년 11월 15일에 확인함. 
  8. “Mandatory Access Control (MAC) Framework”. TrustedBSD. 2013년 9월 5일에 확인함. 
  9. “Safing Portmaster”. 《safing.io》. 2021년 11월 4일에 확인함. 

외부 링크

[편집]