Mengintegrasikan feed threat intelligence Anda sendiri

Didukung di:

Panduan ini ditujukan untuk engineer keamanan dan engineer deteksi yang ingin mengintegrasikan Indikator Kompromi (IoC) kustom dan feed intelijen ancaman pihak ketiga ke dalam Google Security Operations. Bagian ini menjelaskan cara menyerap feed ancaman, menormalisasi indikator ke dalam Entity Context Graph (ECG) Unified Data Model (UDM), dan mengorelasikan entity indikator dengan telemetri peristiwa streaming. Dengan mengikuti metode ini, Anda dapat mengotomatiskan deteksi ancaman di seluruh lingkungan Anda dan menghilangkan pencarian indikator manual. Integrasi yang berhasil akan mengurangi waktu penyeleksian pemberitahuan dan memperkuat postur keamanan organisasi Anda melalui deteksi ancaman real-time dan retroaktif.

Mengintegrasikan feed threat intelligence kustom memungkinkan tim operasi keamanan Anda menggabungkan aliran indikator eksternal (seperti Malware Information Sharing Platform (MISP), STIX/TAXII, atau feed komersial) dengan telemetri keamanan internal Anda. Setelah dinormalisasi ke dalam EKG, entitas ancaman mendukung pencocokan indikator otomatis dan aturan korelasi YARA-L 2.0 multiperistiwa kustom.

Terminologi utama

  • Grafik Konteks Entitas (ECG): Lapisan penyimpanan kontekstual di Google SecOps yang mempertahankan catatan entitas stateful (seperti aset, pengguna, dan indikator ancaman) untuk korelasi dengan log peristiwa keamanan.
  • Model Data Terpadu (UDM): Skema standar yang digunakan Google SecOps untuk menormalisasi log peristiwa mentah dan data entitas kontekstual.
  • Interval siklus proses indikator (metadata.interval): Jendela validitas yang dibatasi waktu (start_time dan end_time) yang menentukan kapan indikator ancaman aktif di ECG.
  • Kecocokan IoC otomatis: Temuan yang dibuat oleh sistem saat peristiwa keamanan masuk cocok dengan entitas indikator aktif di ECG, yang ditampilkan di halaman Kecocokan IoC.
  • Retrohunt YARA-L: Penelusuran historis on-demand yang menjalankan aturan deteksi YARA-L 2.0 terhadap telemetri keamanan sebelumnya hingga 30 hari.

Kasus penggunaan umum

Kasus penggunaan berikut menunjukkan cara menggunakan threat intelligence Anda sendiri untuk memenuhi tujuan operasi keamanan umum.

Pencocokan indikator real-time otomatis

  • Tujuan: Mengevaluasi peristiwa keamanan streaming secara otomatis terhadap indikator pihak ketiga yang di-ingest tanpa mempertahankan aturan korelasi kustom.
  • Nilai: Menghilangkan pemeliharaan aturan manual untuk feed ancaman bervolume tinggi dan menampilkan kecocokan langsung di halaman Kecocokan IoC.

Aturan korelasi YARA-L kustom dan retrohunting

  • Tujuan: Gabungkan entity threat intelligence di ECG dengan telemetri multi-peristiwa dan pindai hingga 30 hari data historis menggunakan retrohunt.
  • Nilai: Mendeteksi serangan multi-tahap dan mengungkap kompromi historis yang terjadi sebelum indikator ditambahkan ke feed ancaman Anda.

Sebelum memulai

