Referensi skema normalisasi DNS Model Informasi Keamanan Tingkat Lanjut (ASIM)

Model informasi DNS digunakan untuk menjelaskan peristiwa yang dilaporkan oleh server DNS atau sistem keamanan DNS, dan digunakan oleh Microsoft Azure Sentinel untuk mengaktifkan analitik agnostik-sumber.

Untuk informasi selengkapnya, lihat Normalisasi dan Model Informasi Keamanan Tingkat Lanjut (ASIM).

Gambaran umum Skema

Skema DNS ASIM mewakili aktivitas protokol DNS. Server DNS dan perangkat yang mengirim permintaan DNS ke aktivitas DNS log server DNS. Aktivitas protokol DNS mencakup kueri DNS, pembaruan server DNS, dan transfer data massal DNS. Karena skema ini mewakili aktivitas protokol, skema ini diatur oleh RFC dan daftar parameter yang ditetapkan secara resmi, yang dirujuk dalam artikel ini bila sesuai. Skema DNS tidak mewakili peristiwa audit server DNS.

Aktivitas paling penting yang dilaporkan oleh server DNS adalah kueri DNS, di mana bidang EventType diatur ke Query.

Bidang yang paling penting dalam peristiwa DNS adalah:

  • DnsQuery, yang melaporkan nama domain yang diterbitkan oleh kueri.

  • SrcIpAddr (alias ipAddr), yang mewakili alamat IP di mana permintaan dihasilkan. Server DNS biasanya menyediakan bidang SrcIpAddr, tetapi klien DNS terkadang tidak menyediakan bidang ini dan hanya menyediakan bidang SrcHostname.

  • EventResultDetails, yang melaporkan apakah permintaan itu berhasil dan jika tidak, mengapa.

  • Bila tersedia, DnsResponseName, yang menyimpan jawaban yang disediakan oleh server untuk kueri. ASIM tidak memerlukan penguraian respons, dan formatnya bervariasi antar sumber.

    Untuk menggunakan bidang ini dalam konten agnostik-sumber, cari konten menggunakan operator has atau contains.

Peristiwa DNS yang dikumpulkan pada perangkat klien juga dapat mencakup informasi Pengguna dan Proses.

Panduan untuk mengumpulkan acara DNS

DNS adalah protokol unik karena dapat melintasi sejumlah besar komputer. Selain itu, karena DNS menggunakan UDP, permintaan dan tanggapan dipisahkan dan tidak terkait langsung satu sama lain.

Gambar berikut menunjukkan alur permintaan DNS yang disederhanakan, termasuk empat segmen. Permintaan dunia nyata bisa lebih kompleks, dengan lebih banyak segmen yang terlibat.

Alur permintaan DNS yang disederhanakan.

Karena segmen permintaan dan respons tidak terhubung langsung satu sama lain dalam aliran permintaan DNS, pengelogan penuh dapat mengakibatkan duplikasi yang signifikan.

Segmen yang paling berharga untuk log adalah respons terhadap klien. Segmen yang paling berharga untuk dicatat adalah respons terhadap klien, yang menyediakan kueri nama domain, hasil pencarian, dan alamat IP klien. Sementara banyak sistem DNS hanya mencatat segmen ini, ada nilai dalam pengelogan bagian lain. Misalnya, serangan keracunan cache DNS sering mengambil keuntungan dari tanggapan palsu dari server hulu.

Jika sumber data Anda mendukung pengelogan DNS penuh dan Anda telah memilih untuk mencatat beberapa segmen, Anda harus menyesuaikan kueri untuk mencegah duplikasi data di Microsoft Azure Sentinel.

Misalnya, Anda dapat mengubah kueri Anda dengan normalisasi berikut:

_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"

Parser

Untuk informasi selengkapnya tentang parser ASIM, lihat gambaran umum parser ASIM.

Pengurai di luar kotak

Untuk menggunakan pengurai yang menyatukan semua pengurai di luar kotak ASIM, dan memastikan bahwa analisis Anda berjalan di semua sumber yang dikonfigurasi, gunakan pengurai pemersatu _Im_Dns sebagai nama tabel dalam kueri Anda.

Untuk daftar pengurai DNS yang disediakan Microsoft Azure Sentinel di luar kotak, lihat daftar pengurai ASIM.

Tambahkan parser normalisasi Anda sendiri

Saat menerapkan pengurai kustom untuk model informasi Dns, beri nama fungsi KQL Anda menggunakan format vimDns<vendor><Product>. Lihat artikel Mengelola pengurai ASIM untuk mempelajari cara menambahkan pengurai kustom Anda ke pengurai pemersatu DNS.

Memfilter parameter parser

Pengurai DNS mendukung parameter pemfilteran. Meskipun parameter ini bersifat opsional, parameter ini dapat meningkatkan performa kueri Anda.

Parameter pemfilteran berikut ini tersedia:

Name Type Deskripsi
starttime tanggalwaktu Filter hanya kueri DNS yang berjalan pada atau setelah waktu ini. Parameter ini memfilter pada TimeGenerated bidang , yang merupakan penunjuk standar untuk waktu peristiwa, terlepas dari pemetaan khusus pengurai bidang EventStartTime dan EventEndTime.
endtime tanggalwaktu Filter hanya kueri DNS yang selesai dijalankan pada atau sebelum waktu ini. Parameter ini memfilter pada TimeGenerated bidang , yang merupakan penunjuk standar untuk waktu peristiwa, terlepas dari pemetaan khusus pengurai bidang EventStartTime dan EventEndTime.
srcipaddr string Filter hanya kueri DNS dari alamat IP sumber ini.
domain_has_any dynamic/string Filter hanya kueri DNS di mana domain (atau query) memiliki salah satu nama domain yang tercantum, termasuk sebagai bagian dari domain peristiwa. Panjang daftar dibatasi hingga 10.000 item.
responsecodename string Filter hanya kueri DNS yang nama kode responsnya sesuai dengan nilai yang disediakan.
Sebagai contoh: NXDOMAIN
response_has_ipv4 string Filter hanya kueri DNS di mana bidang respons dimulai dengan alamat IP yang disediakan atau prefiks alamat IP. Gunakan parameter ini saat Anda ingin memfilter pada satu alamat IP atau prefiks.

Hasil tidak dikembalikan untuk sumber yang tidak memberikan respons.
response_has_any_prefix dynamic Filter hanya kueri DNS di mana bidang respons dimulai dengan salah satu alamat IP yang disediakan atau prefiks alamat IP. Prefiks harus diakhiri dengan ., misalnya: 10.0..

Gunakan parameter ini saat Anda ingin memfilter pada daftar alamat IP atau prefiks.

Hasil tidak dikembalikan untuk sumber yang tidak memberikan respons. Panjang daftar dibatasi hingga 10.000 item.
eventtype string Filter hanya jenis kueri DNS yang ditentukan. Jika tidak ada nilai yang ditentukan, hanya permintaan pencarian yang dikembalikan.

Misalnya, untuk hanya memfilter kueri DNS dari hari terakhir yang gagal menyelesaikan nama domain, gunakan:

_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())

Untuk hanya memfilter kueri DNS untuk daftar nama domain tertentu, gunakan:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)

Beberapa parameter dapat menerima kedua daftar nilai jenis dynamic atau nilai string tunggal. Untuk meneruskan daftar harfiah ke parameter yang memerlukan nilai dinamis, secara eksplisit gunakan harfiah dinamis. Sebagai contoh: dynamic(['192.168.','10.'])

Konten yang dinormalisasi

Untuk daftar lengkap aturan analitik yang menggunakan peristiwa DNS yang dinormalisasi, lihat bagian konten keamanan kueri DNS.

Detail skema

Model informasi DNS diselaraskan dengan skema entitas DNS OSSEM.

Untuk informasi selengkapnya, lihat referensi parameter DNS Internet Assigned Numbers Authority (IANA).

Bidang ASIM umum

Penting

Bidang yang umum untuk semua skema dijelaskan secara rinci dalam artikel Bidang Umum ASIM.

Bidang umum dengan pedoman khusus

Daftar berikut menyebutkan bidang yang memiliki pedoman khusus untuk acara DNS:

Ladang Kelas Jenis Description
EventType Mandatory Disebutkan Menunjukkan operasi yang dilaporkan oleh rekaman.

Untuk catatan DNS, nilai ini akan menjadi kode operasi DNS.

Contoh: Query
EventSubType Optional Disebutkan Entah request atau response.

Untuk sebagian besar sumber, hanya tanggapan yang dicatat, dan oleh karena itu nilainya sering kali tanggapan.
EventResultDetails Mandatory Disebutkan Untuk peristiwa DNS, bidang ini menyediakan kode respons DNS.

Catatan:
- IANA tidak menentukan kasus untuk nilai, jadi analitik harus menormalkan kasus.
- Jika sumber hanya menyediakan kode respons numerik dan bukan nama kode respons, pengurai harus menyertakan tabel pencarian untuk memperkaya dengan nilai ini.
- Jika rekaman ini mewakili permintaan dan bukan respons, atur ke NA.

Contoh: NXDOMAIN
EventSchemaVersion Mandatory SchemaVersion (String) Versi skema yang didokumentasikan di sini adalah 0.1.7.
EventSchema Mandatory Disebutkan Nama skema yang didokumentasikan di sini adalah Dns.
Bidang Dvc - - Untuk peristiwa DNS, bidang perangkat mengacu pada sistem yang melaporkan peristiwa DNS.

Semua bidang umum

