Bagikan melalui


Pengerasan Keamanan Tugas

Menggunakan fitur pengerasan keamanan tugas akan memungkinkan pemilik tugas menjalankan tugas mereka dengan hak istimewa minimum yang diperlukan. Perhatikan bahwa fitur ini diaktifkan secara default dan pemilik tugas dapat melakukan penyesuaian lebih lanjut dengan menggunakan jenis pengidentifikasi keamanan token proses tugas dan array hak istimewa yang diperlukan tugas.

Jenis SID Token Proses Tugas dan Array Hak Istimewa yang Diperlukan Tugas

Menentukan ProcessTokenSidType pada tingkat definisi tugas memungkinkan pemilik tugas untuk meminta proses tugas dijalankan dengan jenis SID "tidak ada" atau jenis SID "tidak terbatas". Jika bidang ada dalam definisi tugas, validasi memastikan bahwa userId tugas berisi nama atau string SID yang sesuai untuk salah satu akun layanan bawaan sistem operasi tersebut: "LAYANAN JARINGAN" atau "LAYANAN LOKAL".

Jenis SID "none" berarti bahwa tugas berjalan dalam proses yang tidak berisi SID token proses (tidak ada perubahan yang akan dilakukan pada daftar grup token proses). SID akun utama tugas (LocalService/NetworkService) dalam hal ini memiliki akses penuh ke token proses.

Jenis SID "tidak terbatas" berarti bahwa SID tugas akan berasal dari jalur tugas lengkap dan akan ditambahkan ke daftar grup token proses. Misalnya, \Microsoft\Windows\RAC\RACTask yang berjalan di akun Layanan Lokal, SID tugas berasal dari nama Microsoft-Windows-RAC-RACTask di mana "-" diganti dengan "\" karena "\" adalah karakter nama pengguna yang tidak valid. Nama grup yang terkenal untuk tugas SID adalah "NT TASK\<modified full task path>" (domainname\username format). Daftar kontrol akses diskresi default (DACL) token proses juga akan dimodifikasi untuk memungkinkan kontrol penuh untuk SID tugas dan SID sistem lokal saja dan kontrol baca ke SID akun utama tugas. "schtasks.exe /showid /tn <jalur> tugas penuh" akan menampilkan SID tugas yang sesuai dengan tugas.

Ketika tindakan tugas non-COM dimulai, mesin penjadwalan mencatat pada akun utama tugas, mendapatkan token proses dan mengkueri daftar hak istimewa yang dimiliki token lalu membandingkannya dengan daftar hak istimewa yang ditentukan dalam RequiredPrivileges. Jika hak istimewa tidak ditentukan dalam yang terakhir, maka itu ditandai sebagai SE_PRIVILEGE_REMOVED. Tindakan yang dapat dieksekusi kemudian akan dimulai dengan handel token yang dihasilkan dengan menggunakan API CreateProcessAsUser.

Ketika tindakan tugas COM dimulai, tindakan tersebut harus diaktifkan oleh proses taskhost.exe. Mesin penjadwalan meminta blok konteks dari setiap taskhost.exe yang berjalan dengan akun yang sama dengan tugas awal. Jika menemukan bahwa proses host dimulai dengan superset hak istimewa yang dibutuhkan tugas awal, maka tugas tersebut akan dihosting dalam proses itu. Jika tidak menemukan proses seperti itu, ia menggabungkan info pengerasan dari semua tugas yang berjalan di taskhosts di bawah akun utama tugas dengan masker RequiredPrivileges yang ditentukan dan kemudian memulai instans baru taskhost.exe.

Jika RequiredPrivileges tidak ada dalam definisi tugas, hak istimewa default akun utama tugas tanpa SeImpersonatePrivilege akan digunakan untuk proses tugas. Jika ProcessTokenSidType tidak ada dalam definisi tugas, "tidak dibatasi" digunakan sebagai default.

Informasi Pendaftaran Tugas

Tentang Penjadwal Tugas

Konteks Keamanan untuk Tugas