Computer Security – Malware, virus, worm, trojan, etc

nih tugas buat kuliah kakom (keamanan komputer), cuman ga tau napa, abis pulang kul, ko rasanya jadi niat banget yah ^_^ sampe nyari tugas cukup detail.. blom selesai semua sih, cuman tinggal beberapa aja. rencana nulis di beberapa hari kedepan, edh udah keduluan andre ^_^ he5x dia kuliah senin sih, ku rabu, so yah… anyway.. the show must go on…

didalamnya bakal ada definisi malware, jenis2 malware, teknik2 yang dipake malware (bagaimana virus mengelabui anti-virus, teknik pengandaan), bagaimana menangkal malware, dan detail lain yang berhubungan.

sebelum selesai dokumennya, nih sementara tease dari sampul yang aku buat untuk tuh dokumen…
nantikan download dalam bentu pdf kalo udah selesai

bagian2 dari tulisan tersebut beberapa telah di post secra terpisah, klik link dibawah untuk membaca artikel yang bersangkutan:

  1. Virus – pengenalan dan pencegahan
  2. Worm – pengenalan dan pencegahan

UPDATE :
akhirnya udah selesai juga, tulisan sepanjang 19 halaman , capek deh tangan…. waktu mepet sih, udah tengah malam (jam 1 skerang, dan haru sidkumpulin ntar jam 7.30.. so ngebut dan tulisan detail berhenti di area rootkit, sisanya lebih umum terpaksa….

Advertisements

Worms – pengenalan dan pencegahan


firewall-ku menagkal serangan worm

Bagian dari tugas mengenai Malware (pengenalan dan pencegahan), buka link disamping untukdownload dan baca keseluruhan review mengenai malware

Worms komputer adalah aplikasi yang dapat menggandakan dirinya sendiri. Worm menggunakan jaringan untuk mengirin salinan-nya ke node lain (terminal komputer dalam jaringan) dan dapat melakukan hal tersebut tanpa campur tangan user sama sekali. Tidak seperti virus, worm tidak perlu menyusupkan dirinya ada aplikasi yang ada. Worm hamper dapat dipastikan menimbulkan kerusakan pada jaringan, meski hanya sekedar memakai bandwith yang ada, dimana virus hamper selalu merusak atau merubah file pada komputer target.

Nama dan sejarah

Penamaan worm berasal dari ‘The Shockwave Rider’, sebuah novel science fiction yang dipublikasikan pada tahun 1975 oleh John Brunner. Peneliti John F Shock dan Jon A Hupp dari EROX PARC memilih nama tersebut pada paper yang dipublikasikan pada tahun 1982; The Worm Programs, Comm ACM, 25(3):172-180, 1982), dan kemudian digunakan secara luas.

Implementasi worm pertama kali diaplikasikan oleh kedua peneliti tersebut di Zerox PARC pada tahun 1978. Shoch dan Hupp membuat worm untuk mengidentifikasi prosesor yang idle (tidak melakukan pekerjaan) pada jaringan dan memberikan tugas pada prosesor tersebut, membagi load pengerjaan proses, sehingga meningkatkan ‘efisiensi penggunaan CPU cycle’ pada jaringan. Worm tersebut memiliki batasan yang terprogram didalamnya, sehingga tidak akan menyebar ke are yang lebih luas dari yang ditentukan.

Continue reading

Virus – pengenalan dan pencegahan

Bagian dari tugas mengenai Malware (pengenalan dan pencegahan), buka link disamping untukdownload dan baca keseluruhan review mengenai malware

Virus computer adalah program komputer yang menyalin dirinya dan menginfeksi komputer tanpa sepengatahuan pemilik. Virus original (asli) dapat mengubah isi dari virus salinannya, atau virus salinan tersebut dapat mengubah dirinya sendiri, seperti yang muncul dalam kasus virus metamorphic. Virus hanya dapa menyebar dari satu komputer ke komputer lain jika file inang-nya (host) dibawa k ekomputer yang tidak terinfeksi, misalkan dengan mengirimkan melalui jaringan atau internet, atau melalui media portable seperti CD atau USB drive. Penggun akomputer seringkali bingung membedakan antara virus dengan worm dan Trojan. Worm dapat menyebarkan dirinay sendiri tanpa harus transfer mellaui host, dan Trojan adalah file yang tampak tidak berbahaya sampai dia dieksekusi.

