Anda di halaman 1dari 15

TUGAS

KEAMANAN JARINGAN

Dosen Pengampu :

PUTU BAGUS ADIDYANA ANUGRAH PUTRA., S.T., M.KOM


NIP. 19891022 201504 1 001

Dibuat oleh :
ZHAFRON ADANI KAUTSAR
DBC 118 043

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2020
1. Ping of Death

Ping of Death adalah jenis serangan yang menggunakan utility ping yang terdapat pada
sistem operasi komputer. Ping ini digunakan untuk mengecek waktu yang aka diperlukan untuk
mengirim data tertentu dari satu komputer ke komputer lainnnya. Panjang maksimum data
menurut TCP protokol IP adalah 65,536 byte.

Selain itu, paket serangan Ping of Death dapat dengan mudah dispoof atau direkayasa
sehingga tidak bisa diketahui asal sesungguhnya dari mana, dan penyerangnya hanya perlu
mengetahui alamat IP dari komputer yang diserangnya.Penyerang dapat mengirimkan berbagai
paket ICMP yang terfragmentasi sehingga waktu paket-paket tersebut disatukan kembali, maka
ukuran paket seluruhnya melebihi batas 65536 byte. Contoh sederhananya sebagai berikut:

C:\windows>ping -l 65540

Perintah MSDOS di atas melakukan ping atau pengiriman paket ICMP berukuran 65540
byte ke suatu host/server. Pada jenis serangan tersebut, data yang akan dikirim melebihi
panjang maksimal yang disediakan. Jika sistem tidak siap saat penerimaan data, maka sistem
akan hang, crash, atau reboot.

Ping of Death adalah metode serangan yang sudah ada sejak dulu. Jenis serangan ini
mengguna kan utility ping. dan mengapa di sebut Ping Of Death(ping kematian) karena pada
umum nya utility ping pada windows mengirimkan paket ping maximal sejumlah 65.536 bytes
sedangkan Ping of death mengirimkan lebih dari itu,misalnya saja 112.000 bytes dan paket ping
of death ini mudah di rekayasa,sehingga tidak bisa di ketahui alamat pengirim nya (Ip).

2. DNS Poisoning

DNS Poisoning merupakan sebuah cara untuk menembus pertahanan dengan cara
menyampaikan informasi IP Address yang salah mengenai sebuah host, dengan tujuan untuk
mengalihkan lalu lintas paket data dari tujuan yang sebenarnya. Cara ini banyak dipakai untuk
menyerang situs-situs e-commerce dan banking yang saat ini bisa dilakukan dengan cara online
dengan pengamanan Token. Teknik ini dapat membuat sebuah server palsu tampil identik
dengan dengan server online banking yang asli. Oleh karena itu diperlukan digital cerficate untuk
mengamankannya, agar server palsu tidak dapat menangkap data otentifikasi dari nasabah yang
mengaksesnya. Jadi dapat disimpulkan cara kerja DNS (Domain Name System) poisoning ini
adalah dengan mengacaukan DNS Server asli agar pengguna Internet terkelabui untuk
mengakses web site palsu yang dibuat benar-benar menyerupai aslinya tersebut, agar data dapat
masuk ke server palsu.

Cara Kerja DNS Poisoning / Cache Poisoning.


DNS Cache Poisoning merupakan sebuah cara untuk menembus pertahanan dengan
caramenyampaikan informasi IP Address yang salah mengenai sebuah host, dengan tujuan
untukmengalihkan lalu lintas paket data dari tujuan yang sebenarnya. Cara ini banyak dipakai
untukmenyerang situs-situs e-commerce dan banking yang saat ini bisa dilakukan dengan cara
onlinedengan pengamanan Token. Teknik ini dapat membuat sebuah server palsu tampil identik
dengandengan server online banking yang asli. Oleh karena itu diperlukan digital cerficate
untukmengamankannya, agar server palsu tidak dapat menangkap data otentifikasi dari nasabah
yangmengaksesnya. Jadi dapat disimpulkan cara kerja DNS (Domain Name System) poisoning
iniadalah dengan mengacaukan DNS Server asli agar pengguna Internet terkelabui
untukmengakses web site palsu yang dibuat benar-benar menyerupai aslinya tersebut, agar data
dapatmasuk ke server palsu hampir sama seperti cara hack sederhana seperti phising page.

