Jumat, 19 April 2013

SOFTWARE SECURITY - Malware About



MALWARE


Dengan memanfaatkan koneksi jaringan dan internet, Malware yang merupakan sebuah perangkat lunak berbahaya (malicious software) saat ini semakin mudah menyebar dan menginfeksi komputer. Tanpa kita sadari sistem dan aplikasi komputer kita telah dirusak bahkan informasi pribadi milik kita pun bisa diketahui dan disalahgunakan oleh orang lain hanya karena aktifitas browsing yang kita lakukan. Pada dasarnya malware adalah program berbahaya dan tidak diinginkan yang dapat merusak sistem komputer, menghambat akses internet dan yang paling berbahaya yaitu mencuri informasi seperti password dan no kartu kredit kita. Jenis-jenis malware ini diantaranya adalah trojan, virus, worm, spyware, adware, rootkit dan sebagainya.
Jenis – Jenis Malware :
- Rootkit
Rootkit adalah program yang menyusup kedalam sistem komputer, bersembunyi dengan menyamar sebagai bagian dari sistem (misalnya menempel pada patch, keygen, crack dan game), kemudian mengambil alih, memantau kerja sistem yang disusupinya. Rootkit dapat mencuri data yang lalu-lalang di jaringan, melakukan keylogging, mencuri cookies akun bank dan lain-lain.
- Backdoor
Backdoor adalah Backdoor merupakan metode yang di gunakan untuk melewati autentifikasi normal (login) dan berusaha tidak terdeteksi. Backdoor sendiri sering kali disusupkan melalui trojan dan worm.
- Trojan Horse
Trojan atau trojan hourse adalah program yang diam-diam masuk ke komputer, kemudian memfasilitasi program lain misalnya virus, sypware, adware. keylogger dan malware lainnya untuk masuk, merusak sytem, memungkinkan orang lain meremote komputer dan mencuri informasi seperti password atau nomor kartu kredit kita.
- Virus
Virus Komputer adalah Jenis malware yang menyerang file eksekusi (.exe) yang akan menyerang dan menggandakan diri ketika file exe yang terinfeksi di jalankan. Virus komputer menyebar dengan cara menyisipkan program dirinya pada program atau dokumen yang ada dalam komputer. 
- Worm
Worm alias cacing adalah sebuah program komputer yang dapat menggandakan dirinya sendiri dan untuk penyebarannya tidak perlu campur tangan dari user itu sendiri dengan memanfaatkan suatu jaringan

- Spyware
Spyware adalah program yang bertindak sebagai mata-mata untuk mengetahui kebiasaan pengguna komputer dan mengirimkan informasi tersebut ke pihak lain. Spyware biasanya digunakan oleh pihak pemasang iklan.
- Botnet
Botnet dapat diasosiasikan sebagai sebuah zombie atau mayat hidup yang dapat diperintah untuk melakukan kegiatan yang kita inginkan. Maksudnya disini adalah sebuah komputer yang terinfeksi oleh trojan atau jenis virus lain yang membuat sebuah komputer tidak berjalan sebagaimana mestinya karena menjalankan perintah-perintah dari si pembuat botnet tersebut. Botnet tidak lebih dari sebuah tool yang digunakan untuk banyak motif yang diinginkan oleh si pembuat botnet. Kebanyakan botnet digunakan untuk kegiatan kriminal (aktifitas mendatangkan uang) atau untuk menghancurkan.
- Keystroke logging
Keystroke Logging adalah suatu program yang berjalan di belakang sistem (Background), merekam semua tombol. Sekali Key Logger dijalankan, maka otomatis akan bersembunyi di dalam mesin untuk mencatat semua data atau mengirimkan datanya secara langsung ke pemilik Key Logger. Pemilik Key Logger kemudian membaca data yang didapatkan tersebut dengan teliti dengan harapan menemukan kata sandi (Password) atau mungkin informasi lain yang bermanfaat yang bisa digunakan sebagai serangan Social Engineering. Key Logger secara sederhana bisa dikategorikan sebagai Hack Tool Pencuri Informasi. Sebagai contoh, Key Logger dapat mengungkapkan isi dari semua e-mail yang ditulis oleh korban. Program Key Logger biasanya terdapat di dalam rootkit dan trojan. Key Logger berfungsi untuk merekam (mencatat) semua aktifitas pengguna komputer dengan mengambil input data melalui karakter keyboard yang digunakan oleh user. Jadi jika user mengetikkan kata “SaYa” melalui keyboard maka secara otomatis Key Logger akan mencatatnya pada sebuah LOG file dengan data “SaYa”.

