Ringkasan Model Data Terpadu

Dokumen ini memberikan ringkasan Model Data Terpadu (UDM). Untuk detail selengkapnya tentang kolom UDM, termasuk deskripsi setiap kolom, lihat daftar kolom UDM. Untuk mengetahui informasi selengkapnya tentang pemetaan parser, lihat Kolom UDM penting untuk pemetaan pengurai.

UDM adalah struktur data standar Chronicle yang menyimpan informasi tentang data yang diterima dari sumber. Diagram ini juga disebut skema. Chronicle menyimpan data asli yang diterima dalam dua format, sebagai log mentah asli dan sebagai data UDM terstruktur. Catatan UDM adalah representasi terstruktur dari log asli.

Jika ada parser untuk jenis log yang ditentukan, log mentah akan digunakan untuk membuat data UDM. Pelanggan juga dapat mengubah log mentah ke format UDM terstruktur sebelum mengirim data ke Chronicle menggunakan Ingestion API.

Beberapa manfaat UDM antara lain:

  • Menyimpan jenis data yang sama dari vendor yang berbeda menggunakan semantik yang sama.
  • Lebih mudah untuk mengidentifikasi hubungan antara pengguna, host, dan alamat IP karena data dinormalkan ke dalam skema UDM standar.
  • Menulis aturan lebih mudah karena aturan dapat tidak bergantung pada platform.
  • Lebih mudah untuk mendukung jenis log dari perangkat baru.

Meskipun Anda dapat menelusuri peristiwa dengan penelusuran log mentah, penelusuran UDM berfungsi lebih cepat dan lebih presisi karena kekhususannya.

Chronicle menggunakan skema UDM untuk semua peristiwa yang dikumpulkannya. UDM mencakup ribuan kolom yang digunakan untuk menggambarkan dan mengkategorikan peristiwa. Misalnya, UDM dapat menangani peristiwa proses endpoint semudah peristiwa komunikasi jaringan.

Struktur UDM

Peristiwa UDM terdiri dari beberapa bagian. Bagian pertama yang ditemukan di setiap kejadian UDM adalah bagian {i>metadata<i}. Atribut ini memberikan deskripsi dasar peristiwa, termasuk stempel waktu saat peristiwa terjadi dan stempel waktu saat diserap ke Chronicle. Halaman ini juga berisi informasi, versi, dan deskripsi produk. Parser penyerapan mengklasifikasikan setiap peristiwa berdasarkan jenis peristiwa yang telah ditetapkan sebelumnya, terlepas dari log produk tertentu. Dengan hanya kolom metadata, Anda dapat mulai menelusuri data dengan cepat.

Selain bagian metadata, bagian lain menjelaskan aspek tambahan dari peristiwa tersebut. Jika suatu bagian tidak diperlukan, maka tidak akan disertakan, sehingga menghemat memori.

  • principal: Entitas yang berasal dari aktivitas dalam peristiwa. Bagian yang mereferensikan sumber (src) dan tujuan (target) juga disertakan.
  • intermediary: Sistem yang dilalui peristiwa, seperti server proxy atau relai SMTP.
  • observer: Sistem seperti sniffer paket yang memantau traffic secara pasif.

Contoh penelusuran UDM

Bagian ini memberikan contoh penelusuran UDM yang menunjukkan beberapa sintaksis dasar, fitur, dan kemampuan penelusuran UDM.

Contoh: telusuri login Microsoft Windows 4624 yang berhasil

Penelusuran berikut mencantumkan peristiwa login Microsoft Windows 4624 yang berhasil, beserta waktu peristiwa tersebut dibuat, berdasarkan hanya dua kolom UDM:

metadata.event_type = "USER_LOGIN" AND metadata.product_event_type = "4624"

Contoh: telusuri semua login yang berhasil

Penelusuran berikut mencantumkan semua peristiwa login yang berhasil, terlepas dari vendor atau aplikasinya:

metadata.event_type = "USER_LOGIN" AND security_result.action = "ALLOW" AND target.user.userid != "SYSTEM" AND target.user.userid != /.*$/

Contoh: telusuri login pengguna yang berhasil

