Cyber Security Academy · Pelajaran

Menulis Aturan Sigma

Sintaks aturan deteksi yang portabel.

Pelajaran 2 dari 413 langkah

Menulis Aturan Sigma adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa Itu Sigma

Sigma adalah format tanda tangan generik yang netral terhadap vendor untuk deteksi berbasis log. Anda menulis logika deteksi sekali dalam YAML, lalu mengonversinya menjadi SPL Splunk, kueri Elastic, KQL Sentinel, dan banyak sistem tujuan lainnya.

Sigma bagi deteksi log sebagaimana YARA bagi deteksi berkas: bahasa bersama yang portabel. Sigma memungkinkan tim berbagi aturan secara publik dan menghindari penulisan ulang gagasan yang sama untuk setiap SIEM.

Struktur Aturan

Aturan Sigma adalah dokumen YAML dengan bagian wajib dan opsional. Bagian pentingnya adalah title, logsource, dan detection.

title: Suspicious PowerShell Encoded Command
id: 7e3f3c1a-1f2b-4c3d-9a8b-1234567890ab
status: experimental
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\\powershell.exe'
    CommandLine|contains: '-enc'
  condition: selection
level: high

Blok logsource

Blok logsource memberi tahu konverter catatan mana yang berlaku untuk aturan tersebut. Blok ini tidak melakukan kueri data secara langsung; blok ini memilih pemetaan bidang dan indeks yang tepat selama konversi.

Kunci yang umum:

  • product — misalnya windows, linux, aws
  • category — misalnya process_creation, network_connection, file_event
  • service — misalnya sysmon, security, sshd

Pilih kombinasi paling spesifik yang didukung data Anda agar alur memetakan bidang dengan benar.

Pilihan dan Pengidentifikasi Pencarian

Di dalam detection, Anda menentukan satu atau beberapa pengidentifikasi pencarian bernama (pilihan). Masing-masing merupakan peta kriteria bidang-ke-nilai. Beberapa bidang dalam satu pilihan digabungkan dengan AND logis.

Di sini, kedua kondisi harus benar agar selection cocok.

detection:
  selection:
    EventID: 4688
    NewProcessName|endswith: '\\whoami.exe'
  condition: selection

Pengubah Bidang

Pengubah menyempurnakan cara pencocokan suatu nilai. Pengubah ditambahkan ke nama bidang setelah tanda pipa.

  • contains — pencocokan substring
  • startswith / endswith — pencocokan berjangkar
  • all — setiap nilai dalam daftar harus ada
  • re — ekspresi reguler
  • base64offset|contains — mencocokkan substring yang dikodekan dalam base64

Pengubah dirangkai dari kiri ke kanan dan diterapkan secara berurutan.

detection:
  selection:
    CommandLine|contains|all:
      - 'Invoke-WebRequest'
      - 'DownloadString'
  condition: selection

Daftar dan Peta sebagai OR / AND

Dua aturan mengatur logika di dalam sebuah pilihan:

  • Daftar nilai di bawah satu bidang merupakan OR — nilai apa pun dapat cocok.
  • Peta beberapa bidang merupakan AND — semua bidang harus cocok.

Di bawah ini, Image cocok dengan salah satu berkas biner, dan User juga harus sama dengan SYSTEM.

detection:
  selection:
    Image|endswith:
      - '\\net.exe'
      - '\\net1.exe'
    User: 'SYSTEM'
  condition: selection

Ekspresi condition

condition menggabungkan pilihan bernama Anda dengan logika boolean. Di sinilah Anda menyatakan penyaringan dan pengecualian.

Operatornya mencakup and, or, not, tanda kurung, dan agregasi seperti count(). Anda juga dapat menggunakan 1 of selection* / all of selection* untuk merujuk kelompok pengidentifikasi berdasarkan awalan.

detection:
  selection:
    EventID: 4625
  timeframe: 5m
  condition: selection | count() by SourceIp > 10

Menyaring Derau

