Security Week 40: Kerentanan dalam CMS Drupal dan Lainnya

Pekan lalu, pengembang Drupal CMS menutup ( berita , lebih detail di situs web mereka ) dua kerentanan kritis sekaligus. Kedua masalah mempengaruhi versi Drupal 7.x dan 8.x. Kerentanan paling serius ditemukan di sistem pengiriman email bawaan (DefaultMailSystem :: mail ()). Anda dapat menggunakannya sedemikian rupa sehingga saat memproses pesan, menjadi mungkin untuk mengeksekusi kode arbitrer. Alasan untuk ini, seperti biasa, adalah kurangnya verifikasi yang tepat dari sejumlah variabel.

Kerentanan kedua ditemukan dalam modul Link Kontekstual - memungkinkan Anda untuk memodifikasi elemen halaman web tanpa pergi ke panel kontrol. Kurangnya verifikasi parameter yang diteruskan selama pelaksanaan permintaan seperti itu juga dapat menyebabkan eksekusi kode. Benar, tidak seperti kerentanan pertama, ini dieksploitasi hanya jika penyerang sudah memiliki hak untuk mengedit situs.

Berita seperti itu biasanya tidak masuk dalam intisari: baik, ditemukan, ditutup dengan baik, dilakukan dengan baik! Tapi setidaknya setahun sekali, ada baiknya melihat sistem manajemen konten yang paling populer dan memahami di masa depan bagaimana hal-hal berjalan dengan keamanan. Apakah ada fragmentasi versi CMS, mirip, misalnya, dengan fragmentasi platform Android? Apakah semuanya begitu buruk dengan keamanan, seperti, misalnya, dalam industri perangkat IoT yang sama sekali bukan perangkat IoT, tetapi router dan kamera? Ayo lihat.

Pertama, Anda perlu memahami ke mana harus mencari. Informasi yang cukup terperinci tentang penggunaan CMS tertentu menyediakan Survei Teknologi Web . Penulis sumber daya secara teratur memindai 10 juta situs yang paling banyak dikunjungi di Internet (menurut peringkat layanan Alexa) dan menganalisis sistem manajemen konten yang digunakan. Hasil umum dari penelitian ini dapat dilihat pada halaman ini , berikut adalah grafik dari sana:


Yah, pertama, itu tidak mungkin untuk mendapatkan informasi tentang CMS untuk 46,1% dari situs, lebih tepatnya, tidak ada sistem yang dapat diidentifikasi oleh layanan ini. Di antara situs di mana CMS ditentukan, pemimpin yang tidak perlu adalah Wordpress, semacam pasar Android CMS. Tempat kedua dan ketiga dengan jeda yang signifikan ditempati oleh Joomla dan Drupal, dan kemudian di Top10 ada sebagian besar layanan yang menawarkan pembuatan situs jadi pada platform mereka sendiri, bagi mereka yang membutuhkan lebih mudah dan lebih cepat. Bersama-sama, Joomla, Drupal dan Wordpress diinstal pada 68,8% situs dengan CMS yang terkenal, atau 37,2% dari semua situs dari 10 juta yang diteliti.

Fragmentasi sudah terbukti pada tingkat pilihan CMS: Wordpress adalah pemimpin yang jelas, tetapi diinstal hanya pada sepertiga sumber daya online, dan setengah dari situs pada umumnya bekerja karena suatu alasan. Mungkin ada admin yang suram masih mengunduh HTML statis via FTP old-school. Sulit untuk menarik kesimpulan dari varietas ini: di satu sisi, fragmentasi mempersulit kehidupan penyerang, di sisi lain, tidak ada yang benar-benar tahu bagaimana keadaan dengan keamanan sekitar setengah dari Internet. Dalam kriptografi, algoritma enkripsi yang ditulis sendiri telah lama disamakan dengan rake yang dipertajam. Haruskah manajemen web berbeda?

Mari kita lihat distribusi versi untuk tiga CMS paling populer. Berikut adalah distribusi untuk Wordpress. w3techs memperbarui laporan mereka setiap hari sehingga informasinya diharapkan terbaru.


Entah bagaimana, membosankan. Mari kita lihat detail dari versi 4.x saat ini:


Sedikit lebih dari 70% situs web Wordpress menggunakan (pada tanggal publikasi) versi paling baru (tidak termasuk pembaruan reguler untuk rilis utama). Ini, tentu saja, adalah distribusi yang lebih menyenangkan daripada Android, di mana versi 8.x saat ini digunakan oleh 19,2% perangkat, tetapi tidak sebanyak yang kita inginkan.

Apakah ada yang perlu ditakutkan? Mari kita lihat sejarah versi Wordpress. Versi 4.9 dirilis pada 15 November 2017, yaitu, selama hampir setahun Wordpress 4.8 dan versi sebelumnya sudah usang. Sejak versi 4.9, setidaknya empat pembaruan CMS telah ditujukan untuk memperbaiki kerentanan. Seberapa serius risiko mereka masing-masing adalah subjek untuk penelitian yang lebih terperinci, meskipun belum ada bug yang benar-benar kritis selama setahun terakhir. Namun demikian, rilis Juli 4.9.7 menutup kerentanan, dalam kondisi tertentu, memungkinkan Anda untuk menghapus file di luar folder Uploads.