Metode dan cara pencegahan serangan DNS Poisoning / Cache Poisoning.l


Cara yang paling efektif dalam menghadapi serangan yang merubah DNS server/DNS
spoofingadalah dengan melakukan otentikasi host yang akan kita hubungi. Model otentikasi yang
banyakdigunakan saat ini adalah dengan mempergunakan digital certificate. Dengan digital
certificate,seseorang dapat dengan yakin bahwa host yang dia akses adalah host yang
sebenarnya. Caralainnya yaitu program DNS mempunyai pilihan untuk mematikan atau
menonaktifkan prosescaching. Jika proses caching tidak diaktifkan, menipu balasan kepada
sebuah server adalah sia-sia. Program yang paling terbaru telah mempunyai patch untuk
melawan poisoning. Saat ini,paket-paket yang diterima dengan cacatan authoritative / berkuasa
diverifikasi dahulu sebelummemasukannya ke dalam cache.
3. Trojan Horse

Trojan horse atau biasa disebut Trojan adalah salah satu jenis malware yang sering
menyamar sebagai software/perangkat lunak yang sah. Trojan horse ini biasa digunakan
oleh para peretas untuk mendapatkan akses kepada sistem tanpa diketahui. Trojan horse
ini menyamar seperti kebanyakan software lainnya yang ada di komputer, kemudian
setelah diaktifkan tanpa sengaja oleh user barulah Trojan ini mulai bekerja.
Sejarah Trojan Horse
Trojan horse merupakan patung kuda kayu besar yang diberikan sebagai hadiah kepada kota
Troya oleh orang Yunani.
Di dalam patung tersebut bersembunyi tentara Yunani yang kemudian mengalahkan pasukan
Troya setelah patung kuda tersebut dibawa masuk melewati gerbang kota.
Dalam istilah komputasi, Trojan horse mengacu pada program berbahaya yang muncul
menyamar sebagai sesuatu yang tidak berbahaya, seperti file musik atau video.
Jadi, Serangan Trojan horse menginfeksi komputer, dia akan berusaha mengirim data
penting seperti nomer kartu kredit ke pembuatnya ada berbagai macam jenis, tetapi
kesemuanya memang tujuannya untuk kejahatan. Akibat paling banyak dan mudah
ditemui adalah kinerja komputer yang semakin lemot dan akses jaringan komputer yang
semakin melambat. Selain itu Anda perlu selalu waspada karena Trojan horse juga
mengincar data-data sensitive yang ada pada komputer yang bisa dengan mudah dicuri
melalui malware yang sudah tertanam dikomputer.
Diambil dari website Kaspersky, Trojan dikelompokan sesuai dengan jenis
tindakan yang dilakukan seperti:

• Exploit, Trojan yang berisi data atau kode yang masuk melalui kerentanan perangkat
lunak aplikasi yang terinstall.
• Rootkit, rootkit adalah sejenis Trojan yang dirancang untuk menyembunyikan
aktifitas tertentu pada sistem sehingga menjadi berat dan lemot.
• Trojan banker, Trojan banker adalah salah satu malware yang menyerang pada akun-
akun perbankan online, pembayaran elektronik, kartu kredit, debit dan uang digital
lainnya.
• Trojan DDoS, Trojan ini memiliki tugas untuk menyerang alamat website yang
sudah menjadi target.
• Trojan Downloader, Trojan yang masuk bareng dengan software yang Anda install
termasuk adanya adware dan iklan-iklan tidak jelas.
Selain itu masih ada jenis Trojan lainnya yang memiliki fungsi hampir sama satu dengan
lainnya yaitu Trojan Dropper, Trojan FakeAV, Trojan GameThief, Trojan IM, Trojan Ransom,
Trojan SMS, Trojan Spy dan Trojan Mailfinder.

