Keluaran Snuffleupagus 0.5.1, modul untuk menyekat kelemahan dalam aplikasi PHP

Selepas setahun pembangunan diterbitkan keluaran projek Snuffleupagus 0.5.1, yang menyediakan modul untuk penterjemah PHP7 untuk meningkatkan keselamatan persekitaran dan menyekat ralat biasa yang membawa kepada kelemahan dalam menjalankan aplikasi PHP. Modul ini juga membolehkan anda membuat tompok maya untuk menghapuskan masalah khusus tanpa mengubah kod sumber aplikasi yang terdedah, yang mudah digunakan dalam sistem pengehosan besar-besaran di mana adalah mustahil untuk memastikan semua aplikasi pengguna dikemas kini. Kos overhed modul dianggarkan minimum. 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. 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 peningkatan keselamatan PHP disediakan oleh Snuffleupagus:

  • 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;

Antara perubahan dalam keluaran baharu: Sokongan yang lebih baik untuk PHP 7.4 dan keserasian yang dilaksanakan dengan cawangan PHP 8 yang sedang dibangunkan. Menambahkan keupayaan untuk mengelog peristiwa melalui syslog (arahan sp.log_media dicadangkan untuk dimasukkan, yang boleh mengambil nilai php atau syslog). Set peraturan lalai telah dikemas kini untuk memasukkan peraturan baharu untuk kelemahan yang dikenal pasti baru-baru ini dan teknik serangan terhadap aplikasi web. Sokongan yang lebih baik untuk macOS dan penggunaan platform penyepaduan berterusan yang diperluas berdasarkan GitLab.

Sumber: opennet.ru

Tambah komen