WFP 3

#3 WFP - Filter와 Condition을 이용한 통신 차단

Table of Contents Abstract WFP의 필터와 조건을 이용하면 콜아웃을 호출하는 오버헤드를 줄이면서도 강력한 방화벽 기능을 제공할 수 있다. 필터의 조건에는 어플리케이션이나 원격지/로컬 IP 주소, 포트, 프로토콜, 인바운드/아웃바운드 등 다양한 유형이 존재하며 내가 원하는 조건의 트래픽만 차단하거나 허용할 수 있다. 본 글에서는 8.8.8.8과의 모든 통신을 차단하는 예제를 만들고 설명함으로써 필터 오브젝트를 사용한 방화벽 기능을 어떻게 만드는 지 알아볼 것이다. 예제 코드는 깃헙에 공개했으며, 본문 가장 하단에 링크가 있다. Blocking a communication using Filter & Condition 본 글에서는 8.8.8.8과의 모든 통신을 차단하는 필터 오브젝트를 만..

Development/Windows 2021.12.23

#2 WFP - WFP Callout Driver 만들기

Table of Contents Abstract 본 글에서는 앞서 설명한 WFP 어플리케이션을 직접 만들어보겠다. 본 예제 코드에서는 필터의 조건(Condition)을 설정하지 않고 모든 트래픽에 대해서 콜아웃을 호출하도록 했다. WFP 기능을 이용하기 위한 최소한의 코드만을 담고 있으니 본 예제 코드가 정석이라고 생각하진 말자. 전체 코드는 깃허브에 올려놨다. WFP에 대한 개요는 이전 글을 참고하길 바란다. #1 WFP - 개요 https://geun-yeong.tistory.com/55 Create a WDF Device WFP를 사용하기 위해서는 Device Object가 필요하다. MS가 모던한 드라이버 개발을 위해 만든 WDF를 이용해 디바이스 오브젝트를 만들어보자. Create a WDF D..

Development/Windows 2021.12.05

#1 WFP - 개요

Table of Contents Abstract WFP는 Windows Filtering Platform이란 뜻이다. Windows 시스템에서 네트워크 필터링 프로그램을 만들기 위한 인터페이스와 API를 제공한다. WFP를 통해 트래픽을 허용, 차단할 수 있고, 패킷 데이터를 볼 수도 있으며, 변조도 가능하다. WFP는 기존의 네트워크 필터링 기술인 TDI/NDIS 필터를 개선하고 대체하기 위해 만들어졌다. Windows Vista, 서버 제품군의 경우 2008부터 WFP가 지원됐는데, 10년이 넘었음에도 생각보다 자료가 많지 않아 본 글을 작성하게 됐다. WFP는 Windows 시스템에서 방화벽 어플리케이션을 만드는데 사용된다. Vista 이상부터는 Windows의 기본 방화벽 프로그램도 WFP로 만들..

Development/Windows 2021.11.28