Control Keylogger dan Spy Agent untuk Monitoring Aktivitas Keyboard dalam Jaringan Microsoft Windows 1)
Mulki Indana Zulfa1) Teknik Elektro - Universitas 17 Agustus 1945 Cirebon
[email protected]
Abstrak–Pengawasan terhadap penggunaan teknologi informasi sangat diperlukan terlebih semakin berkembangnya ilmu tentang pembuatan virus, worm, atau spyware. Memasang antivirus bisa juga menjadi solusi untuk mencegah virus masuk ke dalam jaringan atau sistem komputer. Tetapi antivirus tidak bisa melakukan monitoring terhadap aktivitas user contohnya aktivitas keyboard. Keylogger adalah perangkat lunak yang mampu merekam segala aktivitas keyboard. Keylogger harus diinstal terlebih dahulu terhadap target komputer (client) yang akan direkam aktivitas keyboard-nya. Kemudian untuk mengambil file hasil rekamannya, file log, harus mempunyai akses fisik ke komputer tersebut dan hal ini akan menjadi masalah jika komputer target yang akan dimonitoring cukup banyak. Metode control keylogger-spy agent dengan memanfaatkan Microsoft Winsock Control bisa menjadi solusi dari masalah tersebut. Spy agent akan secara aktif merekam aktivitas keyboard seseorang. File log yang dihasilkan akan disimpan didalam cache-nya sehingga tidak akan menimbulkan kecurigaan user dan tidak perlu mempunyai akses fisik jika ingin mengambil file lognya. Control keylogger dapat menghubungi spy agent mana yang akan diambil file lognya. File log yang berhasil diambil akan disimpan dengan baik di komputer server. Dari hasil pengujian lima komputer yang dijadikan target spy agent semuanya dapat memberikan file log kepada control keylogger. Kata kunci: keylogger, control keylogger-spy agent, microsoft winsock control Abstract–Supervision of the use of information technology is necessary especially knowledge about making the viruses, worms, or spyware so fast . Installing anti-virus can also become a solution to prevent the virus into the network or computer system. But antivirus can not do for monitoring user activity eg. keyboard activity. Keylogger is software that can record all keyboard activity. Keylogger must be installed to the target computer (client) that will recorded the keyboard activity. Then to retrieve the file of
records, log files, a person must have physical access to the computer and this will be a problem if the target computer that will monitored so much. Control methods keylogger-spy agent by using the Microsoft Winsock Control could be the solution of the problem. Spy agent will actively recording a keyboard activity. The resulting log file will be stored in its cache so it will not arouse suspicion and the user not to have physical access if want to retrieve log files. Control keylogger can contact the spy agent which want to capture log files. Successfully log file will be stored properly on the server computer. From the test results of five computer targeted can give all the log files to control keylogger. Keywords: keylogger, control keylogger-spy agent, microsoft winsock control PENDAHULUAN Serangan virus, spyware dan program membahayakan lainnya semakin meningkat kuantitas maupun kualitasnya. Hal tersebut terjadi karena semakin berkembangnya ilmu tentang security komputer dan kelemahan – kelemahan yang ditemukan dalam sebuah sistem. Spyware adalah program yang mampu mematamatai aktivitas pengguna komputer, dimana salah satunya adalah dapat merekam ketukan keyboard yang disebut keylogger. Ada lima metode yang banyak digunakan oleh perangkat lunak keylogger diantaranya hypervisorbased, kernel-based, hook-based, passive-method, dan form grabber based. Kemudian diantara lima metode tersebut passive method adalah teknik yang paling banyak digunakan oleh pembuat keylogger. Metode ini banyak menggunakan fungsi Windows API (Appication Programming Interface). Jika keylogger tersebut dapat dimanfaatkan untuk aktivitas positif yaitu monitoring jaringan area lokal (LAN), maka hal itu akan memudahkan seorang Administrator dalam mengawasi jaringan komputer yang dikelolanya.
SPYWARE Secara sederhana spyware dapat didefinisikan sebagai program yang mempunyai kemampuan untuk memata-matai aktivitas pengguna komputer yang berjalan secara diam – diam tanpa disadari oleh pengguna komputer tersebut. Aktivitas yang dimata-matai bisa beragam tergantung keinginan yang membuat spyware tersebut. Ada yang beralasan spyware yang mereka sebarkan hanya sekedar untuk mengetahui informasi pasar, mengawasi bawahannya saat bekerja hingga memang berniat untuk mencuri data pribadi seseorang. Ada dua istilah lain yang berkaitan dengan spyware yaitu trojan horse dan Remote Administration Tool (RAT). Trojan horse adalah program yang disamarkan dengan file lain yang tidak dianggap berbahaya contohnya icon program yang sama dengan icon MS.Word ditambah dengan nama file yang sangat menarik sehingga memancing user untuk mengeksekusi file tersebut. Biasanya tiap spyware yang disebarkan diberikan kode yang unik untuk membedakan informasi dari tiap target dengan menggunakan metode Globally Unique IDentifier (GUID). GUID akan menyimpan informasi cookie dan perangkat keras pada harddisk komputer target. Spyware secara periodik akan terus – menerus mengirimkan informasi tersebut sehingga informasi yang dimiliki oleh pemilik spyware akan diperbarui terus [7]. Gambar dibawah ini menjelaskan bagaimana spyware bekerja pada tiap komputer target. Spyware Publisher
Database Target
Spyware 1
Cookie
Spyware 2
Cookie
Gambar 1. Ilustrasi cara keja spyware [4] KEYLOGGER
Keylogger adalah salah satu jenis spyware yang memiliki kemampuan untuk memata – matai
(merekam) ketukan keyboard yang bekerja secara sembunyi tanpa diketahui oleh pengguna komputer. Keylogger banyak dimanfaatkan oleh hacker untuk mencuri data – data penting seperti user dan password email, no rekening bank atau kartu kredit serta banyak informasi penting lainnya yang dapat direkam oleh keylogger. Keylogger ada yang berbentuk perangkat lunak maupun perangkat keras. Perangkat keras keylogger susah untuk dideteksi oleh antispyware atau antivirus sekalipun tetapi justru lebih mudah dilihat oleh mata karena biasanya perangkat ini akan dipasang diantara konektor kabel keyboard dan port PS2 atau USB pada komputer. Ada lima metode yang banyak digunakan oleh perangkat lunak keylogger diantaranya hypervisorbased, kernel-based, hook-based, passive-method, dan form grabber based. Dalam paper ini keylogger yang dibuat menggunakan passive-method. Passive-Method keylogger adalah teknik yang paling banyak digunakan oleh pembuat keylogger yaitu dengan banyak memanfaatkan fungsi windows Application Programming Interface (API). Fungsi – fungsi API yang digunakan diantaranya GetAsyncKeyState(), GetForegroundWindow(), GetWindowText(), GetCapsState(), dan GetShiftState().
WATCHER METHOD Metode Watcher adalah suatu metode yang membentuk suatu rangkaian program yang saling mengawasi satu sama lainnya, tidak hanya mengawasi keberadaan program tetapi juga mengawasi hal lain seperti suatu konfigurasi (misalnya registry windows), keberadaan atau ketidakadaan suatu hal (misalnya ada tidaknya antivirus) atau mengawasi suatu kejadian tertentu (misalnya user yang mengeksekusi file tertentu) [1]. Metode tersebut pernah digunakan oleh seorang worm writer dengan nickname [K]alamar yang pernah membuat suatu script menggunakan bahasa pemrograman Visual Basic Script (VBS) yang kemudian terkenal dengan istilah Anti Deletion Methode yaitu metode yang akan menyulitkan user untuk menghapus worm yang dibuatnya. Sebagai contoh misalkan saat menginfeksi suatu sistem, worm tersebut akan menggandakan dirinya pada direktori C:\WINDOWS dengan nama winword.exe kemudian langsung menjalankannya. Pada saat itu juga winword.exe akan memeriksa keberadaan file spool32.exe pada direktori C:\WINDOWS\system32. Jika file tersebut tidak ada maka winword.exe akan menggandakan dirinya menjadi spool32.exe.
File spool32.exe yang telah tercipta kemudian akan kembali memeriksa keberadaan file winword.exe dan mengecek apakah file tersebut aktif atau tidak. Jika tidak ada atau tidak aktif maka spool32.exe akan membuat kembali file winword.exe. Proses tersebut terjadi berulang secara berkesinambungan sehingga jika salah satu file tidak ada maka file lainnya akan segera membuatnya kembali sehingga seolah – olah file tersebut tidak dapat dihapus.
GAMBARAN UMUM SISTEM
Aplikasi yang dibuat dalam tugas akhir ini adalah aplikasi yang mampu merekam aktivitas keyboard melalui spy agent yang sengaja dijalankan di komputer target dalam jaringan LAN kemudian mampu mengirimkan file lognya jika control keylogger memintanya. Mekanisme Kerja Sistem
request file log Winsock mengirim file log Target [Spy Agent] Requirement : Win-32 API untuk Keyboard Handling
Control Keylogger
File log disimpan dalam komputer control keylogger
Teknik file ganda untuk pertahanan
Gambar 2. Gambaran umum sistem Fungsi utama spy agent adalah merekam aktivitas keyboard komputer target sehingga diperlukan banyak fungsi API khususnya untuk Keyboard Handling seperti GetAsyncKeyState(), GetForegroundWindow(), GetWindowText(), GetCapsState(), dan GetShiftState(). Sedangkan teknik bertahan yang digunakan agar tidak mudah dilumpuhkan oleh user maupun antivirus adalah teknik file ganda (watcher method) yaitu sebuah metode yang membentuk suatu rangkaian program yang saling mengawasi satu sama lainnya, tidak hanya mengawasi keberadaan program tetapi juga mengawasi hal lain. Semua aktivitas keyboard user akan direkam oleh spy agent dan tidak akan disimpan dalam komputer target, hal ini untuk mencegah user agar tidak mudah menemukan atau menghapus file log tersebut. Media penghubung spy agent dengan control keylogger adalah menggunakan winsock karena
mudah untuk diimplementasikan dan mengingat bahwa baik komputer target maupun control keylogger menggunakan sistem operasi Windows XP. Ketika control keylogger meminta file log ke salah satu komputer target, melaui winsock inilah file log tersebut dikirimkan lewat LAN. Gambar berikut adalah ilustrasi dari mekanisme kerja client – server antara control keylogger dan spy agent :
Control Keylogger
Spy Agent
socket () Menciptakan socket
socket () Menciptakan socket bind () Mengikat socket listen () Mendengar koneksi
connect () Menghubungi server accept () Menerima koneksi write () Request data
read () Terima data
read () Terima data
write () Data response
close () Menutup koneksi
read () close () Menutup koneksi
Gambar 3 : Mekanisme kerja control keylogger dan spy agent Mekanisme kerja ini dimulai dari control keylogger dan spy agent yang membuat socket terlebih dahulu sebelum menjalin komunikasi. Spy agent dalam hal ini yang bertindak sebagai server akan binding (mengikat) terlebih dahulu socket yang telah dibuat, hal ini mencegah port yang digunakan agar tidak digunakan oleh aplikasi lain dalam komputer yang sama. Setelah socket telah dibuat dan diikat kemudian spy agent akan menunggu koneksi dari control keylogger dan melakukan apa yang dimintanya. Untuk mengambil file log hasil rekaman aktivitas keyboard, control keylogger akan melakukan koneksi ke salah satu spy agent yang telah berada di komputer target. Spy agent yang telah menerima koneksi tersebut akan menunggu perintah control keylogger berikutnya. Control keylogger dapat meminta file log hasil rekaman aktivitas keyboard, mengaktifkan atau menonaktfikan monitoring aktivitas keyboard, dan dapat menghapus spy agent pada komputer target, semuanya dilakukan secara remote melalui LAN. Jika tidak ada lagi perintah yang diberikan, control keylogger dapat mengakhiri komunikasi
dengan spy agent dengan memberi notifikasi terlebih dahulu kepada spy agent bahwa koneksi yang ada akan diakhiri. Pada saat itu control keylogger akan menutup koneksinya yang kemudian diikuti oleh spy agent dengan melakukan hal yang sama. Implementasi Sistem Aplikasi spy agent dan control keylogger ini adalah dua aplikasi yang terpisah yang masing – masing akan dijalankan pada komputer yang berbeda tetapi keduanya harus dijalankan pada sistem operasi Windows. Spy agent adalah aplikasi inti dalam tugas akhir ini. Kemampuan yang dimiliki spy agent adalah sebagai berikut : Merekam semua ketukan keyboard baik huruf (a-z, A-Z), angka (0-9), karakter, tombol fungsi F1 sampai F12, serta tombol yang lain seperti spasi, Backspace, Home, End, Delete, Ctrl, Alt, PgUp, PgDn, dan Enter. Merekam caption windows yang aktif. Merekam clipboard (melalui aksi copypaste). Semua kemampuan spy agent itu dapat dilakukan dengan menggunakan beberapa fungsi API khususnya untuk keyboard handling yaitu sebagai berikut : GetAsyncKeyState() GetForegroundWindow() GetWindowText() GetCapsState() GetShiftState() Keylogger yang handal dalam hal ini spy agent tentunya harus diberi juga kemampuan bertahan yang baik agar tidak mudah dilumpuhkan oleh user maupun antivirus. Adapun metode yang digunakan adalah file ganda (watcher method). Spy agent yang telah masuk ke dalam sistem akan menggandakan dirinya kelokasi tertentu. File hasil penggandaan dari spy agent tersebut kemudian akan mengawasi eksistensi spy agent agar tetap aktif. Spy agent-pun secara periodik akan selalu mengecek apakah file watcher-nya ada atau tidak. Sehingga kedua file ini akan saling mengawasi. Control keylogger adalah program pengontrol spy agent. File rekaman hasil aktivitas keyboard akan dikirim ke control keylogger ketika control keylogger ini memintanya. Kemampuan yang dimiliki control keylogger adalah : Control keylogger dapat meminta file rekaman hasil monitoring aktivitas keyboard ke salah satu spy agent yang telah berada di komputer target. Semua file tersebut dapat disimpan di komputer control keylogger.
Control keylogger dapat mengaktifkan maupun menonaktifkan spy agent. Jika spy agent dalam keadaan non aktif maka spy agent tidak dapat merekam aktivitas keyboard komputer target. Tetapi spy agent ini dapat diaktifkan lagi untuk kembali melakukan aktivitas monitoring keyboard komputer target. Melalui control keylogger inilah spy agent dapat dihapus dari komputer target. Perintah ini akan membuat spy agent membuat dan langsung mengeksekusi file batch, destroy.bat, yang akan menghapus spy agent itu sendiri. Spy agent yang sudah terhapus tidak dapat lagi melakukan aktivitas monitoring keyboard. Untuk kembali melakukannya maka administrator harus menjalankan kembali spy agent ini ke komputer target monitoring. HASIL PENGUJIAN
Sistem ini diuji dengan user dan antivirus. Pada percobaan pertama, sistem ini akan diuji oleh user terlebih dahulu. Ada dua user yang menguji sistem ini. User pertama adalah user biasa (low end), dan user kedua adalah user yang paham mengenai masalah keamanan komputer. Hasil pengujian menunjukkan bahwa user biasa tidak mampu menemukan spy agent (spyware) yang berada di komputer uji. Namun user kedua menunjukkan hal yang beda. User kedua ini mampu dengan cepat menemukan keberadaan spy agent, dengan aplikasi bantuan double killer, yang mampu mematikan beberapa service yang berjalan secara bersamaan. Percobaan kedua akan mengikutsertakan antivirus baik dari produk lokal maupun luar. Tabel 1. Daftar antivirus yang menguji sistem No 1 2 3 4 5 6
Nama antivirus Avast! Free Antivirus AVIRA AntiVir Personal ESET NOD32 Commodo Internet Security SmadAV PC Media
Versi 5.0.545
Produksi Luar
9.0.0.457
Luar
4.2.22.0 3.13.120417
Luar Luar
rev.8.1 3.0 build 3
Lokal Lokal
Hasil percobaan menunjukkan bahwa antivirus lokal dan luar tidak mampu menemukan keberadaan spy agent. Hanya antivirus yang berjenis firewall yang mampu mendeteksi adanya koneksi ilegal dari dalam sistem menuju luar sistem.
Gambar 4. Alert firewall terhadap koneksi control keylogger dan spy agent KESIMPULAN
1. Untuk mengatasi virus dengan teknik file ganda secara manual, user harus menggunakan aplikasi yang mempunyai kemampuan untuk mematikan beberapa proses secara bersamaan. Teknik file ganda akan sulit dilumpuhkan oleh user hanya dengan menggunakan bantuan windows tools saja seperti task manager dan regedit. 2. Haruslah berhati – hati jika ingin membuat aplikasi yang memanfaatkan windows API. Kesalahan dalam memilih API yang digunakan, membuat antivirus curiga dan aplikasi yang dibuat akan dihapus oleh antivirus. 3. Kemampuan antivirus akan lebih lengkap jika mempunyai kemampuan form scanning dan behavior detection secara sekaligus. Sehingga jika antivirus tidak mampu melihat dan mengerti instruksi yang mencurigakan pada sebuah file, maka antivirus ini dapat menganalisis melalui perilakunya ketika file tersebut dieksekusi. 4. Service antivirus yang berjalan pada task manager akan sangat berbahaya jika mampu dimatikan secara manual oleh user karena tentunya dapat dengan mudah juga dimatikan oleh virus atau malware lainnya. 5. Dengan menginstal firewall tambahan akan mengurangi bahaya dari serangan virus atau spyware yang kadang tidak bisa dideteksi oleh antivirus. DAFTAR PUSTAKA
[1] Darmal, Achmad, 2007, “Computer Worm 1”, Jasakom, Jakarta.
[2] Darmal, Achmad, 2007, “Computer Worm 2”, Jasakom, Jakarta. [3] HSC Guides Ethical Hacker, 2008, ”BufferOverflow”, ”http://www.hackerscenter.com/index.php?/HS C-Guides/Ethical-acker/Buffer-overflow.html”, diakses tanggal 15/10/2009. [4] Post, Andre, 2003, The Dangers of Spyware, USA : Symantec, http://eval.symantec.com/mktginfo/enterprise/ white_papers/ent_whitepaper_dangers_of_spy ware_06_2003.pdf, diakses tanggal 13/10/2009. [5] Saputra, Johan, 2005, “Eksplorasi Kekuatan WIN-32 API dengan Visual Basic”, PT. Elex Media Komputindo, Jakarta. [6] S’to, 2007, ”Seni Teknik Hacking 2”, Jasakom, Jakarta. [7] S’to, 2009, “CEH Certified Ethical Hacker 200% Illegal”, Jasakom, Jakarta. [8] Wardana, Ari, 2006, “Pemrograman Virus dan Spyware”, Jasakom, Jakarta. [9] Wikipedia (the free encyclopedia) Article, 2008, ”Keystroke logging”, http://en.wikipedia.org/wiki/Keystroke_logging , diakses tanggal 13/09/2009 [10] __________, Anti-Virus Comparative No.25 February 2010, http://www.avcomparatives.org/images/stories/test/ondret/avc _report25.pdf, diakses tanggal 24/03/2010. [11] __________, Introduction to Socket Programming, http://www.cs.ucr.edu/~ddreier/socketTCP.doc, diakses tanggal 29/10/2009. [12] __________, Proactive Security Challenge, http://www.matousec.com/projects/proactivesecurity-challenge/results.php, diakses tanggal 26/05/2010. [13] __________, Winsock 2 API Architecture, http://www.herongyang.com/Windows/Winsoc k-2-API-Architecture.html, diakses tanggal 29/10/2009.
132