4. Half-Open Connection

Half-open connection attack juga disebut sebagai SYN attack karena memanfaatkan
paket SYN (synchronization) dan kelemahan yang ada di 3-way handshake pada waktu
hubungan TCP/IP ingin dibentuk antara 2 komputer. Dalam 3-way handshake untuk membentuk
hubungan TCP/IP antara client dengan server, yang terjadi adalah sebagai berikut :

· Pertama, client mengirimkan sebuah paket SYN ke server/host untuk membentuk hubungan
TCP/IP antara client dan host.
· Kedua, host menjawab dengan mengirimkan sebuah paket SYN/ACK
(Synchronization/Acknowledgement) kembali ke client.
· Akhirnya, client menjawab dengan mengirimkan sebuah paket ACK (Acknowledgement)
kembali ke host. Dengan demikian, hubungan TCP/IP antara client dan host terbentuk dan
transfer data bisa dimulai.

Dalam serangan half-open connection, penyerang mengirimkan ke server yang hendak


diserang banyak paket SYN yang telah dispoof atau direkayasa sehingga alamat asal (source
address) menjadi tidak valid. Dengan kata lain, alamat asal paket-paket SYN tersebut tidak
menunjuk pada komputer yang benar-benar ada. Pada waktu server menerima paket-paket SYN
tersebut, maka server akan mengirimkan paket SYN/ACK untuk menjawab tiap paket SYN yang
diterima. Namun, karena paket SYN/ACK dari server tersebut dikirim ke alamat yang tidak ada,
maka server akan terus menunggu untuk menerima jawaban berupa paket ACK. Jika server
tersebut dibanjiri oleh paket-paket SYN yang tidak valid tersebut, maka akhirnya server akan
kehabisan memory dan sumber daya komputasi karena server terus menunggu untuk menerima
jawaban paket ACK yang tidak akan pernah datang. Akhirnya server akan crash, hang, atau
melakukan reboot dan terjadilah gangguan terhadap layanan (denial of service). Tipe serangan
half-open connection atau SYN attack ini dapat dicegah dengan paket filtering dan firewall,
sehingga paket-paket SYN yang invalid tersebut dapat diblokir oleh firewall sebelum membanjiri
server.

5. Land Attack

Land attack merupakan salah satu macam serangan terhadap suatu server/komputer yang
terhubung dalam suatu jaringan yang bertujuan untuk menghentikan layanan yang diberikan oleh
server tersebut sehingga terjadi gangguan terhadap layanan atau jaringan komputer tersebut. Tipe
serangan semacam ini disebut sebagai Denial of Service (DOS) attack. Land attack dikategorikan
sebagai serangan SYN (SYN attack) karena menggunakan packet SYN (synchronization) pada
waktu melakukan 3-way handshake untuk membentuk suatu hubungan berbasis TCP/IP.

Dalam 3-way handshake untuk membentuk hubungan TCP/IP antara client dengan server, yang
terjadi adalah sebagai berikut:
· Pertama, client mengirimkan sebuah paket SYN ke server/host untuk membentuk
hubungan TCP/IP antara client dan host
· Kedua, host menjawab dengan mengirimkan sebuah paket SYN/ACK
(Synchronization/Acknowledgement) kembali ke client.
· Akhirnya, client menjawab dengan mengirimkan sebuah paket ACK (Acknowledgement)
kembali ke host. Dengan demikian, hubungan TCP/IP antara client dan host terbentuk dan
transfer data bisa dimulai.