Sebelum memulai, pastikan prasyarat berikut terpenuhi:

  • Izin: Anda harus memiliki izin Identity and Access Management untuk mengelola feed data dan membuat aturan deteksi di Google SecOps (misalnya, Chronicle API Admin atau Chronicle API Editor). Untuk mengetahui detail tentang peran yang diperlukan, lihat Mengonfigurasi akses fitur.
  • Pemeriksaan lingkungan: Pastikan Anda memiliki instance Google SecOps yang aktif dan kredensial API atau URL endpoint yang valid untuk penyedia threat intelligence eksternal Anda (seperti MISP, STIX/TAXII, atau bucket Cloud Storage).
  • Fungsi penelusuran versus aturan: Penelusuran UDM memungkinkan Anda memeriksa rekaman entitas mentah yang disimpan di ECG, terlepas dari periode aktifnya, sedangkan aturan deteksi YARA-L dan pencocokan otomatis hanya mengevaluasi indikator yang metadata.interval-nya mencakup stempel waktu peristiwa.
  • Awalan dasbor dan kolom penelusuran: Saat membuat kueri entitas threat intelligence dalam penelusuran UDM, dasbor, atau aturan YARA-L, gunakan awalan graph.entity. untuk nilai indikator (seperti graph.entity.ip) dan awalan graph.metadata.threat. untuk kolom atribusi ancaman.

Menyerap indikator threat intelligence

Pilih dan konfigurasi mekanisme penyerapan untuk memasukkan aliran indikator eksternal ke Google SecOps.

Pilih mekanisme penyerapan feed

Anda dapat menyerap feed threat intelligence menggunakan salah satu mekanisme yang didukung berikut:

  • Parser default bawaan: Google SecOps menyertakan parser default untuk banyak platform threat intelligence. Untuk mengetahui daftar parser yang didukung dan dikategorikan dalam IOC, lihat Jenis log dan parser default yang didukung. Vendor yang didukung mencakup MISP, ThreatConnect, Intel471, dan Cyjax.
  • Feed Management API: Konfigurasi feed di konsol Google SecOps atau menggunakan Feed Management API untuk secara berkala menarik indikator dari endpoint HTTPS, Cloud Storage, atau Amazon S3 eksternal.
  • Ingestion API: Kirim payload entitas yang telah terstruktur langsung ke Google SecOps menggunakan Ingestion API.
  • Agen Bindplane: Mengumpulkan dan meneruskan log indikator dari lingkungan lokal atau cloud menggunakan Agen Bindplane.
  • Fungsi Cloud Run: Deploy skrip penyerapan serverless menggunakan fungsi Cloud Run untuk mengambil indikator dari API eksternal (seperti STIX/TAXII atau MISP) dan menstreaming-nya ke Google SecOps. Untuk mengetahui detailnya, lihat Menggunakan skrip penyerapan yang di-deploy sebagai Cloud Run Functions.
  • Integrasi respons Google SecOps: Menyerap indikator melalui konektor Hub Konten untuk menyinkronkan daftar ancaman sebagai bagian dari playbook otomatis. Untuk mengetahui detailnya, lihat Menggunakan Hub Konten.

Mengaktifkan feed threat intelligence

Untuk menyerap log indikator dari penyedia threat intelligence Anda ke Google SecOps:

  1. Ikuti prosedur orientasi untuk format feed atau penyedia feed ancaman tertentu:

  2. Tetapkan jenis log IoC yang sesuai (seperti STIX, MISP_IOC, CSV_CUSTOM_IOC, atau THREATCONNECT_IOC) ke data feed yang masuk sehingga parser default mengekstrak atribut indikator ke dalam kolom entity UDM.

  3. Buka dasbor Penyerapan data dan verifikasi bahwa entri log masuk muncul tanpa error log yang tidak diurai.

Mengisi dan memvalidasi Grafik Konteks Entitas

Saat indikator ancaman masuk ke Google SecOps, pipeline penguraian akan menormalisasinya menjadi rekaman entitas UDM dan mengisi ECG. Untuk mengetahui detail tentang cara kerja pengayaan entitas, lihat Cara Google SecOps memperkaya data peristiwa dan entitas.

Pemetaan data terstruktur versus data tidak terstruktur

Bergantung pada cara Anda mengirim data threat intelligence ke Google SecOps, ikuti alur kerja pemetaan kolom yang sesuai:

  • Penyerapan data terstruktur: Saat mengirimkan rekaman entitas UDM yang telah terstruktur sebelumnya secara langsung menggunakan Ingestion API, format setiap payload sesuai dengan skema Entity UDM sebelum penyerapan.
  • Penyerapan data tidak terstruktur dan semi-terstruktur: Saat mengirim log mentah (seperti CSV, JSON, STIX, atau CEF) menggunakan feed, agen Bindplane, atau penerusan, tetapkan parser default bawaan atau buat pemetaan kolom kustom menggunakan ekstensi parser untuk mengekstrak nilai indikator dan memetakannya ke kolom entity UDM yang diperlukan.