Contoh berikut menggambarkan cara menelusuri userid "fkolzig" dan menentukan kapan pengguna dengan ID pengguna ini berhasil login. Anda dapat menyelesaikan penelusuran ini menggunakan bagian target. Bagian target menyertakan subbagian dan kolom yang menjelaskan target. Misalnya, target dalam hal ini adalah pengguna dan memiliki sejumlah atribut terkait, tetapi targetnya juga berupa file, setelan registry, atau aset. Contoh ini menelusuri "fkolzig" menggunakan kolom target.user.userid.

metadata.event_type = "USER_LOGIN" AND metadata.product_event_type = "4624" AND target.user.userid = "fkolzig"

Contoh: menelusuri data jaringan Anda

Contoh berikut menelusuri data jaringan untuk peristiwa RDP dengan target.port

3389 dan principal.ip dari 35.235.240.5. Objek ini juga mencakup kolom UDM dari bagian jaringan, arah data (network.direction).

metadata.product_event_type = "3" AND target.port = 3389 AND network.direction = "OUTBOUND" and principal.ip = "35.235.240.5"

Contoh: menelusuri proses tertentu

Untuk memeriksa proses yang dibuat di server Anda, telusuri instance perintah net.exe dan telusuri file spesifik ini di jalur yang diharapkan. Kolom yang Anda telusuri adalah target.process.file.full_path. Untuk penelusuran ini, sertakan perintah spesifik yang dikeluarkan di target.process.command_line

kolom. Anda juga dapat menambahkan kolom di bagian tentang yang merupakan deskripsi kode peristiwa Microsoft Sysmon 1 (ProcessCreate).

Berikut adalah penelusuran UDM:

metadata.product_event_type = "1" AND target.process.file.full_path = "C:\Windows\System32\net.exe"

Anda juga dapat menambahkan kolom penelusuran UDM berikut:

  • principal.user.userid: Mengidentifikasi pengguna yang mengeluarkan perintah.
  • principal.process.file.md5: Mengidentifikasi hash MD5.
  • principal.process.command_line: Command line.

Contoh: telusuri login pengguna yang berhasil yang terkait dengan departemen tertentu

Contoh penelusuran login berdasarkan pengguna (metadata.event_type adalah USER_LOGIN) yang terkait dengan departemen pemasaran (target.user.department adalah marketing) perusahaan Anda. Meskipun target.user.department tidak terhubung langsung dengan peristiwa login pengguna, ID tersebut tetap ada di data LDAP yang diserap tentang pengguna Anda.

metadata.event_type = "USER_LOGIN" AND target.user.department = "Marketing"

Objek logika: Peristiwa dan Entity

Skema UDM menjelaskan semua atribut yang tersedia yang menyimpan data. Setiap data UDM mengidentifikasi apakah data tersebut mendeskripsikan Peristiwa atau Entity. Data disimpan di kolom yang berbeda, bergantung pada apakah data mendeskripsikan Peristiwa atau Entitas, serta nilai mana yang ditetapkan di kolom metadata.event_type atau metadata.entity_type.

  • Peristiwa UDM: Menyimpan data untuk tindakan yang terjadi di lingkungan. Log peristiwa asli menjelaskan tindakan seperti yang direkam oleh perangkat, seperti firewall dan proxy web. Ini adalah model data Peristiwa UDM.
  • Entitas UDM: Representasi kontekstual dari elemen seperti aset, pengguna, dan resource di lingkungan Anda. Token ini diperoleh dari sumber data sumber tepercaya. Ini adalah model data Entity UDM.

Berikut adalah dua representasi visual tingkat tinggi dari model data Peristiwa dan model data Entity.

Model data peristiwa

Gambar: Model data peristiwa

Model data entity

Gambar: Model data entity

Struktur Peristiwa UDM

Peristiwa UDM berisi beberapa bagian yang masing-masing menyimpan subset data untuk satu kumpulan data. Bagian-bagian tersebut adalah:

  • metadata
  • utama
  • target
  • src
  • pengamat
  • perantara
  • about
  • jaringan
  • security_result
  • ekstensi

    Model data
peristiwa

    Gambar: Model data peristiwa

Bagian metadata menyimpan stempel waktu, menentukan event_type, dan menjelaskan perangkat.

