Senin, 20 Januari 2014

Mengapa Membuat AntiVirus


Ini adalah artikel curhat pertama saya di tahun 2014 ini, hehe... Berawal dari pertanyaan teman-teman saya atau pertanyaan orang-orang tentang "Ngapain sih buat AntiVirus?"..

Alasan utama untuk saya adalah karena saya menyukai virus juga melihat cara kerjanya dan tentu cara me-remove-nya dari sistem. Di artikel ini, akan berisi tentang "sejarah" saya membuat antivirus juga segala uneg-uneg yang ada dikepala saya selama beberapa tahun ini ketika "bergulat" dengan virus. Jadi, untuk anda yang tidak suka dengan saya, jangan baca artikel ini. :D

Awal mulanya

Sekitar tahun 2008, saya terkena worm lokal yang bernama PendekarBlank, disaat itulah muncul ketertarikan saya dengan mahluk tesebut. Yang entah bagaimana bisa "nangkring" di komputer saya. Saat itu pula saya baru belajar membuat program dengan Microsoft Visual Basic 6.0 yang "legendaris" sampai sekarang di indonesia, sehingga muncul-lah ide liar dikepala untuk membuat antivirus nya. =)).

1. Yudha AntiVir


Kesana-kesini ketemu juga artikel cara membuat antivirus dengan Visual Basic 6.0 tersebut, yang mana metode pendeteksiannya masih menggunakan cheksum CRC32 bernama Yudha AntiVir pada 19 Juli 2009, yah agak memaksakan namanya, maklum dulu masih sekolah (apa hubungannya :D ). Dulu saya tidak memperdulikan apakah bisa men-terminate virus tersebut di memory atau jenisnya apalagi menganalisanya. Saya lebih ke bagaimana agar antivirus saya mempunyai tampilan yang bagus dan mempunyai banyak signature :D .


Yudha AntiVir akhirnya masuk ke sekolah saya, SMK Purnama Depok, dimana saya perkenalkan ke teman saya di lab sekolah saat pelajaran praktek komputer. Reaksi dari teman sekolah biasa saja, karena tidak begitu tertarik dengan antivirus, begitu juga sang pacar :D , akhirnya pengembangan Yudha AntiVir terhenti.

2. MscanX AntiVirus

Tahun 2010, banyak antivirus lokal bermunculan, akhirnya saya melanjutkan pengembangan Yudha AntiVir dan mengganti namanya menjadi MscanX AntiVirus (Malware Scanner X AntiVirus) dengan metode scan menggunakan MD5, dan sudah dilengkapi Real-Time Protection atau RTP, walau RTP-nya masih maksain juga sih :D .Saat itu juga saya bertemu web komunitas coding dan antivirus yaitu Codenesia.com. disitulah saya mulai mempromosikan antivirus di dunia maya. Sejak saat itu pula saya rajin ke warnet dan mengumpulkan sample-sample virus untuk di ambil cheksumnya bukan di analisa :D.

MscanX AntiVirus banyak mendapat respon, salah satunya e-mail dari user yang bernama bocahajaib (sampai sekarang saya tidak tahu siapa dia, jika anda baca artikel ini, tolong komen ya :D). Si bocahajaib memberikan feedback bahwa RTP MscanX AntiVirus lelet ketika membuka folder yang banyak berisi file PE, kemudian mulailah saya semakin giat kesana-kemari mencari alamat, membeli buku-buku tentang antivirus yaitu bukunya mas Tri Amperiyanto berjudul Kitab Sakti Virus File yang fenomenal dengan Kyai Kebal Wirang dan MegaTruh nya. :)

Dari buku beliau tersebut dan berbagai artikel di internet, saya memahami bahwa masing-masing virus mempunyai cara kerja, metode infeksi dan ke-unikan (baca: tingkat kepintaran pembuatnya) dan tujuan nya maisng-masing.Saat itu MscanX AntiVirus juga terhenti pengembangannya karena saya belajar lebih dalam lagi tentang virus dan antivirus.

Jika ada yang bertanya, "mana screenshotnya MscanX AntiVirus ini?" maaf saya tidak punya file programnya lagi dan tidak menemukan screenshotnya di google =)).


3. MscanX AntiVirus generasi kedua.


Berawal dari di open-source kan nya CMC AntiVirus dari codenesia yang saat itu kemampuannya sudah mampu melakukan dis-infeksi file virus tenga dan worm serigala juga kecepatan scanningnya yang bagus, membuat saya merombak MscanX AntiVirus pada tahun 2012 dengan sebelumnya meminta izin kepada pihak CMC yaitu mas hirin untuk memakai kodenya =)). Di generasi kedua ini yang paling suskes menurut saya, setelah berhasil men-submit MscanX AntiVirus di softpedia.com, banyak situs web serupa mem-posting MscanX AntiVirus di web mereka juga banyak review dari teman juga, kebetulan saat itu saya aktif di beberapa grup facebook.

MscanX AntiVirus juga mendapatkan banyak award seperti dari softoxi dan lainnya, sehingga saya lebih percaya diri dalam mengembangkannya.

Saat itu juga saya lebih aktif mengumpulkan sample virus juga mulai menganalisa virus yang saya temui satu-persatu walaupun dnegan modal sandboxie =)). Revisi dari MscanX AntiVirus ini juga banyak, salah satunya MscanX AntiVirus Batik Edition seperti ini.