Yang membuat entity menjadi IoC

Agar rekaman entitas di ECG dikenali sebagai IoC yang dapat ditindaklanjuti oleh aturan deteksi dan pencocokan otomatis, parser atau payload API harus mengisi lima grup kolom UDM berikut:

  • Jenis entitas (metadata.entity_type): Jenis entitas indikator yang didukung, seperti DOMAIN_NAME, IP_ADDRESS, FILE, atau URL.
  • Jenis sumber (metadata.source_type): Klasifikasi sumber data, yang harus disetel ke ENTITY_CONTEXT untuk feed intelijen ancaman yang di-ingest pelanggan.
  • ID artefak (entity.*): Nilai indikator itu sendiri, seperti graph.entity.ip, graph.entity.hostname, graph.entity.domain.name, graph.entity.file.sha256 (atau md5 dan sha1), atau graph.entity.url.
  • Metadata ancaman (metadata.threat): Atribut kontekstual yang menjelaskan ancaman, termasuk threat_feed_name, threat_name, category, severity, dan confidence.
  • Interval siklus proses (metadata.interval):

    • metadata.interval.start_time: Stempel waktu saat indikator menjadi aktif.
    • metadata.interval.end_time: Stempel waktu saat indikator berakhir.

Untuk definisi skema, lihat daftar kolom UDM untuk Entity dan EntityMetadata.

Indikator biasanya dapat ditelusuri di penelusuran UDM dalam waktu 2 hingga 5 menit setelah penyerapan dan penguraian. Verifikasi bahwa indikator Anda mengisi EKG dengan menjalankan penelusuran UDM:

  1. Di menu navigasi Google SecOps, pilih Investigation > Search.
  2. Di kolom penelusuran, masukkan kueri yang menargetkan grafik entity untuk nilai indikator yang diserap:

    • Alamat IP:

      graph.entity.ip = "<var>IP_ADDRESS</var>"
      
    • Domain:

      graph.entity.hostname = "<var>DOMAIN_NAME</var>"
      
    • Hash file (SHA-256):

      graph.entity.file.sha256 = "<var>SHA256_HASH</var>"
      
    • Produk sumber:

      graph.metadata.source_product = "<var>SOURCE_PRODUCT_NAME</var>"
      
  3. Klik Telusuri atau tekan Enter.

  4. Klik kartu entitas yang ditampilkan dan konfirmasi bahwa kolom threat dan interval berisi metadata yang diharapkan dan stempel waktu aktif.

Menghubungkan telemetri dan mendeteksi ancaman

Setelah indikator ancaman Anda mengisi ECG, korelasikan indikator tersebut dengan peristiwa keamanan masuk dan historis.

Mengaktifkan pencocokan IoC otomatis

Google SecOps menyertakan mesin pencocokan otomatis yang beroperasi secara independen dari aturan deteksi kustom. Saat telemetri peristiwa cocok dengan indikator aktif dalam EKG:

  • Kecocokan yang dibuat sistem: Platform membuat catatan kecocokan IoC secara otomatis tanpa memerlukan pemeliharaan aturan kustom.
  • Estimasi waktu pasca-penyerapan (perkiraan kasar):
    • Peristiwa streaming: Setelah indikator mengisi EKG (biasanya 5 hingga 15 menit setelah penyerapan), Google SecOps akan mengevaluasi peristiwa streaming yang masuk dan menampilkan kecocokan di halaman Kecocokan IoC dalam waktu 5 hingga 15 menit.
    • Peristiwa historis: Mesin pencocokan otomatis juga mengevaluasi indikator yang baru dimasukkan secara retroaktif terhadap telemetri historis dalam siklus batch, dengan kecocokan awal biasanya muncul dalam waktu 1 hingga 4 jam (dan korelasi historis penuh selesai dalam waktu 24 jam).
  • Penerapan interval: Mesin pencocokan mengevaluasi peristiwa secara ketat terhadap indikator aktif jika stempel waktu peristiwa berada dalam metadata.interval.