Bidang yang muncul pada tabel di bawah ini adalah umum untuk semua skema ASIM. Setiap pedoman yang ditentukan di atas mengambil alih pedoman umum untuk bidang ini. Misalnya, sebuah bidang mungkin opsional secara umum, tetapi wajib untuk skema tertentu. Untuk detail selengkapnya tentang setiap bidang, lihat artikel Bidang Umum ASIM.

Kelas Fields
Mandatory - Jumlah Peristiwa
- Waktu MulaiPeristiwa
- Waktu Akhir Peristiwa
- Jenis Peristiwa
- Hasil Peristiwa
- Produk Acara
- Vendor Peristiwa
- Skema Peristiwa
- EventSchemaVersion
- Dvc
Recommended - EventResultDetails
- Tingkat Keparahan Peristiwa
- Acara Uid
- DvcIpAddr
- Nama Host Dvc
- Domain Dvc
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Optional - Pesan Peristiwa
- Subtipe Peristiwa
- PeristiwaAsliUid
- EventOriginalType
- PeristiwaAsliSubtipe
- EventOriginalResultDetails
- Tingkat Keparahan PeristiwaAsli
- EventProductVersion
- EventReportUrl
- Pemilik Acara
- Zona Dvc
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- Antarmuka Dvc
- Bidang Tambahan
- DvcDescription
- DvcScopeId
- Ruang lingkup Dvc

Bidang sistem sumber

Ladang Class Type Deskripsi
Busur Alias string Pengenal unik perangkat sumber.

Bidang ini bisa menjadi alias bagi bidang SrcDvcId, SrcHostname, atau SrclpAddr.

Contoh: 192.168.12.1
SrcIpAddr Recommended Alamat IP Alamat IP klien yang mengirim permintaan DNS. Untuk permintaan DNS rekursif, nilai ini biasanya akan menjadi perangkat pelaporan, dan dalam banyak kasus diatur ke 127.0.0.1.

Contoh: 192.168.12.1
SrcPortNumber Optional Integer Port asal kueri DNS.

Contoh: 54312
IpAddr Alias Alias ke SrcIpAddr
SrcGeoCountry Optional Negara Negara/wilayah yang terkait dengan alamat IP sumber.

Contoh: USA
Wilayah Geologi Src Optional Wilayah Wilayah yang terkait dengan alamat IP sumber.

Contoh: Vermont
SrcGeoCity Optional Kota Kota yang terkait dengan alamat IP sumber.

Contoh: Burlington
SrcGeoLatitude Optional Lintang Garis lintang koordinat geografis yang terkait dengan alamat IP sumber.

Contoh: 44.475833
SrcGeoBujur Optional Bujur Garis bujur koordinat geografis yang terkait dengan alamat IP sumber.

Contoh: 73.211944
SrcRiskLevel Optional Integer Tingkat risiko yang terkait dengan sumber. Nilai harus disesuaikan dengan rentang 0 hingga 100, dengan 0 menjadi tidak berisiko dan 100 menjadi risiko tinggi.

Contoh: 90
SrcOriginalRiskLevel Optional string Tingkat risiko yang terkait dengan sumbernya, seperti yang dilaporkan oleh perangkat pelaporan.

Contoh: Suspicious
Nama Host Src Recommended Nama Host (String) Nama host perangkat sumber, tidak termasuk informasi domain.

Contoh: DESKTOP-1282V4D
Host Name Alias Alias SrcHostname
Domain Src Recommended Domain (String) Domain perangkat sumber.

Contoh: Contoso
SrcDomainType Bersyarat Disebutkan Jenis SrcDomain, jika diketahui. Nilai yang mungkin termasuk:
- Windows (misalnya: contoso)
- FQDN (misalnya: microsoft.com)

Diperlukan jika SrcDomain digunakan.
SrcFQDN Optional FQDN (String) Nama host perangkat sumber, termasuk informasi domain saat tersedia.

Catatan: Bidang ini mendukung format FQDN tradisional dan format domain\hostname Windows. Bidang SrcDomainType mencerminkan format yang digunakan.

Contoh: Contoso\DESKTOP-1282V4D
SrcDvcId Optional string ID perangkat sumber seperti yang dilaporkan dalam rekaman.

Sebagai contoh: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Optional string ID cakupan platform cloud yang dimiliki perangkat. Peta SrcDvcScopeId ke ID langganan di Azure dan ke ID akun di AWS.
Lingkup SrcDvc Optional string Cakupan platform cloud yang dimiliki perangkat. SrcDvcScope memetakan ke ID langganan di Azure dan ke ID akun di AWS.
SrcDvcIdType Bersyarat Disebutkan Jenis SrcDvcId, jika diketahui. Nilai yang mungkin termasuk:
- AzureResourceId
- MDEid

Jika beberapa ID tersedia, gunakan yang pertama dari daftar di atas, dan simpan yang lain di masing-masing SrcDvcAzureResourceId dan SrcDvcMDEid.

