Malaysia Web Hosting

Blog ini dibangunkan khusus untuk pengguna komputer. Matlamat utama untuk menyalurkan maklumat kepada para pembaca tentang dunia komputer dan IT terutamanya untuk rakyat Malaysia. Ruangan komen disediakan untuk berkongsi pendapat dan pengalaman dalam bidang komputer dan internet.


Segala maklumat yang disampaikan dalam blog ini adalah hasil kajian, pembacaan dan pengalaman penulis mengenai sistem komputer dan dunia IT. Ia berdasarkan fakta sebenar mengenai perkara berkaitan. Di harap anda semua mendapat maklumat dan manfaat dari blog ini.


Selaku ‘technical advisor’ yang secara langsung terbabit dalam persoalan ini saya akan cuba berkongsi pengalaman saya dalam memperbaiki masalah yang sering dihadapi oleh pelanggan saya. :-)


Harga Pemeriksaan Komputer / Laptop = RM 10
Harga Format komputer / Laptop = RM 50


**Harga bagi yang memerlukan pengantian alat komputer/laptop yang sudah rosak adalah tertakluk pada harga pasaran semasa.**

Tuesday, May 5, 2009

Cara-cara untuk menangkap Trojan

Jenayah komputer seringkali bersedia dan menunggu untuk mengancam kelemahan sesuatu sistem. Apabila mereka memperdaya, mereka selalunya akan meninggalkan program pada sistem mangsa. Biasanya program-program ini dipanggil sebagai "Trojan" bersempena kisah kuno Greek iaitu Trojan horse. Kebanyakan program-program ini akan dikompil dengan cara yang unik dan tidak disebarkan secara meluas bagi mengelakkan perisian anti-virus mengecam kehadiran mereka.

Artikel ini akan menjelaskan proses reverse engineering trojan. Selain trojan, proses yang berjalan pada sistem yang tidak sah oleh pentadbir juga dikenali sebagai virus dan spyware. Artikel ini diharapkan akan menjadi satu tutorial lengkap, dengan menyenaraikan beberapa tool dan keterangan langkah-langkah untuk menangkap trojan. Berbekalkan pengetahuan ini, seseorang yang telah mahir di dalam pengaturcaraan bahasa himpunan (assembly) harus mampu untuk melihat dengan lebih dalam lagi program trojan dan mengenalpasti sifat-sifatnya.

Peralatan yang diperlukan
Sepertimana bidang kejuruteraan, anda memerlukan beberapa peralatan. Saya akan menyentuh alat-alat yang boleh digunakan oleh kedua-dua sistem operasi Unix dan juga Windows, contohnya seperti program Cygwin, selain Unix program ini juga boleh digunakan dalam platform Win32. Namun begitu, apabila anda menyahkompil/menyahhimpun/menyahralat sesuatu kod, penggunaan di dalam Windows akan melibatkan kos yang tinggi, sedangkan penyelesaian kepada Unix adalah percuma sama sekali. Pastikan anda telah mempertimbangkan kos bekerja dalam Windows dan kelebihan-kelebihannya jika memilih Windows sebagai platform reverse-engineering.

Beberapa arahan berguna Unix ialah:


  • dd - menyalin raw device, berguna untuk menjalankan analisis pada cakera
    keras sistem yang diancam tanpa memberi kesan pada keutuhan bukti penceroboh.

  • file - cuba untuk mengenalpasti identiti jenis fail berdasarkan pada kandungan fail tersebut

  • strings - menghasilkan output string dari program exe.

  • hexedit - membaca dan menyunting fail binari

  • md5sum - mencipta hasiltambah unik fail untuk kegunaan perbandingan

  • diff - membuat perbandingan dua fail

  • lsof - menunjukkan semua fail terbuka dan soket melalui proses

  • tcpdump - menghidu paket network

  • grep - mencari string dalam fail



Memampat Fail EXE
Trojan biasanya dimampat dengan pembungkus executable (executable packer). Ini bukan sahaja menjadikan kod lebih mampat, tetapi juga mengelakkan data string di dalamnya dari dilihat oleh arahan strings dan hexedit. Program pemampat yang paling banyak digunakan ialah UPX, di mana ia boleh memampat binari Linux atau Windows. Terdapat juga beberapa pemampat lain yang boleh digunakan, tetapi kebanyakannya hanya untuk Windows sahaja. Mujurlah UPX ialah satu-satunya pemampat yang juga membekalkan buku panduan (manual) nyahmampat (decompress) untuk mengembalikan fail asal.