Bagian principal, target, src, observer, dan intermediary menyimpan informasi tentang objek yang terlibat dalam peristiwa. Objek dapat berupa perangkat, pengguna, atau proses. Sering kali, hanya sebagian dari bagian ini yang digunakan. Kolom yang menyimpan data ditentukan oleh jenis peristiwa dan peran yang dijalankan setiap objek dalam peristiwa tersebut.

Bagian jaringan menyimpan informasi terkait aktivitas jaringan, seperti email dan komunikasi terkait jaringan.

  • Data email: Informasi di to, from, cc, bcc, dan kolom email lainnya.
  • Data HTTP: Seperti method, referral_url, dan useragent.

Bagian security_result menyimpan tindakan atau klasifikasi yang dicatat oleh produk keamanan, seperti produk antivirus.

Bagian about dan about menyimpan informasi peristiwa khusus vendor tambahan yang tidak diambil oleh bagian lain. Bagian ekstensi adalah kumpulan bentuk bebas key-value pair.

Setiap peristiwa UDM menyimpan nilai dari satu peristiwa log mentah asli. Bergantung pada jenis peristiwa, atribut tertentu diperlukan sedangkan yang lainnya bersifat opsional. Atribut wajib dan opsional ditentukan oleh nilai metadata.event_type. Chronicle membaca metadata.event_type dan melakukan validasi kolom khusus untuk jenis peristiwa tersebut setelah log diterima.

Jika tidak ada data yang disimpan di bagian data UDM, misalnya bagian ekstensi, bagian tersebut tidak akan muncul dalam data UDM.

Kolom {i>metadata<i}

Bagian ini menjelaskan kolom yang wajib diisi dalam peristiwa UDM.

Kolom event_timestamp

Peristiwa UDM harus menyertakan data untuk metadata.event_timestamp yang merupakan stempel waktu GMT saat peristiwa terjadi. Nilai harus dienkode menggunakan salah satu standar berikut: Stempel waktu RFC 3339 atau Proto3.

Contoh berikut menggambarkan cara menentukan stempel waktu menggunakan format RFC 3339, yyyy-mm-ddThh:mm:ss+hh:mm (tahun, bulan, hari, jam, menit, detik, dan selisih dari waktu UTC). Selisih dari UTC adalah minus 8 jam, menunjukkan PST.

metadata {
  "event_timestamp": "2019-09-10T20:32:31-08:00"
}

metadata {
  event_timestamp: "2021-02-23T04:00:00.000Z"
}

Anda juga dapat menentukan nilai menggunakan format epoch.

metadata {
event_timestamp: {
  "seconds": 1588180305
 }
}

Kolom event_type

Kolom paling penting dalam peristiwa UDM adalah metadata.event_type. Nilai ini mengidentifikasi jenis tindakan yang dilakukan dan tidak bergantung pada vendor, produk, atau platform. Contoh nilai mencakup PROCESS_OPEN, FILE_CREATION, USER_CREATION, dan NETWORK_DNS. Untuk mengetahui daftar lengkapnya, lihat dokumen Daftar kolom UDM.

Nilai metadata.event_type menentukan kolom wajib dan opsional tambahan mana yang harus disertakan dalam data UDM. Untuk mengetahui informasi tentang kolom yang harus disertakan untuk setiap jenis peristiwa, lihat panduan penggunaan UDM.

Principal, target, src, perantara, pengamat, dan tentang atribut

Atribut principal, target, src, intermediary, dan observer menggambarkan aset yang terlibat dalam peristiwa. Setiap menyimpan informasi tentang objek yang terlibat dalam aktivitas, seperti yang dicatat oleh log mentah asli. Ini bisa berupa perangkat atau pengguna yang melakukan aktivitas, perangkat, atau pengguna yang menjadi target aktivitas. Bagian ini mungkin juga menjelaskan perangkat keamanan yang mengamati aktivitas, seperti proxy email atau router jaringan.

Atribut yang paling umum digunakan adalah:

  • principal: Objek yang menjalankan aktivitas.
  • src: Objek yang memulai aktivitas, jika berbeda dengan akun utama.
  • target: Objek yang ditindaklanjuti.

Setiap jenis peristiwa mengharuskan setidaknya salah satu kolom ini berisi data.