Catatan: Bidang ini diperlukan jika SrcDvcId digunakan.
SrcDeviceType Optional Disebutkan Jenis perangkat sumber Nilai yang mungkin termasuk:
- Computer
- Mobile Device
- IOT Device
- Other
Deskripsi Src Optional string Teks deskriptif yang terkait dengan perangkat. Misalnya: Primary Domain Controller.

Bidang pengguna sumber

Ladang Class Type Deskripsi
SrcUserId Optional string Representasi unik, alfanumerik, dan dapat dibaca komputer dari pengguna sumber. Untuk informasi selengkapnya, dan untuk bidang alternatif untuk ID tambahan, lihat Entitas pengguna.

Contoh: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Optional string Cakupan, seperti penyewa Microsoft Entra, di mana SrcUserId dan SrcUsername ditentukan. atau informasi selengkapnya dan daftar nilai yang diizinkan, lihat UserScope di artikel Gambaran Umum Skema.
SrcUserScopeId Optional string ID cakupan, seperti ID Microsoft Entra Directory, di mana SrcUserId dan SrcUsername ditentukan. untuk informasi selengkapnya dan daftar nilai yang diizinkan, lihat UserScopeId di artikel Gambaran Umum Skema.
SrcUserIdType Bersyarat UserIdType Jenis ID yang disimpan pada bidang ActorUserId. Untuk informasi selengkapnya dan daftar nilai yang diizinkan, lihat UserIdType di Artikel Ringkasan Skema.
SrcNama pengguna Optional Nama pengguna (String) Nama pengguna Sumber, termasuk informasi domain jika tersedia. Untuk informasi selengkapnya, lihat Entitas pengguna.

Contoh: AlbertE
SrcUsernameType Bersyarat JenisNamaPengguna Menentukan jenis nama pengguna yang disimpan di bidang SrcUsername . Untuk informasi selengkapnya, dan daftar nilai yang diizinkan, lihat UsernameType di Artikel Ringkasan Skema.

Contoh: Windows
Pengguna Alias Alias SrcUsername
SrcUserType Optional Jenis Pengguna Jenis pengguna sumber. Untuk informasi selengkapnya, dan daftar nilai yang diizinkan, lihat UserType di Artikel Ringkasan Skema.

Sebagai contoh: Guest
SrcUserSessionId Optional string ID unik dari sesi masuk Aktor.

Contoh: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Optional string Jenis pengguna sumber asli, jika disediakan oleh sumber.

Bidang proses sumber

Ladang Class Type Deskripsi
SrcProcessName Optional string Nama file dari proses yang memulai permintaan DNS. Nama ini biasanya dianggap sebagai nama proses.

Contoh: C:\Windows\explorer.exe
Proses Alias Alias untuk SrcProcessName

Contoh: C:\Windows\System32\rundll32.exe
SrcProcessId Optional string ID proses (PID) dari proses yang memulai permintaan DNS.

Contoh: 48610176

Catatan: Jenis didefinisikan sebagai string untuk mendukung berbagai sistem, tetapi pada Windows dan Linux nilai ini harus berupa angka.

Jika Anda menggunakan mesin Windows atau Linux dan menggunakan jenis yang berbeda, pastikan untuk mengonversi nilai ini. Misalnya, jika Anda menggunakan nilai heksadesimal, ubah menjadi nilai desimal.
SrcProcessGuid Optional GUID (String) Pengidentifikasi unik yang dihasilkan (GUID) dari proses yang memulai permintaan DNS.

Contoh: EF3BD0BD-2B74-60C5-AF5C-010000001E00

Bidang sistem tujuan

Ladang Class Type Deskripsi
Dst Alias string Pengidentifikasi unik dari server yang menerima permintaan DNS.

Bidang ini dapat menjadi alias bagi bidang DstDvcId, DstHostname, atau DstIpAddr.

Contoh: 192.168.12.1
DstIpAddr Optional Alamat IP Alamat IP server yang menerima permintaan DNS. Untuk permintaan DNS reguler, nilai ini biasanya akan menjadi perangkat pelaporan, dan dalam banyak kasus diatur ke 127.0.0.1.

Contoh: 127.0.0.1
DstGeoCountry Optional Negara Negara/wilayah yang terkait dengan alamat IP tujuan. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: USA
DstGeoRegion Optional Wilayah Wilayah, atau status, yang terkait dengan alamat IP tujuan. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: Vermont
DstGeoCity Optional Kota Kota yang terkait dengan alamat IP tujuan. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: Burlington
DstGeoLatitude Optional Lintang Garis lintang koordinat geografis yang terkait dengan alamat IP tujuan. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: 44.475833
DstGeoLongitude Optional Bujur Garis bujur koordinat geografis yang terkait dengan alamat IP tujuan. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: 73.211944
DstRiskLevel Optional Integer Tingkat risiko yang terkait dengan tujuan. Nilai harus disesuaikan dengan rentang 0 hingga 100, dengan 0 menjadi tidak berisiko dan 100 menjadi risiko tinggi.

