• November 23, 2024
Apa itu Log4j?  Seorang pakar keamanan siber menjelaskan kerentanan Internet terkini

Apa itu Log4j? Seorang pakar keamanan siber menjelaskan kerentanan Internet terkini

Log4Shell, kerentanan Internet yang mempengaruhi jutaan komputer, melibatkan perangkat lunak yang tidak jelas namun hampir ada di mana-mana, Log4j. Perangkat lunak ini digunakan untuk mencatat semua jenis aktivitas yang terjadi di berbagai sistem komputer.

Jen Easterly, direktur Badan Keamanan Siber & Infrastruktur AS, menyebut Log4Shell sebagai kerentanan paling serius yang pernah dilihatnya dalam kariernya. Sudah ada ratusan ribu, mungkin jutaan, upaya untuk mengeksploitasi kerentanan ini.

Jadi apa infrastruktur internet sederhana ini, bagaimana peretas bisa mengeksploitasinya dan kekacauan apa yang bisa terjadi?

Log4j mencatat peristiwa – kesalahan dan operasi sistem rutin – dan mengkomunikasikan pesan diagnostik tentang hal tersebut kepada administrator sistem dan pengguna. Ini adalah perangkat lunak sumber terbuka yang disediakan oleh Apache Software Foundation.

Contoh umum Log4j di tempat kerja adalah ketika Anda mengetik atau mengklik tautan web yang buruk dan mendapatkan pesan kesalahan 404. Server web yang menghosting domain tautan web yang Anda coba jangkau memberi tahu Anda bahwa tidak ada halaman web seperti itu. Itu juga mencatat peristiwa itu dalam log untuk administrator sistem server menggunakan Log4j.

Pesan diagnostik serupa digunakan di seluruh aplikasi perangkat lunak. Misalnya saja pada game online MinecraftLog4j digunakan oleh server untuk mencatat aktivitas seperti total memori yang digunakan dan perintah pengguna yang diketik ke konsol.

Log4Shell bekerja dengan memanfaatkan fitur di Log4j yang memungkinkan pengguna menentukan kode khusus untuk memformat pesan log. Fitur ini memungkinkan Log4j untuk mencatat, misalnya, tidak hanya nama pengguna yang terkait dengan setiap upaya masuk ke server, tetapi juga nama asli orang tersebut, jika server terpisah berisi direktori yang berisi nama pengguna dan nama izin yang terhubung. Untuk melakukan ini, server Log4j harus berkomunikasi dengan server yang menyimpan nama yang benar.

Sayangnya, kode semacam ini dapat digunakan lebih dari sekedar memformat pesan log. Log4j memungkinkan server pihak ketiga mengirimkan kode perangkat lunak yang dapat melakukan segala macam tindakan pada komputer target. Hal ini membuka pintu bagi aktivitas jahat seperti mencuri informasi sensitif, mengambil kendali sistem yang ditargetkan, dan menyelipkan konten berbahaya ke pengguna lain yang berkomunikasi dengan server yang terpengaruh.

Memanfaatkan Log4Shell relatif sederhana. Saya dapat mereproduksi masalah tersebut dalam hitungan menit dalam salinan Ghidra saya, sebuah kerangka rekayasa balik untuk peneliti keamanan. Batasan penggunaan eksploitasi ini sangat rendah, yang berarti lebih banyak orang dengan niat jahat dapat menggunakannya.

Salah satu kekhawatiran utama tentang Log4Shell adalah posisi Log4j dalam ekosistem perangkat lunak. Logging adalah fitur mendasar dari sebagian besar perangkat lunak, yang membuat Log4j tersebar luas. Selain permainan populer seperti Minecraft, ini digunakan di layanan cloud seperti Apple iCloud dan Amazon Web Services, serta berbagai aplikasi mulai dari alat pengembangan perangkat lunak hingga alat keamanan.

Ini berarti peretas memiliki beragam target yang dapat dipilih: pengguna rumahan, penyedia layanan, pengembang kode sumber, dan bahkan peneliti keamanan. Jadi, meskipun perusahaan besar seperti Amazon dapat dengan cepat memperbaiki layanan web mereka untuk mencegah peretas mengeksploitasinya, masih banyak lagi organisasi yang membutuhkan waktu lebih lama untuk memperbaiki sistem mereka, dan beberapa bahkan mungkin tidak menyadari bahwa mereka perlu melakukan hal tersebut.

Peretas memindai Internet untuk menemukan server yang rentan dan menyiapkan mesin yang dapat mengirimkan muatan berbahaya. Untuk melakukan serangan, mereka menanyakan layanan (misalnya, server web) dan mencoba memicu pesan log (misalnya, kesalahan 404). Kueri berisi teks perusak yang berbahaya, yang diproses Log4j sebagai instruksi.

Instruksi ini dapat membuat shell terbalik, yang memungkinkan server penyerang mengontrol server target dari jarak jauh, atau mereka dapat menjadikan server target sebagai bagian dari botnet. Botnet menggunakan beberapa komputer yang dibajak untuk melakukan tindakan terkoordinasi atas nama para peretas.

Sejumlah besar peretas sudah mencoba mengeksploitasi Log4Shell. Mulai dari geng ransomware yang mengunci server minecraft hingga kelompok dunia maya yang mencoba menambang bitcoin dan peretas yang terkait dengan Tiongkok dan Korea Utara mencoba mengakses informasi sensitif dari saingan geopolitik mereka. Kementerian Pertahanan Belgia telah melaporkan bahwa komputernya diserang dengan Log4Shell.

Meskipun kerentanan pertama kali mendapat perhatian luas pada 10 Desember 2021, masyarakat terus mengidentifikasi cara-cara baru untuk menyebabkan kerusakan melalui mekanisme ini.

Sulit untuk mengetahui apakah Log4j digunakan dalam sistem perangkat lunak tertentu karena sering kali digabungkan sebagai bagian dari perangkat lunak lain. Hal ini mengharuskan administrator sistem untuk menginventarisasi perangkat lunak mereka untuk mengidentifikasi keberadaannya. Jika beberapa orang bahkan tidak menyadari bahwa mereka mempunyai masalah, maka akan lebih sulit untuk memberantas kerentanan tersebut.

Konsekuensi lain dari beragamnya penggunaan Log4j adalah tidak ada solusi universal untuk memulihkannya. Bergantung pada bagaimana Log4j dimasukkan ke dalam sistem tertentu, solusinya akan memerlukan pendekatan yang berbeda. Hal ini mungkin memerlukan pembaruan sistem secara menyeluruh, seperti yang dilakukan pada beberapa router Cisco, atau pembaruan perangkat lunak ke versi baru, seperti yang dilakukan pada router Cisco. Minecraftatau menghapus kode rentan secara manual bagi mereka yang tidak dapat memperbarui perangkat lunak.

Log4Shell adalah bagian dari rantai pasokan perangkat lunak. Seperti objek fisik yang dibeli orang, perangkat lunak berpindah melalui organisasi dan paket perangkat lunak yang berbeda sebelum berakhir di produk akhir. Ketika terjadi kesalahan, alih-alih melalui proses penarikan kembali, perangkat lunak umumnya “ditambal”, yang berarti perangkat lunak tersebut sudah ada di tempatnya.

Namun, karena Log4j muncul dalam berbagai cara dalam produk perangkat lunak, distribusi solusi memerlukan koordinasi pengembang Log4j, pengembang perangkat lunak yang menggunakan Log4j, distributor perangkat lunak, operator sistem, dan pengguna. Biasanya hal ini menimbulkan penundaan antara perbaikan yang tersedia dalam kode Log4j dan komputer orang menutup pintu terhadap kerentanan.

Beberapa perkiraan waktu pemulihan perangkat lunak biasanya berkisar dari minggu hingga bulan. Namun, jika perilaku di masa lalu merupakan indikasi kinerja di masa depan, kerentanan Log4j kemungkinan akan muncul di tahun-tahun mendatang.

Sebagai pengguna, Anda mungkin bertanya-tanya apa yang dapat Anda lakukan mengenai hal ini. Sayangnya, sulit untuk mengetahui apakah produk perangkat lunak yang Anda gunakan menyertakan Log4j atau menggunakan versi perangkat lunak yang rentan. Namun, Anda dapat membantu dengan memperhatikan pernyataan umum para pakar keamanan komputer: Pastikan semua perangkat lunak Anda mutakhir. – Rappler.com

Artikel ini awalnya muncul di Percakapan.

Santiago Torres-AriasAsisten Profesor Teknik Elektro dan Komputer, Universitas Purdue

Keluaran Sidney