Apa pro / kontra dari memblokir program agar tidak berjalan di% appdata%,% temp%, dll?

13

Saat mencari cara untuk mencegah CryptoLocker , saya melihat posting forum yang disarankan menggunakan Group Policy Objects (GPO) dan / atau perangkat lunak antivirus untuk memblokir akses yang dijalankan di lokasi berikut:

  1. %data aplikasi%
  2. % localappdata%
  3. % temp%
  4. %Profil pengguna%
  5. Arsip terkompresi

Jelas, apa pun yang ditulis dalam forum harus diambil dengan hati-hati. Namun saya melihat keuntungan melakukan hal ini, terutama karena malware suka mengeksekusi dari lokasi ini. Tentu saja, ini dapat berdampak pada program yang sah juga.

Apa kelemahan untuk memblokir akses yang berjalan ke lokasi-lokasi ini?

Apa kelebihannya?

menyodok
sumber
3
Of course, this could impact legitimate programs as well.- sedikit ...
TheCleaner
1
Sebagai contoh, GitHub menginstal sendiri di% APPDATA%, dan ketika sysadmin saya menerapkan aturan baru baru-baru ini untuk memblokir file yang dapat dieksekusi untuk dijalankan dari lokasi itu, GitHub untuk Windows tidak dapat memulai lagi. Kemudian SourceTree turun juga karena tidak dapat menjalankan git.exe di% APPDATA%, yang awalnya dipasang oleh GitHub - agak menyebalkan, tentu saja ...
Jim Raynor

Jawaban:

12

Alasan malware suka melakukan dari lokasi ini adalah karena perangkat lunak yang sah suka mengeksekusi dari lokasi ini. Itu adalah area yang harusnya memiliki akun pengguna memiliki tingkat akses tertentu.

Berdasarkan grep cepat sistem saya sendiri dan akun pengguna akhir acak di jaringan kami:

%appdata%

Saat ini, saya memiliki Dropbox , penginstal untuk Adobe AIR dan beberapa peluang Microsoft Office dan berakhir di folder ini.

%localappdata%

join.me dan SkyDrive tampaknya tinggal di sini, atau setidaknya telah melewati baru-baru ini.

%temp%

Banyak program, sah atau tidak, akan ingin dijalankan dari folder ini. Pemasang biasanya membongkar sendiri ke subfolder ini ketika Anda menjalankan setup.exearsip pemasang yang dikompresi.

%Profil pengguna%

Biasanya akan aman kecuali jika pengguna memiliki persyaratan tertentu, meskipun perhatikan bahwa setidaknya beberapa folder di atas bisa menjadi himpunan bagian dari ini pada jaringan dengan profil roaming.

Arsip terkompresi

Jangan menjalankan kode secara langsung, sebagai gantinya biasanya mengekstrak %temp%dan lari dari sana.

Seperti apakah Anda harus memblokir area ini atau tidak, itu tergantung apa yang biasanya dilakukan pengguna Anda. Jika semua yang perlu mereka lakukan adalah mengedit dokumen Office, bermain Minesweeper saat makan siang, dan mungkin mengakses aplikasi LOB melalui browser, dll. Maka Anda mungkin tidak memiliki terlalu banyak masalah memblokir file executable di setidaknya beberapa folder ini.

Jelas pendekatan yang sama tidak akan bekerja untuk orang dengan beban kerja yang kurang jelas.

Rob Moir
sumber
Chrome juga tinggal di%appdata%
Juri Robl
5
@JuriRobl hanya versi konsumen, versi bisnis Chrome berperilaku lebih baik.
Diambil
@JuriRobl - Chrome di PC pekerjaan saya ada di C: \ Program Files (x86) \ Google \ Chrome \ Application. Versi bisnis seperti yang dikatakan GAThrawn. Juga, saya berusaha memberikan contoh berdasarkan apa yang ada di sistem saya, tidak menghasilkan daftar lengkap apa pun.
Rob Moir
6

Pro:

Malware yang mencoba dieksekusi dari lokasi tersebut tidak akan dapat berjalan.

Cons:

Program yang sah yang mencoba dieksekusi dari lokasi tersebut tidak akan dapat berjalan.


Mengenai program sah apa yang Anda miliki di lingkungan Anda yang memerlukan hak eksekusi di direktori itu, hanya Anda yang bisa mengatakannya, tetapi saya melihat RobM baru saja memposting jawaban dengan tinjauan tingkat tinggi . Memblokir eksekusi dari direktori ini akan menyebabkan masalah bagi Anda, jadi Anda perlu melakukan beberapa pengujian terlebih dahulu untuk menentukan masalah apa yang akan Anda miliki, dan bagaimana Anda harus mengatasinya.

HopelessN00b
sumber
3

Rekomendasi itu akan bekerja dengan sempurna di lingkungan saya. TIDAK ada pengguna yang diizinkan untuk menginstal perangkat lunak, dan NONE dari perangkat lunak yang disetujui dijalankan dari lokasi yang disebutkan. Workstation memiliki pra-instal perangkat lunak yang disetujui dalam gambar workstation dan diperbarui oleh skrip.

Dropbox, Chrome, Skype, dll. Semuanya dapat ditempatkan kembali selama instalasi ke lokasi instalasi "Program Files" yang lebih dapat diterima.

Selama Anda memiliki tunjangan untuk Administrator atau Admin Domain (dan mungkin akun "Pemasang" khusus) untuk dapat menjalankan pembaruan dan menambahkan perangkat lunak yang disetujui, saya akan setuju dengan rekomendasi.

Alderin
sumber
2

Saya berasumsi Anda ingin menolak hak eksekusi tidak hanya untuk folder ini tetapi untuk seluruh pohon mulai dari mereka (jika tidak, tidak ada gunanya melakukan apa yang ingin Anda lakukan).

