Trojan horse (komputer)

Trojan horseatau hanyaTrojandalamkeamanan komputermerujuk kepada sebuahperangkat lunak berbahayayang dapat merusak sebuah sistem ataujaringan. Tujuan dari Trojan adalah memperoleh informasi dari target (password, kebiasaan user yang tercatat dalam system log, data, dan lain-lain), dan mengendalikan target (memperoleh hak akses pada target).
Trojan berbeda dengan jenis perangkat berbahaya lainnya sepertivirus komputeratauwormkarena dua hal berikut:
Penggunaan istilahTrojanatauTrojan horsedimaksudkan untuk menyusupkan kode-kode mencurigakan dan merusak di dalam sebuah program baik-baik dan berguna; seperti halnya dalamPerang Troya, para prajuritSpartabersembunyi di dalamKuda Troyayang ditujukan sebagai pengabdian kepadaPoseidon. Kuda Troya tersebut menurut para petinggi Troya dianggap tidak berbahaya, dan diizinkan masuk ke dalam benteng Troya yang tidak dapat ditembus oleh para prajurit Yunani selama kurang lebih 10 tahunperang Troyabergejolak.
Kebanyakan Trojan saat ini berupa sebuah berkas yang dapat dieksekusi (*.EXE atau *.COM dalam sistem operasiWindowsdanDOSatau program dengan nama yang sering dieksekusi dalam sistem operasi UNIX, sepertils,cat, dan lain-lain) yang dimasukkan ke dalam sistem yang ditembus oleh seorangcrackeruntuk mencuri data yang penting bagi pengguna (password, datakartu kredit, dan lain-lain). Trojan juga dapat menginfeksi sistem ketika pengguna mengunduh aplikasi (seringnya berupa game komputer) dari sumber yang tidak dapat dipercayai dalam jaringanInternet. Aplikasi-aplikasi tersebut dapat memiliki kode Trojan yang diintegrasikan di dalam dirinya dan mengizinkan seorang cracker untuk dapat mengacak-acak sistem yang bersangkutan.
Beberapa jenis Trojan yang beredar antara lain adalah:
Mendeteksi keberadaan Trojan merupakan sebuah tindakan yang agak sulit dilakukan. Cara termudah adalah dengan melihatport-portmana yang terbuka dan sedang berada dalam keadaan "listening", dengan menggunakan utilitas tertentu semacam Netstat. Hal ini disebabkan banyak Trojan berjalan sebagai sebuah layanan sistem, dan bekerja di latar belakang (background), sehingga Trojan-Trojan tersebut dapat menerima perintah dari penyerang dari jarak jauh. Ketika sebuah transmisi UDP atau TCP dilakukan, tetapi transmisi tersebut dariport(yang berada dalam keadaan "listening") atau alamat yang tidak dikenali, maka hal tersebut bisa dijadikan pedoman bahwa sistem yang bersangkutan telah terinfeksi oleh Trojan Horse.
Berikut ini adalah contoh penggunaan utilitas Netstat dalamWindows XP Professional
Cara lainnya yang dapat digunakan adalah dengan membuat sebuah "snapshot" terhadap semua berkas program (*.EXE, *.DLL, *.COM, *.VXD, dan lain-lain) dan membandingkannya seiring dengan waktu dengan versi-versi terdahulunya, dalam kondisi komputer tidak terkoneksi ke jaringan. Hal ini dapat dilakukan dengan membuat sebuah checksum terhadap semua berkas program (denganCRCatauMD5atau mekanisme lainnya). Karena seringnya Trojan dimasukkan ke dalam direktori di mana sistem operasi berada (\WINDOWS atau \WINNT untuk Windows atau /bin, /usr/bin, /sbin, /usr/sbin dalam keluarga UNIX), maka yang patut dicurigai adalah berkas-berkas yang berada di dalam direktori tersebut. Banyak berkas yang dapat dicurigai, khususnya berkas-berkas program yang memiliki nama yang mirip dengan berkas yang "baik-baik" (seperti "svch0st.exe", dari yang seharusnya "svchost.exe", sebuah berkas yang dijalankan oleh banyak layanan sistem operasi Windows) dapat dicurigai sebagai Trojan Horse.
Cara terakhir adalah dengan menggunakan sebuahperangkat lunak antivirus, yang dilengkapi kemampuan untuk mendeteksi Trojan yang dipadukan denganfirewallyang memonitor setiap transmisi yang masuk dan keluar. Cara ini lebih efisien, tetapi lebih mahal, karena umumnya perangkat lunak antivirus yang dipadukan dengan firewall memiliki harga yang lebih mahal dibandingkan dengan dua cara di atas (yang cenderung "gratis"). Memang, ada beberapa perangkat yang gratis, tetapi tetap saja dibutuhkan waktu, tenaga dan uang untuk mendapatkannya (mengunduhnya dari Internet).