Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

정보 보안에서 패킷 필터링이란 무엇일까? 개념부터 동작 원리까지

패킷 필터링이란?

패킷 필터링(Packet Filtering)은 네트워크에 들어오고 나가는 패킷을 검사하여, 출발지와 목적지의 IP 주소를 기준으로 패킷의 이동을 허용하거나 차단하는 네트워크 접근 제어 기술입니다. 패킷 필터링은 보안 방화벽을 구현하는 대표적인 기법 중 하나로 꼽힙니다.

패킷 필터링은 네트워크 보안의 근간을 이루는 '도구'이자 동시에 '방법'이기도 합니다. 어떤 기능을 수행하도록 돕는 장비라는 점에서 도구이며, 특정 작업을 수행하기 위한 접근 방식이라는 점에서 하나의 기술이라 할 수 있습니다.

TCP/IP 네트워크에서의 패킷 필터링 동작 방식

TCP/IP 네트워크 환경에서 패킷 필터는 모든 IP 데이터그램을 감시하고, 내부로 들어오는 트래픽(inbound)과 외부로 나가는 트래픽(outbound)의 헤더 정보를 해석합니다. 그런 다음 출발지 주소, 목적지 주소, 출발지 포트, 목적지 포트, 연결 상태 등의 내용을 바탕으로 해당 데이터그램을 통과시킬지 아니면 차단할지를 결정합니다.

이러한 판단은 패킷 필터링 도구에 사전에 설정된 규칙에 따라 이루어집니다. 시스코(Cisco), 베이(Bay), 루센트(Lucent) 같은 주요 IP 라우터는 IP 데이터그램을 필터링하도록 설정할 수 있으며, 일부 운영체제 역시 패킷 필터링 기능을 지원합니다.

패킷과 패킷 교환 네트워크

네트워킹에서 패킷(packet)이란 패킷 교환(packet-switched) 네트워크를 통해 전송되는 형식화된 정보 단위를 의미합니다. 이러한 네트워크는 메시지를 작은 단위, 즉 패킷으로 분해하여 각각 독립적으로 전송하기 때문에 내결함성(fault tolerance)을 갖추고 있습니다.

패킷들이 방화벽을 통과해 목적지에 도착하면, 원래 순서대로 재조합되어 데이터가 올바르게 표시됩니다. 패킷 교환이 제대로 작동하면 네트워크 채널 용량을 최적화하고 전송 지연을 최소화하여 통신 효율을 크게 높일 수 있습니다.

방화벽이 검사하는 5가지 패킷 속성

패킷 필터링 방화벽은 다음 다섯 가지 패킷 속성을 검사합니다.

  • 출발지 IP 주소(Source IP Address)
  • 출발지 포트(Source Port)
  • 목적지 IP 주소(Destination IP Address)
  • 목적지 포트(Destination Port)
  • IP 프로토콜(TCP 또는 UDP)

거부(Reject)와 폐기(Drop)의 차이

방화벽에 설정된 규칙에 따라 패킷은 통과되거나, 거부(reject)되거나, 폐기(drop)됩니다. 방화벽이 패킷을 거부하면 발신자에게 메시지를 되돌려 보내어 패킷이 버려졌음을 알릴 수 있습니다. 반면 패킷을 폐기하면 방화벽은 아무런 응답도 하지 않습니다.

이 경우 발신자는 통신이 시간 초과(time out)될 때까지 기다려야 합니다. 패킷을 거부하는 대신 폐기하면 네트워크 스캔에 소요되는 시간이 크게 늘어나므로, 공격자 입장에서는 비효율적이지만 방어 측면에서는 유리한 방식입니다. 참고로 라우터(router)는 가장 일반적인 형태의 패킷 필터링 방화벽입니다.

상태 기반 검사(Stateful Inspection) 방화벽

패킷 필터링 방화벽의 향상된 아키텍처 중 하나는 상태 기반 검사 엔진(stateful inspection engine)을 갖춘 방화벽입니다. 이 기능이 추가되면 방화벽은 시스템과 네트워크 간의 대화(세션)를 기억할 수 있습니다. 덕분에 각 대화의 첫 번째 패킷만 면밀히 검사하면 되므로, 성능 저하 없이 더욱 정교한 보안 검사가 가능합니다.