Evaluasi perlindungan eksploitasi

Artikel ini menjelaskan cara menggunakan mode audit untuk mengevaluasi mitigasi perlindungan eksploitasi, meninjau pedoman kompatibilitas, mengonfigurasi pengaturan sistem dan program untuk pengujian, dan menginterpretasikan peristiwa audit sebelum Anda mengaktifkan mitigasi dalam produksi.

Perlindungan eksploitasi membantu melindungi perangkat dari malware yang menggunakan eksploitasi untuk menyebarkan dan menginfeksi perangkat lain. Mitigasi dapat diterapkan ke sistem operasi atau ke aplikasi individual. Banyak fitur yang merupakan bagian dari Enhanced Mitigation Experience Toolkit (EMET) termasuk dalam perlindungan eksploitasi. (EMET telah mencapai akhir dukungannya.)

Dalam audit, Anda dapat melihat cara kerja mitigasi untuk aplikasi tertentu di lingkungan pengujian. Mode audit menunjukkan apa yang akan terjadi jika Anda mengaktifkan perlindungan eksploitasi di lingkungan produksi Anda. Dengan menggunakan mode audit, Anda dapat memverifikasi bahwa perlindungan eksploitasi tidak berdampak buruk pada aplikasi lini bisnis Anda, dan melihat peristiwa mencurigakan atau berbahaya mana yang terjadi.

Panduan umum untuk mengevaluasi perlindungan eksploitasi

Mitigasi perlindungan eksploitasi bekerja pada tingkat rendah dalam sistem operasi, dan beberapa jenis perangkat lunak yang melakukan operasi tingkat rendah serupa mungkin memiliki masalah kompatibilitas saat dikonfigurasi untuk dilindungi dengan menggunakan perlindungan eksploitasi.

Jenis perangkat lunak apa yang tidak boleh dilindungi oleh perlindungan eksploitasi?

  • Perangkat lunak pencegahan atau deteksi antimalware dan intrusi
  • Debugger
  • Perangkat lunak yang menangani teknologi manajemen hak digital (DRM) (yaitu, permainan video)
  • Perangkat lunak yang menggunakan teknologi anti-debugging, obfuscation, atau hooking

Jenis aplikasi apa yang harus Anda pertimbangkan untuk mengaktifkan perlindungan eksploitasi?

Aplikasi yang menerima atau menangani data yang tidak tepercaya.

Jenis proses apa yang berada di luar cakupan untuk perlindungan eksploitasi?

Services

  • Layanan sistem
  • Layanan jaringan

Mitigasi perlindungan eksploitasi diaktifkan secara bawaan

Tabel berikut mencantumkan mitigasi perlindungan eksploitasi yang diaktifkan secara default:

Mitigation Diaktifkan secara default
Pencegahan Eksekusi Data (DEP) Aplikasi 64-bit dan 32-bit
Memvalidasi rantai pengecualian (SEHOP) Aplikasi 64-bit
Validasi integritas heap Aplikasi 64-bit dan 32-bit

Mitigasi "Pengaturan program" yang tidak digunakan lagi

Mitigasi pengaturan program berikut tidak digunakan lagi. Tabel menjelaskan mengapa masing-masing dihapus:

Mitigasi "Pengaturan program" Alasan
Pemfilteran alamat ekspor (EAF) Masalah kompatibilitas aplikasi
Pemfilteran alamat impor (IAF) Masalah kompatibilitas aplikasi
Menyimulasikan eksekusi (SimExec) Diganti dengan Arbitrary Code Guard (ACG)
Memvalidasi pemanggilan API (CallerCheck) Diganti dengan Arbitrary Code Guard (ACG)
Memvalidasi integritas tumpukan (StackPivot) Diganti dengan Arbitrary Code Guard (ACG)

Praktik terbaik aplikasi Office

Untuk aplikasi Office seperti Outlook, Word, Excel, PowerPoint, dan OneNote, gunakan aturan pengurangan permukaan serangan (ASR) alih-alih Perlindungan Eksploitasi. Aturan ASR menyediakan cara yang lebih modern untuk mencegah penyalahgunaan aplikasi ini:

Untuk Adobe Reader gunakan aturan ASR berikut:

Blokir Adobe Reader agar tidak membuat proses anak

Google Chrome tidak lagi merekomendasikan untuk mengaktifkan Perlindungan Eksploitasi (EMET) karena redundan atau digantikan dengan mitigasi serangan bawaan.

Daftar kompatibilitas aplikasi

