Ingin mempelajari subsistem kontrol akses Windows dalam dua jam? Selain itu, mengetahui topik ini karena tidak ada guru Anda yang mengetahuinya? Ingin tahu cara menggunakan fungsi Windows API dengan nama terpanjang - AccessCheckByTypeResultListAndAuditAlarmByHandle? Dan lihat kode yang membuat struktur Windows tidak berdokumen? Kalau begitu kamu di sini!
Artikel ini menyajikan deskripsi pustaka dan serangkaian tes yang akan memungkinkan pengguna untuk mempelajari subsistem kontrol akses Windows sepenuhnya dengan pengetahuan awal yang cukup kecil. Masalah bekerja dengan DACL, SACL, Conditional ACE, pemeriksaan integritas wajib, dan banyak lagi lainnya akan dipertimbangkan. Pengujian memungkinkan pengguna untuk mengubah data masukan secara sewenang-wenang dan secara mandiri memodifikasinya untuk studi yang lebih mendetail tentang topik yang diperlukan untuk pengguna tertentu. Pustaka yang disajikan akan memungkinkan Anda untuk mengurai dan membuat semua struktur internal subsistem keamanan Windows, dan juga memungkinkan Anda membuat "token akses" dengan data awal yang berubah-ubah.
Dahulu kala, saya mulai belajar tentang subsistem keamanan Windows. Saya membaca buku-buku bagus, tetapi setiap buku harus didukung pertama-tama dengan latihan. Beginilah cara saya memulai eksperimen praktis saya. Pertama-tama, saya mulai dengan teknik standar: membuat struktur file tertentu dengan beberapa level bersarang (direktori). Pada tahap awal studi, "situs percobaan" seperti itu sudah cukup. Namun, ketika saya melanjutkan untuk belajar tentang DAC (Kontrol Akses Dinamis), tes "situs" menjadi jauh lebih rumit: Saya sudah harus menggunakan beberapa mesin virtual, salah satunya adalah Windows Server, dan yang lainnya adalah OS klien biasa . Di sini sudah diperlukan untuk mempelajari proses konfigurasi banyak subsistem Windows Server, yang agak terganggu dari tugas aslinya: studi tentang subsistem keamanan.Pada akhirnya, saya memiliki pustaka yang cukup berkembang yang ditulis yang memungkinkan saya untuk mendapatkan dalam bentuk yang nyaman bagi saya semua nilai berbagai struktur yang terkait dengan subsistem keamanan Windows, dan untuk sebagian besar dari mereka - juga membuatnya dari nilai yang disimpan sebelumnya . Tetapi suatu hari saya mendapatkan ide yang secara radikal mengubah (dan sangat menyederhanakan) seluruh pendekatan saya untuk mempelajari topik ini.
, , , , , . Microsoft .
, Windows – : «» (access token) « » (security descriptor a.k.a. SD). , , – . /, Windows , . : 1) ; 2) ; 3) . , - – . , , .
- . , «Run As Administrator». Visual Studio. , - : SeCreateTokenPrivilege (Create a token object), SeTcbPrivilege (Act as part of the operating system), SeImpersonatePrivilege (Impersonate a client after authentication).
C++. « » , . . . , , « , , copyright». – - , Windows Access Control, , , .
, :
1. Windows ?
2. Windows API - AccessCheckByTypeResultListAndAuditAlarmByHandle?
, AccessCheckByTypeResultListAndAuditAlarmByHandle. , . AccessCheckByTypeResultListAndAuditAlarmByHandle . , , , .
3. , Windows?
Di sini, di tautan ini Anda dapat menemukan fungsi yang membuat "representasi biner" untuk tipe data CLAIM_SECURITY_ATTRIBUTE_V1. Struktur itu sendiri didokumentasikan dalam [MS-DTYP], tetapi tidak ada penjelasan tentang bagaimana ia direpresentasikan dalam data biner. Struktur ini diperlukan untuk menyetel "atribut sumber daya" (konsepnya mengacu pada DAC, Kontrol Akses Dinamis) untuk deskriptor keamanan (misalnya, untuk menyetel sumber daya untuk file).