perekam ketikan merupakan sebuah perangkat baik perangkat keras atau perangkat lunak yang digunakan untuk memantau penekanan tombol papan ketik.
sebuah perekam ketikan biasanya akan menyimpan hasil pemantauan penekanan tombol papan ketik tersebut ke dalam sebuah berkas cecatat (log file).
beberapa perekam ketikan tertentu bahkan dapat mengirimkan hasil rekamannya ke surel tertentu secara berkala.
keylogger dapat digunakan untuk kepentingan yang baik atau bahkan bisa digunakan untuk kepentingan yang jahat.
kepentingan yang baik antara lain untuk memantau produktivitas karyawan, untuk penegakan hukum dan pencarian bukti kejahatan.
kepentingan yang buruk antara lain pencurian data dan password.
keylogger yang berupa hardware besarnya seukuran baterai ukuran aa. keylogger jenis ini dipasangkan pada ujung keyboard, sehingga mencegat data yang dialirkan dari keyboard ke cpu. sementara itu, keylogger dalam bentuk perangkat lunak terpasang di dalam komputer dan bekerja secara tersembunyi.
cara sederhana untuk menghindari dampak adanya keylogger pada sistem operasi microsoft windows adalah dengan menggunakan fitur on-screen keyboard (osk.exe).
perangkat lunak keyloggers
merupakan program perangkat lunak yang dirancang untuk bekerja pada sistem operasi komputer target.
dari perspektif teknis ada lima kategori perangkat lunak keylogger:
berbasis hypervisor: keylogger ini secara teoretis dapat berada dalam malware hypervisor yang berjalan di bawah sistem operasi, yang tetap tak tersentuh.
keylogger ini secara efektif menjadi sebuah mesin virtual.
blue pill adalah contohnya.
berbasis kernel: metode ini sulit baik untuk ditulis maupun untuk dilawan.
keylogger seperti ini berada di tingkat kernel dan dengan demikian sulit untuk dideteksi, terutama untuk aplikasi mode-pengguna.
keylogger ini sering diimplementasikan sebagai rootkit yang menumbangkan kernel sistem operasi dan mendapatkan akses tidak sah ke perangkat keras, membuatnya menjadi sangat kuat.
keylogger yang menggunakan metode ini dapat bertindak sebagai device driver keyboard misalnya, dan dengan demikian bisa mendapatkan akses ke setiap informasi yang diketik pada keyboard selama berada dalam sistem operasi.
berbasis api: keyloggers ini "mengait" api keyboard; kemudian sistem operasi memberitahukan keylogger setiap kali tombol ditekan dan otomatis keylogger akan mencatatnya.
api pada windows, seperti getasynckeystate(), getforegroundwindow(), dll digunakan untuk menyelidiki keadaan keyboard atau untuk memantau kegiatan keyboard.
keylogger jenis ini adalah yang paling mudah untuk menulis, tetapi pada keylogger ini penyelidikan secara konstan pada setiap kunci diperlukan, hal ini dapat menyebabkan peningkatan penggunaan cpu yang cukup terlihat, dan juga dapat melewatkan beberapa kunci.
contoh keylogger saat ini dapat menyelidiki bios untuk pra-boot otentikasi pin yang belum dibersihkan dari memori.
berbasis menangkap formulir: keylogger yang menangkap formulir mencatat pengiriman formulir web dengan merekam fungsi pengiriman web browsing.
catatan ini membentuk data sebelum melalui internet dan melewati enkripsi https.
packet analyzers: keylogger ini melibatkan penangkapan lalu lintas jaringan yang terkait dengan kegiatan http post untuk mengambil password yang tidak terenkripsi.
perangkat lunak keylogger dengan akses remote
ini adalah keylogger software lokal dengan fitur tambahan yang memungkinkan akses ke data lokal direkam dari lokasi lain.
komunikasi jarak jauh dapat dicapai dengan menggunakan salah satu metode ini:
data diupload ke database, website atau server ftp.
data secara berkala di-email ke email yang telah ditentukan.
data ditransmisikan secara nirkabel melalui suatu sistem perangkat keras yang talah terpasang.
perangkat lunak ini memungkinkan login jarak jauh ke mesin lokal dari internet atau jaringan lokal, untuk mengakses catatan data yang disimpan pada mesin target.
perangkat lunak keylogger memungkin untuk ditambah dengan fitur yang menangkap informasi pengguna tanpa bergantung pada penekanan tombol keyboard sebagai input tunggal.
beberapa fitur ini meliputi:
apa pun yang telah disalin ke clipboard dapat ditangkap oleh program.
screenshot diambil untuk menangkap informasi berbasis grafis.
aplikasi dengan kemampuan screen logging dapat mengambil screenshot dari seluruh layar, hanya satu aplikasi atau bahkan hanya sekitar kursor mouse.
perangkat ini dapat mengambil screenshot secara berkala atau dalam menanggapi perilaku pengguna (misalnya, bila pengguna telah mengklik mouse).
sebuah aplikasi praktis digunakan oleh beberapa keylogger dengan kemampuan screen logging untuk mengambil screenshot kecil di sekitar di mana mouse baru saja diklik; perangkat ini bisa mengalahkan keyboard berbasis web (misalnya, keyboard layar berbasis web yang sering digunakan oleh bank) dan keyboard layar berbasis web apapun tanpa pelindung screenshot.
secara terprogram menangkap teks dalam kontrol.
api microsoft windows memungkinkan program untuk meminta 'nilai' teks dalam beberapa kontrol.
hal ini berarti bahwa beberapa password dapat ditangkap, bahkan jika mereka tersembunyi di balik topeng sandi (biasanya tanda bintang).
perekaman dari setiap jendela/program/folder yang terbuka termasuk screenshot dari masing-masing dan juga setiap website yang dikunjungi.
perekaman permintaan mesin pencari, percakapan pengirim pesan instan, download ftp dan kegiatan berbasis internet lainnya (termasuk bandwidth yang digunakan).
keylogger berbasis hardware
keylogger berbasis hardware tidak bergantung pada perangkat lunak yang diinstal karena mereka ada pada tingkat perangkat keras dalam sistem komputer.
berbasis firmware: firmware tingkat bios yang menangani kegiatan keyboard dapat dimodifikasi untuk merekam kegiatan ini ketika diproses.
akses tingkat root dan/atau fisik diperlukan oleh mesin, dan perangkat lunak yang dimuat ke dalam bios perlu dibuat untuk hardware tertentu di mana perangkat lunak tersebut akan dijalankan.
perangakat keras keyboard: keyloggers hardware digunakan untuk mencatat tombol yang ditekan melalui suatu rangkaian perangkat keras yang terpasang di suatu tempat di antara keyboard komputer dan komputer, biasanya di tempat di mana konektor kabel keyboard terpasang.
implementasi yang lebih tersembunyi dapat diinstal atau dibangun ke keyboard standar, sehingga tidak ada perangkat yang terlihat pada kabel eksternal.
keduanya sama-sama mencatat semua aktivitas keyboard untuk memori internal mereka, yang kemudian dapat diakses, misalnya, dengan mengetikkan urutan kunci rahasia.
sebuah perangkat keras keylogger memiliki keuntungan lebih dari perangkat lunak: tidak tergantung pada yang diinstal pada sistem operasi komputer target sehingga tidak akan mengganggu program apapun yang berjalan pada mesin target atau terdeteksi oleh perangkat lunak.
namun kehadiran fisik yang dapat dideteksi jika, misalnya, ia terinstal di luar casing sebagai perangkat antara komputer dan keyboard.
beberapa implementasi memiliki kemampuan untuk dikontrol dan dimonitor dari jarak jauh dengan menggunakan standar komunikasi nirkabel
sniffer keyboard nirkabel
sniffers pasif ini mengumpulkan paket-paket data yang ditransfer dari keyboard nirkabel dan penerima.
karena enkripsi dapat digunakan untuk mengamankan komunikasi nirkabel antara dua perangkat, maka mungkin perlu di-crack sebelumnya jika transmisi akan dibaca.
penjahat telah dikenal karena menggunakan lapisan keyboard (keyboard overlay) pada atm untuk menangkap pin orang.
setiap kali penekanan tombol didaftar oleh keyboard atm serta keypad penjahat yang ditempatkan di atasnya.
perangkat ini dirancang agar terlihat seperti bagian yang terintegrasi dengan mesin sehingga nasabah bank tidak menyadari keberadaannya.
kriptanalisis akustik dapat digunakan untuk memantau suara yang diciptakan oleh seseorang mengetik pada komputer.
setiap tombol pada keyboard membuat nada halus yang berbeda ketika ditekan.
hal ini memungkinkan untuk mengidentifikasi nada keystroke yang berhubungan dengan karakter keyboard melalui metode statistik misalnya analisis frekuensi.
pengulangan frekuensi yang sama nada akustik keystroke, timing antara penekanan keyboard yang berbeda dan informasi konteks lain seperti bahasa yang mungkin dipakai pengguna untuk menulis, digunakan dalam analisis ini untuk memetakan suara menjadi tulisan.
diperlukan sebuah rekaman yang cukup panjang (1000 atau lebih keystrokes) sehingga sampel yang dikumpulkan cukup besar.
sangat memungkinkan untuk menangkap emisi elektromagnetik dari keyboard berkabel hingga sejauh 20 meter (66 kaki), tanpa harus terhubung dengan kabel pada keyboard.
pada tahun 2009, swiss meneliti 11 macam usb, ps/2 dan keyboard laptop di dalam ruang semi-anechoic dan menemukan semuanya rentan, terutama karena biaya yang mahal untuk penambahan perisai selama pembuatan.
para peneliti menggunakan wide-band receiver untuk menyetel ke frekuensi tertentu dari emisi yang terpancar dari keyboard.
pengamatan optis, sebenarnya bukan merupakan keylogger dalam arti umum, adalah suatu pendekatan yang dapat digunakan untuk menangkap password atau pin. sebuah kamera ditempatkan secara strategis, seperti kamera pengintai tersembunyi pada atm, memungkinkan seorang kriminal untuk melihat pin atau password yang dimasukkan.
dalam hal ini keylogger dapat menjadi ancaman bagi komputer anda karena ini merupakan sebuah virus.
untuk keypad yang digunakan hanya untuk memasukkan kode keamanan, tombol yang digunakan sebenarnya akan memiliki bukti penggunaan dari sidik jari.
sebuah kode akses empat digit, jika keempat digitnya telah diketahui, kemungkinan menebak konfigurasinya berkurang dari 10.000 kemungkinan menjadi hanya 24 kemungkinan.
hal ini dapat digunakan pada kesempatan lain untuk melakukan manual "brute force attack."