Sebenarnya Apa sich SVCHOST.EXE itu? Kenapa ada begitu banyak proses dengan nama SVCHOST.EXE?? Sebenarnya SVCHOST.EXE itu penting nggak sich?? … Okay.. ikuti saja pembahasan berikut ^_^

Awalnya, Microsoft menggunakan file .exe (executable) bagi service-service yang berjalan di Windows. Karena dirasa kurang efisien, Microsoft kemudian melakukan perombakan dengan mengubah service-service tadi dari menggunakan file-file .exe menjadi file .dll (Dynamic Link Library).

Dynamic Link Library (.dll) merupakan file yang berisi rutin (procedure & function) yang dapat dipanggil dari file executable (.exe) maupun dari file .dll lain. Hal ini dirasa lebih menguntungkan karena rutin-rutin yang bersifat umum dapat dipakai oleh beberapa aplikasi pada saat yang bersamaan dan hanya diperlukan satu copy saja di memory atau disk. Programmer dapat mengatur agar rutin-rutin yang terdapat pada DLL tersebut dimuat ke memory hanya ketika diperlukan saja. Apabila tidak diperlukan maka DLL tersebut bisa dibuang dari memory.

Dengan demikian, maka aplikasi yang Anda buat dapat lebih menghemat penggunaan memory. Keuntungan kedua, aplikasi menjadi bersifat modular. Anda dapat melakukan update aplikasi yang Anda buat tanpa harus mengupdate file EXE. Dengan demikian Anda cukup menyertakan patches kepada program Anda tanpa Anda harus menyertakan seluaruh aplikasi.
Keuntungan lain adalah ukuran file EXE menjadi lebih kecil karena beberapa kode program diletakkan pada file DLL.

Jika anda melihat pada TaskManager, anda akan menyaksikan banyak proses dengan nama SVCHOST.EXE
Hal ini seringkali dimanfaatkan oleh para penulis WORM untuk melakukan rekayasa sosial dengan cara memberi nama induk worm dengan nama yang sama atau mirip svchost.exe, dengan harapan user akan mengira bahwa induk worm tersebut bagian dari komponen windows. Ya, seringkali user kebingungan membedakan svchost.exe milik Worm dengan svchost.exe milik WINDOWS.

Nah.. dari sini Anda mungkin bertanya-tanya..

Kenapa sich kok ada banyak proses dengan nama SVCHOST.EXE??
Begini nich.. sebagaimana layaknya Operating System, WINDOWS memiliki banyak sekali service-service yang harus dipanggil. Seperti yang sudah saya jelaskan di awal tadi, masing-masing service tersebut tentunya harus dijalankan oleh suatu file executable. Jika seluruh service yang sedemikian banyak itu dijalankan oleh hanya sebuah file executable saja, maka tentu resiko terjadi kegagalan pemanggilan service tersebut akan sangat tinggi.

Untuk mengantisipasi hal itu, maka service-service tersebut dikelompok-kelompokkan sesuai dengan fungsinya. Tiap file SVCHOST.EXE dipanggil untuk menjalankan kelompok service yang berbeda. Misalnya SVCHOST.EXE yang pertama menjalankan group service untuk Audio, SVCHOST.EXE kedua menjalankan service-service Firewall, dan lain sebagainya. Karena pemisahan-pemisahan inilah banyak terdapat proses dengan nama SVCHOST.EXE

Ingin tau service-service apa saja yang berjalan di Windows Anda dan siapa yang menjalankannya? Buka Windows Command Processor Anda. Klik [Start] -> [Run] lalu ketik CMD

Ketik perintah TASKLIST /SVC lalu tekan ENTER. Perintah tersebut akan menampilkan proses yang sedang berjalan di komputer Anda beserta service-service apa saja yang dipanggil (jika ia menjalankan Service tertentu). Perintah ini berjalan pada Windows XP dan Vista.

Sekarang, kita akan melihat service-service yang berjalan dibawah SVCHOST.EXE. Ketik perintah berikut:
TASKLIST /FI “IMAGENAME eq svchost.exe” /SVC

Terlihat dengan jelas khan bahwasanya masing-masing SVCHOST.EXE menjalankan service-service tertentu yang berbeda.

Tidak semua service-service yang berjalan benar-benar diperlukan oleh WINDOWS. Adakalanya Anda perlu mematikan service-service yang tidak penting untuk alasan Security. Misalnya saja RemoteRegistry. Membiarkan RemoteRegistry dalam keadaan aktif dapat membuka celah keamanan pada Windows Anda. Lha.. trus gimana cara mematikan Service?

Caranya cukup mudah. Masuk ke Control Panel, kemudian pilih menu [Adminsitrative Tools]. Klik ganda pada [Services]. Sebuah jendela berisi daftar service-service akan tampil di hadapan Anda.

Untuk menghentikan suatu Service, klik kanan pada Service yang anda inginkan lalu pilih Stop. Dalam contoh saya memilih Remote Registry. Sampai disini Service sudah berhenti. Namun service tersebut akan kembali berjalan ketika Anda merestart komputer Anda. Untuk menghentikannya secara permanen, klik kanan pada Service yang anda inginkan lalu pilih menu Properties.

Ada banyak sekali informasi yang diberikan pada menu Properties tersebut. Terlihat bahwasanya Service RemoteRegistry berjalan dibawah SVCHOST.EXE. Untuk mencegah Service tersebut otomatis berjalan ketika Windows StartUp, klik menu drop down pada Startup type, pilih Disabled.

Andapun dapat meng-enable atau mendisable suatu Service melalui Command Prompt dengan perintah dasar berikut ini:

sc config NAMASERVICES start= boot|system|auto|demand|disabled

*NOTE:

Perhatikan spasi pada perintah dasar diatas. Menghapus spasi membuat perintah tidak berjalan sebagaimana mestinya.

Misalnya anda ingin megenable kembali Service RemoteRegistry ketika Windows Startup, maka perintah yang harus Anda ketikkan ialah:

sc config RemoteRegistry start= auto
Perintah tersebut akan mengubah Starup type Service RemoteRegistry menjadi Automatic. Untuk mendisable kembali RemoteRegistry, maka perintah yang dapat Anda pergunakan ialah:

sc config RemoteRegistry start= disabled

Dengan demikian, Startup type Remote Registry kembali menjadi disabled.