Contoh: 90
DstOriginalRiskLevel Optional string Tingkat risiko yang terkait dengan tujuan, seperti yang dilaporkan oleh perangkat pelaporan.

Contoh: Malicious
DstPortNumber Optional Integer Nama Port Tujuan.

Contoh: 53
DstNama Host Optional Nama Host (String) Nama host perangkat tujuan, tidak termasuk informasi domain. Jika tidak ada nama perangkat yang tersedia, simpan alamat IP yang relevan di bidang ini.

Contoh: DESKTOP-1282V4D

Catatan: Nilai ini wajib jika DstIpAddr ditentukan.
Domain DstDomain Optional Domain (String) Domain perangkat tujuan.

Contoh: Contoso
DstDomainType Bersyarat Disebutkan Jenis DstDomain, jika diketahui. Nilai yang mungkin termasuk:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Diperlukan jika DstDomain digunakan.
DstFQDN Optional FQDN (String) Nama host perangkat target, termasuk informasi domain saat tersedia.

Contoh: Contoso\DESKTOP-1282V4D

Catatan: Bidang ini mendukung format FQDN tradisional dan format domain\hostname Windows. DstDomainType mencerminkan format yang digunakan.
DstDvcId Optional string ID perangkat tujuan seperti yang dilaporkan dalam catatan.

Contoh: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Optional string ID cakupan platform cloud yang dimiliki perangkat. DstDvcScopeId memetakan ke ID langganan di Azure dan ke ID akun di AWS.
Ruang lingkup DstDvc Optional string Cakupan platform cloud yang dimiliki perangkat. DstDvcScope memetakan ke ID langganan di Azure dan ke ID akun di AWS.
DstDvcIdType Bersyarat Disebutkan Jenis DstDvcId, jika diketahui. Nilai yang mungkin termasuk:
- AzureResourceId
- MDEidIf

Jika beberapa ID tersedia, gunakan yang pertama dari daftar di atas, dan simpan yang lain di masing-masing bidang DstDvcAzureResourceId atau DstDvcMDEid.

Diperlukan jika DstDeviceId digunakan.
DstDeviceType Optional Disebutkan Jenis perangkat tujuan. Nilai yang mungkin termasuk:
- Computer
- Mobile Device
- IOT Device
- Other
Deskripsi Dst Optional string Teks deskriptif yang terkait dengan perangkat. Misalnya: Primary Domain Controller.

Bidang khusus DNS

Ladang Class Type Deskripsi
DnsQuery Mandatory string Domain yang coba diselesaikan oleh permintaan.

Catatan:
- Beberapa sumber mengirim kueri FQDN yang valid dalam format yang berbeda. Misalnya, dalam protokol DNS itu sendiri, kueri menyertakan titik (.) di bagian akhir, yang harus dihapus.
- Meskipun protokol DNS membatasi jenis nilai dalam bidang ini ke FQDN, sebagian besar server DNS mengizinkan nilai apa pun, dan oleh karena itu bidang ini tidak terbatas pada nilai FQDN saja. Terutama, serangan penerowongan DNS dapat menggunakan nilai FQDN yang tidak valid di bidang kueri.
- Sementara protokol DNS memungkinkan beberapa kueri dalam satu permintaan, skenario ini jarang terjadi, jika ditemukan sama sekali. Jika permintaan memiliki beberapa kueri, simpan yang pertama di bidang ini, lalu dan secara opsional simpan sisanya di bidang Bidang Tambahan.

Contoh: www.malicious.com
Domain Alias Alias ke DnsQuery.
DnsQueryType Optional Integer Kode Jenis Catatan Sumber Daya DNS.

Contoh: 28
DnsQueryTypeName Recommended Disebutkan Nama Jenis Catatan Sumber Daya DNS.

Catatan:
- IANA tidak menentukan kasus untuk nilai, jadi analytik harus menormalkan kasus sesuai kebutuhan.
- Nilai ANY didukung untuk kode respons 255.
- Nilai TYPExxxx didukung untuk kode respons yang tidak dipetakan, yang mana xxxx adalah nilai numerik dari kode respons, seperti yang dilaporkan oleh server BIND DNS.
- Jika sumber hanya menyediakan kode jenis kueri numerik dan bukan nama jenis kueri, parser harus menyertakan tabel pencarian untuk memperkaya nilai ini.

Contoh: AAAA
DnsResponseName Optional string Isi tanggapan, sebagaimana tercatat dalam rekaman.

Data respons DNS tidak konsisten di seluruh perangkat pelaporan, rumit untuk diuraikan, dan memiliki nilai yang lebih rendah untuk analitik agnostik sumber. Oleh karena itu model informasi tidak memerlukan penguraian dan normalisasi, dan Microsoft Azure Sentinel menggunakan fungsi tambahan untuk memberikan informasi respons. Untuk informasi selengkapnya, lihat Menangani respons DNS.
DnsResponseCodeName Alias Alias untuk EventResultDetails
DnsResponseCode Optional Integer Kode respons numerik DNS.