Dalam sebuah LAND attack, komputer penyerang yang bertindak sebagai client
mengirim sebuah paket SYN yang telah direkayasa atau dispoof ke suatu server yang hendak
diserang. Paket SYN yang telah direkayasa atau dispoof ini berisikan alamat asal (source
address) dan nomer port asal (source port number) yang sama persis dengan alamat tujuan
(destination address) dan nomer port tujuan (destination port number). Host akan menjadi sibuk
dengan paket-paket yang datang secara bertubi-tubi dan banyak. Dengan demikian, pada waktu
host mengirimkan paket SYN/ACK kembali ke client, maka terjadi suatu infinite loop karena
host sebetulnya mengirimkan paket SYN/ACK tersebut ke dirinya sendiri. Namun, seiring
perkembangan teknologi informasi, LAND attack sudah tidak efektif karena hamper semua
system.
6. Smurf Attack
Serangan keamanan jaringan dalam bentuk Smurf Attack terjadi ketika sebuah server
digunakan untuk membanjiri korban dengan data sampah yang tidak berguna. Server atau
jaringan yang dipakai menghasilkan response paket yang banyak seperti ICMP ECHO paket atau
UDP paket dari satu paket yang dikirim. Serangan yang umum adalah dengan jalan
mengirimkan broadcast kepada segmen jaringan sehingga semua node dalam jaringan akan
menerima paket broadcast ini, sehingga setiap node akan merespon balik dengan satu atau lebih
paket respon.

Karenanya, serangan ini seringnya dilancarkan kepada sebuah sistem atau jaringan yang dimiliki
oleh penyedia jasa Internet (Internet Service Provider/ISP), sehingga dapat menyebabkan
masalah terhadap kinerja jaringan dan tentu saja menolak akses dari klien. Smurf attack pertama
kali muncul pada tahun 1997 dan mencuat saat server web Yahoo! mengalaminya (diserang
sebagai target), dan selama tiga jam, server Yahoo! pun tidak dapat digunakan. Selain server
pusat jaringan, web server, dan server ISP, beberapa target lainnya yang sering diserang
adalah Internet Relay Chat (IRC) Server.

Keuntungan dari serangan ini adalah si penyerang tidak harus membuat banyak lalu lintas data
untuk melakukan penyerangan (dengan demikian, tidak membutuhkan komputer dengan
kekuatan yang tinggi), karena memang si penyerang mengirimkan paket ICMP echo
request secara broadcast kepada komputer-komputer yang "bertetanggaan" dengan komputer
target. Meski paket ICMP echo request yang dikirimkan hanya satu, hal ini dapat menjadi
masalah besar jika memang jaringan tersebut sangat besar (memiliki banyak host).

Selain Smurf Attack, ada juga serangan yang menggunakan metode serupa, yang disebut
sebagai Fraggle Attack, dengan satu perbedaan yakni paket yang dikirimkan oleh penyerang.
Jika dalam Smurf Attack, si penyerang mengirimkan paket ICMP, maka dalam Fraggle Attack, si
penyerang akan mengirimkan paket protokol User Datagram Protocol (UDP).
7. DOS (Deniel of Services)

Deniel of Services (DoS) ini adalah salah satu ancaman keamanan jaringan yang
membuat suatu layanan jaringan menjadi terganggu, serangan yang membuat jaringan tidak bisa
diakses atau serangan yang membuat system tidak bisa memproses atau merespon terhadap
traffic yang legitimasi atau permintaan layanan terhadap object dan resource jaringan.
Bentuk umum dari serangan Denial of Services ini adalah dengan cara mengirim paket
data dalam jumlah yang sangat bersar terhadap suatu server dimana server tersebut tidak bisa
memproses semuanya. Cara lain dari serangan keamanan jaringan Denial of Services ini adalah
dengan memanfaatkan celah yang sudah diketahui dan rentan dari suatu operating system,
layanan-layanan, atau aplikasi. Exploitasi terhadap celah atau titik lemah system ini bisa sering
menyebabkan system crash atau pemakaian 100% CPU.
Jenis-jenis serangan pada DoS:

1. Distributed Denial of Services (DDoS),Serangan ini terjadi saat penyerang berhasil


masuk pada beberapa layanan system dan menggunakan atau memanfaatkannya sebagai
pusat untuk menyebarkan serangan terhadap korban lain.
2. Ancaman keamanan jaringan Distributed refelective deniel of service (DRDoS) yaitu
memanfaatkan operasi normal dari layanan Internet, seperti protocol,update DNS dan
router. DRDoS ini menyerang fungsi dengan mengirim update, sesi, dalam jumlah yang
sangat besar kepada berbagai macam layanan server atau router dengan menggunakan
address spoofing kepada target korban.
3. Serangan keamanan jaringan dengan membanjiri sinyal SYN kepada system yang
menggunakan protocol TCP/IP dengan melakukan inisialisasi sesi komunikasi. Seperti
kita ketahui, sebuah client mengirim paket SYN kepada server pada proses sinkronisasi,
kemudian server akan merespon dengan paket SYN/ACK kepada client tadi, kemudian
client tadi merespon balik juga dengan paket ACK kepada server. Ini proses terbentuknya
sesi komunikasi yang disebut Three-Way handshake yang dipakai untuk transfer data
sampai sesi tersebut berakhir. Kebanjiran SYN terjadi ketika melimpahnya paket SYN
dikirim ke server, tetapi si pengirim tidak pernah membalas dengan paket akhir ACK.
8. Spoofing

Spoofing adalah teknik yang digunakan untuk memperoleh akses atau informasi yang
tidak sah dimana penyerang berhubungan dengan pengguna, dengan berpura-pura memalsukan
bahwa mereka adalah host yang dapat dipercaya. “hal ini biasanya dilakukan oleh seorang hacker
atau cracker”.
Contoh kasus yang pernah terjadi adalah sebuah WEB yang dibuat mirip dengan web
BCA. Orang yang tertipu akan mengetikkan nama dan passwordnya dan nama serta password
tersebut direkam oleh server penipu tersebut. Selain itu juga web spoofing dapat dilakukan
dengan menjadi proxy server bagi user dalam berinternet. Proxy server membuat identitas user
tidak akan dikenali oleh situs yang dikunjungi tapi hanya dikenali oleh proxy server.
Macam-macam spoofing :
1. IP-Spoofing adalah serangan teknis yang rumit yant terdiri dari beberapa komponen. Ini
adalah eksploitasi keamanan yang bekerja dengan menipu komputer dalam hubungan
kepercayaan bahwa anda adalah orang lain. Terdapat banyak makalah ditulis oleh
daemon9, route, dan infinity di Volume Seven, Issue Fourty-Eight majalah Phrack.
2. DNS spoofing adalah mengambil nama DNS dari sistem lain dengan membahayakan
domain name server suatu domain yang sah.
3. Identify Spoofing adalah suatu tindakan penyusupan dengan menggunakan identitas
resmi secara ilegal. Dengan menggunakan identitas tersebut, penyusup akan dapat
mengakses segala sesuatu dalam jaringan.
4. man-in-the-middle
paket data sniff berada antara dua titik point dan karena maka komputer yang digunakan
untuk sniff dapat berpura-pura seolah-olah menjadi menjadi salah satu ujung sambungan.
5. Routingmredirect
menghubungkan secara langsung ke jalur informasi dari komputer target ke komputer
hacker ini bisa disebut juga sebagai bentuk lain dari man-in-the-middle attack
Source routing
Source routing adalah salah satu teknik dimana pengirim sebuah paket dapat
menspesifikasikan rute paket yang dikirim didalam jaringan. Source routing dapat
digunakan untuk :
1. Troubleshoot sebuah jaringan
2. Memetakan sebuah jaringan
3. Meningkatkan kinerja jaringan
4. Melakukan hack pada sebuah komputer
Source routing dapat digunakan untuk melakukan tindakan illegal misal source routing
attack.

