Matt Mullenweg Menanggapi Kata-kata kasar Keamanan: Tanda Tangan Digital untuk Pembaruan WordPress Penting tetapi Bukan Prioritas
Diterbitkan: 2017-02-16Scott Arciszewski, Chief Development Officer untuk Paragon Initiative Enterprises, yang paling dikenal luas karena pekerjaan teknik kriptografinya, menerbitkan sebuah posting di Medium yang mengkritik Matt Mullenweg, salah satu pencipta proyek perangkat lunak sumber terbuka WordPress, karena tidak cukup peduli tentang keamanan. Arciszewski telah mencabut postingan tersebut tetapi Anda dapat membacanya melalui Wayback Machine.
Arciszewski sedang mengerjakan proyek yang dikenal sebagai libsodium, ekstensi inti ke PHP 7.2 yang memungkinkan enkripsi, dekripsi, tanda tangan, hashing kata sandi, dan banyak lagi. Tujuannya adalah untuk memungkinkan pengembang membangun alat kriptografi tingkat tinggi.
Sistem pembaruan otomatis WordPress ditangani melalui api.wordpress.org. Karena pembaruan tidak memiliki tanda tangan digital, jika api.wordpress.org disusupi, penyerang dapat mengirim pembaruan berbahaya ke ribuan atau jutaan situs. Skenario ini berada di garis depan pikiran orang akhir tahun lalu setelah Wordfence menerbitkan rincian kerentanan keamanan kompleks yang dapat membahayakan server pembaruan.
Arciszewski menyarankan penandatanganan kode offline dan kriptografi kurva eliptik sebagai solusi, “Kunci yang dapat menghasilkan tanda tangan yang valid untuk sebuah file tidak disimpan di server (hanya file itu sendiri dan tanda tangan yang valid), jadi meskipun server diretas , penyerang tidak bisa hanya menambahkan malware trojan horse ke file,” katanya.
OpenSSL adalah perpanjangan dari PHP dan umumnya digunakan sebagai kriptografi kunci publik tetapi hanya mendukung RSA yang dianggap tidak memadai oleh Arciszewski. Karena WordPress ditulis dalam PHP dan mendukung versi 5.2-7+, Arciszewski perlu membuat solusi yang kompatibel. Ini mengilhami dia untuk membuat sodium_compat yang menambahkan verifikasi tanda tangan Ed25519 ke pembaruan otomatis WordPress.
Arciszewski mengirimkan sejumlah tambalan ke WordPress tetapi diberitahu oleh Dion Hulse, pengembang inti WordPress, bahwa perpustakaan sodium_compat tidak dapat digabungkan menjadi inti sampai lulus audit keamanan oleh pihak ketiga. Audit dapat menghabiskan banyak uang sehingga rencana Arciszewski adalah untuk melihat apakah Automattic dapat mengambil sebagian dari biaya atau mengumpulkan dana. Namun, proyeknya ditunda setelah Mullenweg memberi tahu Hulse untuk berhenti mengerjakan fitur tersebut karena tidak terkait dengan tiga area fokus inti Editor, Customizer, dan REST API.
Arciszewski menggambarkan keputusan itu sebagai tidak bertanggung jawab dan bahwa setiap pengguna memiliki alasan untuk khawatir, “Tim WordPress telah menunjukkan bahwa mereka tidak cukup bertanggung jawab untuk mengatur kepemilikan Internet mereka yang mengesankan (dengan pengecualian beberapa orang yang tidak berdaya untuk memperbaiki arah organisasi). )," dia berkata. “Tindakan kelalaian ini akan membahayakan seluruh web.”
Perbarui Penandatanganan Itu Penting tetapi Bukan Prioritas
Mullenweg menanggapi posting di Medium.com dengan salah satu miliknya dan menegaskan kembali komitmen tim pengembangan WordPress untuk keamanan.
“Semua orang yang terlibat mengambil tanggung jawab mereka dengan sangat serius, dan pertumbuhan WordPress berarti banyak orang yang bekerja keras dan bijaksana telah terlibat dan memikirkan keamanan situs WP secara holistik, dari setiap sudut,” katanya.
Mullenweg juga mengklarifikasi serangan apa yang akan dihentikan dengan menerapkan tanda tangan digital ke pembaruan WordPress.
“Itu bisa menghentikan serangan man in the middle, di mana seseorang memodifikasi file pembaruan di jaringan di antara blog Anda dan WordPress.org, atau bisa menghentikan situasi di mana bagian .org yang melayani pembaruan dikompromikan tetapi penandatanganan sebagian tidak, dan seseorang memutuskan untuk mengirimkan pembaruan meskipun mereka tahu bahwa mereka akan ditolak,” katanya.