Contoh: 3
TransaksiIdHex Recommended Heksadesimal (String) ID unik kueri DNS seperti yang ditetapkan oleh klien DNS, dalam format heksadesimal. Perhatikan bahwa nilai ini adalah bagian dari protokol DNS dan berbeda dari DnsSessionId, ID sesi lapisan jaringan, biasanya ditetapkan oleh perangkat pelaporan.
Protokol Jaringan Optional Disebutkan Protokol transportasi yang digunakan oleh peristiwa resolusi jaringan. Nilainya bisa UDP atau TCP, dan paling sering diaitur ke UDP untuk DNS.

Contoh: UDP
NetworkProtocolVersion Optional Disebutkan Versi NetworkProtocol. Saat menggunakannya untuk membedakan antara versi IP, gunakan nilai IPv4 dan IPv6.
DnsQueryClass Optional Integer ID kelas DNS.

Dalam praktiknya, hanya kelas IN (ID 1) yang digunakan, sehingga bidang ini kurang bernilai.
DnsQueryClassName Recommended DnsQueryClassName (String) Nama kelas DNS.

Dalam praktiknya, hanya kelas IN (ID 1) yang digunakan, sehingga bidang ini kurang bernilai.

Contoh: IN
Bendera Dns Optional string Bidang bendera, seperti yang disediakan oleh perangkat pelaporan. Jika informasi bendera disediakan di berbagai bidang, gabungkan informasi dengan koma sebagai pemisah.

karena flag DNS rumit untuk diuraikan dan jarang digunakan oleh analitik, penguraian dan normalisasi tidak diperlukan. Microsoft Sentinel dapat menggunakan fungsi tambahan untuk memberikan informasi bendera. Untuk informasi selengkapnya, lihat Menangani respons DNS.

Contoh: ["DR"]
Durasi Jaringan Dns Optional Integer Jumlah waktu, dalam milidetik, untuk penyelesaian permintaan DNS.

Contoh: 1500
Duration Alias Alias untuk DnsNetworkDuration
DnsFlagsAuthenticated Optional Boolean Bendera AD DNS, yang terkait dengan DNSSEC, menunjukkan dalam tanggapan bahwa semua data yang termasuk dalam bagian jawaban dan otoritas respons telah diverifikasi oleh server sesuai dengan kebijakan server tersebut. Untuk informasi selengkapnya, lihat Bagian 6.1 RFC 3655 untuk informasi selengkapnya.
DnsFlagsAuthoritative Optional Boolean Bendera AA DNS menunjukkan apakah respons dari server otoritatif
DnsFlagsCheckingDisabled Optional Boolean Bendera CD DNS, yang terkait dengan DNSSEC, menunjukkan dalam kueri bahwa data yang tidak diverifikasi dapat diterima oleh sistem yang mengirim kueri. Untuk informasi selengkapnya, lihat Bagian 6.1 RFC 3655 untuk informasi selengkapnya.
DnsFlagsRecursionAvailable Optional Boolean Bendera RA DNS menunjukkan dalam respons bahwa server tersebut mendukung kueri rekursif.
DnsFlagsRecursionDesired Optional Boolean Bendera RD DNS menunjukkan dalam permintaan bahwa klien ingin server menggunakan kueri rekursif.
DnsFlagsTruncated Optional Boolean Bendera TC DNS menunjukkan bahwa respons dipotong karena melebihi ukuran respons maksimum.
DnsFlagsZ Optional Boolean Bendera Z DNS adalah bendera DNS yang tidak digunakan lagi, yang mungkin dilaporkan oleh sistem DNS yang lebih tua.
DnsSessionId Optional string Pengidentifikasi sesi DNS seperti yang dilaporkan oleh perangkat pelaporan. Nilai ini berbeda dari TransactionIdHex, ID unik kueri DNS seperti yang ditetapkan oleh klien DNS.

Contoh: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
SessionId Alias Alias untuk DnsSessionId
DnsResponseIpCountry Optional Negara Negara/wilayah yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: USA
DnsResponseIpRegion Optional Wilayah Wilayah, atau status, yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: Vermont
DnsResponseIpCity Optional Kota Kota yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: Burlington
DnsResponseIpLatitude Optional Lintang Garis lintang koordinat geografis yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: 44.475833
DnsResponseIpLongitude Optional Bujur Garis bujur koordinat geografis yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi selengkapnya, lihat Jenis logika.

Contoh: 73.211944

Bidang inspeksi

Bidang berikut digunakan untuk mewakili pemeriksaan, yang dilakukan oleh perangkat keamanan DNS. Bidang terkait ancaman mewakili satu ancaman yang terkait dengan alamat sumber, alamat tujuan, salah satu alamat IP dalam respons atau domain kueri DNS. Jika lebih dari satu ancaman diidentifikasi sebagai ancaman, informasi tentang alamat IP lain dapat disimpan di bidang AdditionalFields.

