Memahami Jaringan Windows_WFP

  • Memahami Jaringan Windows_WFP

Memahami Jaringan Windows

  • Memahami Jaringan Windows

WFP

Penjelasan Istilah

https://learn.microsoft.com/en-us/windows/win32/fwp/object-model https://learn.microsoft.com/en-us/windows/win32/fwp/basic-operation https://learn.microsoft.com/en-us/windows-hardware/drivers/network

callout: Sebuah callout menyediakan fungsionalitas yang memperluas kemampuan Windows Filtering Platform. Sebuah callout terdiri dari sekumpulan fungsi callout dan kunci GUID yang mengidentifikasi callout secara unik. callout driver: Sebuah callout driver adalah driver yang mendaftarkan callout dengan Windows Filtering Platform. Sebuah callout driver adalah jenis filter driver. callout function: Sebuah callout function adalah fungsi yang dipanggil oleh Windows Filtering Platform untuk melakukan tugas tertentu. Sebuah callout function dikaitkan dengan sebuah callout. filter: Sebuah filter adalah sekumpulan fungsi yang dipanggil oleh Windows Filtering Platform untuk melakukan operasi filtering. Sebuah filter terdiri dari sekumpulan fungsi filter dan kunci GUID yang mengidentifikasi filter secara unik. filter engine: Filter engine adalah komponen Windows Filtering Platform yang melakukan operasi filtering. Filter engine bertanggung jawab memanggil fungsi filter yang terdaftar dengan Windows Filtering Platform. filter layer: Sebuah filter layer adalah sekumpulan fungsi yang dipanggil oleh Windows Filtering Platform untuk melakukan operasi filtering. Sebuah filter layer terdiri dari sekumpulan fungsi filter layer dan kunci GUID yang mengidentifikasi filter layer secara unik.

Antrian Dispatcher memicu callback secara segera, tidak perlu menunggu antrian penuh, sehingga dapat memenuhi kebutuhan real-time. Ketika callback pengguna lambat, paket yang diblokir akan dimasukkan ke antrian berikutnya sebisa mungkin, batas antrian 256. Paket diblokir lebih banyak kemudian disimpan dalam cache sistem, pengujian kasar menunjukkan kemampuan cache 16500, kemampuan cache sistem mungkin bervariasi tergantung performa dan konfigurasi mesin. Saat callback pengguna memproses paket, ada dua entitas paket: Paket kernel, dilepaskan sekaligus setelah callback selesai memproses antrian. Oleh karena itu, ketika callback lambat, satu eksekusi callback akan mengunci kemampuan cache sistem untuk paling banyak 256 paket. Salinan di dalam callback, dilepaskan segera setelah memproses satu paket.

Di FwppNetEvent1Callback, paket disalin dan dirakit, tidak mengoperasikan paket asli, sehingga tidak memengaruhi bisnis.

Langganan dapat menggunakan filter template, untuk mengurangi paket yang perlu diproses:

https://learn.microsoft.com/en-us/windows/win32/api/fwpmtypes/ns-fwpmtypes-fwpm_net_event_enum_template0

filterCondition

Array struktur FWPM_FILTER_CONDITION0 yang berisi kondisi filter yang berbeda (kondisi filter duplikat akan menghasilkan error). Semua kondisi harus benar agar tindakan dilakukan. Dengan kata lain, kondisi dikombinasikan dengan AND. Jika tidak ada kondisi yang ditentukan, tindakan selalu dilakukan.

Tidak boleh menggunakan filter yang sama Hubungan antar semua filter adalah “AND”, semuanya harus terpenuhi Dokumen Microsoft menunjukkan mendukung 8 jenis filter, sebenarnya filter yang didukung lebih banyak.

FWPM_CONDITION_IP_PROTOCOL

Nomor protokol IP, sebagaimana ditentukan dalam RFC 1700. FWPM_CONDITION_IP_LOCAL_ADDRESS

Alamat IP lokal. FWPM_CONDITION_IP_REMOTE_ADDRESS

Alamat IP remote. FWPM_CONDITION_IP_LOCAL_PORT

Nomor port protokol transport lokal. Untuk ICMP, tipe pesan. FWPM_CONDITION_IP_REMOTE_PORT

Nomor port protokol transport remote. Untuk ICMP, kode pesan. FWPM_CONDITION_SCOPE_ID

Pengidentifikasi scope IPv6 antarmuka. Dicadangkan untuk penggunaan internal. FWPM_CONDITION_ALE_APP_ID

Jalur lengkap aplikasi. FWPM_CONDITION_ALE_USER_ID

Identifikasi pengguna lokal. Enumerasi langganan terdaftar di sistem menemukan sudah ada dua langganan, melihat sessionKey GUID-nya tidak dapat memastikan siapa yang mendaftarkan, setelah analisis ditemukan kedua langganan masing-masing mengimplementasikan fungsi berikut:

Berlangganan semua paket data FWPM_NET_EVENT_TYPE_CLASSIFY_DROP, statistik semua paket yang dibuang. Berlangganan semua paket data FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW, dapat digunakan untuk statistik lalu lintas. Kedua langganan ini menggunakan condition filter FWPM_CONDITION_NET_EVENT_TYPE(206e9996-490e-40cf-b831-b38641eb6fcb), menunjukkan filter yang dapat mengimplementasikan filtering tidak hanya 8 yang disebutkan dalam dokumen Microsoft.

Penelitian lebih lanjut menemukan antarmuka user-mode hanya dapat menangkap event drop, event non-drop memerlukan mode kernel untuk mendapatkan, oleh karena itu micro-segmentation tidak dapat menggunakan FWPM_CONDITION_NET_EVENT_TYPE untuk mendapatkan event.