EXE Berisi Code Dan Struktur Yang Dapat Dimuat Windows
Executable Windows modern umumnya menggunakan format Portable Executable atau PE. Struktur tersebut menyimpan header, section, import, resource, code, dan metadata yang diperlukan loader. Ketika file dijalankan, sistem memetakan bagian yang diperlukan ke memory, memuat dependency seperti DLL, menyiapkan process, lalu memulai thread pada entry point. Karena itu, EXE bukan sekadar file teks yang dibaca baris demi baris.
Portable Executable digunakan tidak hanya untuk .exe tetapi juga banyak DLL dan komponen Windows lain. Format ini menyediakan informasi yang dibutuhkan loader untuk relocation, import resolution, dan mapping section ke memory. Detail tersebut menjelaskan mengapa mengganti ekstensi file lain menjadi .exe tidak membuatnya menjadi program yang valid.
EXE Bisa Menjadi Aplikasi Biasa Atau Installer
Satu file .exe dapat langsung menjalankan aplikasi portable, bertindak sebagai bootstrapper installer, mengekstrak paket lain, atau memanggil service tertentu. Installer dapat menulis file ke Program Files, membuat registry entry, memasang dependency, membuat service, dan meminta restart. Karena perilakunya beragam, keputusan keamanan tidak dapat dibuat hanya berdasarkan ekstensi atau ukuran file.
Installer executable kadang hanya menjadi wrapper yang mengunduh komponen lain dari internet. Karena itu, hash atau signature file bootstrapper tidak selalu menjelaskan seluruh file yang akhirnya dipasang. Pada lingkungan sensitif, log instalasi dan sumber package lanjutan juga perlu diperiksa.
Sebagian installer EXE sebenarnya membungkus MSI atau package lain dan hanya bertindak sebagai bootstrapper. File tersebut dapat memeriksa prerequisite, memilih arsitektur, atau mengunduh komponen tambahan sebelum instalasi utama dimulai. Karena itu, perilaku installer dapat melibatkan jaringan dan dependency yang tidak terlihat dari satu file awal.
Digital Signature Membantu Memeriksa Publisher Dan Integritas
Authenticode memungkinkan publisher menandatangani executable menggunakan certificate. Windows dapat memeriksa apakah signature valid dan apakah file berubah setelah ditandatangani. Signature tidak membuktikan bahwa software pasti aman, tetapi memberi informasi tambahan mengenai asal dan integrity. File unsigned juga tidak otomatis malware, terutama pada software kecil atau internal, namun membutuhkan evaluasi sumber yang lebih hati-hati.
Certificate untuk code signing dapat dicabut jika private key disalahgunakan atau publisher bermasalah. Sistem dapat melakukan revocation checking sesuai konfigurasi. Timestamping juga membantu mempertahankan validitas signature setelah certificate publisher kedaluwarsa, selama signature dibuat ketika certificate masih valid.
Hash file seperti SHA-256 dapat membantu memastikan bahwa file yang diunduh identik dengan salinan yang dipublikasikan vendor, jika vendor menyediakan nilai pembanding. Hash tidak membuktikan identitas publisher dengan sendirinya, tetapi berguna untuk mendeteksi perubahan byte pada file selama distribusi.
Permission Dan SmartScreen Membantu Mengurangi Risiko
Executable yang membutuhkan perubahan sistem dapat memicu User Account Control untuk meminta elevation. Windows SmartScreen juga dapat memberi peringatan berdasarkan reputation dan informasi file. Pengguna sebaiknya tidak mematikan perlindungan hanya untuk melewati peringatan tanpa memahami asal file. Jalankan software dari sumber resmi, periksa publisher, dan hindari executable yang dikirim melalui kanal tidak terduga.
UAC bukan antivirus. Elevation hanya mengontrol perubahan privilege dan meminta persetujuan atau credential. Program berbahaya yang dijalankan dengan hak user tetap dapat mencuri data yang bisa diakses user. Karena itu, permission management perlu dikombinasikan dengan update, antimalware, dan kebiasaan mengunduh dari sumber terpercaya.
Pada perangkat perusahaan, application control dapat membatasi executable berdasarkan publisher, path, hash, atau policy lain. Pendekatan ini membantu administrator mengurangi software tidak sah, tetapi aturan perlu diuji agar aplikasi penting tidak ikut terblokir dan update resmi tetap dapat berjalan.