Ladang Class Type Deskripsi
UrlKategori Optional string Sumber peristiwa DNS juga dapat mencari kategori Domain yang diminta. Bidang ini disebut UrlCategory untuk menyelaraskan dengan skema jaringan Microsoft Azure Sentinel.

DomainCategory ditambahkan sebagai alias yang sesuai dengan DNS.

Contoh: Educational \\ Phishing
DomainCategory Alias Alias untuk UrlCategory.
Nama Aturan Optional string Nama atau ID aturan yang mengidentifikasi ancaman.

Contoh: AnyAnyDrop
Nomor Aturan Optional Integer Jumlah aturan yang mengidentifikasi ancaman.

Contoh: 23
Aturan Alias string Baik nilai RuleName atau nilai RuleNumber. Jika nilai RuleNumber digunakan, jenis harus dikonversi ke string.
Nomor Aturan Optional int Jumlah aturan yang terkait dengan pemberitahuan.

Contoh: 123456
Nama Aturan Optional string Nama atau ID aturan yang terkait dengan pemberitahuan.

Contoh: Server PSEXEC Execution via Remote Access
Identifi Ancaman Optional string ID ancaman atau malware yang diidentifikasi dalam sesi jaringan.

Contoh: Tr.124
Kategori Ancaman Optional string Jika sumber peristiwa DNS juga menyediakan keamanan DNS, itu juga dapat mengevaluasi peristiwa DNS. Misalnya, ia dapat mencari alamat IP atau domain dalam database intelijen ancaman, dan dapat menetapkan domain atau alamat IP dengan Kategori Ancaman.
ThreatIpAddr Optional Alamat IP Alamat IP yang ancamannya diidentifikasi. Bidang ThreatField berisi nama bidang yang diwakili ThreatIpAddr. Jika ancaman diidentifikasi di bidang Domain, bidang ini harus kosong.
Bidang Ancaman Bersyarat Disebutkan Bidang yang ancamannya diidentifikasi. Nilainya adalah SrcIpAddr, DstIpAddr, Domain, atau DnsResponseName.
Nama Ancaman Optional string Nama ancaman yang diidentifikasi, seperti yang dilaporkan oleh perangkat pelaporan.
ThreatConfidence Optional Tingkat Keyakinan (Bilangan bulat) Tingkat keyakinan ancaman yang diidentifikasi, dinormalisasi ke nilai antara 0 dan 100.
ThreatOriginalConfidence Optional string Tingkat keyakinan asli ancaman yang diidentifikasi, seperti yang dilaporkan oleh perangkat pelaporan.
Tingkat Risiko Ancaman Optional Tingkat Risiko (Bilangan Bulat) Tingkat risiko yang terkait dengan ancaman yang diidentifikasi, dinormalisasi ke nilai antara 0 dan 100.
ThreatOriginalRiskLevel Optional string Tingkat risiko asli yang terkait dengan ancaman yang diidentifikasi, seperti yang dilaporkan oleh perangkat pelaporan.
AncamanIsAktif Optional Boolean Benar jika ancaman yang diidentifikasi dianggap sebagai ancaman aktif.
ThreatFirstReportedTime Optional tanggalwaktu Pertama kali alamat IP atau domain diidentifikasi sebagai ancaman.
ThreatLastReportedTime Optional tanggalwaktu Terakhir kali alamat IP atau domain diidentifikasi sebagai ancaman.

Alias dan bidang yang tidak digunakan lagi

Bidang berikut adalah alias yang saat ini tidak digunakan lagi tetapi dipertahankan untuk kompatibilitas mundur. Mereka akan dihapus dari skema pada 31 Desember 31, 2021.

  • Query (alias ke DnsQuery)
  • QueryType (alias ke DnsQueryType)
  • QueryTypeName (alias ke DnsQueryTypeName)
  • ResponseName (alias ke DnsResponseName)
  • ResponseCodeName (alias ke DnsResponseCodeName)
  • ResponseCode (alias ke DnsResponseCode)
  • QueryClass (alias ke DnsQueryClass)
  • QueryClassName (alias ke DnsQueryClassName)
  • Flags (alias ke DnsFlags)
  • SrcUserDomain

Pembaruan skema

Ini adalah perubahan dalam versi 0.1.2 dari skema tersebut:

  • Menambahkan bidang EventSchema.
  • Penambahan bidang bendera khusus yang menambah kombinasi bidang Bendera: DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionAvailable, DnsFlagsRecursionDesired, DnsFlagsTruncated, dan DnsFlagsZ.