Beberapa bulan mengembangkan MscanX AntiVirus generasi kedua ini, saya merasa ada yang janggal dengan metode scannya yang menggunakan cheksumnya sendiri, karena di beberapa file virus, hasil cheksumnya menghasilkan nilai null string atau "00000000" sehingga tidak bisa terdeteksi. Juga menghasilkan nilai collision yang sangat banyak terhadap file-file lainnya yang bukan virus. Ternyata proses mengkalkulasi cheksum berada pada cave file PE, sehingga nilai cheksum yang di generate menjadi null string, saat itu saya coba memodifikasinya dengan merubah offsetnya dan size nya, filter sana-sini namun tetap sama,jadi MscanX AntiVirus ini pun terhenti pengembangannya :( .


4. Bytecode AntiVirus


beberapa artikel menyebutkan bahwa antivirus harus dibuat dengan bahasa pemrograman C/C++, lalu saya melihat ada antivirus yang juga open-source bernama NaVi. Saya coba menghubungi mas sepran yang membuatnya via facebook untuk meminta izin dan akhirnya di-izinkan lalu mengganti nama lagi menjadi ByteCode AntiVirus (labil sekali ya?) :D.

Di ByteCode AntiVirus, tidak memakai CRC32 atau MD5, semuanya full string signature dengan offset sehingga proses scanningnya sangat cepat, apalagi dibuat dengan bahasa pemrograman C yang masuk ke kategori mid level, meskipun membuat signaturenya sangat susah :D. Namun hasilnya memuaskan, ByteCode AntiVirus dapat mendeteksi varian ramnit dengan maksimal tanpa false alarm, juga beberapa worm dengan baik.


5. MscanX AntiVirus Express for Trojan Fanny.


Disela-sela waktu mengembangkan ByteCode AntiVirus, saya bertemu trojan fanny ini. Bermula dari flashdisk saya yang terinfeksi olehnya dan membuat file bernama fanny.bmp pada root flashdisk, apa ini fanny.bmp? padahal saya tidak mempunyai pacar bernama fanny :D. Setelah men-submit file tersebut di virustotal.com, akhirnya diketahui bahwa itu adalah trojan dan saya langsung analisa. Analisanya saya buat di blog saya disini > Analisa Trojan Fanny .

Kemudian signature trojan fanny tersebut saya pindahkan ke ByteCode AntiVirus, dan saya ganti nama menjadi MscanX AntiVirus Express for Trojan Fanny yang saya submit ke softpedia, bagi anda yang ingin mencoba silahkan download di http://www.softpedia.com/get/Antivirus/Removal-Tools/MscanX-AntiVirus-Express-For-Trojan-Fanny.shtml



6. ByteCode AntiVirus dengan ClamAV



Bagian ini yang membuat banyak orang kaget setengah ganteng, dimana antivirus saya dinyatakan mampu ter-integrasi dengan engine clamav padahal hanya "memainkan" parameter yang ada dari clamscan.exe. Akhirnya Saya membuat artikel nya di web binushacker.net juga di blog ini, sehingga orang tidak kaget dan penasaran lagi, namun sampai sekarang masih ada yang menanyakan hal ini x_x

Bahasa C membuat saya pusing, saya akui sulit sekali mempelajarinya, karena saya sudah lama terbiasa dengan Visual Basic 6.0. hingga akhirnya ByteCode AntiVirus ini juga terhenti :(

7. N-Shield AntiVirus


Ini AntiVirus yang saya kembangkan saat ini setelah saya keluar dari PC Media AntiVirus (PCMAV). Selama 10 bulan di PCMAV banyak yang saya pelajari tentang virus dan antivirus seperti apa itu hidden thread, hidden process, proses cure file PE yang terinfeksi, analisa virus yang lebih kompleks dan teliti juga mempelajari Delphi dan masih banyak lagi. Saya juga mulai mempelajari bahasa assembly dan reverse engineering dan memperbanyak bergabung dalam komunitas-komunitas pemrograman dan antivirus.

N-Shield AntiVirus tidak sama dengan antivirus saya sebelumnya, saya berusaha membuatnya lebih menjadi "antivirus sesungguhnya" dan professional, N-Shield AntiVirus sekarang mampu mendeteksi rootkit, hidden process, mendeteksi virus secara generic juga sedang membuat RTP yang benar-benar berfungsi mem-blok file virus sebelum dia aktif di memory juga membuat fitur Anti-Keylogger secara real-time dengan file driver khusus untuk melakukan monitoring dan deteksi. 


Akhirnya

Ya, sampai sekarang saya menyadari bahwa proses saya belajar dan mengembangkan antivirus ternyata se-labil itu..hehe. Tentu ini belum berakhir, masih banyak yang harus dipelajari, termasuk membuat engine khusus untuk menghadapi virus polymorphic, emulator untuk virus metamorphic, teknik sandboxing, teknik hooking dan lainnya.

Jika boleh saya katakan, antivirus lokal sudah tertinggal hampir 5 tahun dari antivirus luar, lalu mengapa saya dan antivirus maker lokal lainnya masih membuat antivirus? sementara banyak user windows yang migrasi ke linux atau mac karena banyaknya ransomware yang "sadis" dan konsep halal-haram yang entah siapa yang pertama kali mencetuskannya :D.

Jawaban saya setelah membuat artikel sepanjang ini adalah : "Membuat AntiVirus itu adalah kesukaan/hobi saya, saya hanya menyalurkan hobi saya sampai saya tidak menyukainya lagi" =))

Semoga Bermanfaat

Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

0 komentar:

Posting Komentar

(C) 2018. Diberdayakan oleh Blogger.

Categories

Followers