Menulis aturan korelasi YARA-L 2.0

Menulis aturan deteksi YARA-L 2.0 untuk menggabungkan telemetri peristiwa (seperti koneksi jaringan, kueri DNS, atau peluncuran proses) dengan entitas indikator di ECG. Aturan kustom memungkinkan Anda menggabungkan kecocokan indikator dengan nilai minimum perilaku, konteks aset, dan daftar pengecualian:

  1. Di menu navigasi Google SecOps, pilih Detection > Rules & Detections, lalu klik New.
  2. Di bagian events: aturan, tentukan variabel placeholder untuk menggabungkan kolom peristiwa UDM (seperti $net.target.ip = $ip) dengan kolom entitas ECG yang sesuai (seperti $ioc.graph.entity.ip = $ip).
  3. Memfilter variabel entity menurut atribut ancaman (seperti $ioc.graph.metadata.threat.category) dan menentukan jangka waktu korelasi di bagian match: (misalnya, $ip over 5m).

  4. Klik Simpan Aturan Baru.

Menjalankan retrohunt untuk mendeteksi kompromi historis

Feed threat intelligence sering kali berisi indikator yang digunakan musuh beberapa hari atau minggu sebelum organisasi Anda menyerap feed tersebut. Meskipun aturan live mengevaluasi telemetri masuk yang baru, retrohunt YARA-L menerapkan logika aturan Anda secara retroaktif terhadap peristiwa keamanan historis hingga 30 hari:

  1. Di menu navigasi Google SecOps, pilih Detection > Rules & Detections.
  2. Temukan aturan threat intelligence kustom Anda dalam daftar aturan.
  3. Klik untuk opsi aturan lainnya dan pilih YARA-L Retrohunt.
  4. Dalam dialog YARA-L Retrohunt, pilih waktu mulai dan akhir untuk penelusuran historis Anda. Pastikan rentang tanggal yang dipilih lebih besar dari atau sama dengan periode pencocokan yang ditentukan dalam aturan Anda.
  5. Klik Run.
  6. Buka tab Deteksi untuk aturan guna memantau progres dan memeriksa kecocokan historis.

Untuk mengetahui detail selengkapnya, lihat Menjalankan aturan terhadap data historis.

Menyelidiki kecocokan dan pemberitahuan

Tinjau temuan yang dihasilkan oleh aturan pencocokan otomatis dan korelasi kustom di seluruh tampilan khusus di Google SecOps.

Meninjau hit otomatis di halaman kecocokan IoC

Untuk menyelidiki kecocokan indikator otomatis:

  1. Di menu navigasi Google SecOps, pilih Detection > IoC matches.
  2. Gunakan kontrol filter untuk mencakup temuan menurut jenis indikator (domain, alamat IP, hash file, atau URL).
  3. Klik baris indikator untuk membuka panel detail pertandingan, yang menampilkan:
    • Aset internal dan nama pengguna terkait.
    • Stempel waktu peristiwa pertama kali terlihat dan terakhir kali terlihat.
    • Sumber feed threat intelligence dan atribusi keyakinan.
  4. Klik Lihat di Penelusuran UDM untuk memeriksa semua peristiwa telemetri mentah yang terkait dengan indikator.

Untuk mengetahui detail selengkapnya, lihat Melihat IoC menggunakan Applied Threat Intelligence.

Menyeleksi kecocokan aturan di halaman Alerts dan Detections

Deteksi yang dibuat oleh aturan YARA-L kustom muncul di halaman Pemberitahuan dan Deteksi:

  1. Di menu navigasi Google SecOps, pilih Detection > Alerts & IoCs untuk melihat pemberitahuan aturan yang diprioritaskan.
  2. Klik nama notifikasi untuk membuka halaman Detail notifikasi dan periksa tabel Deteksi, yang mencantumkan baris peristiwa yang dikorelasikan dan atribut entitas EKG.
  3. Untuk aturan senyap (jika pemberitahuan dinonaktifkan) atau retrohunt yang telah selesai, buka Deteksi > Aturan & Deteksi, klik nama aturan, lalu periksa tab Deteksi.

