Referensi skema normalisasi DNS Advanced Security Information Model (ASIM) (Pratinjau umum)
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).
Penting
Skema normalisasi DNS saat ini dalam PRATINJAU. Fitur ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi.
Ketentuan Tambahan Pratinjau Azure mencakup persyaratan hukum tambahan yang berlaku untuk fitur Azure yang masih dalam versi beta, pratinjau, atau belum dirilis ke ketersediaan umum.
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
ataucontains
.
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.
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:
Nama | Tipe | Deskripsi |
---|---|---|
starttime | datetime | Filter hanya kueri DNS yang berjalan pada atau setelah waktu ini. |
endtime | datetime | Filter hanya kueri DNS yang selesai dijalankan pada atau sebelum waktu ini. |
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. Misalnya: 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 | dinamis | 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. Misalnya: 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:
Bidang | Kelas | Jenis | Deskripsi |
---|---|---|---|
EventType | Wajib | Disebutkan | Menunjukkan operasi yang dilaporkan oleh catatan. Untuk catatan DNS, nilai ini akan menjadi kode operasi DNS. Contoh: Query |
EventSubType | Opsional | Disebutkan | Salah satu request atau response . Untuk sebagian besar sumber, hanya tanggapan yang dicatat, dan oleh karena itu nilainya sering kali tanggapan. |
EventResultDetails | Wajib | 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 | Wajib | String | Versi skema yang didokumentasikan di sini adalah 0.1.7. |
EventSchema | Wajib | String | 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 | Bidang |
---|---|
Wajib |
-
EventCount - EventStartTime - EventEndTime - EventType - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
Direkomendasikan |
-
EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
Opsional |
-
EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
Bidang sistem sumber
Bidang | Kelas | Tipe | Deskripsi |
---|---|---|---|
Src | Alias | String | Pengenal unik perangkat sumber. Bidang ini bisa menjadi alias bagi bidang SrcDvcId, SrcHostname, atau SrclpAddr. Contoh: 192.168.12.1 |
SrcIpAddr | Direkomendasikan | 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 | Opsional | Bilangan bulat | Port sumber kueri DNS. Contoh: 54312 |
IpAddr | Alias | Alias ke SrcIpAddr | |
SrcGeoCountry | Opsional | Negara | Negara/wilayah yang terkait dengan alamat IP sumber. Contoh: USA |
SrcGeoRegion | Opsional | Wilayah | Wilayah yang terkait dengan alamat IP sumber. Contoh: Vermont |
SrcGeoCity | Opsional | Kota | Kota yang terkait dengan alamat IP sumber. Contoh: Burlington |
SrcGeoLatitude | Opsional | Garis Lintang | Garis lintang koordinat geografis yang terkait dengan alamat IP sumber. Contoh: 44.475833 |
SrcGeoLongitude | Opsional | Garis bujur | Garis bujur koordinat geografis yang terkait dengan alamat IP sumber. Contoh: 73.211944 |
SrcRiskLevel | Opsional | Bilangan bulat | 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 | Opsional | Bilangan bulat | Tingkat risiko yang terkait dengan sumbernya, seperti yang dilaporkan oleh perangkat pelaporan. Contoh: Suspicious |
SrcHostname | Direkomendasikan | String | Nama host perangkat sumber, tidak termasuk informasi domain. Contoh: DESKTOP-1282V4D |
Hostname | Alias | Alias SrcHostname | |
SrcDomain | Direkomendasikan | String | Domain perangkat sumber. Contoh: Contoso |
SrcDomainType | Kondisional | Disebutkan | Jenis SrcDomain, jika diketahui. Nilai yang mungkin termasuk: - Windows (misalnya: contoso )- FQDN (misalnya: microsoft.com )Diperlukan jika SrcDomain digunakan. |
SrcFQDN | Opsional | 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 | Opsional | String | ID perangkat sumber seperti yang dilaporkan dalam rekaman. Misalnya: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
SrcDvcScopeId | Opsional | String | ID cakupan platform cloud milik perangkat. Peta SrcDvcScopeId ke ID langganan di Azure dan ke ID akun di AWS. |
SrcDvcScope | Opsional | String | Cakupan platform cloud milik perangkat. SrcDvcScope memetakan ke ID langganan di Azure dan ke ID akun di AWS. |
SrcDvcIdType | Kondisional | 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 | Opsional | Disebutkan | Jenis perangkat sumber Nilai yang mungkin termasuk: - Computer - Mobile Device - IOT Device - Other |
SrcDescription | Opsional | String | Teks deskriptif yang terkait dengan perangkat. Misalnya: Primary Domain Controller . |
Bidang pengguna sumber
Bidang | Kelas | Tipe | Deskripsi |
---|---|---|---|
SrcUserId | Opsional | 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 | Opsional | 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 | Opsional | 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 | Kondisional | UserIdType | Jenis ID yang disimpan pada bidang ActorUserId. Untuk informasi selengkapnya dan daftar nilai yang diizinkan, lihat UserIdType di Artikel Ringkasan Skema. |
SrcUsername | Opsional | Nama Pengguna | Nama pengguna Sumber, termasuk informasi domain jika tersedia. Untuk informasi lebih lanjut, lihat Entitas pengguna. Contoh: AlbertE |
SrcUsernameType | Kondisional | UsernameType | 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 | Opsional | UserType | Jenis pengguna sumber. Untuk informasi selengkapnya, dan daftar nilai yang diizinkan, lihat UserType di Artikel Ringkasan Skema. Misalnya: Guest |
SrcUserSessionId | Opsional | String | ID unik dari sesi rincian masuk Pelaku. Contoh: 102pTUgC3p8RIqHvzxLCHnFlg |
SrcOriginalUserType | Opsional | String | Jenis pengguna sumber asli, jika disediakan oleh sumber. |
Bidang proses sumber
Bidang | Kelas | Tipe | Deskripsi |
---|---|---|---|
SrcProcessName | Opsional | 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 | Opsional | 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 | Opsional | String | Pengidentifikasi unik yang dihasilkan (GUID) dari proses yang memulai permintaan DNS. Contoh: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
Bidang sistem tujuan
Bidang | Kelas | Tipe | 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 | Opsional | 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 | Opsional | Negara | Negara/wilayah yang terkait dengan alamat IP tujuan. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: USA |
DstGeoRegion | Opsional | Wilayah | Wilayah, atau status, yang terkait dengan alamat IP tujuan. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: Vermont |
DstGeoCity | Opsional | Kota | Kota yang terkait dengan alamat IP tujuan. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: Burlington |
DstGeoLatitude | Opsional | Garis Lintang | Garis lintang koordinat geografis yang terkait dengan alamat IP tujuan. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: 44.475833 |
DstGeoLongitude | Opsional | Garis bujur | Garis bujur koordinat geografis yang terkait dengan alamat IP tujuan. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: 73.211944 |
DstRiskLevel | Opsional | Bilangan bulat | 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 | Opsional | Bilangan bulat | Tingkat risiko yang terkait dengan tujuan, seperti yang dilaporkan oleh perangkat pelaporan. Contoh: Malicious |
DstPortNumber | Opsional | Bilangan bulat | Nama Port Tujuan. Contoh: 53 |
DstHostname | Opsional | 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. |
DstDomain | Opsional | String | Domain perangkat tujuan. Contoh: Contoso |
DstDomainType | Kondisional | Disebutkan | Jenis DstDomain, jika diketahui. Nilai yang mungkin termasuk: - Windows (contoso\mypc) - FQDN (learn.microsoft.com) Diperlukan jika DstDomain digunakan. |
DstFQDN | Opsional | 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 | Opsional | String | ID perangkat tujuan seperti yang dilaporkan dalam catatan. Contoh: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
DstDvcScopeId | Opsional | String | ID cakupan platform cloud milik perangkat. DstDvcScopeId memetakan ke ID langganan di Azure dan ke ID akun di AWS. |
DstDvcScope | Opsional | String | Cakupan platform cloud milik perangkat. DstDvcScope memetakan ke ID langganan di Azure dan ke ID akun di AWS. |
DstDvcIdType | Kondisional | 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 | Opsional | Disebutkan | Jenis perangkat tujuan. Nilai yang mungkin termasuk: - Computer - Mobile Device - IOT Device - Other |
DstDescription | Opsional | String | Teks deskriptif yang terkait dengan perangkat. Misalnya: Primary Domain Controller . |
Bidang khusus DNS
Bidang | Kelas | Tipe | Deskripsi |
---|---|---|---|
DnsQuery | Wajib | 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 | Opsional | Bilangan bulat |
Kode Jenis Catatan Sumber Daya DNS. Contoh: 28 |
DnsQueryTypeName | Direkomendasikan | 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 | Opsional | String | Isi tanggapan, seperti yang termasuk 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 | Opsional | Bilangan bulat |
Kode respons numerik DNS. Contoh: 3 |
TransactionIdHex | Direkomendasikan | 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. |
NetworkProtocol | Opsional | 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 | Opsional | Disebutkan | Versi NetworkProtocol. Saat menggunakannya untuk membedakan antara versi IP, gunakan nilai IPv4 dan IPv6 . |
DnsQueryClass | Opsional | Bilangan bulat |
ID kelas DNS. Dalam praktiknya, hanya kelas IN (ID 1) yang digunakan, sehingga bidang ini kurang bernilai. |
DnsQueryClassName | Opsional | String |
Nama kelas DNS. Dalam praktiknya, hanya kelas IN (ID 1) yang digunakan, sehingga bidang ini kurang bernilai. Contoh: IN |
DnsFlags | Opsional | 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"] |
DnsNetworkDuration | Opsional | Bilangan bulat | Jumlah waktu, dalam milidetik, untuk penyelesaian permintaan DNS. Contoh: 1500 |
Durasi | Alias | Alias untuk DnsNetworkDuration | |
DnsFlagsAuthenticated | Opsional | 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 | Opsional | Boolean | Bendera AA DNS menunjukkan apakah respons dari server otoritatif |
DnsFlagsCheckingDisabled | Opsional | 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 | Opsional | Boolean | Bendera RA DNS menunjukkan dalam respons bahwa server tersebut mendukung kueri rekursif. |
DnsFlagsRecursionDesired | Opsional | Boolean | Bendera RD DNS menunjukkan dalam permintaan bahwa klien ingin server menggunakan kueri rekursif. |
DnsFlagsTruncated | Opsional | Boolean | Bendera TC DNS menunjukkan bahwa respons dipotong karena melebihi ukuran respons maksimum. |
DnsFlagsZ | Opsional | Boolean | Bendera Z DNS adalah bendera DNS yang tidak digunakan lagi, yang mungkin dilaporkan oleh sistem DNS yang lebih tua. |
DnsSessionId | Opsional | 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 | Opsional | Negara | Negara/wilayah yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: USA |
DnsResponseIpRegion | Opsional | Wilayah | Wilayah, atau status, yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: Vermont |
DnsResponseIpCity | Opsional | Kota | Kota yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: Burlington |
DnsResponseIpLatitude | Opsional | Garis Lintang | Garis lintang koordinat geografis yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi lebih lanjut, lihat Jenis Logis. Contoh: 44.475833 |
DnsResponseIpLongitude | Opsional | Garis bujur | Garis bujur koordinat geografis yang terkait dengan salah satu alamat IP dalam respons DNS. Untuk informasi lebih lanjut, lihat Jenis Logis. 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
.
Bidang | Kelas | Tipe | Deskripsi |
---|---|---|---|
UrlCategory | Opsional | 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. | |
NetworkRuleName | Opsional | String | Nama atau ID aturan yang mengidentifikasi ancaman. Contoh: AnyAnyDrop |
NetworkRuleNumber | Opsional | Bilangan bulat | Jumlah aturan yang mengidentifikasi ancaman. Contoh: 23 |
Aturan | Alias | String | Baik nilai NetworkRuleName atau nilai NetworkRuleNumber. Perhatikan jika nilai NetworkRuleNumber digunakan, jenis tersebut harus dikonversi ke string. |
ThreatId | Opsional | String | ID ancaman atau malware yang diidentifikasi dalam sesi jaringan. Contoh: Tr.124 |
ThreatCategory | Opsional | 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 | Opsional | 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. |
ThreatField | Kondisional | Disebutkan | Bidang yang ancamannya diidentifikasi. Nilainya adalah SrcIpAddr , DstIpAddr , Domain , atau DnsResponseName . |
ThreatName | Opsional | String | Nama ancaman yang diidentifikasi, seperti yang dilaporkan oleh perangkat pelaporan. |
ThreatConfidence | Opsional | Bilangan bulat | Tingkat keyakinan ancaman yang diidentifikasi, dinormalisasi ke nilai antara 0 dan 100. |
ThreatOriginalConfidence | Opsional | String | Tingkat keyakinan asli ancaman yang diidentifikasi, seperti yang dilaporkan oleh perangkat pelaporan. |
ThreatRiskLevel | Opsional | Bilangan bulat | Tingkat risiko yang terkait dengan ancaman yang diidentifikasi, dinormalisasi ke nilai antara 0 dan 100. |
ThreatOriginalRiskLevel | Opsional | String | Tingkat risiko asli yang terkait dengan ancaman yang diidentifikasi, seperti yang dilaporkan oleh perangkat pelaporan. |
ThreatIsActive | Opsional | Boolean | Benar jika ancaman yang diidentifikasi dianggap sebagai ancaman aktif. |
ThreatFirstReportedTime | Opsional | datetime | Pertama kali alamat IP atau domain diidentifikasi sebagai ancaman. |
ThreatLastReportedTime | Opsional | datetime | 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 keDnsQuery
) -
QueryType
(alias keDnsQueryType
) -
QueryTypeName
(alias keDnsQueryTypeName
) -
ResponseName
(alias keDnsResponseName
) -
ResponseCodeName
(alias keDnsResponseCodeName
) -
ResponseCode
(alias keDnsResponseCode
) -
QueryClass
(alias keDnsQueryClass
) -
QueryClassName
(alias keDnsQueryClassName
) -
Flags
(alias keDnsFlags
) 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
, danDnsFlagsZ
.
Ini adalah perubahan dalam versi 0.1.3 dari skema tersebut:
- Skema tersebut sekarang secara eksplisit mendokumentasikan bidang
Src*
,Dst*
,Process*
, danUser*
. - Penambahan bidang
Dvc*
tambahan agar sesuai dengan definisi bidang umum terbaru. - Penambahan
Src
danDst
sebagai alias ke pengenal utama untuk sistem sumber dan tujuan. - Penambahan
DnsNetworkDuration
danDuration
opsional, alias untuk opsi tersebut. - Penambahan bidang Geo Location dan Tingkat Risiko opsional.
Perubahan skema versi 0.1.4 adalah:
- Menambahkan bidang
ThreatIpAddr
opsional , ,ThreatField
,ThreatName
,ThreatConfidence
,ThreatOriginalConfidence
,ThreatOriginalRiskLevel
,ThreatIsActive
,ThreatFirstReportedTime
, danThreatLastReportedTime
.
Perubahan skema versi 0.1.5 adalah:
- Menambahkan bidang
SrcUserScope
, ,SrcUserSessionId
,SrcDvcScopeId
SrcDvcScope
, ,DstDvcScopeId
,DstDvcScope
,DvcScopeId
, danDvcScope
.
Perubahan skema versi 0.1.6 adalah:
- Menambahkan bidang
DnsResponseIpCountry
,DnsResponseIpRegion
,DnsResponseIpCity
,DnsResponseIpLatitude
, danDnsResponseIpLongitude
.
Perubahan skema versi 0.1.7 adalah:
- Menambahkan bidang
SrcDescription
, ,SrcOriginalRiskLevel
,DstDescription
DstOriginalRiskLevel
,SrcUserScopeId
, ,NetworkProtocolVersion
,Rule
,RuleName
,RuleNumber
, danThreatId
.
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:
Sumber | 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
Langkah berikutnya
Untuk informasi selengkapnya, lihat: