3 poin oleh GN⁺ 2024-04-02 | 1 komentar | Bagikan ke WhatsApp

Insiden backdoor xz Utils: yang kita ketahui tentang peristiwa yang hampir menginfeksi seluruh dunia

  • xz Utils adalah utilitas kompresi data yang terpasang di hampir semua sistem operasi keluarga Unix, termasuk Linux.
  • Terjadi insiden ketika pembaruan berbahaya hampir disisipkan ke perangkat lunak ini untuk menanamkan backdoor.
  • Seorang pengembang Microsoft menemukan dan mengungkap backdoor ini, sehingga krisis yang nyaris masuk ke distribusi Linux utama seperti Debian dan Red Hat dapat dicegah.

Bagaimana backdoor ini bekerja?

  • Kode berbahaya yang ditambahkan pada versi 5.6.0 dan 5.6.1 memanipulasi sshd, yaitu berkas eksekusi untuk koneksi SSH.
  • Seseorang yang memiliki kunci kriptografi tertentu dapat menyembunyikan kode di dalam sertifikat autentikasi login SSH, lalu menjalankannya pada perangkat yang telah dipasangi backdoor.
  • Tidak diketahui kode apa yang benar-benar diunggah, tetapi secara teori berbagai tindakan seperti pencurian kunci kripto atau pemasangan malware dimungkinkan.

Jalur penanaman backdoor

  • Backdoor ini tampaknya disiapkan selama beberapa tahun.
  • Pada 2021, seorang pengguna bernama JiaT75 pertama kali berkontribusi ke proyek open source.
  • Pada Januari 2023, JiaT75 memberikan kontribusi pertamanya ke xz Utils, lalu secara bertahap mengambil peran yang lebih besar dengan nama Jia Tan.
  • Tan mengganti informasi kontak Collins di proyek oss-fuzz dengan miliknya sendiri, dan meminta agar fitur ifunc dinonaktifkan selama pengujian.
  • Perubahan-perubahan ini menghambat pendeteksian saat Tan melakukan perubahan berbahaya pada xz Utils.

Distribusi yang terdampak

  • Fedora Rawhide, Fedora 41, Debian testing/unstable/experimental, openSUSE Tumbleweed dan MicroOS, serta Kali Linux termasuk yang memuat versi xz yang telah disusupi backdoor.

Opini GN⁺

  • Insiden ini mengungkap kerentanan keamanan dalam ekosistem open source dan menjadi momentum untuk meningkatkan kewaspadaan komunitas pengembang.
  • Karena perangkat lunak yang disusupi backdoor ini digunakan secara luas, insiden ini mengingatkan pengguna dan administrator Linux akan pentingnya pembaruan cepat dan pemeriksaan keamanan.
  • Kasus serupa pernah terjadi pada peretasan SolarWinds, yang juga menunjukkan risiko serangan rantai pasok.
  • Perlu ada verifikasi identitas pengembang yang berkontribusi pada proyek open source serta penguatan proses code review.
  • Insiden ini diperkirakan akan semakin menegaskan pentingnya audit keamanan dan alat pendeteksi kerentanan.

