Pengantar
- Insinyur keamanan Flatt Security Inc., RyotaK, menemukan kerentanan keamanan dalam proses upgrade firmware OpenWrt.
- OpenWrt adalah firmware berbasis Linux untuk perangkat embedded, dan sangat populer terutama untuk router.
sysupgrade.openwrt.org
sysupgrade.openwrt.org adalah layanan online yang memungkinkan pengguna memilih paket yang diinginkan untuk membuat image firmware baru.
- Masalah keamanan dapat muncul dalam proses membangun image dari kode sumber yang disediakan pengguna.
Injeksi perintah
- Server
sysupgrade.openwrt.org adalah proyek open source, dan kode sumbernya di-host di openwrt/asu.
- Server menggunakan container untuk mengisolasi lingkungan build, tetapi ditemukan kerentanan yang memungkinkan eksekusi perintah arbitrer melalui input pengguna.
Tabrakan SHA-256
- Dalam proses pembuatan hash permintaan, hash SHA-256 digunakan setelah dipotong menjadi 12 karakter.
- Melalui tabrakan hash, server dapat ditipu agar mengembalikan artefak build yang salah.
Brute force SHA-256
- Sebuah program diimplementasikan untuk melakukan brute force hash di GPU menggunakan OpenCL, tetapi performanya kurang baik.
- Dengan menggunakan Hashcat, tabrakan 12 karakter berhasil ditemukan.
Menggabungkan dua serangan
- Serangan dilakukan dengan menemukan payload injeksi perintah yang memiliki hash sama dengan daftar paket yang sah.
- Penyerang dapat memaksa pengguna untuk melakukan upgrade ke firmware berbahaya.
Pelaporan masalah
- Setelah masalah dilaporkan ke tim OpenWrt, layanan sempat dihentikan sementara dan segera diperbaiki.
- Pengumuman diterbitkan agar pengguna memeriksa apakah perangkat mereka terdampak.
Kesimpulan
- Layanan
sysupgrade.openwrt.org dapat dikompromikan melalui injeksi perintah dan tabrakan SHA-256.
- Penulis berterima kasih atas respons cepat tim OpenWrt dan pemberitahuan cepat kepada pengguna.
Iklan
- Flatt Security menyediakan layanan penilaian keamanan dan penetration testing, serta menawarkan diskon khusus untuk merayakan pembaruan halaman web baru.
- Mereka juga menyediakan alat penilaian keamanan yang kuat bernama Shisho Cloud.
1 komentar
Opini Hacker News
Normalisasi eksekusi kode yang ditargetkan untuk pengguna atau perangkat tertentu tidak memiliki kemampuan verifikasi, dan memiliki kelemahan karena tidak ada cara memastikan bahwa build yang dibuat tidak menyertakan backdoor
xz-utils, atau build yang memungkinkan peneliti keamanan memverifikasi apakah telah terjadi kompromi rantai pasokPenggunaan
".join"bisa berbahayaOpen source tidak bisa disaingi oleh closed source kelas bisnis
Istilah "rantai pasok" tidak muncul dalam posting blog tersebut
Alat open source telah disesuaikan untuk tujuan yang bukan tujuan aslinya
Ada rasa penasaran bagaimana ide memotong hash bisa muncul
Terkejut bahwa dibutuhkan banyak daya GPU untuk mencari collision pendek
Langsung menyadari bahwa panjang hash dipotong menjadi 12 karakter dari 64 karakter
Ada pertanyaan mengapa performa hashcat sangat berbeda tergantung urutan argumen
Tulisan yang sangat bagus tentang pembacaan kode yang cerdas dan pengembangan exploit