Sabtu lalu, 18 Mei, Kenna Security Jerry Gamblin
memeriksa 1000 gambar paling populer dari Docker Hub untuk kata sandi root yang digunakan di dalamnya. Dalam 19% kasus, ia absen.

Latar belakang dengan Alpine
Alasan untuk penelitian kecil ini adalah Talos Vulnerability Report (
TALOS-2019-0782 ), yang muncul awal bulan ini, yang penulisnya - berkat
temuan Peter Adkins dari Cisco Umbrella - melaporkan bahwa gambar Docker dengan kit distribusi populer untuk wadah Alpine tidak memiliki kata sandi untuk root:
βVersi resmi gambar Alpine Linux Docker (dimulai dengan v3.3) berisi kata sandi NULL untuk pengguna root. Kerentanan ini muncul sebagai hasil dari regresi yang diperkenalkan pada Desember 2015. Esensinya adalah bahwa sistem yang digunakan dengan versi Alpine Linux yang bermasalah dalam sebuah wadah dan menggunakan Linux PAM atau mekanisme lain yang menggunakan file sistem bayangan sebagai database otentikasi dapat menerima kata sandi NULL untuk pengguna root. "
Versi Alpine dari gambar Docker diuji untuk masalah yang disebut 3,3-3,9 inklusif, serta rilis tepi terbaru.
Penulis membuat rekomendasi berikut untuk pengguna yang terkena masalah:
βAkun root harus secara eksplisit dinonaktifkan di gambar Docker yang dibangun berdasarkan versi Alpine yang bermasalah. Kemungkinan eksploitasi kerentanan tergantung pada lingkungan, karena keberhasilannya memerlukan layanan atau aplikasi yang telah diteruskan ke luar, menggunakan Linux PAM atau mekanisme serupa lainnya. "
Masalahnya
diperbaiki pada versi Alpine 3.6.5, 3.7.3, 3.8.4, 3.9.2 dan edge (20190228 snapshot), dan pemilik gambar yang terpengaruh diminta untuk mengomentari baris dengan root di
/etc/shadow
atau memastikan bahwa tidak ada paket
linux-pam
Dilanjutkan dengan Docker Hub
Jerry Gamblin memutuskan untuk bertanya, "seberapa luas itu ternyata menjadi praktik menggunakan kata sandi nol dalam wadah." Untuk melakukan ini, ia menulis
naskah Bash kecil, intinya sangat sederhana:
- melalui permintaan curl ke API di Docker Hub, daftar gambar Docker yang dihosting di sana diminta;
- melalui jq diurutkan berdasarkan bidang
popularity
, dan ribuan sisa pertama hasil yang diperoleh; docker pull
dilakukan untuk masing-masing;- untuk setiap gambar yang diterima dari Docker Hub,
docker run
dilakukan dengan membaca baris pertama dari file /etc/shadow
; - jika nilai string ternyata menjadi
root:::0:::::
, nama gambar disimpan dalam file terpisah.
Apa yang terjadi
File ini berisi 194 baris dengan nama gambar Docker populer dengan sistem Linux, pengguna root yang tidak memiliki kata sandi:
βDi antara nama-nama paling terkenal dalam daftar ini adalah govuk / governmentpaas, hashicorp, microsoft, monsanto, dan mesosphere. Dan kylemanna / openvpn adalah wadah paling populer dari daftar, statistiknya berjumlah lebih dari 10 juta tarikan. "
Namun, perlu diingat bahwa fenomena ini sendiri tidak berarti kerentanan langsung dalam keamanan sistem yang menggunakannya: semuanya tergantung pada bagaimana mereka digunakan
(lihat komentar dari kasus Alpine di atas) . Namun, kita telah melihat "moralitas dongeng ini" berkali-kali: kesederhanaan yang nampak sering kali memiliki sisi buruk, yang harus selalu diingat dan konsekuensi yang harus diperhitungkan dalam skenario teknologi.
PS
Baca juga di blog kami: