Bagikan melalui


Menyamar sebagai Klien Named Pipe

peniruan identitas adalah kemampuan utas untuk beroperasi dalam konteks keamanan yang berbeda dari proses yang memiliki utas. Peniruan memungkinkan utas server untuk melakukan tindakan atas nama klien, tetapi dalam batas konteks keamanan klien. Klien biasanya memiliki beberapa tingkat hak akses yang lebih rendah. Untuk informasi selengkapnya, lihat peniruan identitas.

Utas server pipa bernama dapat memanggil fungsi ImpersonateNamedPipeClient untuk mengambil alih token akses pengguna yang terhubung ke sisi klien dari pipa. Misalnya, server pipa bernama dapat menyediakan akses ke database atau sistem file tempat server pipa memiliki akses istimewa. Ketika klien pipa mengirim permintaan ke server, server meniru klien dan mencoba mengakses database yang dilindungi. Sistem kemudian memberikan atau menolak akses server, berdasarkan tingkat keamanan klien. Setelah server selesai, server menggunakan fungsiRevertToSelf untuk memulihkan token keamanan aslinya.

Tingkat peniruan menentukan operasi yang dapat dilakukan server saat meniru klien. Secara bawaan, server meniru pada tingkat peniruan SecurityImpersonation. Namun, ketika klien memanggil fungsiCreateFile untuk membuka handel ke ujung klien pipa, klien dapat menggunakan bendera SECURITY_SQOS_PRESENT untuk mengontrol tingkat peniruan server.