Tabel berikut mencantumkan produk tertentu yang memiliki masalah kompatibilitas dengan mitigasi yang disertakan dalam perlindungan eksploitasi. Anda harus menonaktifkan mitigasi tertentu yang tidak kompatibel jika Anda ingin melindungi produk dengan menggunakan perlindungan eksploitasi. Ketahuilah bahwa daftar ini mempertimbangkan pengaturan default untuk versi terbaru produk. Masalah kompatibilitas dapat diperkenalkan saat Anda menerapkan add-in tertentu atau komponen lain ke perangkat lunak standar.

Note

Mitigasi EMET mungkin tidak kompatibel dengan Oracle Java saat dijalankan dengan menggunakan pengaturan yang mencadangkan sebagian besar memori untuk komputer virtual (yaitu, dengan menggunakan opsi -Xms).

Produk Perlindungan terhadap eksploitasi
.NET 2.0/3.5 EAF/IAF
7-Zip Console/GUI/File Manager EAF
Prosesor AMD 62xx EAF
Avecto (Beyond Trust) Power Broker EAF, EAF+, Stack Pivot
Driver video AMD (ATI) tertentu Sistem ASLR=AlwaysOn
Dropbox EAF
Excel Power Query, Power View, Power Map, dan PowerPivot EAF
Google Chrome (tidak lagi direkomendasikan) EAF+
Immidio Flex+ EAF
Komponen Web Microsoft Office (OWC) Sistem DEP=AlwaysOn
Microsoft PowerPoint EAF
Microsoft Teams EAF+
Oracle Javaǂ Heapspray
Audit Cetak Pitney Bowes 6 SimExecFlow
Versi Siebel CRM adalah 8.1.1.9 SEHOP
Skype EAF
Manajer Syslogd SolarWinds EAF
Windows Media Player MandatoryASLR, EAF

ǂ Mitigasi EMET mungkin tidak kompatibel dengan oracle Java ketika dijalankan dengan menggunakan pengaturan yang mencadangkan sebagian besar memori untuk komputer virtual (yaitu, dengan menggunakan opsi -Xms).

Mengaktifkan pengaturan sistem perlindungan eksploitasi untuk pengujian

Pengaturan sistem Perlindungan Eksploitasi ini diaktifkan secara default kecuali untuk Acak Tata Letak Ruang Alamat Wajib (ASLR) pada Windows 10 dan yang lebih baru, Server Windows 2019 dan yang lebih baru, dan pada edisi inti Windows Server versi 1803 dan yang lebih baru.

Pengaturan sistem Setting
Control flow guard (CFG) Gunakan default (Aktif)
Pencegahan Eksekusi Data (DEP) Gunakan default (Aktif)
Paksa pengacakan gambar (ASRL wajib) Gunakan default (Nonaktif)
Mengacak alokasi memori (BOTTOM-up ASRL) Gunakan default (Aktif)
ASRL entropi tinggi Gunakan default (Aktif)
Memvalidasi rantai pengecualian (SEHOP) Gunakan default (Aktif)

Sampel XML berikut menunjukkan konfigurasi mitigasi sistem default:

<?xml version="1.0" encoding="UTF-8"?>
<MitigationPolicy>
  <SystemConfig>
    <DEP Enable="true" EmulateAtlThunks="false" />
    <ASLR ForceRelocateImages="false" RequireInfo="false" BottomUp="true" HighEntropy="true" />
    <ControlFlowGuard Enable="true" SuppressExports="false" />
    <SEHOP Enable="true" TelemetryOnly="false" />
    <Heap TerminateOnError="true" />
  </SystemConfig>
</MitigationPolicy>

Mengaktifkan pengaturan program perlindungan eksploitasi untuk pengujian

Tip

Kami sangat menyarankan untuk meninjau pendekatan modern untuk mitigasi kerentanan, yaitu menggunakan aturan ASR.

Anda dapat mengatur mitigasi dalam mode pengujian untuk program tertentu dengan menggunakan aplikasi Keamanan Windows atau Windows PowerShell.

Aplikasi Keamanan Windows

