1.1 Trojan horse atau sering disebut Trojan merupakan salah satu kelompok malware (perangkat lunak jahat) yang mempunyai fungsi spesifik untuk pengontrolan/akses antara jaringan seperti mencuri data, membuat back-door, mencuri password, dan serangkaian aksi lainnya.
Berbeda dengan jenis perangkat lunak jahat lainnya, Trojan memiliki 2 bagian aplikasi yang terpisah yaitu aplikasi server dan klien. Aplikasi server inilah yang biasanya disebar dengan target penyebaran umum ataupun khusus untuk mendapatkan akses terhadap komputer lain yang terhubung dalam sebuah jaringan (baik) lokal maupun publik. Jika suatu aplikasi server Trojan telah mampu menginfeksi komputer yang terhubung dalam suatu jaringan, maka sang pembuat (pengguna) Trojan dapat mengontrol komputer tersebut dengan aplikasi klien yang dia miliki.
Dilihat dari fungsi dan tujuan, Trojan sendiri sudah memiliki karakteristik khusus dibanding jenis program jahat lainnya, namun jika kita menelusuri dari sejarah penamaan Trojan, program ini rupanya juga memiliki keunikan sendiri. Dimana nama Trojan sendiri diambil dari cerita zaman Yunani kuno yaitu kisah perang troya (Trojan war).
Secara singkat, perang troya mengisahkan pasukan Yunani yang menggunakan taktik perang dengan membuat sebuah kuda raksasa yang dihuni oleh beberapa pasukan Yunani yang telah putus asa karena kekuatan pasukan kerajaan Troya. Kemudian, kuda tersebut ditinggal dalam sebuah kota. Pada saat pasukan troya lengah, pasukan yunani yang berada di dalam kuda raksasa dibantu dengan pasukan lain yang berpura-pura melarikan diri melakukan penyerangan dan akhirnya dapat melumpuhkan pasukan kerajaan Troya.
Entah apa yang mendasari penamaan Trojan dan analoginya dengan kisah tersebut. Akan tetapi, dari berbagai sumber menyatakan bahwa kisah tersebutlah yang mendasari penamaan salah satu jenis program jahat yang mampu dikontrol melalui jaringan untuk tugas-tugas tertentu yaitu'Trojan Horse'.
1.2 Seperti yang telah kita singgung sebelumnya bahwa Trojan memiliki 2 bagian aplikasi utama yaitu aplikasi klien dan server. Trojan tidak dapat terlepas dari konsep jaringan komputer dimana terdapat komputer server dan klien. Namun, secara teoritis ada hal yang membedakan antara konsep server klien pada jaringan dan Trojan bahkan sangat bertolak belakang. Dalam suatu jaringan (biasanya) server merupakan pusat dari sebuah komputer klien. Akan tetapi, pada konsep klien-server Trojan, aplikasi klien merupakan pusat pengontrol dan aplikasi server, dan aplikasi adalah aplikasi yang dikontrol melalui aplikasi klien dari Trojan. Sehingga dengan kata lain konsep klien server dari jaringan komputer dan Trojan dapat dikatakan bertolak belakang walaupun sebenarnya keduanya bekerja pada konteks yang berbeda. Secara konseptual cara kerja dari Trojan (klien-server) adalah sangat sederhana, kedua bagian aplikasi saling berkomunikasi setelah menetapkan koneksi pada 2 (atau lebih) komputer.
Aplikasi klien mengirimkan data kepada aplikasi server melalui port yang ditetapkan. Lalu, aplikasi server menginterprestasikan (menerjemahkan) data tersebut untuk dikonversikan ke dalam serangkaian fungsi yang telah ditetapkan oleh sang pembuat Trojan. Untuk lebih memperjelas hubungan komunikasi serta memperdalam pemahaman tentang Trojan antara aplikasi klien dan server, maka simak penjelasan detail seperti berikut :
1.2.1 Biasanya suatu program server dari Trojan tidak memiliki banyak interface (tampilan antara muka), karena aplikasi server pada Trojan dirancang sedemikian rupa agar kedatangan pada komputer korban tidak dapat diendus oleh pengguna komputer itu sendiri (korban) bahkan dengan bantuan program antivirus sekalipun. Dengan demikian, ketika suatu Trojan sudah mampu menyusup dan mengakar pada suatu komputer korban yang terhubung melalui jaringan maka siap saja (termasuk kita) dapat mengontrol komputer korban dengan aplikasi klien dari Trojan tersebut dengan fasilitas-fasilitas kontrol yang ada pada aplikasi klien. Misalnya, mengambil file, me-restart komputer, mengirim pesan, mencatat ketikan password, dan lain sebagainya.
Seperti yang telah disinggung sebelumnya, secara konseptual cara kerja dari aplikasi server hanyalah menerima data (yang berisi perintah) yang dikirim oleh aplikasi klien, lalu menerjemahkan ke dalam fungsi-fungsi yang telah ditetapkan. Namun, tidak menutup kemungkinan suatu aplikasi server pada Trojan juga mengirimkan data balik terhadap klien sebagai respon dari hasil eksekusi perintah yang diberikan oleh aplikasi klien.
1.2.2 Program klien dari suatu Trojan merupakan pusat kontrol dan kendali utama. Aplikasi klien mampu mencari dan mendeteksi apakah suatu Trojan (pasangannya) dalam keadaan hidup atau mati pada suatu komputer dengan alamat tertentu. Dari aplikasi klien, pengguna Trojan dapat mengirimkan serangkaian perintah untuk dieksekusi oleh aplikasi server pada komputer korban. Sebelum aplikasi klien dan server dapat berhubungan dan melakukan transaksi data melalui suatu port maka aplikasi klien akan menetapkan koneksi terhadap aplikasi server terlebih dahulu. Setelah koneksi berhasil ditetapkan maka aplikasi klien dan server Trojan sudah dapat melakukan serangkaian aksi yang dikehendaki oleh pengguna Trojan.
bersambung...................