Ini adalah perubahan dalam versi 0.1.3 dari skema tersebut:

  • Skema tersebut sekarang secara eksplisit mendokumentasikan bidang Src*, Dst* , Process*, dan User*.
  • Penambahan bidang Dvc* tambahan agar sesuai dengan definisi bidang umum terbaru.
  • Penambahan Src dan Dst sebagai alias ke pengenal utama untuk sistem sumber dan tujuan.
  • Penambahan DnsNetworkDuration dan Duration opsional, alias untuk opsi tersebut.
  • Penambahan bidang Geo Location dan Tingkat Risiko opsional.

Perubahan skema versi 0.1.4 adalah:

  • Menambahkan bidang ThreatIpAddropsional , , ThreatField, ThreatName, ThreatConfidence, ThreatOriginalConfidence, ThreatOriginalRiskLevel, ThreatIsActive, ThreatFirstReportedTime, dan ThreatLastReportedTime.

Perubahan skema versi 0.1.5 adalah:

  • Menambahkan bidang SrcUserScope, , SrcUserSessionId, SrcDvcScopeIdSrcDvcScope, , DstDvcScopeId, DstDvcScope, DvcScopeId, dan DvcScope.

Perubahan skema versi 0.1.6 adalah:

  • Menambahkan bidang DnsResponseIpCountry, DnsResponseIpRegion, DnsResponseIpCity, DnsResponseIpLatitude, dan DnsResponseIpLongitude.

Perubahan skema versi 0.1.7 adalah:

  • Menambahkan bidang SrcDescription, , SrcOriginalRiskLevel, DstDescriptionDstOriginalRiskLevel, SrcUserScopeId, , NetworkProtocolVersion, Rule, RuleName, RuleNumber, dan ThreatId.

Perbedaan khusus sumber

Tujuan normalisasi adalah untuk memastikan bahwa semua sumber menyediakan telemetri yang konsisten. Sumber yang tidak menyediakan telemetri yang diperlukan, seperti bidang skema wajib, tidak dapat dinormalisasi. Namun, sumber yang biasanya menyediakan semua telemetri yang diperlukan, bahkan jika ada beberapa perbedaan, dapat dinormalisasi. Perbedaan dapat mempengaruhi kelengkapan hasil kueri.

Tabel berikut mencantumkan perbedaan yang diketahui:

Source Perbedaan
Server DNS Microsoft Dikumpulkan menggunakan konektor DNS dan Agen Analisis Log Konektor tidak menyediakan bidang DnsQuery wajib untuk ID peristiwa asli 264 (Respons terhadap pembaruan dinamis). Data tersedia di sumber, tetapi tidak diteruskan oleh konektor.
Corelight Zeek Corelight Zeek mungkin tidak menyediakan bidang DnsQuery wajib. Kami telah mengamati perilaku seperti itu dalam kasus-kasus tertentu di mana nama kode respons DNS adalah NXDOMAIN.

Menangani respons DNS

Dalam kebanyakan kasus, peristiwa DNS yang dicatat tidak mencakup informasi respons, yang mungkin besar dan terperinci. Jika rekaman Anda menyertakan lebih banyak informasi tanggapan, simpan di bidang ResponseName seperti yang muncul di rekaman.

Anda juga dapat menyediakan fungsi KQL tambahan yang disebut _imDNS<vendor>Response_, yang mengambil respons yang tidak diuraikan sebagai input dan mengembalikan nilai dinamis dengan struktur berikut:

[
    {
        "part": "answer"
        "query": "yahoo.com."
        "TTL": 1782
        "Class": "IN"
        "Type": "A"
        "Response": "74.6.231.21"
    }
    {
        "part": "authority"
        "query": "yahoo.com."
        "TTL": 113066
        "Class": "IN"
        "Type": "NS"
        "Response": "ns5.yahoo.com"
    }
    ...
]

Bidang di setiap kamus dalam nilai dinamis sesuai dengan bidang di setiap respons DNS. Entri part harus menyertakan answer, authority, atau additional untuk mencerminkan bagian dalam respons yang dimiliki kamus.

Tip

Untuk memastikan performa yang optimal, panggil fungsi imDNS<vendor>Response hanya bila diperlukan, dan hanya setelah pemfilteran awal untuk memastikan performa yang lebih baik.

Menangani bendera DNS

Penguraian dan normalisasi tidak diperlukan untuk data bendera. Sebagai gantinya, simpan data bendera yang disediakan oleh perangkat pelaporan di bidang Bendera. Jika menentukan nilai bendera individual mudah, Anda juga dapat menggunakan bidang bendera khusus.

Anda juga dapat menyediakan fungsi KQL tambahan yang disebut _imDNS<vendor>Flags_, yang mengambil respons yang tidak diuraikan, atau bidang bendera khusus, sebagai input dan mengembalikan daftar dinamis, dengan nilai Boolean yang mewakili setiap bendera dalam urutan berikut:

  • Terautentikasi (AD)
  • Autoritatif (AA)
  • Pemeriksaan Dinonaktifkan (CD)
  • Rekursi Tersedia (RA)
  • Rekursi Diinginkan (RD)
  • Terpotong (TC)
  • Z