Cegah aplikasi spesifik agar tidak dijalankan sebagai administrator

13

Latar Belakang

Kebanyakan perangkat instalasi memiliki kemampuan untuk meluncurkan, secara otomatis atau sebaliknya, program eksternal setelah instalasi. Ini sering muncul di installer melalui opsi seperti "Show readme", atau "Start program".

Isu

Masalahnya adalah, banyak dari penginstal ini yang berkode buruk, dan tidak menjatuhkan izin dengan tepat. Misalnya, memulai aplikasi secara otomatis, atau membuka beranda aplikasi di browser, sering kali menghasilkan peluncuran aplikasi atau browser dengan hak administratif Administratif installer, atau tingkat integritas UAC "Tinggi"!

Ini memiliki potensi untuk membuka pelanggaran keamanan, dengan membuka aplikasi yang diinstal, atau halaman web (dan mungkin add-on browser), yang sekarang berjalan dengan izin yang lebih tinggi.

(Inilah alasan saya sangat menyarankan untuk tidak memilih opsi luncurkan otomatis saat menginstal perangkat lunak.)

Pertanyaan

Apakah ada cara untuk mencegah aplikasi tertentu (seperti browser web) agar tidak pernah diluncurkan dengan hak administratif, yaitu, hak istimewa drop-otomatis berdasarkan nama proses?


sumber
2
Saya sangat suka pertanyaan ini. Ada produk untuk meningkatkan hak untuk proses berdasarkan path, hash, dll. Saya ingin melihat sesuatu yang menjatuhkan hak secara otomatis untuk, katakanlah, iexplore.exe, firefox.exe, chrome.exe, dll.
Patrick Seymour
1
Jika program pemijahan memiliki hak admin, tidak bisakah itu membatalkan apa pun yang Anda buat dan menjalankannya? :)
Ƭᴇcʜιᴇ007
1
Saya kira itu bisa, tetapi saya akan terkejut jika installer seperti, "Hei, Anda akan meramban beranda kami sebagai administrator, sobat!" dan terus menegakkan izin tersebut. Saya tidak berpikir saya akan membeli perangkat lunak dari perusahaan seperti itu, asalkan saya bisa mengetahuinya.
Patrick Seymour

Jawaban:

2

Saya setuju, pada prinsipnya, dengan jawaban "RUNAS".

Tampak bagi saya bahwa apa yang Anda inginkan adalah instance sub-proses dibatasi secara otomatis jika berjalan sebagai admin.

Ada beberapa pendekatan. Namun, mereka / bisa drastis dan tidak untuk admin yang malu-malu karena overhead mengganggu. Mereka akan melakukan pekerjaan itu.

Hanya menampilkan satu Pendekatan kecuali diminta lebih banyak :

Untuk setiap aplikasi yang ingin Anda batasi:

right click the executable and go to **PROPERTIES**
go to the **SECURITY** tab
click **ADVANCED** at the bottom
click **ADD** at the bottom
type **ADMINISTRATORS** for the name. if you have a domain then adjust appropriately
press **OK** to get the custom settings for the administrator's group
check the **DENY** checkbox next to "TRAVERSE FOLDER/ EXECUTE FILE" permission (2nd on the list)
hit OK and so-on until you've closed the properties entry for that file.

Sekarang, anggota grup administrator tidak dapat menjalankan file itu. Mereka dapat kembali dan mengubah izin untuk tidak mencentang sehingga mereka dapat menjalankannya, tetapi mereka harus melakukannya dengan sadar.

Juga, karena Anda khawatir tentang hal ini terjadi selama installer, Anda ingin melakukan prosedur yang sama untuk "pengguna" SISTEM , yang juga (secara efektif) berjalan sebagai admin, karena akun ini dapat digunakan selama beberapa instalasi ( kredensial akun Windows "ADMIN" dapat digunakan untuk mendapatkan token kredensial SISTEM ... tapi ini jauh melampaui apa yang ditargetkan oleh pertanyaan ini).

Berikut adalah beberapa gambar untuk melakukan ini di windows 7:

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Nick
sumber
1

Anda harus dapat mencapai level hak yang lebih rendah dengan dropmyrights atau psexec.

Bagian yang sulit tampaknya adalah mewujudkannya secara otomatis ketika installer menginstal instance aplikasi baru.

Untuk itu saya curiga Anda setidaknya perlu mengubah asosiasi file untuk semua jenis file yang relevan dan juga untuk URL, dengan menambahkan perintah yang ada dengan perintah psexec misalnya.

Itu akan berfungsi selama installer mencoba untuk membuka file / url dengan aplikasi terkait daripada menentukan yang dapat dieksekusi untuk dijalankan. Jika path executable ditentukan secara eksplisit, saya kira Anda perlu mengganti executable standar dengan shim executable yang menjalankan perintah yang Anda inginkan.