Beberapa virus dibuat untuk merusak aplikas, menghapus file, atau melakukan formatting pada harddisk. Beberapa yang lain tidak dibuat berbahaya, hanya menggandakan diri sendiri dan/atau melakukan aksi ‘aktualisasi diri’ dengan menampilkan pesan tect, video, atau audio. Meski virus tipe terakhir tersebut bias dibilang tidak berbahaya, tetapi dapat menimbulkan masalah. Virus tersebut mengambil memori komputer yang digunakan oleh aplikasi lain, sebagai hasilnya, virus tersebut sering menumbulkan perilaku aneh pada system dan tidak jarang berakhir menimbulkan system crash. Sebagia tambahan, banyak virus dibuat untuk exploitasi bug, dan bug-bug tersebut dapat menimbulkan crash atau hilangnya data.

Strategi penggandaan

Agar dapat menggandakan dirinya, sebuah virus harus diijinkan meng-eksekusi kode yang menulis ke memori. Untuk alasan tersebut, banyak virusmenyusupkan dirinya ke file executable yang merupakan bagian dari aplikasi terpercaya. Jika pengguna mencoba menjalankan program yangterinfeksi, kode virus dapat dieksekusi terlebih dahulu. Virus dapat dibagi menjadi 2 tipe, berdasarkan perilaku pada saat dieksekusi. Non-resident virus akan segera mencari file host lain yang dapat diinfeksi, menyusup pada target dan kemudian memindah kontrol pada aplikasi yang mereka infeksi. Resident virus tidak langsung mencari target ketika mereka dieksekusi. Tetapi, resident virus akan me-load dirinya dalam memori pada saat eksekusi dan memindahkan control pada palikasi host. Virus kemudian tetap aktif dalam memori di latar belakang dan menyusup pada host baru saat file tersebut diakses oleh aplikasi lain atau bahkan system operasi sendiri. Resident virus sendiri, terkadang dibagi lagi menjadi 2, fast infector dan slow infector. Pembagian ini berdasar kecenderungan untuk melakukan infeksi ke host baru. Pada tipe fast infection, virus akan segera melakukan infeksi pada aplikasi yang diakses oleh system, hal ini bias menjadi sangat merepotkan bagi anti-virus. Pada saat antivirus mengakses banyak file potensial, jika antivirus tidak ‘menyadari’ adanya virus ini yang aktif, maka virus dapat menunggangi antivirus dan menginfeksi tiap host potensial baru yang diakses oleh antivirus pada saat melakukan scanning menyeluruh. Tetapi metode fast infector cenderung lebih mudah dilacak, karena penggunaan resource yang tingi, system akan mengalami penurunan tingkat respon yang cukup signifikan. Beda halnay dengan slow infector, virus dengan tipe ini menginfeksi host baru dengan perlahan, hanya pada kondisi-kondisi tertentu saja. Missal pada saat melakukan penggandaan file, dan sebagainya.

Continue reading

Prime Number

minggu lalu waktu kuliah TBD “teknologi Basis Data“, mas poleng (baca : Pak Arif Wibisono ^^) sempat ngobrol sejenak mengenai Java, Sun , Oracle untuk sedikit intermesso di sela kuliah. nah, disitu sempat disinggung “apa cara yang paling cepat menghitung bilangan prima?“, beberapa suara bersautan pelan (pura2 denger ^^ bisikan2 hati biar lebih dramatis) antara membagi bilangan N dengan x = 1~N, ada yang menyaut bilangan N dibagi x = 1~(N/2). kusendiri dulu (dulu banget pas alpro) make yang kedua ^_^

nah, dosen muda SI ini lalu bilang, “N dan n/2 masih kelamaan, jawabnya sqrt(N)” :) persisnya ga ngomong gitu, lebih kocak :D tapi karena pikiran terlanjur memproses sqrt(N) jadi ga inget detail :) jadi ingat kata pak Rully, dan juga mastri (mastery, masih ingatkah kau bilang pake sqrt(N) aja dan jangan kebanyakan make nested conditional waktu di thread programming lautan lama ;) )