Menghubungkan indikator kustom dengan Emerging Threats Center

Anda juga dapat menggunakan Pusat Ancaman Baru untuk menyelidiki bagaimana kecocokan IoC kustom Anda terkait dengan kampanye musuh dan keluarga malware yang lebih luas:

  1. Di menu navigasi Google SecOps, pilih Detection > Emerging Threats.
  2. Tinjau kampanye dan saran ancaman aktif, lalu beralih ke penelusuran UDM untuk memeriksa apakah indikator dari feed ancaman kustom Anda tumpang-tindih dengan aktivitas kampanye yang diamati.

Untuk mengetahui detail selengkapnya, lihat Ringkasan Emerging Threats Center.

Mengakses aset dan referensi lanjutan

Gunakan cuplikan YARA-L 2.0 dan sumber daya referensi berikut saat membuat aturan intelijen ancaman kustom.

Koneksi jaringan keluar yang cocok dengan alamat IP berbahaya

Aturan ini mengorelasikan peristiwa NETWORK_CONNECTION keluar dengan indikator IP aktif di ECG:

rule custom_ioc_network_connection {
  meta:
    author = "Security Operations"
    description = "Detects connections to IPs matching custom threat intel"
    severity = "HIGH"
    priority = "HIGH"

  events:
    $net.metadata.event_type = "NETWORK_CONNECTION"
    $net.target.ip = $ip

    $ioc.graph.entity.ip = $ip
    $ioc.graph.metadata.threat.category = "SUSPICIOUS_NETWORK"

  match:
    $ip over 5m

  outcome:
    $risk_score = max(85)
    $threat_name = array_distinct($ioc.graph.metadata.threat.threat_name)
    $source_feed = array_distinct($ioc.graph.metadata.source_product)
    $principal_hostname = array_distinct($net.principal.asset.hostname)

  condition:
    $net and $ioc
}

Kueri DNS yang cocok dengan domain berbahaya

Aturan ini mengidentifikasi pencarian NETWORK_DNS untuk domain yang ditandai sebagai berbahaya di feed ancaman yang Anda masukkan:

rule custom_ioc_malicious_domain_query {
  meta:
    author = "Security Operations"
    description = "Detects DNS queries for domains matching threat intel"
    severity = "MEDIUM"
    priority = "MEDIUM"

  events:
    $dns.metadata.event_type = "NETWORK_DNS"
    $dns.network.dns.questions.name = $domain

    $ioc.graph.entity.hostname = $domain

  match:
    $domain over 10m

  outcome:
    $threat_name = array_distinct($ioc.graph.metadata.threat.threat_name)
    $source_feed = array_distinct($ioc.graph.metadata.source_product)
    $client_ip = array_distinct($dns.principal.ip)

  condition:
    $dns and $ioc
}

Eksekusi proses yang cocok dengan hash file SHA-256 berbahaya

Aturan ini dipicu saat peristiwa PROCESS_LAUNCH cocok dengan hash file SHA-256 berbahaya yang diketahui dan disimpan di ECG:

rule custom_ioc_malicious_file_execution {
  meta:
    author = "Security Operations"
    description = "Detects process launches matching malicious file hashes"
    severity = "CRITICAL"
    priority = "HIGH"

  events:
    $process.metadata.event_type = "PROCESS_LAUNCH"
    $process.target.process.file.sha256 = $sha256

    $ioc.graph.entity.file.sha256 = $sha256

  match:
    $sha256 over 5m

  outcome:
    $threat_name = array_distinct($ioc.graph.metadata.threat.threat_name)
    $file_path = array_distinct($process.target.process.file.full_path)
    $hostname = array_distinct($process.principal.asset.hostname)
    $user = array_distinct($process.principal.user.userid)

  condition:
    $process and $ioc
}

Blog komunitas dan referensi tambahan

Untuk contoh tambahan tentang penulisan aturan YARA-L dan mengorelasikan feed intelijen ancaman kustom, lihat Google Cloud Referensi komunitas berikut:

Pemecahan masalah