sahmeepee
sumber
1

Satu hal yang sedang dilewatkan di sini adalah bahwa Internet Explorer dan Windows Explorer TIDAK BISA memiliki izin mereka meningkat (kecuali jika Anda melakukan peretasan registri). Saya tidak tahu tentang Firefox, Chrome, dll. Tetapi jika Anda mencoba menjalankan Internet Explorer sebagai admin, ia akan dengan senang hati menerima kredensial Anda tetapi sebenarnya tidak akan meningkatkan izin. Ini adalah fitur keamanan Windows Vista dan yang lebih tinggi. Dan selain itu, satu-satunya cara UAC tidak berlaku (kecuali jika Anda mematikannya) adalah jika Anda masuk ke akun administrator bawaan. Hanya karena ada sesuatu yang diinstal dengan izin yang tinggi, itu tidak berarti installer dapat memberikan izin yang lebih tinggi pada program itu. Izin ditentukan oleh akun tempat program dijalankan. Satu-satunya cara program dapat dijalankan dengan izin tinggi tanpa Anda sadari adalah jika,

MegaloDon
sumber
1
RUNAS /trustlevel:<TrustLevel> program

/trustlevel       <Level> should be one of levels enumerated
                  in /showtrustlevels.
/showtrustlevels  displays the trust levels that can be used
                  as arguments to /trustlevel.

This requires an elevated command prompt.

Penjelasan / Langkah demi Langkah

  1. Buka menu mulai dan ketik cmd pada bilah pencarian
  2. Klik kanan pada command prompt dan pilih run as administrator Type:

    RUNAS /showtrustlevels
    
  3. Pilih tingkat kepercayaan yang sesuai untuk menjalankan aplikasi Anda, di mana Xtingkat kepercayaan yang ingin Anda gunakan dan ketik:

    RUNAS /trustlevel:X "Application target"
    
David McGowan
sumber
Saya tidak berpikir ini akan berhasil. Untuk menggunakan RunA agar jendela browser yang dihasilkan berjalan dengan hak yang rendah, Anda harus menjalankan installer (melalui RunA) dengan hak yang rendah. Melakukannya kemungkinan akan menyebabkan installer tidak berfungsi.
Patrick Seymour
baik jika Anda ingin melakukannya dengan cara itu Anda akan mengubah variabel lingkungan untuk browser Anda untuk memasukkan perintah RUNAS / trustlevel maka browser akan selalu diluncurkan di tingkat kepercayaan yang dipilih, sepertinya Anda tidak perlu menjalankan browser di situasi yang ditinggikan ... patut dipikirkan
David McGowan
Mengubah variabel lingkungan adalah sedikit misi, itu akan memerlukan membuat exe sederhana untuk menggantikan yang asli yang berisi panggilan sederhana ke executable nyata dengan perintah RUNAS disertakan. seperti yang saya katakan, sedikit misi Anda hanya bisa menyalin alamat yang diluncurkan dengan jendela browser dan kemudian menutup dan meluncurkan kembali browser dan ketik alamat di
David McGowan
0

saya melihat ke solusi yang berbeda dan saya sudah bisa memberi tahu Anda bahwa manifes aplikasi atau flag appcompat tidak akan berfungsi (ya itu bukan jawaban nyata tetapi saya masih ingin membagikan ini;))

apa yang mungkin dekat dengan apa yang Anda cari adalah tingkat integritas yang disebut , itu dapat diatur dalam filesystem (ACL) dan memiliki efek pada token proses yang dipegang

artikel ini menjelaskan bagaimana Anda membuat exe selalu dijalankan pada "tingkat integritas rendah"

pendekatan lain akan menjadi alat pihak ketiga, seperti monitor proses nyata pemindai virus atau firewall aplikasi akan digunakan, tetapi saya tidak tahu ada yang dapat dikonfigurasi dengan cara itu.

weberik
sumber
2
Anda dapat mengabaikan jawaban saya, saya hanya mencoba metode itu dan itu tidak berhasil :(
weberik
0

Anda dapat menggunakan AppLocker.

Saya percaya ini tersedia di Windows 7 Enterprise, Ultimate dan Server 2K8 ke atas. Tidak yakin tentang Windows 8 tetapi akan menganggapnya sama (Enterprise dan Ultimate).

Anda dapat mengatur AppLocker dengan masuk ke kebijakan grup:

Konfigurasi Komputer -> Pengaturan Windows -> Pengaturan Keamanan -> Kebijakan Kontrol Aplikasi -> AppLocker -> Aturan yang Dapat Dilakukan.

Klik kanan dan "Buat Aturan baru ..."

Di sini Anda dapat memblokir eksekusi yang tidak dapat dijalankan oleh pengguna atau grup tertentu. Dalam contoh Anda, Anda dapat memilih untuk menolak eksekusi Internet Explorer oleh grup Administrator.

zako42
sumber