Injeksi kode umum terjadi di Windows. Aplikasi "menyuntikkan" potongan kode mereka sendiri ke dalam proses lain untuk mengubah perilakunya. Teknik ini bisa digunakan untuk kebaikan atau kejahatan, tetapi cara itu bisa menimbulkan masalah.
Injeksi kode juga biasa disebut injeksi DLL karena kode yang disuntikkan sering dalam bentuk file DLL (dynamic link library). Namun, aplikasi juga bisa menyuntikkan jenis kode lain yang tidak DLL ke dalam suatu proses.
Injeksi kode digunakan untuk menyelesaikan segala macam trik dan fungsi pada Windows. Sementara program yang sah menggunakannya, itu juga digunakan oleh malware. Sebagai contoh:
Teknik ini digunakan terus-menerus oleh berbagai aplikasi pada Windows. Ini adalah satu-satunya cara nyata untuk menyelesaikan berbagai tugas. Dibandingkan dengan platform seluler modern seperti Apple iOS atau Google Android, desktop Windows sangat kuat karena jika menawarkan fleksibilitas semacam ini kepada pengembang.
Tentu saja, dengan semua kekuatan itu ada beberapa bahaya. Injeksi kode dapat menyebabkan masalah dan bug dalam aplikasi. Google mengatakan bahwa pengguna Windows yang memiliki kode disuntikkan ke browser Chrome mereka 15% lebih mungkin mengalami crash Chrome, itulah mengapa Google berupaya memblokir ini. Microsoft mencatat bahwa injeksi kode dapat digunakan oleh aplikasi berbahaya untuk mengutak-atik pengaturan browser, yang merupakan salah satu alasan itu sudah diblokir di Edge.
Microsoft bahkan memberikan instruksi untuk memeriksa apakah DLL pihak ketiga dimuat di Microsoft Outlook, karena menyebabkan banyak crash Outlook.
Sebagai karyawan Microsoft memasukkannya ke blog pengembang dari 2004:
Suntikan DLL tidak pernah aman. Anda berbicara tentang menyemprotkan kode ke dalam proses yang tidak pernah dirancang, dibuat, atau diuji oleh penulis proses, dan mengkooptasi atau membuat untaian untuk menjalankan kode itu. Anda berisiko menciptakan masalah waktu, sinkronisasi, atau sumber daya yang tidak ada sebelumnya atau memperburuk masalah yang ada di sana.
Dengan kata lain, injeksi kode adalah jenis peretasan yang kotor. Dalam dunia yang ideal, akan ada cara yang lebih aman untuk mencapai hal ini yang tidak menyebabkan ketidakstabilan potensial. Namun, injeksi kode hanyalah bagian normal dari platform aplikasi Windows saat ini. Ini selalu terjadi di latar belakang pada PC Windows Anda. Anda mungkin menyebutnya sebagai kejahatan yang diperlukan.
Anda dapat memeriksa injeksi kode pada sistem Anda dengan aplikasi Process Explorer yang kuat dari Microsoft. Ini pada dasarnya merupakan versi lanjutan dari Task Manager yang dikemas dengan fitur tambahan.
Unduh dan jalankan Process Explorer jika Anda ingin melakukan ini. Klik View> Lower Pane View> DLLs atau tekan Ctrl + D.
Pilih proses di panel atas dan lihat di panel bawah untuk melihat DLL yang dimuat. Kolom "Nama Perusahaan" menyediakan cara yang berguna untuk memfilter daftar ini.
Sebagai contoh, itu normal untuk melihat berbagai DLL yang dibuat oleh "Microsoft Corporation" di sini, karena mereka adalah bagian dari Windows. Ini juga normal untuk melihat DLL yang dibuat oleh perusahaan yang sama dengan proses yang dipermasalahkan- “Google Inc.” dalam kasus Chrome di tangkapan layar di bawah.
Kami juga dapat melihat beberapa DLL yang dibuat oleh "Perangkat Lunak AVAST" di sini. Ini menunjukkan bahwa perangkat lunak antimalware Avast di sistem kami menyuntikkan kode seperti "Pustaka filter Pemblokiran Skrip" ke Chrome.
Tidak banyak yang dapat Anda lakukan jika Anda menemukan injeksi kode pada sistem Anda - selain mencopot program yang menyuntikkan kode untuk mencegahnya menimbulkan masalah. Misalnya, jika Chrome mogok secara rutin, Anda mungkin ingin melihat apakah ada program yang menyuntikkan kode ke Chrome dan menghapusnya untuk mencegahnya merusak proses Chrome.
Injeksi kode tidak mengubah aplikasi yang mendasari pada disk Anda. Sebaliknya, ia menunggu aplikasi itu dijalankan dan ia menyuntikkan kode tambahan ke dalam proses yang berjalan untuk mengubah bagaimana ia berfungsi.
Windows menyertakan berbagai antarmuka pemrograman aplikasi (API) yang dapat digunakan untuk injeksi kode. Suatu proses dapat menempelkan dirinya ke proses target, mengalokasikan memori, menulis DLL atau kode lain ke memori itu, dan kemudian menginstruksikan proses target untuk mengeksekusi kode. Windows tidak mencegah proses di komputer Anda dari gangguan satu sama lain seperti ini.
Untuk informasi yang lebih teknis, periksa posting blog ini menjelaskan bagaimana pengembang dapat menyuntikkan DLL dan ini melihat jenis lain dari injeksi kode pada Windows.
Dalam beberapa kasus, seseorang mungkin mengubah kode yang mendasari pada disk-misalnya, dengan mengganti file DLL yang datang dengan game PC dengan yang dimodifikasi untuk mengaktifkan kecurangan atau pembajakan.Secara teknis ini bukan "injeksi kode." Kode tidak disuntikkan ke dalam proses yang sedang berjalan, tetapi program ini malah ditipu untuk memuat DLL yang berbeda dengan nama yang sama.
Kredit Gambar: Lukatme / Shutterstock.com.