Gunakan bagian ini untuk mengelola ekspektasi performa dan menyelesaikan masalah umum saat mengaktifkan feed threat intelligence dan membuat aturan korelasi.

Latensi, kuota layanan, dan batas

  • Penyerapan dan pengindeksan penelusuran UDM: Indikator yang baru diserap biasanya muncul di penelusuran UDM dalam waktu 2 hingga 5 menit. Tunggu setidaknya 5 menit setelah penyerapan feed sebelum memecahkan masalah rekaman entitas yang tidak ada.
  • Latensi pencocokan IoC otomatis: Setelah indikator mengisi ECG, kecocokan dengan peristiwa streaming yang masuk akan muncul di halaman Pencocokan IoC dalam waktu 5 hingga 15 menit. Pencocokan batch secara retroaktif dengan peristiwa historis biasanya memerlukan waktu 1 hingga 4 jam (dan hingga 24 jam untuk korelasi historis penuh).
  • Jangka waktu korelasi Grafik Konteks Entitas: Aturan korelasi YARA-L dan pencocokan IoC otomatis mengevaluasi indikator secara ketat dalam jangka waktu aktif metadata.interval. Indikator dengan nilai end_time yang sudah habis masa berlakunya tidak akan menghasilkan kecocokan.
  • Periode penelusuran retrohunt: Retrohunt YARA-L memindai hingga 30 hari telemetri historis per eksekusi. Waktu penyelesaian bergantung pada kompleksitas aturan dan ketersediaan resource sistem.

Perbaikan error

Gunakan tabel ini untuk mendiagnosis dan menyelesaikan masalah selama proses aktivasi threat intelligence dan penulisan aturan deteksi.

Masalah Deskripsi masalah Perbaiki
Log IoC yang tidak diuraikan Status feed menampilkan data masuk, tetapi log gagal diuraikan ke dalam entitas UDM. Pastikan jenis log feed cocok dengan parser Anda (misalnya, STIX, MISP_IOC, atau CSV_CUSTOM_IOC). Periksa dasbor Penyerapan data untuk mengetahui error skema mentah.
Hasil penelusuran UDM tidak ada Log indikator diuraikan tanpa error, tetapi penelusuran UDM tidak menampilkan data entitas. Pastikan kueri Anda menargetkan kolom graph.entity.* (seperti graph.entity.ip), bukan kolom peristiwa udm.principal.*.
Aturan gagal dipicu pada indikator yang diketahui Peristiwa dan indikator ada dalam penelusuran UDM, tetapi aturan YARA-L tidak menghasilkan deteksi. Pastikan bahwa metadata.interval.start_time dan metadata.interval.end_time pada indikator mencakup stempel waktu peristiwa.
Membuat peringatan banjir selama retrohunt Menjalankan retrohunt akan membuat ratusan kasus dan pemberitahuan SOAR duplikat. Nonaktifkan tombol peringatan aturan sebelum memulai retrohunt. Tinjau deteksi di halaman Deteksi sebelum mengaktifkan kembali pemberitahuan langsung.
Volume positif palsu yang tinggi Indikator bising memicu deteksi pada pemindai internal atau host administratif yang tidak berbahaya. Tambahkan pengecualian daftar rujukan ke aturan Anda (misalnya, not $net.principal.ip in %benign_scanner_ips) dan memerlukan konteks peristiwa perilaku.

Validasi dan pengujian

Sebelum mengaktifkan aturan intelijen ancaman kustom dalam mode pemberitahuan langsung, verifikasi logikanya menggunakan fitur Uji aturan bawaan:

  1. Buka Deteksi > Aturan & Deteksi, lalu klik aturan Anda untuk membuka Editor Aturan.
  2. Klik Uji aturan di panel bawah untuk mengevaluasi aturan terhadap data peristiwa historis baru-baru ini dan entitas EKG aktif tanpa membuat pemberitahuan atau kasus SOAR.
  3. Periksa deteksi pengujian yang ditampilkan untuk mengonfirmasi bahwa variabel outcome (seperti $threat_name dan $source_feed) diisi sesuai yang diharapkan.

Langkah berikutnya

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