Cyberattack

G. Prasetyadi
31 views

academics

(Tulisan M6 untuk bahan ajar dan diskusi mata kuliah Jejaring Sosial dan Konten Kreatif di Universitas Gunadarma)

Serangan siber adalah upaya oleh individu atau organisasi untuk mengakses, memasuki, dan/atau menguasai sistem informasi individu atau organisasi lain secara paksa atau sembunyi-sembunyi. Biasanya, penyerang bermaksud mencari keuntungan dari tindakan ini.

Serangan Siber yang Umum

  1. Malware
  2. Phishing
  3. Man-in-the-Middle
  4. Denial-of-service
  5. SQL Injection
  6. Zero-day exploit

1. Malware

Malware meliputi virus, worms, trojan horse, spyware, dan ransomware.

Virus komputer adalah program komputer yang, ketika dijalankan, mereplikasi dirinya sendiri dengan memodifikasi program komputer lain dan memasukkan kodenya sendiri. Jika replikasi ini berhasil, berkas/direktori/partisi/drive yang terkena kemudian dikatakan "terinfeksi" dengan virus komputer.

Virus komputer umumnya memerlukan program host (inang). Virus menyisipkan kodenya sendiri ke dalam program host. Ketika program berjalan, program virus juga ikut tereksekusi, menimbulkan kerusakan atau hal-hal lain yang tak diharapkan.

Worm tidak memerlukan program host; ia dapat berjalan secara mandiri dan aktif melakukan serangan.

Ada banyak cara bagi pembuat virus untuk menyebarkan virus buatannya, misalnya menggunakan rekayasa sosial dan memanfaatkan pengetahuan terperinci tentang kerentanan keamanan sebuah sistem. Sebagian besar virus menargetkan sistem yang menjalankan sistem operasi Microsoft Windows yang merupakan OS paling populer. Virus menggunakan berbagai mekanisme untuk menginfeksi host baru dan seringkali menggunakan strategi anti-deteksi untuk menghindari perangkat lunak antivirus. Dalam hal ini pembuat antivirus senantiasa berlomba dengan para pembuat virus untuk menangkal ancaman virus bagi pengguna produk av mereka.

Motif untuk membuat virus misalnya mencari keuntungan (virus yang juga menginstal ransomware), keinginan untuk mengirim pesan politik, pembuktian diri, untuk menunjukkan bahwa ada kerentanan dalam perangkat lunak, atau untuk sabotase dan perusakan layanan berbasis komputer dan jaringan.

Berbeda dengan virus, trojan horse tidak berusaha menguasai berkas lain dan tidak menyebar.

Ransomware adalah sejenis malware yang menggunakan teknik kriptografi untuk memblokir akses ke komputer atau jaringan komputer korban. Sesuai namanya, pembuat ransomware hanya mau mendekripsi komputer milik pihak yang diserang hanya jika mereka telah menerima tebusan, biasanya dalam bentuk cryptocurrency (meskipun tidak ada jaminan mereka melakukan ini). Jika tidak kunjung ditangani, ransomware biasanya akan menghapus semua data yang ia enkripsi.

Banyak perusahaan keamanan data yang menyediakan kunci dekripsi gratis untuk rw tertentu, meskipun para pembuat rw tinggal mengganti kuncinya di versi terbaru dari rw mereka. Maka langkah pencegahan yang tepat salah satunya adalah dengan berhati-hati mengkases dan menjalankan berkas tertentu.

Salah satu ransomware yang terkenal adalah WannaCry, yang merupakan worm (menyebar tanpa menginfeksi file dan tanpa interaksi pengguna, lalu mengenkripsi sistem korbannya).

2. Phishing

Phishing adalah jenis rekayasa sosial di mana penyerang mengirim pesan penipuan yang dirancang untuk mengelabui korban agar mengungkapkan informasi sensitif kepada penyerang, atau untuk menyebarkan perangkat lunak berbahaya pada infrastruktur korban (misalnya ransomware).

Dalam konteks keamanan informasi, rekayasa sosial adalah manipulasi psikologis terhadap individu untuk melakukan tindakan tertentu atau membocorkan informasi rahasia.

Informasi sensitif yang dimaksud antara lain: email dan password, nomor telepon, nomor kartu kredit, nama ibu kandung, tempat/tanggal lahir, dsb..

Ada banyak media untuk melakukan phishing, misalnya email, SMS, atau membuat website palsu yang mirip aslinya (contohnya website perbankan)

Percobaan phishing pasti sudah pernah atau sering kalian alami, contohnya SMS dari pihak tertentu yang mengabarkan kalian menang undian atau semacamnya.

email phishing

Contoh isi email yang merupakan phishing (Wikipedia)

3. Man-in-the-middle attack

Dalam kriptografi dan keamanan komputer, man-in-the-middle attack adalah serangan siber di mana penyerang secara diam-diam menyampaikan dan mungkin mengubah komunikasi antara dua pihak yang sedang berkomunikasi. Penyerang harus dapat mencegat semua pesan relevan yang lewat di antara kedua korban dan menyuntikkan pesan baru. Jaringan terbuka, misalnya jaringan Wi-Fi yang tidak terenkripsi, rentan terhadap man-in-the-middle attack.