9. Sniffer

Sniffer Paket atau penganalisa paket yang juga dikenal sebagai Network Analyzers atau
Ethernet Sniffer ialah sebuah aplikasi yang dapat melihat lalu lintas data pada jaringan komputer.
Device penyadapan komunikasi jaringan komputer dengan memanfaatkan mode premicious pada
ethernet. Fungsi sniffer bagi pengelola bisa untuk pemeliharaan jaringan, bagi orang luar bisa
untuk menjebol sistem.Cara paling mudah untuk mengantisipasi Sniffer adalah menggunakan
aplikasi yang secure, misal : ssh, ssl, secureftp dan lain-lain. Tujuan dilakukan
sniffing :
1. Troubleshooting
2. Keamanan
3. Monitor jaringan / network analyzer
4. Cracking (menjebol sistem)
5. Maintenance (pemeliharaan jaringan)

Aplikasi ini menangkap tiap-tiap paket dan kadang-kadang menguraikan isi


dari RFC(Request for Comments) atau spesifikasi yang lain. Berdasarkan pada struktur jaringan
(seperti hub atau switch), salah satu pihak dapat menyadap keseluruhan atau salah satu dari
pembagian lalu lintas dari salah satu mesin di jaringan. Perangkat pengendali jaringan dapat pula
diatur oleh aplikasi penyadap untuk bekerja dalam mode campur-aduk (promiscuous mode)
untuk "mendengarkan" semuanya (umumnya pada jaringan kabel).

Sniffer paket dapat dimanfaatkan untuk hal-hal berikut:


1) Mengatasi permasalahan pada jaringan komputer.
2) Mendeteksi adanya penyelundup dalam jaringan (Network Intusion).
3) Memonitor penggunaan jaringan dan menyaring isi isi tertentu.
4) Memata-matai pengguna jaringan lain dan mengumpulkan informasi pribadi yang
dimilikanya (misalkan password).
5) Dapat digunakan untuk Reverse Engineer pada jaringan.

Paket-paket yang terkenal:


- WireShark
- Tcpdump
- Ethereal
- Ettercap
- dSniff
- EtherPeek
- AiroPeek

10. Teardrop

Teardrop attack adalah suatu serangan bertipe Denial of Service (DoS) terhadap suatu
server/komputer yang terhubung dalam suatu jaringan. Teardrop attack ini memanfaatkan fitur
yang ada di TCP/IP yaitu packet fragmentation atau pemecahan paket, dan kelemahan yang ada
di TCP/IP pada waktu paket-paket yang terfragmentasi tersebut disatukan kembali. Dalam suatu
pengiriman data dari satu komputer ke komputer yang lain melalui jaringan berbasis TCP/IP,
maka data tersebut akan dipecah-pecah menjadi beberapa paket yang lebih kecil di komputer
asal, dan paket-paket tersebut dikirim dan kemudian disatukan kembali di komputer tujuan.
Misalnya ada data sebesar 4000 byte yang ingin dikirim dari komputer A ke komputer B. Maka,
data tersebut akan dipecah menjadi 3 paket demikian:

Di komputer B, ketiga paket tersebut diurutkan dan disatukan sesuai dengan OFFSET yang ada
di TCP header dari masing-masing paket. Terlihat di atas bahwa ketiga paket dapat diurutkan
dan disatukan kembali menjadi data yang berukuran 4000 byte tanpa masalah. Dalam teardrop
attack, penyerang spoofing/pemalsuan/rekayasa terhadap paket-paket yang dikirim ke server
yang hendak diserangnya, sehingga misalnya menjadi demikian :