Kolom tambahan adalah:

  • intermediary: Objek apa pun yang bertindak sebagai perantara peristiwa. Ini dapat mencakup objek seperti server proxy dan server email.
  • observer: Objek apa pun yang tidak berinteraksi langsung dengan traffic yang dimaksud. Alat ini bisa berupa pemindai kerentanan atau perangkat penyaring paket.
  • about: Objek lain yang memainkan peran dalam peristiwa dan bersifat opsional.

Atribut utama

Menyatakan entity yang bertindak atau perangkat yang menghasilkan aktivitas. Akun utama harus menyertakan setidaknya satu detail mesin (nama host, alamat MAC, alamat IP, ID khusus produk seperti GUID mesin CrowdStrike) atau detail pengguna (misalnya, nama pengguna), dan secara opsional menyertakan detail proses. Entri tidak boleh menyertakan salah satu kolom berikut: email, file, kunci registry, atau nilai.

Jika peristiwa tersebut terjadi di satu komputer, mesin tersebut hanya dijelaskan dalam atribut utama. Mesin tidak perlu dijelaskan dalam atribut target atau src.

Cuplikan JSON berikut mengilustrasikan cara pengisian atribut principal.

"principal": {
  "hostname": "jane_win10",
  "asset_id" : "Sophos.AV:C070123456-ABCDE",
    "ip" : "10.10.2.10",
    "port" : 60671,
    "user": {  "userid" : "john.smith" }
}

Atribut ini menjelaskan segala hal yang diketahui tentang perangkat dan pengguna yang merupakan aktor utama dalam peristiwa tersebut. Contoh ini mencakup alamat IP, nomor port, dan nama host perangkat. Hal ini juga mencakup ID aset khusus vendor, dari Sophos, yang merupakan ID unik yang dihasilkan oleh produk keamanan pihak ketiga.

Atribut target

Menyatakan perangkat target yang dirujuk oleh peristiwa, atau objek pada perangkat target. Misalnya, dalam koneksi firewall dari perangkat A ke perangkat B, perangkat A diambil sebagai akun utama dan perangkat B diambil sebagai target.

Untuk injeksi proses oleh proses C ke proses target D, proses C adalah utama dan proses D adalah targetnya.

prinsip utama versus
target

Gambar: Utama versus target

Contoh berikut mengilustrasikan cara mengisi kolom target.

target {
   ip: "192.0.2.31"
   port: 80
}

Jika informasi lebih lanjut tersedia dalam log mentah asli, seperti nama host, alamat IP tambahan, alamat MAC, dan ID aset eksklusif, informasi tersebut juga harus disertakan dalam kolom target dan utama.

Entity utama dan target dapat mewakili aktor di mesin yang sama. Misalnya, proses A (utama) yang berjalan di mesin X dapat bertindak pada proses B (target) juga di komputer X.

Atribut src

Menyatakan objek sumber yang sedang ditindaklanjuti oleh peserta bersama dengan konteks perangkat atau proses untuk objek sumber (mesin tempat objek sumber berada). Misalnya, jika pengguna U menyalin file A di komputer X ke file B di komputer Y, file A dan mesin X akan ditentukan di bagian src dari peristiwa UDM.

Atribut perantara

Menampilkan detail tentang satu atau beberapa perangkat perantara yang memproses aktivitas yang dijelaskan dalam peristiwa. Informasi ini dapat mencakup detail perangkat tentang perangkat seperti server proxy dan server relai SMTP.

Atribut observer

Mewakili perangkat observer yang bukan perantara langsung, tetapi mengamati dan melaporkan peristiwa yang dimaksud. Termasuk sniffer paket atau pemindai kerentanan berbasis jaringan.

Atribut tentang

Ini menyimpan detail tentang objek yang dirujuk oleh peristiwa yang tidak dijelaskan dalam kolom Principal, src, target, perantara, atau observer. Misalnya, hal ini dapat menangkap hal berikut:

  • Lampiran file email.
  • Domain, URL, atau alamat IP yang disematkan dalam isi email.
  • DLL yang dimuat selama peristiwa PROCESS_LAUNCH.

Atribut security_result

Bagian ini berisi informasi tentang risiko dan ancaman keamanan yang ditemukan oleh sistem keamanan serta tindakan yang diambil untuk memitigasi risiko dan ancaman tersebut.