Untuk menekan aktivitas yang diketahui aman, tentukan pengidentifikasi terpisah lalu kurangkan pengidentifikasi tersebut dalam condition dengan not. Dengan demikian, logika berbahaya tetap mudah dibaca dan pengecualian dinyatakan secara jelas.

Di sini, aturan terpicu ketika rundll32 membuat koneksi jaringan, kecuali jika proses tersebut merupakan proses pembaruan sah yang telah diketahui.

detection:
  selection:
    Image|endswith: '\\rundll32.exe'
  filter_legit:
    ParentImage|endswith: '\\MicrosoftEdgeUpdate.exe'
  condition: selection and not filter_legit

Metadata untuk Triase

Selain logika, aturan yang baik memiliki metadata yang membantu tim respons bertindak cepat dan membantu rekayasawan mempertahankan cakupan.

  • level — informatif, rendah, sedang, tinggi, kritis
  • tags — teknik ATT&CK, misalnya attack.t1059.001
  • falsepositives — pemicu jinak yang telah diketahui
  • references — laporan ancaman atau dokumentasi
  • author dan date

Bidang-bidang ini hanya memerlukan beberapa menit untuk ditulis, tetapi dapat menghemat waktu berjam-jam selama insiden.

Aturan Korelasi

Aturan untuk satu peristiwa tidak dapat menyatakan serangan yang berlangsung dalam beberapa langkah. Aturan korelasi Sigma menggabungkan beberapa aturan dasar dalam rentang waktu untuk menangkap urutan dan pola.

Jenis yang didukung mencakup event_count (N kecocokan dalam jendela waktu), value_count (nilai berbeda, misalnya banyak pengguna yang gagal masuk), dan temporal (aturan A lalu aturan B). Dengan demikian, Anda dapat mendeteksi, misalnya, login yang berhasil segera setelah lonjakan kegagalan.

name: bruteforce_then_success
correlation:
  type: temporal
  rules: [failed_logins, successful_login]
  group-by: [SourceIp, TargetUser]
  timespan: 10m

Mengonversi ke Sistem Tujuan

Dengan sigma-cli, Anda mengonversi aturan ke bahasa kueri target Anda. Alur pemrosesan memetakan nama bidang Sigma ke skema nyata Anda.

Keluaran tersebut merupakan kueri yang siap diterapkan dan dapat Anda tempel atau kirim melalui antarmuka pemrograman aplikasi.

sigma convert -t splunk -p sysmon \
  -f default rule.yml

# Example output (Splunk SPL):
# Image="*\\powershell.exe" CommandLine="*-enc*"

Pemeriksaan Singkat

Periksa pemahaman Anda tentang logika deteksi Sigma.

Rangkuman

Anda kini dapat menulis aturan Sigma portabel:

  • logsource memilih catatan dan pemetaan bidang yang berlaku
  • Pilihan merupakan kriteria bidang-nilai bernama (bidang = AND, daftar nilai = OR)
  • Pengubah seperti pencocokan berisi, diakhiri, semua, dan ekspresi reguler menyempurnakan pencocokan
  • condition menggabungkan pilihan dengan logika dan/atau/tidak, penyaringan, serta agregasi
  • Pengidentifikasi filter terpisah mengurangi derau yang diketahui aman
  • Metadata (tingkat, tag, positif palsu) mempercepat triase
  • sigma convert mengompilasi aturan ke sistem tujuan SIEM Anda

Selanjutnya, Anda akan mengaitkan aturan-aturan ini dengan teknik lawan menggunakan MITRE ATT&CK.

Gratis untuk memulai

Belajar Cyber Security Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
303

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menulis Aturan Sigma” gratis?

Ya — teks lengkap “Menulis Aturan Sigma” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menulis Aturan Sigma”?

Sintaks aturan deteksi yang portabel. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Menulis Aturan Sigma” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Prinsip Detection-as-Code
  2. Menulis Aturan Sigma
  3. Pemetaan ke MITRE ATT&CK
  4. Menguji dan Menyetel Deteksi
← Kembali ke Cyber Security Academy