Terlihat di atas bahwa ada gap dan overlap pada waktu paket-paket tersebut disatukan kembali.
Byte 1501 sampai 1600 tidak ada, dan ada overlap di byte 2501 sampai 3100. Pada waktu server
yang tidak terproteksi menerima paket-paket demikian dan mencoba menyatukannya kembali,
server akan bingung dan akhirnya crash, hang, atau melakukan reboot.

Server bisa diproteksi dari tipe serangan teardrop ini dengan paket filtering melalui firewall yang
sudah dikonfigurasi untuk memantau dan memblokir paket-paket yang berbahaya seperti ini.

Akibat dari serangan Teardrop :

Pada waktu server yang tidak terproteksi menerima paket-paket Seringkali, overlapping ini
menimbulkan system yang crash, hang & reboot di ujung sebelah sana.

Penanggulangan :

Server bisa diproteksi dari tipe serangan teardrop ini dengan paket filtering melalui firewall yang
sudah dikonfigurasi untuk memantau dan memblokir paketpaket yang berbahaya seperti ini.

11. SQL Injection

SQL injection atau biasa yang dikenal dengan sebutan SQLi adalah suatu teknik penyerangan
web dengan menggunakan kode SQL (Structured Query Language) yang berbahaya untuk
memanipulasi database. Tindakan ini termasuk kedalam kategori hacking, dimana penyerang
akan mencari celah keamanan dari suatu website.

Sebagai contoh sederhana, biasanya pengguna diminta untuk memasukkan username dan
password yang hanya dapat berupa karakter angka dan huruf. Sedangkan user memasukkan
karakter lain, seperti petik tunggal (‘), strip (-) atau tanda (=). Karakter-karakter tersebut
merupakan bagian dari perintah umum yang digunakan untuk dapat berinteraksi dengan
database. Keadaan itulah yang dimanfaatkan oleh penyerang untuk dapat mengakses informasi
yang tersimpan didalam database.

Suatu website dibangun dengan menggunakan bahasa pemrograman, seperti HTML, PHP, ASP
dan lainnya. Pada umumnya, beberapa bahasa pemrograman seperti PHP atau Perl akan
melakukan eksekusi perintah setelah menerima inputan dari pengguna tanpa adanya filter
terlebih dahulu. Oleh karena itu, Anda perlu berhati-hati dengan melakukan pemilihan terhadap
jenis database yang akan digunakan. Sebab, ada jenis database yang memberikan hak terhadap
low privilaged users untuk dapat mengakses password user lain yang terdapat didalam database.

Cara Kerja SQL Injection


SQL injection menjadi salah satu tindakan hacking yang digemari oleh para attacker. Salah satu
alasannya adalah masih banyak website yang kurang memerhatikan celah keamanan sistemnya
yang bisa dimanfaatkan oleh pengguna yang tidak bertanggung jawab.

Padahal, jika dibiarkan tindakan SQL injection ini akan memberikan dampak buruk terhadap
website tersebut, seperti menampilkan daftar pengguna yang tidak sah, penghapusan seluruh isi
tabel, mematikan database atau bahkan penyerang memperoleh hak administratif kedalam sistem
database. Lalu, bagaimana cara kerja dari SQL injection?

Cara Kerja SQL Injection

Disini saya akan menjelaskan cara kerja SQL injection secara sederhana. Setiap pengguna dapat
mengakses suatu sistem melalui proses login. Proses login ini digunakan untuk menyaring dan
mengetahui identitas dari pengguna yang mengakses sistem tersebut. Pengguna dapat
mengisikan username dan password pada kolom isian yang biasanya terdapat di halaman
pertama website.

Pada dasarnya, proses login sering diterapkan untuk meningkatkan keamanan (security) dari
sistem tersebut sehingga pengguna yang tidak terdaftar dalam database tidak dapat masuk ke
sistem itu. Akan tetapi, SQL injection ini dapat merusak keamanan yang telah dirancang
sedemikian rupa.