nah abis gitu mr dosen nyelotek, coba buktikan. karena awalnya aku rada ga konsen kuliah (berangkat buru2 tuh, datang telat lagi).. so masih skeptis dulu.. baru sampe rumah kepikiran lagi, coba deh liat2 ^_^ dan dan memang terbukti ;)
sekaligus untuk menyegarkan kembali ingatan yang udah lama ngga ngoding dan berhubungan ama algoritma, jadi pengen nulis hasil penalaranku dan bikin codingnya :) he5x kayaknya bakal berguna juga nih buat praktikan alpro 1 (angkatan 2007) saat ini. kali aja keluar (dan biasanya emang keluar ^^)

ke, saatnya mulai. mungkin metodologi pembuktianku lebih agak2 ke arah analogi teoritis di awal kemudian menggunakan pembuktian (aduh apa namanya, di diskrit tuh) tapi ga ku lanjutin pake rumus2nya (membuktikan kasus n berlaku untuk N+1) :) males ja ngitung dan nulis, semua berjalan di RAM (baca : kepala doank) jadi volatile dan ga disimpen :p

as we know, tiap bilangan N memiliki faktor2 yang membentuk pasangan perkalian X dan Y. jumlah X dan Y bisa dikit, bisa banyak banget, tergantung besar nilai N kan :) so, secara umum faktor N adalah X1~Xn dan Y1~Yn. yang mau aku tunjukin disini adalah pola ‘unik’ pasangan faktor tersebut, lanjutannya mending langsung pake contoh aja, faktor 100 adalah :

1×100
2×50
4×25
5×20
10×10
20×5
25×4
50×2
100×1

ehm… bisa ngeliat pola ‘unik’ tersebut ???
oke, gimana kalo disusun kayak gini :

1×100 100×1
2×50 50×2
4×25 25×4
5×20 20×5
10×10

kalo kalian berpikir “X kayak cermin-nya Y“, bener ^_^ kalo nilai2 tersebut diletakkan pada koordinat cartesius (benernya aku mau bikinin grafik cartesiusnya, cuman ga sempat) bakal terlihat bahwa kurva yang dihasilkan simetris (jika dipotong dnegan garis x=y) dengan nilai extrem pada 10×10 (dengan kata lain X=Y).
nah apa hubungannya dengan pendapat diatas mengenai efisiensi penggunaan sqrt(N) sebagai limit perhitungan penentuan bilangan prima ? X*Y=N, (X=Y)=> X2=N => X=sqrt(N) ;)

yah, itu contohnya kan angka 100, angka yang bulat, gampang keliatan, apa teori diatas juag berlaku untuk yang ngga bulat (kotak mungkin ^^)
sepp, pertanyaan bagus, cek mau angka berapa, kita ambil 39 aja gimana :)
faktornya :

1×39 39×1
3×13 13×1

nah loh, ga ada X=Y -nya yah???

^_^ memang keliatannya seperti itu disini, tapi kalo di grafik cartesius bakal ada ko’, tepatnya di nilai 6,244997998…. panjang deh :D tapi, kalo kita bicara mengenai bilangan prima, kita bicara di domain bilangan asli, bilangan yang dimulai dari 1 ~ tak hingga dan BULAT, atau tanpa pecahan. dalam bilangan asli dapat dipastikan floor rounding atau dibulatkan kebawah, sehingga sehingga dapat diasumsikan dengan aman bahwa limit sqrt(N) yang dipakai adalah 6. tidak perlu dilakukan pengecekan modulo dengan pembagi lebih dari 6 (bandingkan dengan mengecek semua 39 pembagi)

so ngapain nyari lagi modulo dengan x (pembagi perhitungan) > sqrt(N), karena perkalian dengan nilai diatas itu PASTI merupakan ‘cermin’ dari perkalian faktor sebelumnya yang telah dihitung, lebih baik menghemat waktu kan ^_^ 100 sih masih enak, coba kalo ngitung apakah 100000000 itu prima, kan menghabiskan waktu.
oke, 100000000 emang bukan prima, udah dilihat juga tau ^_^ tapi coba cek 98165512531247, tes prima pa bukan :D

nah cukup segitu aja pembuktiannya ala tyo yang ngga jelas tersebut ^_^

coba rubah aja code limit menjadi N atau (N/2) kalo mau ngetes, bandingkan hasil bilangan yang ditampilkan ;) pengecekan silahkan sampe berapa suku bilangan prima deh, 1 juta juga gpp, makin banyak makin menegaskan kalo yang ditampilkan sama berarti bener kan :) dan perbedaan kecepatan bakal kerasa, yang lebih cepat tentu dengan menggunakan sqrt(N) ;)

NB : kalo ada yang keliru atau salah mohon kritik dan sarannya ;)

App jadinya :

Free Image Hosting at www.ImageShack.us

Brief History of JAVA

“Tak kenal maka tak sayang”, begitulah orang bijak bilang ^_^
so bagi mahasiswa SI (termausk aku yah), rasanya ga lengkap rasanya kalo sehari-hari makai JAVA tapi ngga tau sejarah JAVA. kenapa ko’ namanya gitu, cikal bakal lahir java gimana sih, ultahnay kapan, makanan favoritnya apa, suka musik yang gimana. (doh mulai ngelantur ^_^)
anyway, perkembangan microprocessor memiliki dampak yang cukup besar pada alat-alat elektronik ‘pintar’ pada masa itu (lama banget bo’, 80-90an lah, blom kepikiran ngoding kali yah, masih maenan ayunan). melihat adanya kesempatan, Sun Mcirosystems, pada tahun 1991 mendanai proyek penelitian perusahaan yang memiliki kode “Gren”. proyek ini menghasilkan sebuah bahasa pemrograman yang berdasarkan dari C++, James Gosling, penciptanya, menamainya ‘Oak’ terinspirasi dari pohon oak yang ada disamping jendela kantornya di Sun. tapi kemudian diketahui, bahwa bahasa pemrograman bernama Oak sudah ada, so mau ga mau harus ganti lah. saat sekelompok (daripada dibilang gerombolan), karyawan Sun mengunjungi ‘warkop’ (cuman lebih berkelas dari warkop di indo), nama ‘JAVA’ nyantol dikepala dan kemudian dipake.
tetapi, ga ada jalan yang ngga berlubang (macam jalan di indo), Project Green mendapati beberapa kesulitan. pangsa pasar perangkat elektronik pintar tidak terlalu berkembang di awal 1990, paling tidka tidak secepat harapan Sun. proyek ini terancam dibatalkan. dengan sedikit keberuntungan, World Wide Web (WWW) menjadi populer di tahun 1993, Sun melihat adanya potensi penggunaan JAVA untuk mebambah konten dinamis (interaktifitas, animasi, dan sebagainya ^_^) pada halaman web. hal ini meniupkan nafas baru pada Project Green.
Sun memperkenalkan JAVA secara resmi pada tahun 1995. JAVA dengan cepat menimbulkan ketertarikan dunia bisnis dakrena sukses fenomenal dari WWW. JAVA sekarang digunakan untuk mengembangkan aplikasi perusahaan berskala besar, menambah fungsionalitas web-server (komputer yang menyediakan ‘isi’ yang kita lihat di web browser, kali aja ga paham maksudnya server ^_^), deretan aplikasi untuk peralatan elektronik konsumen (seperti telepon selular, pager, dan PDA) dan untuk tujuan-tujuan lainnya. Versi terbaru dari C++. seperti Microsoft® Visual C++® .NET dan Borland® C++Builder™, menawarkan kemampuan yang mirip. ada pula C# yang menggabungkan kekuatan C++, produktifitas Visual Basic, dan JAVA yang elegan dalam satu bahasa pemrograman baru ^_^ *dah nyoba dikit, syntax-nya mirip banget ama java*

nah setelah beberap tahun pengembangan (wuih, udah 18an tahun yah) jadilah JAVA seperti yang kita kenal yang kita cintai di SI ini :)