Mengapa menerapkan EDR jika Anda memiliki SIEM, Sysmon, dan antivirus?

Tanpa pemantauan titik akhir, hari ini tidak mungkin untuk sepenuhnya memastikan keamanan dan mendeteksi fakta infrastruktur yang disusupi secara tepat waktu. Perangkat "gentleman" - pemantauan jaringan, antivirus, dan audit titik akhir standar - tidak lagi memungkinkan Anda untuk melawan tidak hanya kelompok yang serius, tetapi bahkan penyerang dengan tingkat pelatihan yang rendah. Mengapa? Mari kita lihat contoh spesifiknya.





Cuplikan dari kartun "Suatu ketika ada seekor anjing"



Jadi, alat pemantauan standar menjadi tidak memadai. Beberapa faktor berkontribusi untuk ini:



  • indikator gangguan (hash, alamat IP, dan nama domain) sering kali digunakan satu kali, karena mudah untuk mengubahnya bagi penyerang, terutama dalam kasus APT;
  • penyerang menggunakan file eksekusi yang sah, alat OS standar, dll .;
  • , ;
  • , , ;
  • .


Bahkan jika serangan berhasil dideteksi, Anda tidak akan memiliki cukup informasi untuk menjawab pertanyaan dengan tegas: insiden saat ini telah habis atau beberapa tindakan lain diperlukan. Bagaimanapun, banyak kejadian yang tidak terlacak: bekerja dengan registri, membuat file, memuat modul ke dalam memori, baris perintah dari proses yang dibuat, dan sebagainya.



Pemantauan titik akhir secara signifikan memperluas kemampuan untuk mendeteksi dan mencegah serangan: ini memungkinkan Anda untuk beralih dari mendeteksi hash, IP, dan domain hingga mendeteksi artefak host, alat, dan TTP (ya, "piramida nyeri").



Beberapa contoh teknik yang sering ditemui dalam praktik dan tidak terdeteksi tanpa pemantauan host:



  • Pembajakan DLL
  • Hidup di luar negeri
  • Menggunakan Mimikatz


Pemantauan titik akhir tambahan dapat dilakukan dengan menggunakan alat OS bawaan (audit lanjutan), utilitas gratis (seperti Sysmon), dan solusi komersial (produk kelas EDR). Mari kita pertimbangkan keuntungan dan kerugian dari pendekatan ini dengan contoh pendeteksian berbagai variasi dari teknik di atas.



Audit lanjutan. Pencatatan Peristiwa Windows



Semua orang tahu tentang audit bawaan. Seperti yang diperlihatkan oleh praktik, dengan memasukkan hanya satu kumpulan peristiwa pembuatan proses bersama dengan baris perintah, Anda akan sangat memudahkan proses pemantauan dan penyelidikan insiden (hukum Pareto sedang beraksi).



Dengan konfigurasi yang tepat, kami menutup beberapa celah dari pendekatan standar dan melihat:



  • fakta memulai proses bersama dengan baris perintah;
  • jalankan skrip PowerShell dalam bentuk yang didekodekan (Pencatatan blok skrip);
  • sebagian - bekerja dengan file dan registri;
  • aktivitas yang terkait dengan akun (membuat / menghapus pengguna, dan sebagainya).


Kami memiliki kesempatan untuk mendeteksi teknik baru:



  • beberapa opsi pembajakan DLL untuk membuat file dengan jalur tertentu;
  • menggunakan LOLBin dan Mimikatz dengan pola di baris perintah.


Namun, penyerang masih memiliki kemampuan untuk menghindari deteksi. Dalam kasus LOLBin, ini dapat menyalin file ke folder lain dengan nama yang berbeda dan mengaburkan baris perintah. Dan Mimikatz dapat dikompilasi ulang dengan perintah dan baris yang diubah, yang tidak akan memungkinkan deteksi penggunaannya pada baris perintah. Selain itu, opsi tidak akan terlihat ketika file biner yang sah yang tunduk pada pembajakan DLL ditempatkan di mesin.







Kode Mimikatz dengan baris yang dimodifikasi



Anda dapat mengonfigurasi audit Windows pada sistem apa pun tanpa menginstal perangkat lunak pihak ketiga sebelumnya, tetapi ada juga kekurangan yang signifikan:



1. Konfigurasi tidak nyaman dan tidak dapat diskalakan dengan baik.



Contoh: untuk memantau cabang registri tertentu, Anda perlu mengkonfigurasi ACL secara terpisah. Fakta bahwa Anda perlu mengambil tindakan, dalam praktiknya, diterjemahkan menjadi masalah dan penundaan waktu, terutama dalam kasus infrastruktur besar. Jika ini dilakukan untuk memperluas pemantauan (misalnya, untuk mendeteksi beberapa cara Bypass UAC), maka waktu tidaklah penting. Tetapi jika kebutuhan seperti itu muncul selama suatu insiden, itu mempersulit proses respons.



2. Kurangnya kendali.



