Trojan horse atau Kuda Troya atau yang lebih dikenal sebagai Trojan dalam keamanan komputer merujuk kepada sebuah bentuk perangkat lunak yang mencurigakan (malicious software/malware) yang dapat merusak sebuah sistem atau jaringan.
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).
Cara Kerja :
Trojan berbeda dengan jenis perangkat lunak mencurigakan lainnya seperti virus komputer atau worm karena dua hal berikut:
- Trojan bersifat "stealth" ( siluman dan tidak terlihat ) dalam operasinya dan seringkali berbentuk seolah-olah program tersebut merupakan program baik-baik, sementara virus komputer atau worm bertindak lebih agresif dengan merusak sistem atau membuat sistem menjadi crash.
- Trojan dikendalikan dari komputer lain ( komputer attacker ).
Penggunaan istilah Trojan atau Trojan horse dimaksudkan
untuk menyusupkan kode-kode mencurigakan dan merusak di dalam sebuah
program baik-baik dan berguna; seperti halnya dalam Perang Troya, para prajurit Sparta bersembunyi di dalam Kuda Troya yang ditujukan sebagai pengabdian kepada Poseidon.
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 tahun perang Troya bergejolak.
Kebanyakan Trojan saat ini berupa sebuah berkas yang dapat dieksekusi (*.EXE atau *.COM dalam sistem operasi Windows dan DOS atau program dengan nama yang sering dieksekusi dalam sistem operasi UNIX, seperti ls, cat, dan lain-lain) yang dimasukkan ke dalam sistem yang ditembus oleh seorang cracker untuk mencuri data yang penting bagi pengguna (password, data kartu kredit,
dan lain-lain). Trojan juga dapat menginfeksi sistem ketika pengguna
mengunduh aplikasi (seringnya berupa game komputer) dari sumber yang
tidak dapat dipercayai dalam jaringan Internet.
Aplikasi-aplikasi tersebut dapat memiliki kode Trojan yang
diintegrasikan di dalam dirinya dan mengizinkan seorang cracker untuk
dapat mengacak-acak sistem yang bersangkutan.
Jenis - Jenis Trojan :
Beberapa jenis Trojan yang beredar antara lain adalah:
- Pencuri password: Jenis Trojan ini dapat mencari password yang disimpan di dalam sistem operasi (/etc/passwd atau /etc/shadow dalam keluarga sistem operasi UNIX atau berkas Security Account Manager (SAM) dalam keluarga sistem operasi Windows NT) dan akan mengirimkannya kepada si penyerang yang asli. Selain itu, jenis Trojan ini juga dapat menipu pengguna dengan membuat tampilan seolah-olah dirinya adalah layar login (/sbin/login dalam sistem operasi UNIX atau Winlogon.exe dalam sistem operasi Windows NT) serta menunggu pengguna untuk memasukkan passwordnya dan mengirimkannya kepada penyerang. Contoh dari jenis ini adalah Passfilt Trojan yang bertindak seolah-olah dirinya adalah berkas Passfilt.dll yang aslinya digunakan untuk menambah keamanan password dalam sistem operasi Windows NT, tapi disalahgunakan menjadi sebuah program pencuri password.
- Pencatat penekanan tombol (keystroke logger/keylogger): Jenis Trojan ini akan memantau semua yang diketikkan oleh pengguna dan akan mengirimkannya kepada penyerang. Jenis ini berbeda dengan spyware, meski dua hal tersebut melakukan hal yang serupa (memata-matai pengguna).
- Tool administrasi jarak jauh (Remote Administration Tools/RAT): Jenis Trojan ini mengizinkan para penyerang untuk mengambil alih kontrol secara penuh terhadap sistem dan melakukan apapun yang mereka mau dari jarak jauh, seperti memformat hard disk, mencuri atau menghapus data dan lain-lain. Contoh dari Trojan ini adalah Back Orifice, Back Orifice 2000, dan SubSeven.
- DDoS Trojan atau Zombie Trojan: Jenis Trojan ini digunakan untuk menjadikan sistem yang terinfeksi agar dapat melakukan serangan penolakan layanan secara terdistribusi terhadap host target.
- Ada lagi sebuah jenis Trojan yang mengimbuhkan dirinya sendiri ke sebuah program untuk memodifikasi cara kerja program yang diimbuhinya. Jenis Trojan ini disebut sebagai Trojan virus.
- Cookies Stuffing, ini adalah script yang termasuk dalam metode blackhat, gunanya untuk membajak tracking code penjualan suatu produk, sehingga komisi penjualan diterima oleh pemasang cookies stuffing, bukan oleh orang yang terlebih dahulu mereferensikan penjualan produk tersebut di internet
Memeriksa Listening Port :
Mendeteksi keberadaan Trojan merupakan sebuah tindakan yang agak sulit dilakukan. Cara termudah adalah dengan melihat port-port mana yang terbuka dan sedang berada dalam keadaan "listening",
dengan menggunakan utilitas tertentu semacam Netstat. Hal ini
dikarenakan 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, tapi transmisi tersebut dari port
(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 dalam Windows XP Professional
C:\>netstat -a -b Active Connections Proto Local Address Foreign Address State PID TCP windows-xp:epmap 0.0.0.0:0 LISTENING 956 c:\windows\system32\WS2_32.dll C:\WINDOWS\system32\RPCRT4.dll c:\windows\system32\rpcss.dll C:\WINDOWS\system32\svchost.exe -- unknown component(s) -- [svchost.exe] TCP windows-xp:microsoft-ds 0.0.0.0:0 LISTENING 4 [System] TCP windows-xp:50300 0.0.0.0:0 LISTENING 1908 [oodag.exe] TCP windows-xp:1025 0.0.0.0:0 LISTENING 496 [alg.exe] TCP windows-xp:1030 0.0.0.0:0 LISTENING 1252 [ccApp.exe] UDP windows-xp:microsoft-ds *:* 4 [System] UDP windows-xp:4500 *:* 724 [lsass.exe] UDP windows-xp:isakmp *:* 724 [lsass.exe] UDP windows-xp:1900 *:* 1192 c:\windows\system32\WS2_32.dll c:\windows\system32\ssdpsrv.dll C:\WINDOWS\system32\ADVAPI32.dll C:\WINDOWS\system32\kernel32.dll [svchost.exe] UDP windows-xp:ntp *:* 1036 c:\windows\system32\WS2_32.dll c:\windows\system32\w32time.dll ntdll.dll C:\WINDOWS\system32\kernel32.dll [svchost.exe]
Membuat Snapshot
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 (dengan CRC atau MD5
atau 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.
Antivirus
Cara terakhir adalah dengan menggunakan sebuah perangkat lunak antivirus, yang dilengkapi kemampuan untuk mendeteksi Trojan yang dipadukan dengan firewall
yang memonitor setiap transmisi yang masuk dan keluar. Cara ini lebih
efisien, tapi 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, tapi tetap saja dibutuhkan waktu, tenaga dan uang
untuk mendapatkannya (mengunduhnya dari Internet).