Bagikan melalui


SDDL untuk objek perangkat

Bahasa Definisi Deskriptor Keamanan (SDDL) digunakan untuk mewakili deskriptor keamanan. Keamanan untuk objek perangkat dapat ditentukan oleh string SDDL yang ditempatkan dalam file INF atau diteruskan ke IoCreateDeviceSecure. Bahasa Definisi Deskriptor Keamanan sepenuhnya didokumenkan dalam dokumentasi Microsoft Windows SDK.

Meskipun file INF mendukung berbagai SDDL, hanya subset bahasa yang didukung oleh rutinitas IoCreateDeviceSecure . Subset ini didefinisikan di sini.

String SDDL untuk objek perangkat adalah dari bentuk "D:P" diikuti oleh satu atau beberapa ekspresi formulir "(A;; Akses;;; SID)". Nilai SID menentukan pengidentifikasi keamanan yang menentukan kepada siapa nilai Akses berlaku (misalnya, pengguna atau grup). Nilai Akses menentukan hak akses yang diizinkan untuk SID. Nilai Access dan SID adalah sebagai berikut.

Saat menggunakan SDDL untuk objek perangkat, driver Anda harus ditautkan terhadap Wdmsec.lib.

Akses
Menentukan nilai ACCESS_MASK yang menentukan akses yang diizinkan. Nilai ini dapat ditulis baik sebagai nilai heksadesimal dalam bentuk "0xhex", atau sebagai urutan kode simbolis dua huruf yang mewakili hak akses.

Kode berikut dapat digunakan untuk menentukan hak akses generik.

Kode Akses generik ke kanan

GA

GENERIC_ALL

GR

Pembacaan_Generik

GW

GENERIC_WRITE

GX

Menjalankan_Umum

Kode berikut dapat digunakan untuk menentukan hak akses tertentu.

Kode Hak akses tertentu

RC

READ_CONTROL

Sekolah Dasar

MENGHAPUS

WD

WRITE_DAC

WO

TULIS_PEMILIK

GENERIC_ALL memberikan semua hak yang tercantum dalam dua tabel di atas, termasuk kemampuan untuk mengubah ACL.

SID
Menentukan SID yang diberikan akses sebagaimana ditentukan. SID mewakili akun, alias, grup, pengguna, atau komputer.

SID berikut mewakili akun di komputer.

SID Deskripsi

Suriah

Sistem

Mewakili sistem operasi itu sendiri, termasuk komponen mode penggunanya.

LS

Layanan Lokal

Akun yang telah ditentukan sebelumnya untuk layanan lokal (yang juga termasuk dalam Terautentikasi dan Dunia). SID ini tersedia dimulai dengan Windows XP.

NS

Layanan Jaringan

Akun yang telah ditentukan sebelumnya untuk layanan jaringan (yang juga termasuk dalam Autentikasi dan Dunia). SID ini tersedia dimulai dengan Windows XP.

SID berikut mewakili grup pada komputer.

SID Deskripsi

Bachelor of Arts

Administrator

Grup Administrator bawaan pada komputer.

BU

Grup Pengguna Bawaan

Grup yang mencakup semua akun pengguna lokal, dan pengguna di domain.

BG

Grup Tamu Bawaan

Grup yang mencakup pengguna yang login menggunakan akun tamu lokal atau domain.

SID berikut menjelaskan sejauh mana pengguna telah diautentikasi.

SID Deskripsi

AU

Pengguna Terautentikasi

Setiap pengguna yang dikenali oleh komputer lokal atau oleh domain. Pengguna yang masuk menggunakan akun Tamu Bawaan tidak diautentikasi. Namun, anggota grup Tamu dengan akun individual di mesin atau domain diautentikasi.

AN

Pengguna Masuk Anonim

Setiap pengguna masuk tanpa identitas, seperti sesi jaringan anonim. Pengguna yang masuk sistem menggunakan akun Tamu Bawaan tidak diautentikasi atau dianggap anonim. SID ini tersedia dimulai dengan Windows XP.

SID berikut menjelaskan bagaimana pengguna masuk ke komputer.

SID Deskripsi

IU

Pengguna Interaktif

Pengguna yang awalnya masuk ke mesin secara "interaktif", seperti log masuk lokal dan log masuk Desktop Jarak Jauh.

NU

Pengguna Login Jaringan

Pengguna mengakses komputer dari jarak jauh, tanpa akses desktop interaktif (misalnya, berbagi file atau panggilan RPC).

WD

Dunia

Sebelum Windows XP, SID ini mencakup setiap sesi, baik pengguna yang diautentikasi, pengguna anonim, atau akun Tamu Bawaan.

Dimulai dengan Windows XP, SID ini tidak mencakup sesi masuk anonim; ini hanya mencakup pengguna terautentikasi dan akun Tamu Bawaan.

Kode yang tidak tepercaya atau "dibatasi" juga tidak dicakup oleh SID Dunia. Untuk informasi selengkapnya, lihat deskripsi SID Kode Terbatas (RC) dalam tabel berikut.

SID berikut layak disebutkan secara khusus.

SID Deskripsi

RC

Kode Terbatas

SID ini digunakan untuk mengontrol akses dengan kode yang tidak tepercaya. Validasi ACL terhadap token dengan RC terdiri dari dua pemeriksaan, satu terhadap daftar SID normal token (berisi WD misalnya), dan satu terhadap daftar kedua (biasanya berisi RC dan subset SID token asli). Akses diberikan hanya jika token melewati kedua pengujian. Dengan demikian, RC benar-benar bekerja dalam kombinasi dengan SID lain.