Antivirus software
Antivirus adalah sebuah jenis perangkat lunak yang digunakan untuk mendeteksi dan menghapus virus komputer dari sistem komputer. Disebut juga Virus Protection Software. Aplikasi ini dapat menentukan apakah sebuah sistem komputer telah terinfeksi dengan sebuah virus atau tidak. Umumnya, perangkat lunak ini berjalan di latar belakang (background) dan melakukan pemindaian terhadap semua berkas yang diakses (dibuka, dimodifikasi, atau ketika disimpan). Sebagian besar antivirus bekerja dengan beberapa metode seperti di bawah ini :
- Pendeteksian dengan menggunakan basis data virus signature (virus signature database). Cara kerja antivirus ini merupakan pendekatan yang banyak digunakan oleh antivirus tradisional, yang mencari tanda-tanda dari keberadaan dari virus dengan menggunakan sebagian kecil dari kode virus yang telah dianalisis oleh vendor antivirus, dan telah dikatalogisasi sesuai dengan jenisnya, ukurannya, daya hancurnya dan beberapa kategori lainnya. Cara ini terbilang cepat dan dapat diandalkan untuk mendeteksi virus-virus yang telah dianalisis oleh vendor antivirus, tapi tidak dapat mendeteksi virus yang baru hingga basis data virus signature yang baru diinstalasikan ke dalam sistem. Basis data virus signature ini dapat diperoleh dari vendor antivirus dan umumnya dapat diperoleh secara gratis melalui download atau melalui berlangganan (subscription).
- Pendeteksian dengan melihat cara bagaimana virus bekerja. Cara kerja antivirus seperti ini merupakan pendekatan yang baru yang dipinjam dari teknologi yang diterapkan dalam Intrusion Detection System (IDS). Cara ini sering disebut juga sebagai Behavior-blocking detection. Cara ini menggunakan policy (kebijakan) yang harus diterapkan untuk mendeteksi keberadaan sebuah virus. Jika ada kelakuan perangkat lunak yang “tidak wajar” menurut policy yang diterapkan, seperti halnya perangkat lunak yang mencoba untuk mengakses address book untuk mengirimkan e-mail secara massal terhadap daftar e-mail yang berada di dalam address book tersebut (cara ini sering digunakan oleh virus untuk menularkan virus melalui e-mail), maka antivirus akan menghentikan proses yang dilakukan oleh perangkat lunak tersebut. Antivirus juga dapat mengisolasi kode-kode yang dicurigai sebagai virus hingga administrator menentukan apa yang akan dilakukan selanjutnya. Keuntungan dari cara ini adalah antivirus dapat mendeteksi adanya virus-virus baru yang belum dikenali oleh basis data virus signature. Kekurangannya, jelas karena antivirus memantau cara kerja perangkat lunak secara keseluruhan (bukan memantau berkas), maka seringnya antivirus membuat alarm palsu atau “False Alarm” (jika konfigurasi antivirus terlalu “keras”), atau bahkan mengizinkan virus untuk berkembangbiak di dalam sistem (jika konfigurasi antivirus terlalu “lunak”), terjadi false positive. Beberapa produsen menyebut teknik ini sebagai heuristic scanning.

Firewall
Firewall merupakan suatu cara/sistem/mekanisme yang diterapkan baik terhadap hardware , software ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu atau semua hubungan/kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya. Segmen tersebut dapat merupakan sebuah workstation, server, router, atau local area network (LAN) anda.  Firewall secara umum di peruntukkan untuk melayani :
-        mesin/komputer
Setiap individu yang terhubung langsung ke jaringan luar atau internet dan menginginkan semua yang terdapat pada komputernya terlindungi.
-       Jaringan
Jaringan komputer yang terdiri lebih dari satu buah komputer dan berbagai jenis topologi jaringan yang digunakan, baik yang di miliki oleh perusahaan, organisasi dsb.
Firewall mempunyai karakteristik sebagai berikut :
-       Seluruh hubungan/kegiatan dari dalam ke luar , harus melewati firewall. Hal ini dapat dilakukan dengan cara memblok/membatasi baik secara fisik semua akses terhadap jaringan Lokal, kecuali melewati firewall. Banyak sekali bentuk jaringan yang memungkinkan.
-       Hanya Kegiatan yang terdaftar/dikenal yang dapat melewati/melakukan hubungan, hal ini dapat dilakukan dengan mengatur policy pada konfigurasi keamanan lokal. Banyak sekali jenis firewall yang dapat dipilih sekaligus berbagai jenis policy yang ditawarkan.
-       Firewall   itu sendiri haruslah kebal atau relatif kuat terhadap serangan/kelemahan. hal ini berarti penggunaan sistem yang dapat dipercaya dan dengan Operating system yang relatif aman.
Teknik yang digunakan oleh firewall adalah sebagai berikut :
1.    Service control (kendali terhadap layanan)
Berdasarkan tipe-tipe layanan yang digunakan di Internet dan boleh diakses baik untuk kedalam ataupun keluar firewall. Biasanya firewall akan mencek no IP Address dan juga nomor port yang di gunakan baik pada protokol TCP dan UDP, bahkan bisa dilengkapi software untuk proxy yang akan menerima dan menterjemahkan setiap permintaan akan suatu layanan sebelum mengijinkannya.Bahkan bisa jadi software pada server itu sendiri , seperti layanan untuk web ataupun untuk mail.
2.    Direction Control  (kendali terhadap arah)
Berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang akan dikenali dan diijinkan melewati firewall.
3.    User Control (kendali terhadap pengguna)
Berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya ada user yang dapat dan ada yang tidak dapat menjalankan suatu servis,hal ini di karenakan user tersebut tidak di ijinkan untuk melewati firewall. Biasanya digunakan untuk membatasi user dari jaringan lokal untuk mengakses keluar, tetapi bisa juga diterapkan untuk membatasi terhadap pengguna dari luar.
4.    Behavior Control  (kendali terhadap perlakuan)
Berdasarkan seberapa banyak layanan itu telah digunakan. Misal, firewall dapat memfilter email untuk menanggulangi/mencegah spam.

HIDS
Intrusion Detection System
adalah sebuah aplikasi perangkat lunak atau perangkat keras yang dapat mendeteksi aktivitas yang mencurigakan dalam sebuah sistem atau jaringan. IDS dapat melakukan inspeksi terhadap lalu lintas inbound dan outbound dalam sebuah sistem atau jaringan, melakukan analisis dan mencari bukti dari percobaan intrusi (penyusupan).
Ada dua jenis IDS, yakni :
1.    Network-based Intrusion Detection System (NIDS): Semua lalu lintas yang mengalir ke sebuah jaringan akan dianalisis untuk mencari apakah ada percobaan serangan atau penyusupan ke dalam sistem jaringan. NIDS umumnya terletak di dalam segmen jaringan penting di mana server berada atau terdapat pada "pintu masuk" jaringan. Kelemahan NIDS adalah bahwa NIDS agak rumit diimplementasikan dalam sebuah jaringan yang menggunakan switch Ethernet, meskipun beberapa vendor switch Ethernet sekarang telah menerapkan fungsi IDS di dalam switch buatannya untuk memonitor port atau koneksi.
2.    Host-based Intrusion Detection System (HIDS): Aktivitas sebuah host jaringan individual akan dipantau apakah terjadi sebuah percobaan serangan atau penyusupan ke dalamnya atau tidak. HIDS seringnya diletakkan pada server-server kritis di jaringan, seperti halnya firewall, web server, atau server yang terkoneksi ke Internet.
Kebanyakan produk IDS merupakan sistem yang bersifat pasif, mengingat tugasnya hanyalah mendeteksi intrusi yang terjadi dan memberikan peringatan kepada administrator jaringan bahwa mungkin ada serangan atau gangguan terhadap jaringan. Akhir-akhir ini, beberapa vendor juga mengembangkan IDS yang bersifat aktif yang dapat melakukan beberapa tugas untuk melindungi host atau jaringan dari serangan ketika terdeteksi, seperti halnya menutup beberapa port atau memblokir beberapa alamat IP. Produk seperti ini umumnya disebut sebagai Intrusion Prevention System (IPS). Beberapa produk IDS juga menggabungkan kemampuan yang dimiliki oleh HIDS dan NIDS, yang kemudian disebut sebagai sistem hibrid (hybrid intrusion detection system).
Implementasi dan Cara Kerja :
Ada beberapa cara bagaimana IDS bekerja. Cara yang paling populer adalah dengan menggunakan pendeteksian berbasis signature (seperti halnya yang dilakukan oleh beberapa antivirus), yang melibatkan pencocokan lalu lintas jaringan dengan basis data yang berisi cara-cara serangan dan penyusupan yang sering dilakukan oleh penyerang. Sama seperti halnya antivirus, jenis ini membutuhkan pembaruan terhadap basis data signature IDS yang bersangkutan.
Metode selanjutnya adalah dengan mendeteksi adanya anomali, yang disebut sebagai Anomaly-based IDS. Jenis ini melibatkan pola lalu lintas yang mungkin merupakan sebuah serangan yang sedang dilakukan oleh penyerang. Umumnya, dilakukan dengan menggunakan teknik statistik untuk membandingkan lalu lintas yang sedang dipantau dengan lalu lintas normal yang biasa terjadi. Metode ini menawarkan kelebihan dibandingkan signature-based IDS, yakni ia dapat mendeteksi bentuk serangan yang baru dan belum terdapat di dalam basis data signature IDS. Kelemahannya, adalah jenis ini sering mengeluarkan pesan false positive. Sehingga tugas administrator menjadi lebih rumit, dengan harus memilah-milah mana yang merupakan serangan yang sebenarnya dari banyaknya laporan false positive yang muncul.
Teknik lainnya yang digunakan adalah dengan memantau berkas-berkas sistem operasi, yakni dengan cara melihat apakah ada percobaan untuk mengubah beberapa berkas sistem operasi, utamanya berkas log. Teknik ini seringnya diimplementasikan di dalam HIDS, selain tentunya melakukan pemindaian terhadap log sistem untuk memantau apakah terjadi kejadian yang tidak biasa.