Berikut adalah jenis informasi yang akan disimpan dalam atribut security_result:

  • Proxy keamanan email mendeteksi upaya phishing (security_result.category = EMAIL_PHISHING) dan memblokir (security_result.action = BLOCK) email.
  • Firewall proxy keamanan email mendeteksi dua lampiran yang terinfeksi (security_result.category = SOFTWARE_MALICIOUS) serta telah dikarantina dan disinfeksi (security_result.action = QUARANTINE atau security_result.action = ALLOW_WITH_MODIFICATION) lampiran tersebut, lalu meneruskan email yang telah disinfektan.
  • Sistem SSO memungkinkan login (security_result.category = AUTH_VIOLATION) yang diblokir (security_result.action = BLOCK).
  • Sandbox malware mendeteksi spyware (security_result.category = SOFTWARE_MALICIOUS) dalam lampiran file lima menit setelah file dikirimkan (security_result.action = ALLOW) kepada pengguna di kotak masuk mereka.

Atribut jaringan

Atribut jaringan menyimpan data tentang peristiwa terkait jaringan dan detail tentang protokol dalam sub-pesan. Data ini mencakup aktivitas, seperti email yang dikirim dan diterima, serta permintaan HTTP.

Atribut ekstensi

Kolom pada atribut ini menyimpan metadata tambahan tentang peristiwa yang diambil dalam log mentah asli. Halaman ini dapat berisi informasi tentang kerentanan atau informasi terkait autentikasi tambahan.

Struktur Entitas UDM

Catatan entitas UDM menyimpan informasi tentang entitas apa pun dalam suatu organisasi. Jika metadata.entity_type adalah USER, kumpulan data akan menyimpan informasi tentang pengguna dalam atribut entity.user. Jika metadata.entity_type adalah ASSET, kumpulan data tersebut akan menyimpan informasi tentang aset, seperti workstation, laptop, ponsel, dan mesin virtual.

Model data entity

Gambar: Model data peristiwa

Kolom {i>metadata<i}

Bagian ini berisi kolom yang diperlukan dalam Entity UDM, seperti:

  • collection_timestamp: tanggal & waktu kumpulan data dikumpulkan.
  • entity_type: jenis entity, seperti aset, pengguna, dan resource.

Atribut entity

Kolom pada atribut entity akan menyimpan informasi tentang entity tertentu, seperti nama host dan alamat IP jika entity tersebut adalah aset, atau windows_sid dan alamat email jika entity tersebut adalah pengguna. Perhatikan bahwa nama kolom adalah 'entity', tetapi jenis kolomnya adalah Kata benda. Kata benda adalah struktur data yang umum digunakan yang menyimpan informasi dalam entity dan peristiwa.

  • Jika metadata.entity_type adalah USER, data akan disimpan di bagian atribut entity.user.
  • Jika metadata.entity_type adalah ASSET, data akan disimpan di bagian atribut entity.asset.

Atribut relasi

Kolom pada atribut relasi menyimpan informasi tentang entity lain yang terkait dengan entity utama. Misalnya, jika entitas utama adalah Pengguna dan pengguna telah diberi laptop. Laptop adalah entitas terkait. Informasi tentang laptop disimpan sebagai catatan 'entity' dengan metadata.entity_type = ASSET. Informasi tentang pengguna disimpan sebagai record 'entity' dengan metadata.entity_type = USER.

Kumpulan data entity pengguna juga merekam hubungan antara pengguna dan laptop menggunakan kolom pada atribut "relation". Kolom relasi.relationship menyimpan hubungan yang dimiliki pengguna dengan laptop, terutama bahwa pengguna memiliki laptop tersebut. Kolom relasi.entity_type menyimpan nilai ASSET, karena laptop adalah perangkat.

Kolom pada atribut relasis.entity menyimpan informasi tentang laptop, seperti nama host dan alamat MAC. Perhatikan kembali bahwa nama {i>field<i} adalah 'entity' dan jenis {i>field-<i}nya adalah Kata benda. Kata benda adalah struktur data yang umum digunakan. Kolom di bawah atribut relasi.entity menyimpan informasi tentang laptop.

Kolom relasi.direction menyimpan arah hubungan antara pengguna dan laptop, khususnya apakah hubungannya dua arah versus searah.