Setiap ACL yang menentukan RC juga harus menentukan WD. Ketika RC dipasangkan dengan WD dalam ACL, superset Semua Orang termasuk kode yang tidak tepercaya dijelaskan.

Kode yang tidak tepercaya mungkin berupa kode yang diluncurkan menggunakan opsi Jalankan Sebagai di Explorer. Secara default, Dunia tidak mencakup kode yang tidak tepercaya.

UD

Pengemudi User-Mode

SID ini memberikan akses kepada driver dalam mode pengguna. Saat ini, SID ini hanya mencakup driver yang ditulis untuk User-Mode Driver Framework (UMDF). SID ini tersedia dimulai dengan Windows 8.

Dalam versi Windows sebelumnya, yang tidak mengenali singkatan "UD", Anda harus menentukan bentuk SID ini yang sepenuhnya memenuhi syarat (S-1-5-84-0-0-0-0-0) untuk memberikan akses ke driver UMDF. Untuk informasi selengkapnya, lihat Mengontrol Akses Perangkat dalam dokumentasi Kerangka Kerja Driver User-Mode.

Contoh SDDL Untuk Objek Perangkat

Bagian ini menjelaskan string SDDL yang telah ditentukan sebelumnya yang ditemukan di Wdmsec.h. Anda juga dapat menggunakan ini sebagai templat untuk menentukan string SDDL baru untuk objek perangkat.

SDDL_DEVOBJ_KERNEL_ONLY

"D:P"

SDDL_DEVOBJ_KERNEL_ONLY adalah ACL "tanpa isi." Kode mode pengguna (termasuk proses yang berjalan sebagai sistem) tidak dapat membuka perangkat.

Driver bus PnP dapat menggunakan deskriptor ini saat membuat PDO. File INF kemudian dapat menentukan pengaturan keamanan yang lebih longgar untuk perangkat. Dengan menentukan deskriptor ini, driver bus akan memastikan bahwa tidak ada upaya untuk membuka perangkat sebelum INF diproses akan berhasil.

Demikian pula, driver non-WDM dapat menggunakan deskriptor ini untuk membuat objek perangkatnya tidak dapat diakses sampai program mode pengguna yang sesuai (seperti alat penginstal) mengatur deskriptor keamanan akhir dalam registri.

Dalam semua kasus ini, defaultnya adalah keamanan yang ketat, dilonggarkan seperlunya.

SDDL_DEVOBJ_SYS_ALL

"D:P(A;; GA;;; SY)"

SDDL_DEVOBJ_SYS_ALL mirip dengan SDDL_DEVOBJ_KERNEL_ONLY, kecuali bahwa selain kode mode kernel, kode mode pengguna yang berjalan sebagai Sistem juga diizinkan untuk membuka perangkat dengan akses apa pun.

Driver warisan mungkin menggunakan ACL ini untuk memulai dengan pengaturan keamanan yang ketat, dan memungkinkan layanannya mengakses perangkat pada saat proses berjalan untuk pengguna individual dengan menggunakan fungsi mode pengguna SetFileSecurity. Dalam hal ini, layanan harus berjalan sebagai Sistem.

SDDL_DEVOBJ_SYS_ALL_ADM_ALL

"D:P(A;;GA;;;SY)(A;;GA;;;BA)"

SDDL_DEVOBJ_SYS_ALL_ADM_ALL memungkinkan kernel, sistem, dan administrator memberikan kendali penuh melalui perangkat. Tidak ada pengguna lain yang dapat mengakses perangkat.

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R

"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)"

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R memungkinkan kernel dan sistem memiliki kendali penuh atas perangkat. Secara default administrator dapat mengakses seluruh perangkat, tetapi tidak dapat mengubah ACL (administrator harus mengontrol perangkat terlebih dahulu.)

Semua orang diberikan akses baca (SID Dunia). Kode yang tidak tepercaya tidak dapat mengakses perangkat (kode yang tidak tepercaya mungkin berupa kode yang diluncurkan menggunakan opsi Jalankan Sebagai di Explorer. Secara default, Dunia tidak mencakup kode Terbatas.)

Perhatikan juga bahwa akses traversal tidak diberikan kepada pengguna umum. Dengan demikian, ini mungkin bukan deskriptor yang sesuai untuk perangkat dengan namespace.

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R

"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)(A;; GR;;; RC)"

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R memungkinkan kernel dan sistem memiliki kendali penuh atas perangkat. Secara default administrator dapat mengakses seluruh perangkat, tetapi tidak dapat mengubah ACL (administrator harus mengontrol perangkat terlebih dahulu.)

Semua orang diberikan akses baca (SID Dunia). Selain itu, kode yang tidak tepercaya juga diizinkan untuk mengakses kode. Kode yang tidak tepercaya mungkin berupa kode yang diluncurkan menggunakan opsi Jalankan Sebagai di Explorer. Secara default, Dunia tidak mencakup kode Terbatas.

Perhatikan juga bahwa akses traversal tidak diberikan kepada pengguna umum. Dengan demikian, ini mungkin bukan deskriptor yang sesuai untuk perangkat dengan namespace.

String SDDL ini tidak menyertakan pengubah warisan apa pun. Dengan demikian, objek tersebut hanya sesuai untuk objek perangkat dan tidak boleh digunakan untuk file atau kunci registri. Untuk informasi selengkapnya tentang menentukan pewarisan menggunakan SDDL, lihat dokumentasi Microsoft Windows SDK.