Ringkasan Model Data Terpadu

Didukung di:

Dokumen ini memberikan ringkasan tentang 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 parser.

UDM adalah struktur data standar Google Security Operations yang menyimpan informasi tentang data yang diterima dari sumber. Hal ini juga disebut skema. SecOps Google menyimpan data asli yang diterimanya dalam dua format, sebagai log mentah asli dan sebagai rekaman UDM terstruktur. Data UDM adalah representasi terstruktur dari log asli.

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

Beberapa manfaat UDM meliputi:

  • Menyimpan jenis data yang sama dari vendor yang berbeda menggunakan semantik yang sama.
  • Lebih mudah mengidentifikasi hubungan antara pengguna, host, dan alamat IP karena data dinormalisasi ke dalam skema UDM standar.
  • Lebih mudah menulis aturan karena aturan dapat bersifat independen dari platform.
  • Lebih mudah mendukung jenis log dari perangkat baru.

Meskipun Anda dapat menelusuri peristiwa dengan penelusuran log mentah, penelusuran UDM berfungsi lebih cepat dan lebih presisi karena spesifisitasnya. Google SecOps mengumpulkan data log mentah dan menyimpan detail log peristiwa dalam skema UDM. UDM menyediakan framework komprehensif yang terdiri dari ribuan kolom untuk mendeskripsikan dan mengategorikan berbagai jenis peristiwa, misalnya peristiwa proses endpoint dan peristiwa komunikasi jaringan.

Struktur UDM

Peristiwa UDM terdiri dari beberapa bagian. Bagian pertama yang ditemukan di setiap peristiwa UDM adalah bagian metadata. Log ini memberikan deskripsi dasar tentang peristiwa, termasuk stempel waktu saat peristiwa terjadi dan stempel waktu saat peristiwa tersebut di-ingest ke Google SecOps. Bagian ini juga mencakup informasi produk, versi, dan deskripsi. Parser penyerapan mengklasifikasikan setiap peristiwa berdasarkan jenis peristiwa yang telah ditentukan sebelumnya, terlepas dari log produk tertentu. Dengan hanya menggunakan kolom metadata, Anda dapat mulai menelusuri data dengan cepat.

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

  • principal: Entitas yang memulai 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 packet sniffer yang secara pasif memantau traffic.

Contoh penelusuran UDM

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

Contoh: menelusuri login Microsoft Windows 4624 yang berhasil

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

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

Contoh: menelusuri semua proses 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: menelusuri 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 mencakup subbagian dan kolom yang menjelaskan target. Misalnya, target dalam kasus ini adalah pengguna dan memiliki sejumlah atribut terkait, tetapi target juga dapat berupa file, setelan registri, 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 35.235.240.5. Peristiwa 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 tertentu ini di jalur yang diharapkan. Kolom yang Anda cari adalah target.process.file.full_path. Untuk penelusuran ini, Anda menyertakan perintah spesifik yang dikeluarkan di kolom target.process.command_line. Anda juga dapat menambahkan kolom di bagian tentang yang merupakan deskripsi kode peristiwa Microsoft Sysmon 1 (ProcessCreate).

Berikut penelusuran UDM:

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

Secara opsional, Anda 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: menelusuri login pengguna yang berhasil dan terkait dengan departemen tertentu

Contoh berikut menelusuri login oleh pengguna (metadata.event_type is USER_LOGIN) yang terkait dengan departemen pemasaran (target.user.department is marketing) perusahaan Anda. Meskipun target.user.department tidak terhubung langsung dengan peristiwa login pengguna, target.user.department tetap ada dalam data LDAP yang dimasukkan tentang pengguna Anda.

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

Objek logis: Peristiwa dan Entitas

Skema UDM menjelaskan semua atribut yang tersedia yang menyimpan data. Setiap rekaman UDM mengidentifikasi apakah rekaman tersebut menjelaskan Peristiwa atau Entitas. Data disimpan di kolom yang berbeda, bergantung pada apakah record menjelaskan Peristiwa atau Entitas, dan juga 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 sebagaimana direkam oleh perangkat, seperti firewall dan proxy web.
  • Entitas UDM: Representasi kontekstual elemen seperti aset, pengguna, dan resource di lingkungan Anda. Data ini diperoleh dari sumber data sumber kebenaran.

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

Model data peristiwa

Gambar: Model data peristiwa

Model data entitas

Gambar: Model data entity

Struktur Peristiwa UDM

Peristiwa UDM berisi beberapa bagian yang masing-masing menyimpan subkumpulan data untuk satu catatan. Bagiannya adalah:

  • metadata
  • utama
  • target
  • src
  • pengamat
  • perantara
  • tentang
  • 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. Biasanya, hanya sebagian dari bagian ini yang digunakan. Kolom yang menyimpan data ditentukan oleh jenis peristiwa dan peran yang dimainkan setiap objek dalam peristiwa.

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

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

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

Bagian about dan extensions menyimpan informasi acara tambahan khusus vendor yang tidak dicatat oleh bagian lainnya. Bagian extensions adalah kumpulan pasangan nilai kunci bentuk bebas.

Setiap peristiwa UDM menyimpan nilai dari satu peristiwa log mentah asli. Bergantung pada jenis acara, beberapa atribut wajib ada, sedangkan yang lain bersifat opsional. Atribut wajib dan opsional ditentukan oleh nilai metadata.event_type. Google SecOps membaca metadata.event_type dan melakukan validasi kolom khusus untuk jenis peristiwa tersebut setelah log diterima.

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

Kolom metadata

