Apakah ada biner (.exe) di folder System32 yang bertanggung jawab untuk fungsi Windows UAC? (misalnya, uac.exe
). Apa yang akan terjadi jika file itu dihapus dengan paksa? Apakah Windows akan rusak atau gagal boot?
Tidak ada masalah XY di sini; Saya hanya ingin tahu apa yang akan terjadi jika UAC dihapus secara paksa dari PC.
Jawaban:
UAC adalah arsitektur multi-komponen yang diimplementasikan oleh banyak binari
User Account Control (UAC) mengacu pada beberapa komponen yang bersama-sama membentuk arsitektur UAC . Saya akan meninjau secara singkat beberapa dari mereka bersama dengan binari yang bertanggung jawab untuk implementasi mereka, tetapi pertama-tama inilah gambaran umum arsitektur UAC dari artikel Microsoft Docs Bagaimana Kontrol Akun Pengguna Bekerja :
Otoritas Keamanan Lokal (LSA) / Token Difilter
Secara konseptual komponen "pertama" UAC diimplementasikan oleh subsistem Otoritas Keamanan Lokal yang menangani pembuatan Token Akses pengguna selama proses masuk. Dimulai dengan Windows Vista, proses logon diubah sehingga ketika Administrator logon dengan UAC diaktifkan, subsistem LSA menghasilkan dua token akses terpisah untuk pengguna:
Seperti yang ditunjukkan di sini proses ini berbeda dari proses masuk pengguna standar:
Layanan subsistem LSA hidup dalam
lsass.exe
proses.Virtualisasi
Ditambahkan pada Windows 7, Virtualisasi File dan Registri adalah komponen UAC yang mem - shims aplikasi yang lebih lama yang tidak memenuhi UAC tetapi hanya memerlukan hak administratif untuk mengakses area yang dilindungi tertentu dari sistem file atau Registry:
Sumber
Dengan pengalihan upaya akses ini ke area yang tidak memerlukan izin admin, aplikasi ini terus berfungsi meskipun UAC diaktifkan pada sistem.
Virtualisasi ini diimplementasikan dalam Kernel .
Layanan Informasi Aplikasi
Layanan Informasi Aplikasi (AIS) membaca manifes aplikasi dan bekerja dengan UAC Consent Prompt untuk menentukan apakah suatu aplikasi diizinkan untuk dieksekusi dengan hak yang lebih tinggi (yaitu mulai dalam konteks token akses tingkat administratif yang tidak disaring yang dibuat pada saat masuk) . Posting blog ini memberikan gambaran yang baik tentang perannya dalam proses UAC:
Berikut ini adalah grafik yang mengikuti kutipan di atas yang merinci peran AIS dalam proses Konfirmasi Izin UAC:
AIS diimplementasikan dalam DLL
appinfo.dll
yang dijalankan olehsvchost.exe
.Prompt Persetujuan
@ Benn ini jawabannya menjelaskan peran kunci (dalam) terkenal UAC Persetujuan Prompt. Ini diimplementasikan dalam
consent.exe
dan bertanggung jawab untuk mendapatkan persetujuan pengguna atau kredensial pengguna administratif untuk memungkinkan peluncuran aplikasi yang membutuhkan hak admin.Desktop yang Aman
Secure Desktop adalah tempat Konfirmasi Izin UAC ditampilkan secara default. Microsoft UACBlog memberi tahu kami apa yang unik tentang Desktop ini dibandingkan dengan Desktop Pengguna:
Gagasan di balik menggunakannya ketika meminta persetujuan pengguna untuk menjalankan aplikasi dengan izin yang ditinggikan adalah bahwa malware tidak dapat meniru Desktop Aman kecuali jika sudah memiliki hak administratif, dalam hal ini menipu pengguna untuk memberikannya adalah hal yang perlu diperdebatkan.
Kesimpulan: UAC bukan hanya satu biner. Ini adalah jalinan subsistem terjalin.
Masih ada aspek lain dari arsitektur UAC yang tidak dibahas di sini, tetapi ini harus memberikan bukti yang cukup untuk fakta-fakta yang:
Sejak diperkenalkan di Windows Vista, ia telah diintegrasikan secara mendalam ke bagian-bagian penting dari sistem operasi, membuatnya tidak mungkin menghapus semua kode yang bertanggung jawab untuk UAC tanpa merusak hal-hal lain (seperti kemampuan Anda untuk masuk!)
Saya pikir aman untuk mengatakan bahwa jika Anda "dengan paksa menghapus" UAC, Anda akan merusak Windows.
sumber
Seperti dijelaskan Twisty dengan sangat baik , ada banyak komponen yang membantu mengimplementasikan UAC. Bagian dari UAC yang paling dikenal orang adalah dialog elevasi / persetujuan:
Ini disediakan oleh
consent.exe
, "UI Persetujuan untuk aplikasi administratif." Saya mencoba mengubah nama dalam VM dan melihat apa yang terjadi. Seperti yang diharapkan, tidak ada permintaan ketinggian yang muncul saat menggunakan "jalankan sebagai administrator" - sebagai gantinya, Anda mendapatkan kesalahan yang tidak ditemukan file yang menyalahkan hal yang Anda coba tingkatkan:Mencoba menggunakan elemen UI Panel Kontrol apa pun yang memerlukan ketinggian (yaitu memiliki ikon pelindung), bahkan jika masuk sebagai administrator, gagal dengan kesalahan serupa. Mencoba meluncurkan hal-hal administratif dari menu Mulai menghasilkan kesalahan yang sedikit berbeda:
Bergantung pada set ACL ketika melakukan penggantian nama yang merusak segalanya, bisa mustahil untuk memperbaikinya dari dalam OS, karena operasi file dapat memerlukan peningkatan (bahkan jika mereka biasanya tidak menghasilkan dialog persetujuan). Aktivitas normal-seperti-pengguna tampaknya tidak terdegradasi.
sumber
consent.exe
, seorang penyerang yang dapat melakukan itu sudah berada di sisi lain dari lubang palka kedap udara dan memiliki cara yang lebih mudah dalam melakukan hal-hal buruk.