Mari kita lihat bagaimana pahlawan minggu lalu - CMS Drupal lakukan.


Hal-hal seperti itu. Versi terbaru Drupal 8.x digunakan oleh 11,8% dari situs yang umumnya menggunakan Drupal. Yang paling populer adalah rilis 7.x. sebelumnya (dalam keadilan, kami perhatikan - didukung) W3techs tidak memberikan perincian tentang rilis spesifik dalam cabang utama, jadi anggaplah bahwa setiap orang telah diperbarui (ini, tentu saja, merupakan asumsi yang berani). Bagaimanapun, hampir 10% dari situs Drupal menggunakan versi yang tidak didukung 4.x - 6.x.

Situasi untuk CMS Joomla adalah sebagai berikut:


Versi Joomla 3.8.13 saat ini dirilis baru-baru ini - pada tanggal 9 Oktober. Anda dapat melihat berapa banyak situs yang telah diperbarui ke versi terbaru dalam waktu singkat.


14.1% dari semua pengguna cabang 3.8. Atau 5,8% dari semua pengguna Joomla adalah mereka yang berhasil meningkatkan situs ke versi terbaru dalam 13 hari. Apa akibatnya jika Anda tidak memperbarui CMS tepat waktu? Saya akan kembali ke contoh untuk Wordpress, karena ini adalah sistem manajemen konten web yang paling populer dan paling diretas. Jadi (tiba-tiba), pesan tentang pembajakan praktis situs untuk aktivitas jahat sebagian besar menyebutkan bukan kode Wordpress utama, tetapi pluginnya.

Misalnya, berita tahun lalu tentang plugin yang benar-benar diserang, termasuk, misalnya, plugin Flickr Gallery. Pada bulan Desember 2017, Wordpress memblokir tiga plugin lagi - semuanya dijual oleh pembuatnya, dan pemilik baru menerapkan backdoors di dalamnya. Berikut ini analisis lain tentang penggunaan plugin yang telah lama ditinggalkan oleh pengembang, memiliki kerentanan kritis dan masih digunakan di ratusan situs.

Dan ini bukan hanya tentang plugin. Berulang kali, kata sandi bruteforce disebut sebagai metode kerja untuk menyerang situs Wordpress (misalnya, di sini dan di sini ). Dan masalah ini juga di luar kemampuan pengembang Wordpress. Mempersulit bruteforce dan tidak menggunakan kata sandi yang paling sederhana adalah tugas administrator dan pengguna situs, bukan pengembang.

Apa yang terjadi ketika sebuah situs berhasil diretas? Di atas, saya merujuk pada berita tentang pemasangan penambang, meskipun skrip berbahaya klasik paling sering muncul di situs. Kasus signifikan terjadi musim panas ini: pada bulan Juli, platform perdagangan CoinDash diretas , apalagi, tepat selama penggalangan dana sebagai bagian dari ICO. Bagaimana tepatnya situs itu diretas tidak dilaporkan, itu tidak selalu bisa menjadi kerentanan di Wordpress. Tetapi hasilnya jelas: pada tahap pertama pengumpulan dana dari peserta istimewa di situs, mereka hanya mengubah nomor dompet untuk mentransfer dana, sebagai akibatnya 7,7 juta dolar dalam setara cryptocurrency diberikan kepada para penyerang. Ada diskusi menarik tentang Reddit tentang ini: apakah tidak akan lebih dapat diandalkan untuk membuat halaman statis dalam kasus-kasus kritis? Oh, tidak yakin mana yang lebih bisa diandalkan.

Berdasarkan hasil studi kecil ini, muncul pertanyaan yang jelas: apakah benar-benar perlu memperbarui kode CMS, jika kerentanan kritis tidak selalu tersedia, situs sering diretas melalui plugin, atau bahkan melalui brute force kata sandi? Seperti halnya router , serangkaian tindakan membawa manfaat nyata: memperbarui CMS, merevisi daftar plugin yang diinstal dan secara teratur memperbarui yang benar-benar diperlukan, mengubah URL admin, kata sandi yang kuat, otentikasi multi-faktor, dan hanya audit pengguna. Keamanan situs web (dan hal lain) adalah proses, bukan hasil.

Tambahkan ke daftar tugas pemeriksaan rutin versi CMS tidak begitu sulit. Jika situs Anda dikelola oleh organisasi pihak ketiga, tidak akan berlebihan untuk secara terpisah membahas masalah pemasangan pembaruan rutin. Jika Anda pernah "mengatur situs" sekali, dan sejak itu "hanya berfungsi" tanpa dukungan apa pun - Anda memiliki masalah. Seperti yang kita lihat hari ini, bahkan tidak semua orang menggunakan ukuran sederhana untuk meningkatkan keamanan situs web seperti memperbarui kode.

Penafian: Pendapat yang diungkapkan dalam intisari ini mungkin tidak selalu bertepatan dengan posisi resmi Kaspersky Lab. Para editor yang terhormat umumnya merekomendasikan untuk memperlakukan setiap pendapat dengan skeptis yang sehat.

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


All Articles