Membuat ekstensi parser dengan Gemini

Didukung di:

Panduan ini menjelaskan cara analis keamanan dan engineer deteksi dapat menggunakan perintah bahasa alami untuk meningkatkan kualitas parser log default. Dengan fitur Ekstensi Parser AI, Anda dapat mengekstrak kolom tambahan dengan cepat, menerapkan logika bersyarat, dan memetakan log mentah ke Model Data Terpadu (UDM) tanpa menulis sintaksis parser atau ekspresi reguler yang rumit.

Saat mengurai sumber log Anda, parser log default di Google SecOps dapat menghilangkan atribut kustom khusus pelanggan, kolom opsional, atau telemetri khusus. Dengan fitur Ekstensi Parser AI, Anda dapat melakukan hal berikut:

  • Ekstrak kolom tambahan dari log mentah dan petakan ke kolom UDM standar atau additional.fields kustom.
  • Terapkan logika bersyarat dan transformasi nilai, seperti memetakan tindakan string ke jenis yang di-enumerasi UDM.
  • Sempurnakan ekstensi yang dihasilkan secara interaktif di seluruh sesi multi-turn chat tanpa memulai dari awal.

Terminologi utama

  • Model Data Terpadu (UDM): Struktur data standar yang digunakan di Google SecOps untuk menyimpan dan menganalisis data log.

Sebelum memulai

Sebelum memulai, pastikan prasyarat berikut terpenuhi:

  • Kuota penggunaan: Anda dapat menjalankan maksimum 10 sesi pembuatan Ekstensi Parser AI per periode 24 jam, dengan maksimum 5 pesan per sesi.

Praktik terbaik untuk membuat perintah

Untuk mendapatkan ekstensi parser yang akurat pada percobaan pertama, ikuti panduan perintah berikut:

  1. Tentukan sumber dan target secara eksplisit: Nyatakan dengan jelas bagian log mentah yang akan diekstrak dan jalur kolom UDM yang tepat yang diisinya, misalnya, principal.ip, target.user.email_addresses, atau security_result.action.
  2. Gunakan tanda kutip untuk literal kecocokan persis: Saat merujuk ke string literal, pembatas, atau nilai contoh dalam log tidak terstruktur, sertakan dalam tanda kutip, misalnya, "198.51.100.0" atau "allow".
  3. Menangani kolom kustom menggunakan additional.fields: Untuk atribut eksklusif atau khusus vendor yang tidak memiliki kolom UDM khusus, instruksikan AI untuk memetakannya ke additional.fields dengan nama kunci yang jelas, misalnya, additional.fields["application"].

Membuat ekstensi parser

Anda dapat memulai alur kerja ekstensi parser dari salah satu lokasi berikut di Google SecOps:

  • Halaman setelan parser: Buka halaman Parser untuk memilih dan memperluas parser log yang ada.
  • Halaman penelusuran: Saat menyelidiki log di halaman Penelusuran, buka alur pembuatan ekstensi langsung dari peristiwa dengan kolom yang tidak diuraikan.

Untuk membuat ekstensi parser dari halaman setelan Parser, ikuti langkah-langkah berikut:

  1. Di Google SecOps, buka halaman setelan Parser.
  2. Telusuri jenis log yang ingin Anda perpanjang.
  3. Klik menu di samping parser dan pilih opsi untuk memperluasnya.
  4. Di kolom RAW LOG, tempelkan sampel log yang ingin Anda parsing.
  5. Di bagian Metode Ekstensi, pilih tab Buat dengan AI.
  6. Di kolom perintah, masukkan deskripsi ekstraksi dalam bahasa Inggris sederhana.
  7. Klik Konfirmasi.

    Sistem akan membuat kode ekstensi dan memperbarui Output UDM.

Menyempurnakan ekstensi parser

Anda dapat membangun dan menyempurnakan ekstensi parser secara iteratif di seluruh multi-turn chat. Saat Anda mengirimkan perintah lanjutan, AI akan menerapkan petunjuk baru Anda di atas ekstensi yang dibuat sebelumnya. Pemetaan dan logika bersyarat yang ada dari giliran sebelumnya akan dipertahankan secara otomatis kecuali jika Anda secara eksplisit meminta untuk mengganti atau menghapusnya.

  1. Di kolom perintah, masukkan petunjuk lanjutan untuk menyesuaikan kode yang dihasilkan.
  2. Klik Konfirmasi.
  3. Setelah setiap perintah, lihat pratinjau kode ekstensi yang dihasilkan, periksa contoh output UDM, dan konfirmasi atau sesuaikan logika.