Tim tidak mengetahui adanya situs WordPress yang telah diserang dengan cara ini. Sementara kemungkinan ada, tingkat kerusakan kemungkinan akan terbatas. Server pembaruan dipantau sepanjang waktu dan karena banyak perusahaan webhosting besar secara otomatis memindai situs pelanggan mereka untuk mencari malware, pembaruan berbahaya kemungkinan akan ditemukan dengan cepat.
Mullenweg menjelaskan apa yang akan terjadi jika server pembaruan disusupi.
“Kami akan mematikannya dengan sangat cepat, memberi tahu dunia bahwa ada masalah, memperbaiki masalah, menyalakannya kembali, dan memberi tahu situs atau host tertentu jika memungkinkan,” katanya. Meskipun WordPress mendukung 27,5% dari 10 juta situs teratas yang dilacak oleh Alexa, sangat kecil kemungkinannya bahwa jumlah situs akan disusupi.
Dia melanjutkan dengan mengatakan bahwa ada cara yang lebih mudah untuk mengkompromikan situs WordPress dan mencantumkan masalah terbesar pada keamanan WordPress berdasarkan dampaknya.
- Situs tidak memperbarui inti.
- Situs tidak memperbarui plugin.
- Situs tidak memperbarui tema.
- Kata sandi yang lemah, tanpa perlindungan brute-force atau otentikasi dua faktor.
- Host (profesional atau ad-hoc) tidak memindai dan memperbaiki situs.
- Masalah hipotetis tidak terlihat dalam praktik, yang mengalihkan perhatian dari prioritas yang ada di atas.
Mullenweg menegaskan bahwa ia menawarkan untuk menyumbang untuk audit sodium_compat sehari sebelum Arciszewski menerbitkan posnya. Bahkan jika perpustakaan lulus audit, kode tidak dapat segera ditambahkan ke inti, “Anda juga perlu melakukan beberapa pekerjaan signifikan di sisi server untuk mengisolasi penandatanganan dari server pembaruan, jadi ini bermanfaat sejak awal. ," dia berkata.
Dan jika kode ditambahkan ke inti, hanya situs yang diperbarui ke versi yang memiliki pustaka kriptografi dan pemeriksaan pembaruan yang dapat memanfaatkannya. WordPress.org masih perlu mengirim pembaruan ke versi lama yang tidak memiliki pemeriksaan pembaruan. Situs-situs ini masih rentan untuk menerima pembaruan berbahaya.
Mullenweg mengatakan bahwa tanda tangan digital dan penandatanganan pembaruan akan berakhir di WordPress pada akhirnya, tetapi itu bukan prioritas karena ada masalah keamanan lain di depannya, “Kami memprioritaskan masalah tersebut di atas upaya pertahanan yang bagus dan mendalam, " dia berkata.
“Pendekatan yang baik adalah membangun sisi server terlebih dahulu, karena melakukannya dengan benar, katakanlah dengan HSM, adalah bagian yang sulit dan penting; kemudian dapatkan paket yang ditandatangani; kemudian uji verifikasi di plugin karena kami tidak ingin merusak pembaruan otomatis; dan akhirnya bergabung menjadi inti dan mengatur klien untuk menolak pembaruan yang tidak ditandatangani. Di sisi klien kita perlu memilih perpustakaan kriptografi, dan mengauditnya.”
Mullenweg mengakhiri postingannya dengan menjelaskan mengapa dia mempublikasikan tanggapannya di Medium alih-alih situs pribadinya. “Sepertinya tempat paling populer untuk kata-kata kasar seperti ini. Saya juga ingin mencoba editor Medium yang terkenal,” katanya.
Apa Selanjutnya Untuk sodium_compat
Sementara prospeknya tidak terlihat bagus untuk perpustakaannya yang ditambahkan ke WordPress pada tahun 2017, Arciszewski mengatakan ada banyak proyek PHP lain yang dapat mengambil manfaat darinya, “Demi mereka, saya masih sangat cenderung untuk mengejar proyek ketiga yang independen. audit kriptografi pihak, dan upaya untuk mendanai biaya secara massal, ”katanya.
