Projek Snuffleupagus sedang membangunkan modul PHP untuk menyekat kelemahan

Dalam sempadan projek snuffleupagus sedang berkembang modul untuk menyambung kepada penterjemah PHP7, direka untuk meningkatkan keselamatan persekitaran dan menyekat ralat biasa yang membawa kepada kelemahan dalam menjalankan aplikasi PHP. Modul ini juga membolehkan anda membuat tampalan maya untuk menyelesaikan masalah tertentu tanpa mengubah kod sumber aplikasi yang terdedah, yang mudah digunakan dalam sistem pengehosan besar-besaran di mana mustahil untuk memastikan semua aplikasi pengguna dikemas kini. Modul ini ditulis dalam C, disambungkan dalam bentuk perpustakaan kongsi (β€œextension=snuffleupagus.so” dalam php.ini) dan diedarkan oleh berlesen di bawah LGPL 3.0.

Snuffleupagus menyediakan sistem peraturan yang membolehkan anda menggunakan templat standard untuk meningkatkan keselamatan, atau mencipta peraturan anda sendiri untuk mengawal data input dan parameter fungsi. Contohnya, peraturan β€œsp.disable_function.function(β€œsystem”).param(β€œcommand”).value_r(β€œ[$|;&`\\n]”).drop();” membolehkan anda mengehadkan penggunaan aksara khas dalam argumen fungsi system() tanpa mengubah aplikasi. Begitu juga, anda boleh mencipta tompok maya untuk menyekat kelemahan yang diketahui.

Berdasarkan ujian yang dijalankan oleh pembangun, Snuffleupagus hampir tidak mengurangkan prestasi. Untuk memastikan keselamatannya sendiri (kemungkinan kelemahan dalam lapisan keselamatan boleh berfungsi sebagai vektor tambahan untuk serangan), projek ini menggunakan ujian menyeluruh bagi setiap komit dalam pengedaran berbeza, menggunakan sistem analisis statik dan kod diformat dan didokumenkan untuk memudahkan pengauditan.

Kaedah terbina dalam disediakan untuk menyekat kelas kelemahan seperti isu, berkaitan dengan siri data, tidak selamat penggunaan fungsi mel PHP(), kebocoran kandungan Cookie semasa serangan XSS, masalah kerana memuatkan fail dengan kod boleh laku (contohnya, dalam format phar), penjanaan nombor rawak berkualiti rendah dan penggantian binaan XML yang salah.

Mod berikut disokong untuk meningkatkan keselamatan PHP:

  • Dayakan secara automatik bendera "secure" dan "samesite" (CSRF protection) untuk Kuki, penyulitan Kuki;
  • Set peraturan terbina dalam untuk mengenal pasti kesan serangan dan kompromi aplikasi;
  • Pengaktifan global paksa "ketat" (sebagai contoh, menyekat percubaan untuk menentukan rentetan apabila mengharapkan nilai integer sebagai hujah) dan perlindungan terhadap manipulasi jenis;
  • Penyekatan lalai pembalut protokol (contohnya, melarang "phar://") dengan penyenaraian putih yang jelas;
  • Larangan untuk melaksanakan fail yang boleh ditulis;
  • Senarai hitam dan putih untuk eval;
  • Diperlukan untuk mendayakan semakan sijil TLS apabila menggunakan
    keriting;

  • Menambah HMAC pada objek bersiri untuk memastikan penyahserikatan mendapatkan semula data yang disimpan oleh aplikasi asal;
  • Minta mod pembalakan;
  • Menyekat pemuatan fail luaran dalam libxml melalui pautan dalam dokumen XML;
  • Keupayaan untuk menyambungkan pengendali luaran (upload_validation) untuk menyemak dan mengimbas fail yang dimuat naik;

Projek ini dicipta dan digunakan untuk melindungi pengguna dalam infrastruktur salah satu pengendali pengehosan Perancis yang besar. Ia diperhatikanbahawa hanya menyambungkan Snuffleupagus akan melindungi daripada banyak kelemahan berbahaya yang dikenal pasti tahun ini dalam Drupal, WordPress dan phpBB. Kerentanan dalam Magento dan Horde boleh disekat dengan mendayakan mod
"sp.readonly_exec.enable()".

Sumber: opennet.ru

Tambah komen