Misalnya, terdapat pengguna yang memiliki username “Hakim” dan password “adaaja”. Jika
pengguna melakukan inputan sesuai data tersebut, maka tidak akan menjadi masalah pada sistem
database karena memang data itu yang tersimpan didalamnya. Kode SQL dapat dilihat berikut
ini.

Select * from User where userName = ‘joko’ AND password = ’adaaja'

Akan tetapi, jika pengguna membuat username menjadi “Hakim #” maka karakter ‘#’ akan
menyebabkan karakter selanjutnya tidak dianggap sebagai kode SQL. Akibatnya, maka
username Hakim dapat tetap input ke sistem tanpa harus mengetahui password tersebut.

Atau cara kerja SQL injection berikutnya adalah dengan mengganti password menjadi kode
SQL, yaitu password = ‘ OR 1=1’. Yang terjadi adalah pengguna “Hakim” tetap berhasil login
ke sistem karena inputan password tersebut merupakan kodel SQL yang menandakan bahwa
proses login berhasil.

Cara Mencegah SQL Injection

Seperti yang telah dijelaskan diatas bahwa tindakan SQL injection ini merupakan tindakan
berbahaya bagi keamanan sistem database yang sudah dibangun. Oleh karena itu, perlu adanya
tindakan pencegahan (prevent) yang harus dilakukan. Ada beberapa cara yang bisa Anda lakukan
mencegah terjadinya SQL injection, berikut penjelasannya.

1. Menggunakan Parameterized Query

Menggunakan parameterized query atau prepared statement merupakan cara yang lebih
sederhana dan mudah dilakukan. Parameterized akan mendefinisikan seluruh kode SQL sebelum
mengirimkannya ke lapisan query.

Database akan mampu mengenali mana input yang dimasukkan oleh pengguna, apakah termasuk
kategori kode SQL atau data pengguna. Dengan begitu, para attacker tidak bisa mengubah isi
query, walaupun telah memasukkan kode SQL saat melakukan input.

2. Melakukan Validasi Input Pengguna

Selanjutnya, Anda dapat melakukan validasi input pengguna untuk mencegah terjadinya SQL
injection. Yaitu Anda filter semua input yang dilakukan pengguna, seperti jenis, panjang, format
dan sebagainya. Dengan begitu, hanya inputan yang lulus vaidasi yang diproses oleh database.

3. Memberikan Batasan Hak Akses

Memberikan batasan hak akses untuk membatasi kerusakan yang terjadi akibat SQL injection.
Jangan sesekali Anda login ke database menggunakan akses admin sebagai root. Namun, Anda
dapat menggunakan akses istimewa yang telah ditentukan untuk membatasi ruang lingkup
sistem.

4. Menyembunyikan Pesan Error

Biasanya, terdapat pesan error yang muncul dari database ketika pegguna melakukan inputan
yang salah. Untuk menghindari terjadinya SQL injection ini, Anda diminta untuk
menyembunyikan atau bahkan mematikan pesan error agar pengguna tidak terus mempelaari
arsitektur database yang digunakan.

Sebab, bisa saja pengguna tersebut merupakan penyerang sistem Anda. Jika ingin menampilkan
pesan, maka tampilkan pesan yang menyatakan bahwa sebaiknya pengguna menghubungi
dukungan teknis untuk mengatasi masalah tersebut.

5. Memberikan Enkripsi Database

Anda dapat menyimpan data yang bersifat credential secara terpisah untuk menyulitkan
penyerang dalam melakukan SQL injection, bahkan Anda dapat memberikan enkripsi untuk
lebih mengamankan data tersebut.

6. Mengunci Database

Sebaiknya, SQL query tidak dapat diakses melalui halaman pengguna (website). Anda dapat
memberikan batasan bahwa tidak semua pengguna dapat melakukan akses ke suatu tabel
tertentu, yaitu dengan mengunci tabel yang sangat vital.

Anda mungkin juga menyukai