Bagian ini menjelaskan kolom yang diperlukan 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 mengilustrasikan 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 waktu dari UTC adalah minus 8 jam, yang 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 terpenting dalam peristiwa UDM adalah metadata.event_type. Nilai ini mengidentifikasi jenis tindakan yang dilakukan dan tidak bergantung pada vendor, produk, atau platform. Contoh nilai meliputi PROCESS_OPEN, FILE_CREATION, USER_CREATION, dan NETWORK_DNS. Untuk mengetahui daftar lengkapnya, lihat dokumen daftar kolom UDM.

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

Atribut principal, target, src, intermediary, observer, dan about

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

Atribut yang paling umum digunakan adalah:

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

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

Kolom tambahan adalah:

  • intermediary: Objek apa pun yang bertindak sebagai perantara dalam peristiwa. Hal ini dapat mencakup objek seperti server proxy dan server email.
  • observer: Objek apa pun yang tidak berinteraksi langsung dengan traffic yang dimaksud. Hal ini mungkin merupakan pemindai kerentanan atau perangkat pengintai paket.
  • about: Objek lain yang berperan dalam peristiwa dan bersifat opsional.

Atribut utama

Mewakili entitas yang bertindak atau perangkat yang memulai aktivitas. Prinsipal 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. Tidak boleh menyertakan kolom berikut: email, file, kunci atau nilai registri.

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

Cuplikan JSON berikut menggambarkan 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 semua yang diketahui tentang perangkat dan pengguna yang menjadi aktor utama dalam peristiwa tersebut. Contoh ini mencakup alamat IP perangkat, nomor port, dan nama host. Log ini juga mencakup ID aset khusus vendor, dari Sophos, yang merupakan ID unik yang dibuat oleh produk keamanan pihak ketiga.

Atribut target

Mewakili perangkat target yang dirujuk oleh peristiwa, atau objek di perangkat target. Misalnya, dalam koneksi firewall dari perangkat A ke perangkat B, perangkat A dicatat sebagai principal dan perangkat B dicatat sebagai target.

Untuk injeksi proses oleh proses C ke dalam proses target D, proses C adalah principal dan proses D adalah target.

pokok versus
target

Gambar: Akun utama versus target

Contoh berikut menggambarkan cara mengisi kolom target.

target {
   ip: "192.0.2.31"
   port: 80
}

Jika ada informasi lainnya 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 pokok.

Principal dan target dapat merepresentasikan aktor di mesin yang sama. Misalnya, proses A (principal) yang berjalan di mesin X dapat bertindak pada proses B (target) juga di mesin X.

Atribut src

Mewakili objek sumber yang 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 komputer X akan ditentukan di bagian src peristiwa UDM.

Atribut perantara

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

Atribut pengamat

Mewakili perangkat pengamat yang bukan perantara langsung, tetapi yang mengamati dan melaporkan peristiwa yang dimaksud. Hal ini dapat mencakup pengintai paket atau pemindai kerentanan berbasis jaringan.

Atribut tentang

Objek ini menyimpan detail tentang objek yang dirujuk oleh peristiwa yang tidak dijelaskan di kolom principal, src, target, intermediary, atau observer. Misalnya, aplikasi dapat merekam 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 = MAIL_PHISHING) dan memblokir (security_result.action = BLOCK) email tersebut.
  • Firewall proxy keamanan email mendeteksi dua lampiran yang terinfeksi (security_result.category = SOFTWARE_MALICIOUS) dan mengarantina serta membersihkan (security_result.action = QUARANTINE or security_result.action = ALLOW_WITH_MODIFICATION) lampiran ini, lalu meneruskan email yang telah dibersihkan.
  • 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 dikirim (security_result.action = ALLOW) ke kotak masuk pengguna.

Atribut jaringan

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

Atribut ekstensi

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

Struktur Entitas UDM

Rekaman entitas UDM menyimpan informasi tentang entitas apa pun dalam organisasi. Jika metadata.entity_type adalah USER, maka kumpulan data menyimpan informasi tentang pengguna berdasarkan atribut entity.user. Jika metadata.entity_type adalah ASSET, maka rekaman menyimpan informasi tentang aset, seperti workstation, laptop, ponsel, dan mesin virtual.

Model data entitas

Gambar: Model data peristiwa

Kolom metadata

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

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

Atribut entitas

Kolom di bagian atribut entitas menyimpan informasi tentang entitas tertentu, seperti nama host dan alamat IP jika berupa aset, atau windows_sid dan alamat email jika berupa pengguna. Perhatikan bahwa nama kolomnya adalah entity, tetapi jenis kolomnya adalah Kata Benda. Noun adalah struktur data yang umum digunakan untuk menyimpan informasi dalam entitas dan peristiwa.

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

Atribut relasi

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

Record entity pengguna juga mencatat hubungan antara pengguna dan laptop, menggunakan kolom di bagian atribut relation. Kolom relation.relationship menyimpan hubungan pengguna dengan laptop, khususnya bahwa pengguna memiliki laptop tersebut. Kolom relation.entity_type menyimpan nilai ASSET, karena laptop adalah perangkat.

Kolom di bagian atribut relations.entity menyimpan informasi tentang laptop, seperti nama host dan alamat MAC. Perhatikan lagi bahwa nama kolomnya adalah entity dan jenis kolomnya adalah Kata Benda. Noun adalah struktur data yang umum digunakan. Kolom di bagian atribut relation.entity menyimpan informasi tentang laptop.

Kolom relation.direction menyimpan arah hubungan antara pengguna dan laptop, khususnya apakah hubungan tersebut dua arah atau satu arah.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.