Konsekuensi - jelas - adalah bahwa setiap executable yang terletak di ini akan gagal dijalankan.

Sayangnya, ini akan mencakup sejumlah besar aplikasi yang sah.

% localappdata% dan% appdata% adalah yang paling bermasalah: Dropbox, Chrome, SkyDrive, misalnya, akan gagal berfungsi. Sebagian besar pengunggah otomatis dan banyak penginstal juga akan gagal berfungsi.

% UserProfile% bahkan lebih buruk karena itu mencakup% localappdata% dan% appdata% serta sejumlah folder lainnya.

Singkatnya: jika Anda mencegah aplikasi agar tidak berjalan dari folder ini, sistem Anda mungkin tidak dapat digunakan lagi.

% temp% berbeda. Meskipun Anda kadang-kadang mungkin memiliki program yang sah berjalan dari sana, itu cukup jarang dan biasanya mudah dikerjakan. Sayangnya,% temp% memperluas ke folder yang berbeda tergantung pada konteks pengguna tempat Anda memperluasnya: mungkin berakhir di% localappdata% \ temp (dalam konteks pengguna) atau% SystemRoot% \ temp (dalam konteks sistem) sehingga Anda harus mengamankan setiap lokasi secara individual.

% temp% juga kandidat yang baik karena di situlah sebagian besar program surat akan menyimpan lampiran sebelum membukanya: itu akan membantu dalam banyak kasus maleware berbasis surat.

Salah satu trik yang baik adalah mengubah premisi pada folder C: \ Users \ Default \ AppData \ Local \ temp dan C: \ Users \ DefaultAppPool \ AppData \ Local \ Temp ketika Anda mengatur sistem (dan, tentu saja,% SystemRoot% \ temp). Windows akan menyalin folder ini ketika membuat profil baru sehingga pengguna baru akan memiliki lingkungan yang aman.

Anda mungkin ingin menambahkan% UserProfile% \ Unduhan ke daftar Anda: ini adalah tempat sebagian besar browser akan menyamai file yang diunduh pengguna dan menolak eksekusi dari sana juga akan meningkatkan keamanan.

Stephane
sumber
2

Selama tiga bulan terakhir saya menjalankan dengan pengaturan yang sama pada workstation utama saya. Pengguna utama saya memiliki baik menjalankan izin ke direktori atau menulis izin tetapi tidak pernah keduanya.

Ini berarti tidak ada executable baru yang dapat diperkenalkan oleh akun ini. Itu pro, saya bisa menjalankan program yang sudah ada di sistem atau diinstal oleh akun lain, tapi saya tidak bisa mengunduh program baru dan menjalankannya, ini berarti malware apa pun yang masuk melalui browser atau cara lain memiliki waktu yang lebih sulit untuk dijalankan pada sistem saya, injeksi DLL sederhana juga tidak berfungsi.

Seperti yang telah ditunjukkan oleh orang lain, masalah utama adalah bahwa beberapa perangkat lunak yang sah menggunakan lokasi yang saya blokir. Dalam kasus saya:

  • Google Chrome - Saya menginstal versi MSI
  • aplikasi Portable Apps - yang sekarang saya jalankan di bawah pengguna yang berbeda
  • Process Explorer - Saya menggunakan versi 64bit yang diekstrak secara langsung
  • dism.exe - dijalankan sebagai admin, yang harus saya lakukan sebagian besar waktu.

Jadi pada dasarnya saya menggunakan tiga akun, satu saya masuk dengan, akun pengguna normal lain untuk menjalankan program tervalidasi tertentu dan akun admin untuk menginstal perangkat lunak baru untuk dua lainnya.

Saya menyukai kenyataan bahwa itu memaksa saya untuk menguji perangkat lunak apa pun yang baru diunduh dalam VM.

Saya memulai sebagian besar program saya melalui PowerShell dan memiliki tiga shell, satu untuk setiap akun baik untuk saya. Apakah ini bekerja untuk Anda benar-benar tergantung pada seberapa banyak perangkat lunak yang Anda gunakan yang harus diperlakukan berbeda.

Pada mesin pengembang ini tidak benar-benar berfungsi karena saya harus mengkompilasi kode saya dan kemudian menjalankannya. Jadi saya membuat pengecualian untuk direktori kode saya pada drive data, malware dapat memindai semua drive dan menemukan ini.

Saya menggunakan NTFS ACL daripada kebijakan untuk menegakkan ini. Ini mencegah semua program untuk dijalankan, tapi saya masih bisa membuat skrip PowerShell dan kemudian menjalankannya dan itu bisa membuat kerusakan yang cukup.

Jadi sementara itu membuat hal-hal lebih sulit itu tidak 100% aman tetapi masih akan melindungi Anda dari sebagian besar malware saat ini.

Peter Hahndorf
sumber
0

Anda dapat melihat di folder-folder itu, tetapi kebanyakan adalah data, persis apa nama folder itu. Misalnya Anda akan melihat chrome, tetapi executable aktual ada di folder c: \ programs.

Saya memblokir semua yang dapat dieksekusi dari menjalankan di mana saja di komputer kecuali folder program. Hanya diizinkan sementara ketika saya perlu menginstal sesuatu, dan saya tidak pernah punya masalah.

CooloutAC
sumber
-1

Saya akan merekomendasikan pencarian cepat dari direktori untuk melihat apa yang Anda miliki di masing-masing direktori saat ini. Jika tidak ada yang dieksekusi dari mereka sekarang ikuti panduan di forum. Jika Anda menemukan masalah di masa depan cukup menilai opsi Anda kemudian. Sebagian besar dari ini seharusnya tidak memiliki executable di dalamnya.

Chris Jones
sumber