A.
Pengertian Vulnerability (Celah keamanan)
Pengertian
vulnerability pada dunia komputer adalah suatu kelemahan program/infrastruktur
yang memungkinkan terjadinya exploitasi sistem. kerentanan (vulnerability) ini
terjadi akibat kesalahan dalam merancang,membuat atau mengimplementasikan
sebuah sistem.
Vulnerability
akan digunakan oleh hacker sebagai jalan untuk masuk kedalam sistem secara
ilegal. Hacker biasanya akan membuat Exploit yang desesuaikan dengan vulnerability
yang telah ditemukan nya.
Setiap
aplikasi (service,desktop,web base) pasti memiliki celah atau
vulnerability,hanya saja belum ketauan.lambat laun akan ditemukan juga oleh
hacker.,Tidak semua hacker jahat ,jika celah keamanan ditemukan oleh hacker
jahat (Black Hat) kemungkinan akan digunakan untuk meng exploit system untuk dia
gunakan sendiri, atau exploit tersebut akan dilelang di “deep web” dan dijual
nya ke penawar tertinggi. tapi jika ditemukan oleh hacker baik (white hat)
biasnaya dia akan melaporkan celah keamanan tersebut ke developer aplikasi
tesebut agar diperbaiki. untuk perusahaan ternama seperti
facebook,google,microsoft dll, mereka akan memberi imbalan yang lumayan besar
untuk penemu bug /vulnerabillity didalam sistem nya.
B.
Kenapa Vulnerability (Celah Keamanan) bisa terjadi ?
Buatan manusia tidak ada yang
sempurna,vulnerability/bug terjadi ketika developer melakukan kesalahan logika
koding atau menerapkan validasi yang tidak sempurna sehingga aplikasi yang
dibuatnya mempunyai celah yang memungkinkan user atau metode dari luar sistem
bisa dimasukan kedalam program nya.
C.
Dimana Vulnerability (Celah keamanan)bisa terjadi?
Vulnerability yang sering
diexploitasi pada umumnya berada di level software,karena exploitasi dapat
dilakukan dengan remot dari jarak jauh yang menjadi target favorit hacker.
karena jenis tingkatan software bermacam-macam berikut beberapa
bug/vulnerabilyti yang biasa ditemui dan diexploitasi.
1.
Firmware (Hardcoded software)
Apa itu firmware? Firmware adalah
software/mini operating system yang tertanam langsung (hardcode) kedalam
chip pada perangkat tertentu seperti: Router
,kamera,scanner,printer,handphone,mouse/keyboard tertentu dan lain lain,dengan
tujuan agar memudahkan upgrade kompatibility perangkat atau penambahan fitur.
Biasanya perangkat dengan firmware
tidak memiliki sistem operasi karena jumlah memory yang kecil. vulnerability di
level firmware akan sangaat berbahaya jika terjadi padaperangkat seperti
router. Karena hacker akan menggunakan celah/kelemahan yang ada untuk membobol
router dan memodifikasinya.
Vendor tiap perangkat seperti router
atau wireless radio(AP) akan menyediakan pembaruan /update untuk perangkatnya.
jadi rajin rajinlah untuk ngecek official site untuk mendownload
pembaruan/update
2.
Operating system /Sistem Operasi
Sistem operasi seaman apapun (Linux
/Mac) tetap mempunyai celah keamanan,tinggal menunggu waktu saja untnuk
ditemukan.usahakan mengaktifkan fitur automatic update agar operating sistem
selalu melakukan pembaruan/update ketika update tersedia.
3.
Aplikasi (Software)
Aplikasi yang kita install di
komputer bisa menjadi jalan masuk hacker atau senjata hacker (malware) ke
komputer kita. aplikasi yang kita jadikan prioritas utama untuk update adalah
aplikasi yang bersentuhan langsung dengan internet seperti browser,document
reader,downlaod manager. hal ini untuk mencegah exploitasi terhadap program
tersebut ketika kita gunakan untuk mencari informasi di internet. itung-itung
mencari informasi malah malware yang kita dapat.
4.
Brainware (Operator komputer)
Setiap sistem computer pasti ada
operator /orang yang memanfaatkan sistem untuk bekerja. walau semua sistem
telah dirancang seaman mungkin tetapi pengetahuan setiap orang berbeda-beda.
ketidak tahuan atau kepolosan sang operator inilah yang bisa dimanfaatkan
hacker untuk mendapatkan akun /informasi yang dia pegang. dengan tehnik social
engineering seorang operator bisa ditipu dan menyerahkan akun dan informasi
penting ke hacker tanpa dia sadari . secanggih apapun sistem di dunia ini pasti
mememiliki kelemahan (vulnerability)di sisi brainware.
5.
Vulnerability (Celah keamanan) pada aplikasi
web
Jika kamu mempunyai website,
hati-hati terhadap exploitasi yang akan mungkin terjadi terhadap website mu.
exploitasi ini akan sangat beragam bergantung pada bahasa pemrograman yang
dipakai,web server ,library dan database yang dipakai.
Karena aplikasi web/website terdiri
dari banyak komponen, maka aplikasi web mempunyai banyak sisi untuk diserang,
web service bisa diserang dengan DDOS / exploitasi yang lain,php library bisa
diserang juga , dan aplikasi website itu sendiri bisa diserang , sehingga aplikasi
web membutuhkana extra proteksi untuk menjaga agar website aman dari
tangan-tangan jahil.Untuk masalah keamanan web service ,php library atau
library yang lain biasnaya menjadi tanggung jawab penyedia hosting.
aplikasi web yang kita taruh di hosting bisa menjadi jalan masuk hacker jika
aplikasi web yang kita gunakan memiliki celah keamanan (vulnerability).
katakanlah kamu memasang wordpress sebagai CMS untuk menangani blog kamu,
wordpress CMS ini memiliki banyak komponen terpisah seperti plugin dan module ,
vulnerability bisa berada di aplikasi utama CMS itu sendiri atau berada di
plugin atau theme yang kita gunakan. oleh sebab itu rajin-rajinlah
mengupdate CMS yang kamu gunakan.
D.
Contoh Vulnerability (Celah Keamanan)
1.
Windows xp vulnerability ms08-067 (Remot Vulnerability |Service
vulnerability)
Celah keamanan ini memungkinkan attacker (Hacker yang menyerang
sistem) untuk menjalankan malware secara remot dengan cara membuat paket PRC
request Khusus.
(celeh keamanan ini digunakan oleh worm conficker untuk menyebarkan dirinya)
Patch :https://technet.microsoft.com/en-us/library/security/ms08-067.aspx
2.
DRAM Rowhammer vulnerability (Local Exploit | Hardware
Vulnerability)
Celah keamanan ini memungkinkan attacker untuk mengangkat privilage
(Hak akses ke sistem) dirinya sendiri.
3.
Winrar Spoof extension 2.80 – 5.10(Local Exploit|Software
Vulnerability)
Bug ini memungkinkan attacker untuk menyembunyikan extensi file
,sehingga keliahatan seperti extensi file yang diinginkan.
4.
GDI Exploit (Local Exploit | Software vulnerability)
Memungkinkan attacker untuk menyisipkan malware dalam file gambar
dengan format (EMF or WMF)q
5.
Vulnerability pada aplikasi web
bisa beragam, tergantung dari module ,plugin,library dan CMS yang
digunakan. oleh karena itu sebagai webmaster harus rajin mengupdate
moodule,library ,theme CMS yang yang digunakan.
6.
Vulnerability dan Exploit yang dipublish di
internet
Cukup ketikan kata kunci “exploit list” di google kamu akan menemui
website yang mempublish vulnerability dan exploit secara up to date.
Ada banyak website yang memposting exploit untuk berbagai macam
vulnerability program baik aplikasi desktop,server atau aplikasi web. jika ada
orang yang terhubung ke internet secara langsung dan tidak mengupdate
aplikasinya maka mereka akan bisa diexploitasi dengan exploit tersebut.
E.
Zero Day Vulnerability/Exploit
Zero Vulnerability adalah
vulnerability yang ditemukan oleh hacker sedangkan pihak developer tidak
mengetahuinya, dan hacker mengambil keuntungan dari vulnerability tersebut
untuk menyebarkan malware atau masuk ke sistem secara ilegal. Sedangkan Zero
day Exploit adalah exploit yang dibuat hacker berdasar zero day vulnerability
yang ditemukan nya untuk mengexploitasi sistem yang tentan terhadap
vulnerability yang telah ditemukan nya.
F.
Vulnerability Timeline
Zero Day attack terjadi ketika
software /hardware dengan vulnerability diexploitasi dan hacker membuat malware
dan melepaskan nya sebelum pihak developer diberikan kesempatan untuk menemukan
dan memperbaiki vulnerability pada hardware/software yang dikembangkan
nya.
Kronologi kejadian Zero day Attack dapat dijelaskan sebagai
berikut:
1.
Pihak
developer dari suatu perusahaan membuat software/hardware ,tetapi mereka tidak
tau bahwa software/hardware yang dibuatnya mempunyai celah keamanan
(vulnerability)
2.
Kriminal
menemukan celah keamanan tersebut sebelum pihak developer menemukan nya dan
memperbaikinya.
3.
Kriminal
/Attacker/Hacker membuat exploit berdasar vulnerability yang ditemukan nya
disaat vulnerability tersebut belum ditemukan oleh pihak developer dan
memperbaikinya.
4.
Setelah
Exploit (dalam berbagai bentuk malware : Bot,Worm,Trojan,Ransomware dll)
dilepaskan ke public dan menyerang sistem yang rentan untuk mencuri data /masuk
ke sistem
5.
Setelah
jatuh korban biasanya korban akan mengeluh melalui forum,socmed dll dan pihak
developer menganalisa malware yang menyerang.
6.
Pihak
developer mengetahui kelemahan pada aplikasinya yang digunakan malware untuk
menyerang dan membuat patch untuk memperbaiki vulnerability pada aplikasi yang
dibuatnya.
G.
Jenis Exploitasi terhadap system vulnerability /bug (Celah keamanan)
1.
Local
Exploit
Seperti namanya ,vulnerability ini
hanya bisa diexploitasi secara local(dikomputer itu sendiri),exploit jenis ini
biasanya digunakan untuk mengangkat user privilage (rootkit),sehingga applikasi
dengn user biasa memiliki hak akses administrator.
Biasanya attacker akan memasukan
payload kedalan file sesuai format aplikasi yang vulnerable (misal
exel,word,pdf,jpeg atau wmf),dan ketika file dibuka otomatis program yang
vulnerable akan mengeksekusi paylod yang berisi shellcode atau perintah untuk mendownload
dan mengeksekusi payload dari remote server dan BOOMM, hacker sudah masuk
kedalam system.
Exploit jenis ini hanya bisa berjalan di komputer yang terinstall program
tertentu yang memiliki vulnerability.
2.
Remote
Exploit
Attacker akan mengexploitasi service
port yang terbuka di komputer/server korban,dengan exploit yang telah dibuat
khusus,attacker akan mengirimkan payload yang berisi shellcode
malware(biasanya backdoor/trojan) .exploitasi ini dilakukan dengan jarak
jauh menggunakan jaringan internet atau jaringan local (bisa target dalam 1
jaringan dengan attacker).
Exploitasi jenis ini memanfaatkan
celah (vulnerability) service port yang terbuka di komputer client /server
,misalnya mengexploitasi port 443 (SSL heart bleed vuln),SMB port 445 ,ssh port
22 dll. tergantung port yang terbuka oleh service didalam system.
Pada exploitasi aplikasi berbasis web
/website attacker biasnaya menyerang kelemahan fitur yang ada,seperti vitur
upload file,melakukan penetrasi dengan memasukan query lewat URL dan melihat
error yang dihasilkan, tampilah error disini bisa dipakai oleh attacker untuk
menganalisa struktur dari database /sistem yang sedang di serang. melalui
tampilan error inilah si attacker bisa mendapat informasi seperti versi
database,module yang digunakan,plugin yang aktif,struktur database,library yang
digunakan dll.
IMAM ABDUL KHOLIQ 14.0504.0097
TEKNIK INFORMATIKA S1 UNIVERSITAS MUHAMMADIYAH MAGELANG