Insiden Keamanan GitHub Membuka Masalah di Ruby on Rails
• 2 • 402
Ahad pagi tanggal 4 Maret 2012 kemarin, Egor Homakov melakukan eksploitasi kesalahan di framework web Ruby on Rails yang menangani mass assignments yang memungkinkan dia untuk memposting, menghapus posting atau mempush perubahan ke kode sumber proyek apapun yang ada di GitHub. Homakov sebelumnya sudah membuat issue berhubungan dengan masalah keamanan mass assignemnt di tracker issue GitHub tetapi ini ditutup oleh pengembang dengan menyatakan bahwa ini merupakan tanggung jawab pengembang aplikasi untuk mengamankan aplikasi mereka. Homakov kemudian memutuskan untuk mendemonstrasikan masalah tersebut menggunakan aplikasi terdekat dengan Ruby On Rails, GitHub.
Dia pertama kali mengajukan isu ini di Proyek Rails dengan timestamp 1001 tahun dimasa depan, untuk mendapat get the perhatian pengembang Rails. kemudian dia menambahkan public key miliknya ke daftar committers Rails dan membuat sebuah commit ke repositori utama Rails. GitHub menghentikan akun Homakov, sementara mereka memperbaiki masalah ini. Setelah GutHub memperbaiki masalah ini Homakov mempublikasikan how-to mengenai bagaimana dia memanipulasi aplikasi GitHub yang berbasis Rails.
Masalah yang dikenal dengan nama mass assignment vulnerability, telah ada selama beberapa waktu sejak kemampuan untuk mengeset sejumlah atribut sekali waktu dikenalkan di Rails. Masalah ini didaftar di Panduan Keamanan Rails, yang juga menampilkan detail bagaimana melakukan blacklist atau whitelist atribut yang diset, tetapi fungsionalitas ini tidak dinyalakan secara default sehingga banyak aplikasi Rails masih memiliki masalah ini. Dalam kasus GitHub, Homakov memanipulasi record PublicKey dan id user yang terkait untuk membuat key SSH tampak sebagai public key korban dengan memodifikasi hasil di halaman form Public Key.
GitHub menyatakan bahwa mereka telah melakukan audit penuh kode sumber yang saat ini masih berjalan. Dalam sebuah posting lanjutan , GitHub menyatakan bahwa Homakov telah mengajukan masalah ini ke mereka dua hari sebelumnya tetapi kemudian menemukan vulnerabilitas form update public key dan melakukan eksploitasi tanpa melaporkan kepada GitHub. Setelah GitHub memiliki waktu untuk mereview aktivitas yang ada dan menyimpulkan bahwa tidak ada hal jahat yang dilakukan oleh Homakov, maka akun Homakov kembali di aktivkan. GitHub juga menambahkan sebuah panduan ke halaman bantuan mereka menjelaskan bagaimana mempublikasikan masalah keamanan secara bertanggung jawab dengan GitHub.
Meskipun demikian masalah mass assignemnt ini masih merupakan masalah di banyak aplikasi berbasis Rails dan pengembang sangat direkomendasikan untuk melakukan audit kode sumber mereka untuk memastikan bahwa sistem mereka tidak bisa dimanipulasi dengan cara yang sama. commit yang baru dijalankan ke kode Rails akan mengharuskan atribut whitelist dinyalakan secara default tetapi hanya untuk aplikasi yang baru dibuat, perubahan ini direncanakan disertakan pada update Rails 3.2.
Via :