SOFTWARE SECURITY - Hacking Tools About



HACKING TOOLS


Hacking adalah kegiatan menerobos program komputer milik orang/pihak lain. Hacker adalah orang yang gemar ngoprek komputer, memiliki keahlian membuat dan membaca program tertentu, dan terobsesi mengamati keamanan (security)-nya. “Hacker” memiliki wajah ganda; ada yang budiman ada yang pencoleng. “Hacker” budiman memberi tahu kepada programer yang komputernya diterobos, akan adanya kelemahan-kelemahan pada program yang dibuat, sehingga bisa “bocor”, agar segera diperbaiki. Sedangkan, hacker pencoleng, menerobos program orang lain untuk merusak dan mencuri datanya. Hacker biasanya digunakan untuk seseorang yang senang mengutak atik komputer. Termasuk bahasa programing seperti assembly, bahasa C dan bahasa komputer menengah lainnya. Hacker sendiri dibagi menjadi 3, yaitu :
  1. Black Hat atau sering disebut juga Cracker (kayak nama roti ya). Cracker adalah orang yang menggunakan keahlian hackingnya untuk merusak.
  2. White Hat adalah seseorang yang mempunyai keahlian hacking, tetapi keahliannya tersebut digunakan untuk membangun atau memperkuat sistem security baik dari organisasi atau personal (analis security atau konsultan security)
  3. Gray Hat adalah kombinasi dari White Hat dan Black Hat. Dimana kadang merusak, kadang juga membantu dalam computing security. Terkadang dia juga membuat program perusak sekaligus membuat program security untuk dijual.
