Wawancara dengan Risiko Kode – Layanan Analisis Kode Sumber Gratis Untuk Plugin WordPress
Diterbitkan: 2018-10-17Kerentanan di plugin WordPress telah menjadi penyebab lebih banyak peretasan situs daripada kerentanan di inti WordPress. Salah satu alasan mengapa ini terjadi adalah kurangnya sumber daya. Perangkat lunak akan selalu memiliki kerentanan, meskipun kode inti WordPress diperiksa oleh ribuan orang. Selain itu, yayasan memiliki sumber daya yang dialokasikan untuk memastikan bahwa kode tersebut seaman mungkin.
Di sisi lain, banyak pengembang plugin tidak memiliki sumber daya yang tersedia untuk memastikan bahwa kode plugin mereka aman, terutama jika itu adalah plugin kecil. Meskipun itu semua akan berubah, seperti yang dijelaskan Hendrik Buchwald dalam wawancara ini. Hendrik adalah insinyur perangkat lunak, peneliti keamanan, dan salah satu pendiri RIPS Technologies.
Apa yang dilakukan Teknologi RIPS?
RIPS Technologies adalah perusahaan teknologi tinggi yang berbasis di Bochum, Jerman. Kami memberikan analisis keamanan otomatis untuk aplikasi PHP sebagai instalasi perangkat lunak lokal atau layanan cloud yang sangat skalabel. Algoritme analisis kode inovatif kami, yang secara khusus didedikasikan untuk bahasa PHP, dapat mengidentifikasi kerentanan keamanan yang kompleks dalam aplikasi modern tidak seperti solusi lainnya. Misi kami adalah untuk menyediakan pengembang dan profesional keamanan dengan analisis keamanan yang paling akurat dan efisien.
Menurut Anda apa kesalahan keamanan paling umum yang dilakukan pengembang, dan apa saja 3 kerentanan teratas yang Anda lihat di plugin WordPress?
Tidak mengherankan, masalah yang paling umum adalah kerentanan skrip lintas situs (XSS) yang terjadi setiap kali input pengguna dicetak tanpa sanitasi yang tepat ke halaman respons HTML. Pertama, masalah ini sering muncul karena keluaran data adalah operasi paling umum dari aplikasi PHP dan dengan demikian lebih terpengaruh oleh pelanggaran keamanan daripada operasi lainnya. Dan kedua, mengingat keragaman konteks HTML dan perangkapnya dalam sanitasi, masalah ini dengan mudah diperkenalkan. Kerentanan cross-site scripting (XSS) cukup serius di WordPress karena dapat digunakan, misalnya, untuk menyuntikkan kode PHP melalui editor template. Untungnya, mereka memang membutuhkan interaksi dengan administrator.
Masalah paling umum kedua adalah kerentanan injeksi SQL. Suntikan SQL lebih parah daripada kerentanan skrip lintas situs karena dalam kasus terburuk mereka dapat digunakan untuk mengekstrak informasi sensitif dari database - misalnya kata sandi - tanpa interaksi pengguna sama sekali. Akibatnya mereka dapat digunakan untuk serangan berbahaya yang sepenuhnya otomatis.
Seberapa baik, atau burukkah postur keamanan keseluruhan dari 1.000 plugin yang paling populer/diunduh?
Ini sulit dijawab karena saya belum melihat 1.000 plugin terpopuler secara detail. Operasi semacam itu akan memakan waktu berbulan-bulan untuk diselesaikan, dan pada saat kami siap, kami perlu memulai lagi karena beberapa plugin sangat sering diperbarui.
Oleh karena itu mengapa penting untuk menggunakan layanan keamanan otomatis seperti Risiko Kode. Meskipun dari skor CodeRisk, yang dihasilkan dari pemindaian kode sumber otomatis dan tidak terverifikasi yang kami lakukan di repositori, saya dapat mengatakan bahwa sebagian besar kode tidak buruk, meskipun ada juga plugin dengan skor buruk. Sebagian besar plugin ini berukuran sangat besar dan memiliki banyak fungsi. Ini secara otomatis meningkatkan kemungkinan memiliki bug di suatu tempat. Dari pengujian manual kami, kami juga dapat mengatakan bahwa plugin besar sering kali memiliki kerentanan logis.
Bisakah Anda memberi tahu kami sedikit tentang apa yang Anda tawarkan kepada pengembang plugin WordPress?
CodeRisk proyek terbaru kami membantu pengembang dan pengguna menilai risiko keamanan kode plugin mereka secara gratis. Untuk saat ini, ini terbatas pada plugin WordPress yang di-host di repositori WordPress resmi.
Kami secara otomatis mengambil plugin baru dari repositori WordPress dan memindainya dengan pemindai keamanan PHP RIPS kami. Hasil detail RIPS digabungkan menjadi nilai risiko yang mudah dipahami. Nilai memperhitungkan tingkat keparahan eksploitasi yang berhasil, jumlah masalah yang ditemukan terkait dengan ukuran kode, dan kemungkinan masalah dapat disalahgunakan oleh pihak ketiga.
Pengembang plugin dapat meminta hasil detail lengkap untuk plugin mereka sendiri melalui sistem otomatis. Mereka dapat menggunakan informasi untuk memperbaiki kemungkinan kerentanan dan mengeraskan kode mereka, sehingga membuat ekosistem WordPress lebih aman. Ide di balik CodeRisk adalah untuk memberdayakan pengembang plugin untuk menemukan masalah dalam kode mereka sendiri, bahkan jika mereka tidak paham keamanan. Meskipun kami melakukan banyak penelitian tentang keamanan WordPress, dan melaporkan banyak kerentanan kepada pengembang, ada terlalu banyak plugin untuk menganalisis semuanya secara manual.
Apakah banyak pengembang plugin yang berlangganan dan menggunakan layanan analisis kode sumber gratis Anda? Bagaimana tanggapan dari komunitas WordPress?
Saat ini ada beberapa lusin pengembang plugin yang menggunakan CodeRisk untuk mengurangi risiko kerentanan keamanan di plugin mereka. Kami telah menerima banyak umpan balik yang baik sejauh ini dan CodeRisk telah membantu menyelesaikan ratusan masalah.
Pemindai otomatis cenderung melaporkan kesalahan positif dan kasus tepi yang mungkin tidak dapat dieksploitasi. Mengingat banyak pengembang tidak paham keamanan, apa yang Anda lakukan untuk membantu mereka dan menghindari alarm palsu?
Pengguna kami harus menyadari bahwa kami menyoroti kode yang menimbulkan risiko keamanan. Di antara kerentanan keamanan yang tidak disengaja, ini juga mencakup temuan lain, misalnya perlindungan lemah yang dapat menjadi ancaman di kemudian hari.
Anda tidak perlu mengetahui apakah dan bagaimana suatu masalah dapat dieksploitasi untuk memastikan bahwa masalah tersebut tidak akan menjadi ancaman keamanan di masa mendatang. Misalnya, jika Anda mencetak nilai kembalian suatu fungsi, pastikan untuk menyandikannya dengan benar untuk mencegah kerentanan skrip lintas situs. Bahkan jika nilai yang dikembalikan belum berisi input pengguna, hal ini mungkin tidak akan terjadi di masa mendatang.
Di mana Anda melihat proyek WordPress gratis ini pergi? Apakah Anda punya rencana untuk itu? Mungkin menawarkan layanan premium untuk pengembang genggam, membantu mereka memahami hasil dan membuat yang terbaik dari mereka?
Rilis CodeRisk berikutnya akan menambahkan dukungan untuk tema WordPress karena mereka merupakan bagian integral dari sebagian besar blog, dan sering kali mengandung kerentanan juga. Pada titik tertentu kami ingin memperluas CodeRisk ke sistem manajemen konten lainnya. Saat ini tidak ada rencana untuk layanan premium tetapi jika ada cukup permintaan, ini mungkin berubah.
Bisakah Anda memberi pengembang WordPress dua atau tiga praktik terbaik pengembangan aman untuk diikuti sehingga mereka dapat menulis kode yang lebih aman?
Jika Anda ingin menulis kode yang lebih aman, jangan pernah percaya begitu saja pada kode yang ada. Selalu asumsikan bahwa fungsi mungkin mengembalikan input pengguna dan memperlakukannya seperti itu. Untuk informasi umum tentang cara menulis kode PHP yang aman, lihat Panduan 2018 untuk Membangun Perangkat Lunak PHP yang Aman.
Kunjungi situs web CodeRisk untuk informasi lebih lanjut tentang layanan ini. Dan jika Anda adalah pengembang plugin WordPress, dan plugin Anda ada di repositori plugin WordPress, daftarlah untuk mendapatkan akun gratis untuk melihat kerentanan apa yang mungkin dimiliki plugin Anda.