Jika peristiwa berhenti mendaftar atau memasuki sistem pemantauan yang digunakan, kemungkinan besar tidak akan mungkin untuk memahami hal ini pada waktunya, karena tidak ada sentralisasi.



3. Kemudahan oposisi.



Bahkan penyerang berketerampilan rendah pun tahu cara bersembunyi dari audit standar. Satu-satunya pertanyaan adalah seberapa efektif dan tidak terlihat mereka akan melakukannya.



Contoh teknik:



  • Pembersihan log secara teratur. Kemungkinan pemulihan acara yang berhasil bergantung pada berapa lama waktu telah berlalu sejak pembersihan.
  • Menangguhkan utas layanan audit dan kemudian melakukan tindakan berbahaya atau menghapus peristiwa (misalnya, menggunakan alat github.com/QAX-A-Team/EventCleaner ).
  • Menyembunyikan peristiwa dengan merusak struktur file .evtx terkait .
  • Mengalihkan acara untuk sementara ke file terpisah. Kami menulis tentang teknik ini di artikel sebelumnya .


4. Dengan sendirinya, menyiapkan audit tidak akan memberikan kesempatan untuk mengatur pemantauan. Pertama, Anda harus membuat kumpulan peristiwa yang terpusat, dan kemudian menggunakan alat tambahan, misalnya SIEM, untuk menganalisisnya.



5. Isi informasi acara yang rendah. Tidak ada kemungkinan untuk mendapatkan hash dari proses yang diluncurkan, memantau pemuatan perpustakaan ke dalam memori proses, dan sebagainya.



Persamaan antara Sysmon dan EDR



Sysmon bukanlah solusi EDR lengkap, karena tidak memberikan kemampuan untuk melakukan tindakan proaktif pada sistem. Tetapi mekanisme untuk mengumpulkan peristiwa sama persis dengan EDR komersial: ia bekerja pada dua teknologi - callback kernel dan ETW. Kami tidak akan menjelaskannya secara rinci - kami hanya akan mempertimbangkan bagaimana peristiwa muncul dan siapa pemrakarsa penciptaannya.







β€’ Callback kernel. Misalnya, PcreateProcessNotifyRoutine, PcreateThreadNotifyRoutine.

Di mana dan bagaimana callback ini dan lainnya dipanggil dapat dilihat di fungsi kernel yang sesuai. Contoh panggilan callback saat membuat proses ditampilkan di bawah ini:







Loop callback di CreateProcessW β†’ NtCreateUserProcess β†’ PspInsertThread. Artinya, memanggil callback ini oleh thread proses induk yang disebut CreateProcess.



β€’ Jendela Penelusuran Peristiwa (ETW).



ETW bekerja dengan cara yang sama untuk kejadian acara. Mari kita lihat contoh pembuatan proses lagi. Saat CreateProcessW dipanggil, utas proses induk melakukan tindakan berikut (diagram yang disederhanakan):



CreateProcessW (kernel32.dll)

NtCreateUserProcess (ntdll.dll, beralih ke mode kernel)

NtCreateUserProcess (ntoskrnl.exe, kemudian bekerja dalam mode kernel)

PspInsertThread (panggilan balik juga disebut di sini ' i)

EtwTraceProcess

EtwpPsProvTraceProcess

EtwWrite



Jadi, thread proses induk adalah inisiator langsung dari acara ETW. Rekaman acara lain, misalnya, acara jaringan, bekerja dengan cara yang kurang lebih sama. Berikut ini adalah contoh menghasilkan acara yang terkait dengan aktivitas jaringan:







Fungsi inti EtwpNetProvTraceNetwork



Dua kesimpulan berikut dari yang di atas:



  1. Baik Sysmon dan EDR hanya menggunakan kemampuan Windows asli untuk mengumpulkan peristiwa guna memastikan operasi yang andal.
  2. Seorang penyerang dapat menggunakan teknik kebingungan yang akan diterapkan pada Sysmon dan EDR. Kernel callback dapat dijatuhkan di memori kernel menggunakan driver yang ditandatangani. Dan mengetahui mekanisme pendaftaran acara yang dijelaskan, Anda dapat memahami mengapa Sysmon dan beberapa EDR tidak dapat mendeteksi teknik injeksi tertentu ke dalam proses (misalnya, menggunakan APC) atau spoofing PPID .


Sysmon



Menggunakan Sysmon memungkinkan Anda memperluas kapabilitas audit standar. Dalam kasus ini, peristiwa dicatat dalam log terpisah. Beberapa contoh informasi tidak ditemukan di Pengauditan Windows, tetapi tersedia di Sysmon:



  • informasi lebih rinci tentang file yang dapat dijalankan yang diluncurkan (hash, nama asli, tanda tangan digital, dan sebagainya);
  • memuat driver dan perpustakaan;
  • mengubah status layanan Sysmon;
  • membuat utas dalam proses lain;
  • akses ke proses;
  • hash file yang dibuat dalam aliran data alternatif;
  • pembuatan pipa.


Keuntungan dari memantau proses yang dijelaskan di atas sudah jelas (ada banyak aturan dan artikel tentang topik mendeteksi berbagai teknik dalam domain publik). Plus, menjadi mungkin untuk mendeteksi variasi baru dari teknik terkenal:



  1. menyalin LOLBin dengan nama yang berbeda dapat dideteksi dengan korespondensi bidang OriginalFileName, Image dan Hash dari proses pembuatan acara;
  2. Anda dapat mendeteksi pemuatan pustaka yang tidak ditandatangani, yang dalam beberapa kasus memungkinkan Anda mendeteksi pembajakan DLL;
  3. ada potensi untuk mendeteksi Mimikatz menggunakan metode di atas atau dengan acara ProcessAccess ke proses lsass.exe.


Pengauditan dikonfigurasi menggunakan file konfigurasi, yang dalam kasus pembuatan file dan aktivitas registri jauh lebih nyaman daripada konfigurasi ACL.



Dalam hal ini, poin-poin berikut harus diperhatikan:



  • Kebutuhan akan alat tambahan. Sejak peristiwa dicatat, seperti dalam kasus pengauditan Windows tingkat lanjut, Sysmon harus digunakan bersama dengan alat lain, misalnya, SIEM.
  • . , Sysmon . .



    , .
  • -. , . , Sysmon . : , , .


Anda dapat membaca tentang cara-cara untuk melewati beberapa fitur Sysmon di sini , di sini dan di sini .



Deteksi & Respons Endpoint



Ketika infrastruktur tumbuh dalam ukuran dan kekritisan, kelemahan Sysmon menjadi signifikan. EDR kualitas tinggi memiliki beberapa keuntungan (kami tidak akan menjelaskan kemampuan khusus produk):



1) Kumpulan peristiwa yang dicatat yang diperluas