Hacking Tools adalah alat yang digunakan oleh para hacker untuk melakukan hacking. Biasanya para hacker menyerang keamanan melalui :
1.    VULNERABILITY (celah keamanan)
Untuk melakukan tindakan HACKING anda perlu mengetahui, dasar dan fundamental dari hacking itu sendiri ,sebahagian besar terjadi karena hacker berhasil memanfaatkan kelemahan sistem. Kelemahan yang dikenal dengan istilah vulnerability ini dapat menimbulkan berbagai ancaman pada sistem, beberapa bentuk ancaman yang umum antara lain :
-  SERANGAN PADA PASSWORDS
Login adalah pintu utama untuk masuk ke sistem, karena itu sedah seharusnya pemilik memiliki sistim penguncian yang unix. Jika kunci yang digunakan tidak unik dan gampang di buat, maka pintu yang vital ini akan dengan mudah ditembus dengan hanya menebak nebaknya saja, atau dengan menggunakan metode brute force attack , sesuai dengan namanya metode ini menebak passwords dengan brutal (menggunakan teori peluang), yaitu menebak dengan berbagai kombinasi kemungkinan.
-  SOSIAL  ENGINEERING
Metode ini memanfaatkan faktor psikologos calon korban, kadang tanpa perlu keahlian teknis di bidangHACKING, contohnya telah sering anda lihat pada kehidupan sehari hari. Pernahkan anda mendapatkan SMS/TELEPON yang menyatakan anda mendapatkan hadiah tertentu, dan untuk itu anda harus memberikan dana atau informasi yang bersifat confidential? Jika anda mengalai hal tersebut tadi anda perlu hati hati bisa jadi seorang sosial engineering sedang beraksi.
-  MAN-IN-THE-MIDDLE
Dua orang sedang asyik berkomunikasi bertukar informasi dalam sebuah jalur jaringan, tidak disangka seorang hacker telah mencegat informasi yang lalu lalang .Hacker tersebut dapat membaca, memodifikasi, dan megirimkan kembali pesan yang telah berubah tersebut kepada sang korban.
- SNIFFING
Mirip dengan metode man in the middle sniffing juga mengambil paket data yang lewat ,hanya saja metode ini bersifat pasif dan tidak melakukan modifikasi terhadap paket data itu melainkan mengabil dan menganalisisnya.
- WEB DEFACEMEN
Serangan ini umumnya tidak berbahaya, hanya mengubah tampilan web tetapi tetap tergolong sebagai tindakan pengrusakan (vandalisme) Jika serangan ini berhasil menyerang sebuah website yang seharusnya memiliki tingkat keamanan tinggi seperti web dengan fasilitas transaksi online, tentunya akan dapat megurangi kepercayaan pelanggan.
2.    Exploit
Exploit adalah sebuah kode yang menyerang keamanan_komputer secara spesifik. Exploit banyak digunakan untuk penentrasi baik secara legal ataupun ilegal untuk mencari kelemahan (Vulnerability) pada komputer tujuan. Bisa juga dikatakan sebuah perangkat lunak yang menyerang kerapuhan keamanan (security vulnerability) yang spesifik namun tidak selalu bertujuan untuk melancarkan aksi yang tidak diinginkan.
Banyak peneliti keamanan komputer menggunakan exploit untuk mendemonstrasikan bahwa suatu sistem memiliki kerapuhan. Memang ada badan peneliti yang bekerja sama dengan produsen perangkat lunak. Peneliti itu bertugas mencari kerapuhan dari sebuah perangkat lunak dan kalau mereka menemukannya, mereka melaporkan hasil temuan ke produsen agar produsen dapat mengambil tindakan. Meskipun demikian, exploit kadang menjadi bagian dari suatu malware yang bertugas menyerang kerapuhan keamanan. Klasifikasi Ada beberapa metode untuk mengklasifikasi exploit. Yang paling umum adalah dengan melihat cara exploit membuat kontak dengan perangkat lunak yang rentan. Remote exploit (eksploit jarak jauh) bekerja melalui jaringan dan mengeksploitasi celah keamanan tanpa adanya akses terlebih dahulu ke sistem korban. Local exploit (eksploit lokal) mengharuskan adanya akses terlebih dahulu ke sistem yang rentan dan biasanya meningkatkan keleluasaan orang yang menjalankan exploit melebihi yang diberikan oleh administrator sistem. Exploit yang menyerang aplikasi klien juga ada, biasanya terdiri dari server-server yang dimodifikasi yang mengirimkan exploit jika diakses dengan aplikasi klien. Exploit yang menyerang aplikasi klien juga mungkin memerlukan beberapa interaksi dengan pengguna, dengan demikian dapat digunakan dalam kombinasi dengan metode social engineering. Ini adalah cara hacker masuk ke komputer dan situs web untuk mencuri data. Klasifikasi lain adalah dengan tindakan terhadap sistem korban: unauthorized akses data, eksekusi kode sewenang-wenang, penolakan layanan. Banyak exploit dirancang untuk memberikan akses tingkat-''superuser'' ke sistem komputer. Namun, namun mungkin juga menggunakan beberapa exploit, untuk mendapatkan akses tingkat rendah terlebih dahulu, kemudian meningkatkan hak akses berulang kali sampai mencapai root. Biasanya exploit tunggal hanya dapat mengambil keuntungan dari satu celah keamanan software tertentu. Sering kali, setelah exploit diterbitkan, celah keamanan sistem diperbaiki melalui tambalan sehingga exploit tak berlaku lagi untuk perangkat lunak versi terbaru. Hal ini menjadi alasan mengapa beberapa blackhat hacker tidak mempublikasikan exploit mereka tetapi merahasiakannya untuk diri sendiri atau hacker lainnya. Exploit tersebut disebut sebagai 'exploit zero day' dan untuk mendapatkan akses ke exploit tersebut adalah keinginan utama dari penyerang-penyerang amatir, yang sering dijuluki script kiddie
3.    Payload
Payload dalam dunia security yaitu pembawa exploit yang digunakan untuk mengeksekusi shellcode. Payload kemudian akan menjalankan shellcode yang dipilih pada target komputer untuk mendapatkan akses kedalam komputer tujuan (target).
Shellcode adalah kode yang digunakan dengan payload untuk mengeksploitasi komputer target. Biasanya shellcode dibuat untuk dapat mengontrol komputer, ataupun mendapatkan hak akses komputer target, atau yang lainnya. Shellcode dimasukkan kedalam kode exploit dengan tujuan membaypass fungsi suatu software, sehingga software tersebut tidak berjalan secara semestinya, melainkan menjalankan fungsi pada Shellcode.