19% dari gambar Docker paling populer tidak memiliki kata sandi root

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:

Source: https://habr.com/ru/post/id452754/


All Articles