1 komentar

 
GN⁺ 2024-04-02
Opini Hacker News
  • OpenSSH adalah implementasi sshd yang paling populer, dan tidak terhubung ke pustaka liblzma, tetapi Debian dan banyak distribusi Linux lain menambahkan patch yang menghubungkan sshd ke systemd. Karena systemd terhubung ke liblzma, xz Utils dapat memengaruhi sshd.

  • Xz adalah program dan pustaka kompresi sumber terbuka yang membantu menulis program sendiri untuk menangani data terkompresi. Digunakan di banyak program lain, termasuk OpenSSH.

  • binutils milik GNU juga terhubung ke liblzma, dan digunakan lebih luas daripada OpenSSH. Dalam kebanyakan kasus, binutils dipakai untuk mengompilasi OpenSSH, sistem operasi tempat sshd berjalan, dan sebagainya. Ini menunjukkan bahwa pelaku berbahaya memilih proyek yang tepat untuk menyusup jauh ke dalam perangkat lunak sumber terbuka.

  • Tujuannya adalah menggunakan kerangka pengujian terstandarisasi yang akan membantu menulis lebih banyak pengujian untuk mendukung stabilitas proyek XZ dalam jangka panjang. Banyak fungsi masih belum diuji, sehingga pengujian semacam ini akan berguna.

  • Tidak banyak pembahasan tentang mekanisme linking yang dapat terhubung ke fungsi RSA_public_decrypt. Ada banyak pembahasan tentang hal-hal yang bisa dicapai melalui pemisahan proses dan sebagainya, tetapi sedikit tentang pengalihan pemanggilan fungsi tersebut. Muncul pertanyaan apakah mungkin menetapkan cara untuk menghubungkan komponen penting dengan model lapisan kepercayaan.

  • Disebut bahwa ini "hampir" menginfeksi dunia, tetapi kenyataannya distribusi Linux populer seperti Arch, Gentoo, dan openSUSE Tumbleweed telah mendistribusikan backdoor ini selama beberapa minggu, dan di Tumbleweed dipastikan benar-benar berfungsi. Ungkapan "hampir" tidak tepat.

  • Prediksi bahwa kasus serupa akan ditemukan dalam 12 bulan ke depan. Ini akan dimulai ketika para maintainer mulai mencurigai commit lama satu sama lain.

  • Pelajaran pribadi yang didapat dari insiden ini:

    • Tarball distribusi sumber yang berisi kode berbeda dari repositori sumber itu buruk. Praktik ini harus ditinggalkan.
    • Artefak yang dibuat secara otomatis harus selalu di-commit.
    • Artefak hasil generasi otomatis yang biasanya dilewati begitu saja saat code review bisa menjadi masalah. Jika jenis file seperti ini ada di repositori, harus ada pengujian otomatis untuk memastikan tidak ada yang memanipulasinya.
    • autotools dan budaya autotools itu buruk.
    • libsystemd menimbulkan masalah di ekosistem. Orang yang mengkritik systemd sering diabaikan, tetapi systemd besar, kompleks, dan memiliki banyak dependensi, sementara sebagian besar program hanya memakai sebagian kecil darinya.
    • Budaya yang menganggap reuse kode selalu baik, dan bahwa bergantung pada pustaka besar untuk fungsi kecil adalah hal yang baik, itu keliru. Dependensi membawa beban pemeliharaan dan risiko keamanan, jadi perlu diseimbangkan dengan fungsionalitas.
    • Maintainer distribusi yang menerapkan patch besar pada paket dapat menjadi masalah. Ini menciptakan fork de facto yang digunakan luas tetapi sebenarnya tidak dikelola oleh siapa pun.
    • Pengembang perlu dimungkinkan secara finansial untuk mengerjakan OSS. liblzma dan xz-utils terpasang di puluhan juta instalasi, tetapi hanya memiliki satu maintainer dengan masalah kesehatan mental.
    • Code review dan pergantian maintainer kini harus mempertimbangkan faktor geopolitik.
  • Ucapan terima kasih bahwa orang yang menemukan masalah ini adalah insinyur Microsoft yang bekerja di Azure Postgres. Sekarang jadi menyukai Azure.

  • Maintainer asli xz mungkin memang menyerahkan tanggung jawab kepada Jia Tan, tetapi mungkin belum pernah benar-benar bertemu atau melakukan panggilan telepon dengannya. Muncul pertanyaan apakah komunikasi hanya lewat email/GitHub itu umum. Diperkirakan para maintainer proyek sumber terbuka akan lebih berhati-hati setelah kisah ini.

  • Meski orang menganggap backdoor ini ditemukan lebih awal, mungkin saja ia sudah mencapai tujuannya. Terutama jika targetnya adalah pengembang yang menggunakan distribusi rolling release seperti Kali dan Debian.

  • Ini menunjukkan bahwa tuduhan bahwa maintainer lama xz Utils, Lasse Collin, tidak cukup sering atau cukup cepat memperbarui perangkat lunaknya adalah sebuah kesalahan.