Gunakan aplikasi Keamanan Windows untuk mengonfigurasi mitigasi perlindungan eksploitasi dalam mode pengujian untuk program tertentu:

  1. Buka aplikasi Keamanan Windows. Pilih ikon perisai di bilah tugas atau cari menu mulai untuk Keamanan Windows.

  2. Pilih ubin Kontrol aplikasi & browser (atau ikon aplikasi di bilah menu sebelah kiri), kemudian pilih Perlindungan eksploit.

  3. Buka Pengaturan program dan pilih aplikasi yang ingin Anda terapkan perlindungannya:

    1. Jika aplikasi yang ingin Anda konfigurasi sudah tercantum, pilih aplikasi tersebut lalu pilih Edit.

    2. Jika aplikasi tidak tercantum di bagian atas daftar, pilih Tambahkan program untuk dikustomisasi. Kemudian, pilih bagaimana Anda ingin menambahkan aplikasi.

      • Gunakan Tambahkan berdasarkan nama program agar mitigasi diterapkan pada semua proses yang sedang berjalan dengan nama tersebut. Tentukan file beserta ekstensinya. Anda dapat memasukkan jalur lengkap untuk membatasi mitigasi hanya ke aplikasi dengan nama tersebut di lokasi tersebut.
      • Gunakan Pilih jalur file yang tepat untuk menggunakan jendela pemilih file Windows Explorer standar untuk menemukan dan memilih file yang Anda inginkan.
  4. Setelah memilih aplikasi, Anda akan melihat daftar semua mitigasi yang dapat diterapkan. Memilih Audit hanya menerapkan mitigasi dalam mode pengujian. Anda akan diberi tahu jika Perlu memulai ulang proses, aplikasi, atau Windows.

  5. Ulangi prosedur ini untuk semua aplikasi dan mitigasi yang ingin Anda konfigurasi. Pilih Terapkan saat Anda selesai menyiapkan konfigurasi Anda.

PowerShell

Untuk mengatur mitigasi level aplikasi ke mode uji, gunakan Set-ProcessMitigation dengan cmdlet Mode audit.

Gunakan sintaks berikut Set-ProcessMitigation untuk mengaktifkan atau mengaudit mitigasi untuk aplikasi tertentu. Ganti placeholder dengan cmdlet cakupan, executable, tindakan, dan mitigasi:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

Where:

  • <Cakupan>:
    • -Name untuk menunjukkan bahwa mitigasi tersebut harus diterapkan pada aplikasi tertentu. Tentukan executable aplikasi setelah bendera ini.
  • <Tindakan>:
    • -Enable untuk mengaktifkan mitigasi
      • -Disable untuk menonaktifkan mitigasi
  • <Mitigasi>:
    • Cmdlet mitigasi sebagaimana didefinisikan di tabel berikut. Setiap mitigasi dipisahkan dengan koma.
Mitigation Cmdlet mode uji
Penjaga Kode Arbitrer (ACG) AuditDynamicCode
Memblokir gambar integritas rendah AuditImageLoad
Memblokir font yang tidak tepercaya AuditFont, FontAuditOnly
Penjaga integritas kode AuditMicrosoftSigned, AuditStoreSigned
Menonaktifkan panggilan sistem Win32k AuditSystemCall
Jangan izinkan proses anak AuditChildProcess

Misalnya, perintah berikut memungkinkan Arbitrary Code Guard (ACG) dalam mode audit untuk aplikasi bernama testing.exe, sehingga Anda dapat menguji dampak pembatasan kode dinamis sebelum memberlakukannya:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

Anda dapat menonaktifkan mode audit dengan mengganti -Enable dengan -Disable.

Tinjau kejadian audit perlindungan eksploitasi

Untuk meninjau aplikasi mana yang akan diblokir, buka Pemantau Peristiwa dan filter untuk peristiwa berikut di log Security-Mitigations.

Feature Penyedia/sumber ID Peristiwa Description
Perlindungan terhadap eksploitasi Mitigasi Keamanan (Mode Kernel/Mode Pengguna) 1 Audit ACG
Perlindungan terhadap eksploitasi Mitigasi Keamanan (Mode Kernel/Mode Pengguna) 3 Jangan izinkan pengauditan proses anak
Perlindungan terhadap eksploitasi Mitigasi Keamanan (Mode Kernel/Mode Pengguna) 5 Memblokir audit gambar integritas rendah
Perlindungan terhadap eksploitasi Mitigasi Keamanan (Mode Kernel/Mode Pengguna) 7 Memblokir audit gambar jarak jauh
Perlindungan terhadap eksploitasi Mitigasi Keamanan (Mode Kernel/Mode Pengguna) 9 Nonaktifkan audit panggilan sistem Win32k
Perlindungan terhadap eksploitasi Mitigasi Keamanan (Mode Kernel/Mode Pengguna) 11 Audit perlindungan integritas kode