Bagikan melalui


Peniruan

Peniruan adalah kemampuan utas untuk dijalankan dalam konteks keamanan yang berbeda dari konteks proses yang memiliki utas. Saat berjalan dalam konteks keamanan klien, server "adalah" klien, hingga tingkat tertentu. Utas server menggunakan token akses yang mewakili kredensial klien untuk mendapatkan akses ke objek yang dapat diakses klien.

Alasan utama peniruan adalah untuk menyebabkan pemeriksaan akses dilakukan terhadap identitas klien. Menggunakan identitas klien untuk pemeriksaan akses dapat menyebabkan akses dibatasi atau diperluas, tergantung pada apa yang dapat dilakukan klien. Misalnya, server file memiliki file yang berisi informasi rahasia dan masing-masing file ini dilindungi oleh ACL. Untuk membantu mencegah klien mendapatkan akses tidak sah ke informasi dalam file-file ini, server dapat meniru klien sebelum mengakses file.

Token Akses untuk Peniruan Identitas

Token akses adalah objek yang menjelaskan konteks keamanan proses atau utas. Mereka memberikan informasi yang mencakup identitas akun pengguna dan subset hak istimewa yang tersedia untuk akun pengguna. Setiap proses memiliki token akses utama yang menjelaskan konteks keamanan akun pengguna yang terkait dengan proses. Secara default, sistem menggunakan token utama saat utas proses berinteraksi dengan objek yang dapat diamankan. Namun, ketika utas meniru klien, utas yang meniru memiliki token akses utama dan token peniruan. Token peniruan mewakili konteks keamanan klien, dan token akses ini adalah token yang digunakan untuk pemeriksaan akses selama peniruan. Ketika peniruan berakhir, utas kembali ke hanya menggunakan token akses utama.

Anda dapat menggunakan fungsi OpenProcessToken untuk mendapatkan handel ke token utama proses. Gunakan fungsi OpenThreadToken untuk mendapatkan handel ke token peniruan utas.

Token Akses

Delegasi dan Penyamaran