Agar MITM berhasil, ia harus menghindari otentikasi timbal balik; penyerang harus meniru setiap komponen/bagian dalam komunikasi, dari awal hingga akhir (end-to-end). Kebanyakan protokol kriptografi memiliki bentuk otentikasi titik akhir khusus untuk mencegah serangan MITM. Misalnya, TLS dapat mengautentikasi satu atau kedua pihak menggunakan otoritas sertifikat (CA) yang tepercaya.

Untuk menghindari serangan MITM, salah satunya jangan gunakan jaringan Wi-Fi tak terenkripsi. Selalu pastikan koneksi ke sebuah layanan daring sudah menggunakan HTTPS/TLS dan sertifikat kunci publiknya valid.

4. Denial-of-service attack

Dalam komputasi, serangan penolakan layanan (DoS Attack) adalah serangan dunia maya dimana penyerang berusaha membuat mesin atau sumber daya jaringan tidak tersedia untuk pengguna layanan daring. Denial of service biasanya dilakukan dengan membanjiri mesin atau sumber daya yang menjadi target dengan permintaan (request) yang berlebihan dalam upaya untuk membebani sistem serta mencegah permintaan yang valid ditangani sistem dengan baik.

Dalam serangan penolakan layanan terdistribusi (DDoS attack), lalu lintas masuk yang membanjiri sistem target berasal dari berbagai sumber. Ini membuat sulit / tidak mungkin untuk menghentikan serangan hanya dengan memblokir satu sumber.

Pelaku serangan DoS sering menargetkan situs atau layanan yang dilayankan di server web penting (high profile) seperti bank atau gateway pembayaran kartu kredit. Motifnya bisa balas dendam, pemerasan, dan politik.

Pihak yang bertanggung jawab mencegah DDoS antara lain network engineer dan dev-ops, salah satunya dengan cara memasang load balancer / rate limiter yang mumpuni, atau membangun content delivery network.

Sisipan kode di bawah adalah konfigurasi NGINX untuk melindungi situs web dengan menerapkan batas 5 request (permintaan) per detik (r/s) per alamat IP. Kelebihan hingga 12 request masih diizinkan, request setelahnya akan ditolak.

(Situs web biasanya memiliki 4–6 sumber daya per laman (terdiri atas dokumen html, gambar, css, js, dsb..).)

limit_req_zone $binary_remote_addr zone=ip:10m rate=5r/s;

server {
    listen 80;
    location / {
        limit_req zone=ip burst=12 nodelay;
        proxy_pass http://website;
    }
}

5. SQL injection

Injeksi SQL adalah teknik injeksi kode yang digunakan untuk menyerang aplikasi yang menggunakan sistem basis data, di mana pernyataan (statement) SQL berbahaya (misalnya, mengekspos konten database) dimasukkan ke dalam sistem untuk dieksekusi, misalnya via text input pada sebuah HTML form. Injeksi SQL dapat dilakukan, misalnya ketika input pengguna tidak di-filter atau tidak dilakukan character-escaping, lalu disematkan dalam pernyataan SQL kemudian dieksekusi.

Serangan injeksi SQL memungkinkan penyerang untuk memanipulasi data secara diam-diam (memalsukan identitas pengguna, merusak data yang ada, menyebabkan inkonsistensi seperti membatalkan transaksi atau mengubah saldo) dan menjadi administrator sistem basis data di SI tersebut.

Untuk mencegah injeksi SQL, kita harus berhati-hati dalam menciptakan program yang menerima input pengguna (misal form login, form komentar, atau form pencarian). Berbagai web framework populer sudah menyediakan modul internal dan ORM (object relational mapper) yang dirancang menetralkan input dan mencegah injeksi; gunakan modul-modul itu dalam program kalian.

Contoh di bawah adalah kode program PHP untuk menangani karakter-karakter tertentu yang memiliki makna dalam SQL (character-escaping):

$mysqli = new mysqli('hostname', 'db_username', 'db_password', 'db_name');
$query = sprintf("SELECT * FROM `Users` WHERE UserName='%s' AND Password='%s'",
                  $mysqli->real_escape_string($username),
                  $mysqli->real_escape_string($password));
$mysqli->query($query);

Contoh query steril yang menggunakan API abstraksi di framework Django (berbasis Python):

Blog.objects.filter(entry__headline__contains='Lennon', entry__pub_date__year=2008)

6. Zero-day exploit

Zero-day (0-day) adalah kerentanan perangkat lunak komputer yang tidak diketahui oleh mereka yang bertanggungjawab mencegahnya, atau diketahui namun tambalan/pembaruan (patch) belum dikembangkan. Sampai hal ini diatasi, peretas berpotensi dapat mengeksploitasinya untuk mempengaruhi program, data, komputer, atau jaringan. Eksploitasi yang diarahkan pada zero-day disebut eksploitasi zero-day, atau serangan zero-day.

Istilah "zero-day" awalnya mengacu pada jumlah hari sejak sebuah perangkat lunak baru dirilis ke publik. Semakin lama vendor/developer menemukan dan menyadari kerentanan sistem, semakin besar kemungkinan telah terjadi eksploitasi sistem. Ancaman zero-day senantiasa ada dalam pengembangan perangkat lunak. Pengujian ekstensif sebelum rilis dapat meminimalkan ancaman.

Contoh program yang pernah mengalami zero day exploit: Zoom (2020) dan Chrome (2021). Pada tahun 2021, Google Chrome mengalami serangkaian ancaman zero-day, menyebabkan Chrome mengeluarkan pembaruan. Kerentanan berasal dari bug di engine JavaScript V8 yang digunakan di peramban tersebut.

Komentar