Semuanya tergantung pada produk tertentu. Misalnya, ada pencatatan semua input interaktif ke baris perintah, yang memungkinkan teknik deteksi yang tidak terlihat baik dengan audit Windows atau dengan Sysmon.



Layak untuk menggambarkan kasus penggunaan Mimikatz yang kami lihat dalam salah satu penyelidikan kami. Ada file yang dapat dieksekusi yang berisi Mimikatz terenkripsi dalam sumber daya. Jika sandi dan vektor inisialisasi yang benar diteruskan pada baris perintah, Mimikatz berhasil mendekripsi dan menerima perintah pada baris perintah interaktif. Pada saat yang sama, tidak ada perintah yang muncul dalam acara pembuatan proses.



Mencatat masukan interaktif, pada gilirannya, akan membantu mendeteksi kasus seperti itu jika Mimikatz tidak dikompilasi ulang (dalam kasus kami, garis tidak tersentuh).



2) Manajemen dan konfigurasi terpusat

Dalam infrastruktur besar, kemampuan untuk memeriksa kesehatan dan mengubah pengaturan agen secara terpusat sangat penting. Tanpa itu, respon bisa tertunda berjam-jam, atau bahkan berhari-hari.



3) Swasembada

Dalam banyak kasus, EDR adalah produk independen dengan antarmuka sendiri, yang dapat digunakan tidak hanya dengan alat lain, tetapi juga secara terpisah.



Dimungkinkan untuk menulis aturan deteksi Anda sendiri. Karena dataset lebih besar dari pada Advanced Auditing atau Sysmon, analis memiliki lebih banyak kesempatan untuk mendeteksi pola serangan yang berbeda.



4) Kemungkinan respons aktif

Selama respons insiden, kebutuhan untuk mengambil tindakan pada banyak sistem hampir selalu menjadi masalah.



EDR memungkinkan Anda melakukan banyak tindakan dalam bentuk interaktif yang nyaman:



  • bekerja dengan file dan registri
  • blokir koneksi jaringan
  • menghentikan proses
  • memindai dengan aturan yara
  • mengumpulkan artefak untuk analisis lebih lanjut (misalnya, gambar memori)
  • otomatisasi semua hal di atas untuk satu derajat atau lainnya
  • dan banyak lagi.


Karena kelas produk EDR awalnya dibuat untuk menyediakan pemantauan dan respons host, ada kekurangan yang jauh lebih sedikit untuk solusi semacam itu di area ini. Itu semua tergantung pada kemampuan produk tertentu. Ada juga blind spot, misalnya tidak ada analisis aktivitas jaringan secara mendalam (masalah yang berhasil diselesaikan oleh produk NTA / NDR).



Praktik menunjukkan bahwa kehadiran EDR di infrastruktur secara signifikan memperluas kemampuan untuk mengidentifikasi ancaman, serta mempercepat respons dan memfasilitasi penyelidikan insiden, memungkinkan rekonstruksi kronologi peristiwa yang lebih akurat. Sysmon bertindak sebagai tindakan setengah-setengah, dan dalam kasus hanya satu audit standar, yang mudah dilewati, Anda harus puas dengan artefak yang kurang informatif, termasuk yang tidak biasa, yang telah kami tulis di artikel sebelumnya .



Diposting oleh Asker Jamirze, Senior Technical Investigation Engineer, Incident Investigation Department, JSOC CERT



All Articles