Alur kerja contoh berikut menunjukkan cara penyempurnaan iteratif membangun ekstensi parser di beberapa giliran:

  1. Giliran 1 (ekstraksi awal):
    • Perintah pengguna: "Extract source IP '198.51.100.0' to principal.ip and destination IP '198.51.100.1' to target.ip."
    • Hasil: AI membuat pemetaan ekstensi principal.ip dan target.ip.
  2. Turn 2 (pemetaan aditif):
    • Perintah pengguna: "Also map virtual system string 'vsys1' to observer.administrative_domain."
    • Hasil: AI memperbarui ekstensi untuk memetakan observer.administrative_domain sambil mempertahankan pemetaan IP dari giliran 1.
  3. Giliran 3 (penyempurnaan bersyarat):
    • Perintah pengguna: "In addition, map action string 'allow' to security_result[0].action as ALLOW."
    • Hasil: AI menggabungkan pemetaan enumerasi tindakan kondisional di atas semua ekstraksi sebelumnya.

Memvalidasi ekstensi parser

  1. Klik Validate.
  2. Tinjau metrik validasi setelah proses selesai.

Mengakses informasi referensi

Gunakan contoh berikut untuk membuat perintah yang akurat.

Perintah log terstruktur

Untuk log terstruktur yang datanya diatur ke dalam kunci, atribut, atau tag XML bernama, tentukan nama atau jalur kolom dalam perintah Anda.

Contoh log terstruktur - format JSON

{
  "insertId": "u0mlpdesys",
  "logName": "projects/sample-project-id/logs/cloudaudit.googleapis.com%2Fdata_access",
  "protoPayload": {
    "authenticationInfo": {
      "principalEmail": "analyst@example-domain.com"
    },
    "methodName": "GenerateAccessToken",
    "requestMetadata": {
      "callerIp": "203.0.113.195",
      "callerSuppliedUserAgent": "google-cloud-sdk gcloud/392.0.0"
    },
    "resourceName": "projects/-/serviceAccounts/110649196922301550006",
    "serviceName": "iamcredentials.googleapis.com"
  }
}

Contoh perintah untuk log terstruktur

Petunjuk perintah Kolom atau kunci sumber Kolom UDM target
"Map principalEmail to principal.user.email_addresses." principalEmail principal.user.email_addresses
"Extract callerIp to principal.ip and methodName to metadata.product_event_type." callerIp, methodName principal.ip, metadata.product_event_type
"Map resourceName to target.resource.name and serviceName to target.application." resourceName, serviceName target.resource.name, target.application
"From XML tags, map /Event/System/Hostname to principal.hostname." /Event/System/Hostname principal.hostname

Perintah log tidak terstruktur

Untuk log tidak terstruktur, tentukan nilai literal langsung dari log sampel, referensi posisi, atau label deskriptif.

Contoh pesan syslog tidak terstruktur

<14>Nov  9 18:52:45 198.51.100.1 1,2021/11/09 18:52:45,007051000184334,TRAFFIC,start,2561,2021/11/09 18:52:45,198.51.100.0,198.51.100.1,0.0.0.0,0.0.0.0,any allow,,,ping,vsys1,LAN,LAN,ethernet1/2,ethernet1/2,LFPpan,2021/11/09 18:52:45,9729,6,0,0,2048,0,0x100000,icmp,allow,444,444,0,6

Contoh perintah untuk log tidak terstruktur

Petunjuk perintah Contoh nilai atau deskripsi literal Kolom UDM target
"Extract source IP '198.51.100.0' to principal.ip and destination IP '198.51.100.1' to target.ip." '198.51.100.0', '198.51.100.1' principal.ip, target.ip
"Extract the application string 'ping' from the log and map it to additional.fields['application']." 'ping' additional.fields["application"]
"Map rule name 'any allow' to security_result.rule_id." 'any allow' security_result[0].rule_id
"Extract sent bytes and received bytes into network.sent_bytes and network.received_bytes." Penghitung byte numerik dalam log network.sent_bytes, network.received_bytes

Perintah logika bersyarat

Menjelaskan logika bersyarat untuk menormalisasi nilai log mentah ke enumerasi UDM tertentu.

  • Normalisasi enumerasi: "If the firewall action in the log is 'allow', set security_result.action to ALLOW; otherwise set security_result.action to BLOCK."
  • Pemetaan kolom bersyarat: "If the protocol is 'icmp', map the ICMP type and code into network.icmp.type and network.icmp.code."
  • Pemetaan status: "When the log status contains 'success' or '0', set security_result.severity to INFO; if it contains 'error', set it to ERROR."

Batas penggunaan

Untuk mempertahankan performa dan ketersediaan resource yang optimal, fitur Ekstensi Penguraian AI menerapkan kuota penggunaan berikut:

  • 10 sesi per 24 jam: Setiap pelanggan dialokasikan maksimum 10 sesi pembuatan Ekstensi Parser AI per rentang waktu 24 jam.
  • 5 pesan per sesi: Dalam satu sesi, Anda dapat mengirim hingga 5 pesan, termasuk perintah awal dan putaran penajaman berikutnya, untuk membuat dan menyempurnakan ekstensi parser.

Jika mencapai batas pesan sesi, Anda dapat menyimpan ekstensi saat ini atau memulai sesi baru.

Langkah berikutnya

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