Beberapa hari yang lalu kejadian luar biasa berlaku, yang menggegarkan komuniti kernel Linux, dan itu Linus Torvalds mengarahkan penggantungan serta-merta akaun Kees Cook di kernel.org., selepas mengesan kewujudan komit yang dimanipulasi dalam repositori Git pembangun ini.
Kees Cook, diiktiraf atas kepimpinannya pada pasukan keselamatan Ubuntu dan untuk mengekalkan lebih daripada sedozen subsistem berkaitan keselamatan kernel, dilarang membuat perubahan sementara sementara faktanya dijelaskan.
Pengubahan kepengarangan dan tandatangan dalam repositori Kees Cook
Masalah timbul daripada permintaan pemerbadanan perubahan.s ke cawangan kernel 6.16, di mana Linus mengenal pasti rujukan kepada repositori yang terkandung melakukan dimanipulasi dengan namanya sebagai pengarang dan pengesahan, walaupun tidak melakukannya sendiri. Salah satu contoh yang paling serius ialah kewujudan komit pendua, kandungan yang sama dengan yang asal tetapi dengan cincang SHA1 yang berbeza, yang secara salah memasukkan tandatangan Linus Torvalds.
Perubahan ini tidak boleh dikaitkan hanya dengan kesilapan yang tidak disengajakanl semasa operasi git rebase, kerana ia melibatkan pengubahsuaian besar-besaran maklumat sensitif, termasuk lebih 6.000 komitmen yang ditulis semula, 330 daripadanya mempunyai nama Linus sebagai pengarang.
Reaksi Torvalds: syak wasangka manipulasi yang disengajakan
Linus Torvalds tidak menyembunyikan kebimbangannya dan menyifatkan peristiwa itu sebagai berpotensi berniat jahat:
"Satu atau dua penulisan semula boleh menjadi satu kesilapan. Tetapi beribu-ribu daripadanya, kebanyakannya dengan tandatangan palsu saya, tidak," isytiharnya.
Memandangkan besarnya perubahan dan risiko kepada integriti pokok isirong rasmi, Torvalds bertanya kepada Konstantin Ryabitsev, pentadbir infrastruktur kernel.org, quntuk menyekat akses Kees Cook sehingga keadaan dijelaskan.
Sebagai tindak balas, Kees Cook menjelaskan bahawa dia mengalami masalah teknikal baru-baru ini yang boleh mencetuskan kejadian itu. Dia berkata, Pemacu SSD anda mengalami ralat semasa operasi penyalinan, yang telah menyebabkan rasuah dalam beberapa repositori. Selepas ralat ini, dia cuba memulihkan keadaan repositorinya menggunakan git rebase dan pelbagai alat automasi.
Walau bagaimanapun, operasi ini dilakukan pada cawangan kritikal, seperti for-next/hardening dan for-linus/hardening, yang membawa kepada pengubahsuaian tidak sengaja sejarah repositori, termasuk perubahan dalam kepengarangan komit. Walaupun penjelasannya, Linus ragu-ragu.:
"Saya tidak faham bagaimana memotong secara tidak sengaja boleh berlaku, lebih-lebih lagi dengan jumlah perubahan ini."
Penyebab sebenar: git-filter-repo dan treler b4
Dalam mesej kemudian, Kees Cook mengenal pasti punca kemungkinan ralat: penggunaan gabungan dua alatan, treler git-filter-repo dan b4, yang memanipulasi sejarah komit dan treler (teg seperti Ditandatangani oleh:) dalam komit.
Penggunaan yang tidak betul ini daripada keuntungan akan menyebabkan penulisan semula automatik beribu-ribu komitmen, termasuk menggantikan pengarang dengan nilai lalai (dalam kes ini, Linus Torvalds), tanpa Kees menyedari ralat pada masa ituKonstantin Ryabitsev, pengarang alat b4, mengesahkan teori ini dan menegaskan bahawa tidak ada niat jahat di pihak Cook. Malah, sistem itu telah pun menghasilkan amaran yang diabaikan.
Selepas keadaan dijelaskan, akses Kees Cook ke kernel.org telah dipulihkan. Sebagai langkah pencegahan, ia telah diumumkan bahawa alat itu b4 akan menyertakan pemeriksaan keselamatan baharu, Ini akan menghalang pengubahsuaian komit yang kepengarangannya tidak sepadan dengan identiti pengguna semasa mulai sekarang. Ini bertujuan untuk mengelakkan ralat serupa dan melindungi integriti kod sumber kernel.
Kees, bagi pihaknya, berjanji untuk mencipta semula cawangan yang terjejas. daripada tampalan individu dan menganalisis secara mendalam langkah-langkah yang membawa kepada ralat. Walaupun Insiden itu telah merenggangkan hubungan dalam pasukan pembangunan kernel, juga telah menekankan kepentingan menggunakan alat penulisan semula sejarah dengan berhati-hati, terutamanya dalam projek yang kritikal seperti kernel Linux.
Akhir sekali, perlu dinyatakan bahawa insiden antara Linus Torvalds dan Kees Cook ini berfungsi sebagai amaran tentang bahaya memanipulasi sejarah komit dan bahawa terima kasih kepada campur tangan yang cepat daripada mereka yang bertanggungjawab untuk kernel.org dan ketelusan proses, keadaan telah terkawal.
Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di bawah pautan