Secara lazimnya, menggunakan arahan "strings" atau memeriksa Trojan dengan hexedit sepatutnya memberikan string fail yang banyak dan lengkap. Jika anda melihat karakter binari secara rawak atau teks yang berselerak, fail tersebut sebenarnya telah dimampatkan. Dengan menggunakan grep atau hexedit, anda boleh mencari string "UPX" pada salah satu tempat di dalam fail tersebut jika ia dimampat menggunakan UPX. Jika tidak anda mungkin perlu menggunakan pemampat yang lain.

Menyahkompil (Decompile)
Kadang-kala anda akan bernasib baik jika anda mendapati Trojan tersebut ditulis dalam bahasa penterjemah atau separuh-penterjemah seperti Visual Basic, Java mahupun Perl. Terdapat beberapa peralatan yang boleh digunakan untuk menyahkompil mengikut peringkat bahasa yang digunakan.


  • Visual Basic - Anda boleh menggunakan peralatan seperti Compuware's SmartCheck untuk mengesan (traces) penjemput di dalam program. Meskipun penunjuk outputnya bukanlah dalam bentuk senarai kod sumber (source code), tetapi anda boleh melihat apa sahaja yang sedang berlaku di dalam program tersebut.

  • Java - Terdapat satu penyahkompil (decompiler) yang dipanggil Jad, di mana ia boleh menyahkompil (decompile) sesuatu source code dan boleh dikompil (compile) semula.

  • Perl - Program Perl yang dikompil ke dalam Windows executable boleh di kurangkan pendedahan skripnya dengan menggunakan exe2perl.



Menyahhimpun (Disassembly)
Jika sesuatu Trojan ditulis di dalam bahasa penghimpun, anda perlulah menggigit pelurunya dengan menyahhimpun (disassemble) kod tersebut ke dalam bahasa himpunan (assembly). Untuk versi Unix, objump adalah pilihannya. Untuk Windows, anda mempunyai pilihan sama ada IDA Pro ataupun W32dasm. Di sana terdapat versi IDA yang diedarkan secara percuma yang setanding dengan IDA Pro, tetapi menggunakan antaramuka konsol yang membosankan. Program-program ini akan menyahhimpun kod anda, memadankan string di dalam segmen data, melihat cara bagaimana program tersebut diguna pakai sehinggalah anda boleh melihat pengasingan subrutin. Ia juga akan berusaha untuk menunjukkan penjemput API Windows. Cara output sebegini juga dikenali sebagai senarai-maut bagi kebanyakan cracker di mana ia boleh memberikan gambaran sebenar tentang bagaimana program tersebut berjalan secara dalaman.

Menyahralat (Debugging)
Walaupun anda telah mempunyai senarai-maut, anda juga perlu menggunakan program penyahralat (debugger) untuk melangkah masuk ke dalam kod program, terutama sekali jika trojan tersebut berhubung melalui soket network. Ini memberikan anda akses terhadap memori dan pembolehubah (variable) yang disimpan di dalam program tersebut, dan juga semua data yang dihantar/diterima dari soket komunikasi. Untuk Unix gdb adalah penyahralat pilihan. Ia telah lama menjadi darah daging Unix, dan didokumentasikan dengan baik, dan yang paling penting, ia diedarkan secara percuma. Untuk Windows, anda mempunyai lebih banyak pilihan tetapi kebanyakan tutorial reverse engineering lebih tertumpu kepada penggunaan SoftICE.

Bersedia untuk Nyahralat
Anda perlu berhati-hati apabila melancarkan kod trojan ini, walaupun menggunakan penyahralat (debugger). Jangan sekali-kali menyahralat Trojan di dalam network pengeluaran (production network). Seelok-eloknya anda memasang satu makmal network (lab), seperti yang ditunjukkan pada rajah di bawah.



Rajah 1: Contoh network untuk tujuan nyahralat

Sistem nyahralat perlulah mempunyai sistem operasi yang baru dipasang yang menjadi sasaran utama trojan, dengan sistem kedua yang berfungsi sebagai firewall. Sistem ketiga pula diletakkan di dalam network adalah bertujuan untuk membenarkan anda untuk melancarkan servis dan menangkap (capture) segala trafik yang dihasilkan oleh trojan. Menangkap trafik boleh membosankan kerana ia perlu mengesan kod punca jangkitan dengan teliti. Pastikan anda menghalang (firewall) semua sambungan keluar (outbound), hanya benarkan trojan mengawal keadaan. Jika anda tidak ingin guru atau master anda tahu yang anda sedang melancarkan trojan di dalam network, anda boleh memasang servis yang menyerupai atau mimik sumber yang diperlukan oleh trojan, contohnya seperti pelayan IRC atau FTP.

bersambung...

0 comments:

  © Blogger template 'Star Wars' by Ramal PC Solutions 2008

Back to TOP