Proyek Snuffleupagus sedang mengembangkan modul PHP untuk memblokir kerentanan

Dalam batas-batas proyek snuffleupagus sedang berkembang modul untuk menghubungkan ke penerjemah PHP7, dirancang untuk meningkatkan keamanan lingkungan dan memblokir kesalahan umum yang menyebabkan kerentanan dalam menjalankan aplikasi PHP. Modul ini juga memungkinkan Anda membuat patch virtual untuk memperbaiki masalah tertentu tanpa mengubah kode sumber aplikasi yang rentan, sehingga nyaman untuk digunakan dalam sistem hosting massal di mana tidak mungkin untuk selalu memperbarui semua aplikasi pengguna. Modul ditulis dalam C, terhubung dalam bentuk perpustakaan bersama (β€œextension=snuffleupagus.so” di php.ini) dan didistribusikan oleh berlisensi di bawah LGPL 3.0.

Snuffleupagus menyediakan sistem aturan yang memungkinkan Anda menggunakan templat standar untuk meningkatkan keamanan, atau membuat aturan Anda sendiri untuk mengontrol data input dan parameter fungsi. Misalnya, aturan β€œsp.disable_function.function(β€œsystem”).param(β€œcommand”).value_r(β€œ[$|;&`\\n]”).drop();” memungkinkan Anda membatasi penggunaan karakter khusus dalam argumen fungsi system() tanpa mengubah aplikasi. Demikian pula, Anda dapat membuat patch virtual untuk memblokir kerentanan yang diketahui.

Dilihat dari pengujian yang dilakukan oleh pengembang, Snuffleupagus hampir tidak mengurangi kinerja. Untuk memastikan keamanannya sendiri (kemungkinan kerentanan pada lapisan keamanan dapat berfungsi sebagai vektor tambahan untuk serangan), proyek ini menggunakan pengujian menyeluruh terhadap setiap penerapan di distribusi yang berbeda, menggunakan sistem analisis statis, dan kode diformat serta didokumentasikan untuk menyederhanakan audit.

Metode bawaan disediakan untuk memblokir kelas kerentanan seperti masalah, terkait dengan serialisasi data, tidak aman penggunaan fungsi PHP mail(), kebocoran konten Cookie selama serangan XSS, masalah karena memuat file dengan kode yang dapat dieksekusi (misalnya, dalam format far), pembuatan bilangan acak berkualitas buruk dan pengganti konstruksi XML yang salah.

Mode berikut didukung untuk meningkatkan keamanan PHP:

  • Secara otomatis mengaktifkan tanda "aman" dan "situs yang sama" (perlindungan CSRF) untuk Cookie, enkripsi Kue kering;
  • Seperangkat aturan bawaan untuk mengidentifikasi jejak serangan dan penyusupan aplikasi;
  • Aktivasi global paksa dari "ketat" (misalnya, memblokir upaya untuk menentukan string ketika mengharapkan nilai integer sebagai argumen) dan perlindungan terhadapnya manipulasi tipe;
  • Pemblokiran bawaan pembungkus protokol (misalnya, melarang "phar://") dengan memasukkan daftar putihnya secara eksplisit;
  • Larangan mengeksekusi file yang dapat ditulisi;
  • Daftar hitam putih untuk evaluasi;
  • Diperlukan untuk mengaktifkan pemeriksaan sertifikat TLS saat menggunakan
    keriting;

  • Menambahkan HMAC ke objek serial untuk memastikan bahwa deserialisasi mengambil data yang disimpan oleh aplikasi asli;
  • Minta mode pencatatan;
  • Memblokir pemuatan file eksternal di libxml melalui tautan dalam dokumen XML;
  • Kemampuan untuk menghubungkan penangan eksternal (upload_validation) untuk memeriksa dan memindai file yang diunggah;

Proyek ini dibuat dan digunakan untuk melindungi pengguna di infrastruktur salah satu operator hosting besar Perancis. Tercatatbahwa menghubungkan Snuffleupagus akan melindungi dari banyak kerentanan berbahaya yang diidentifikasi tahun ini di Drupal, WordPress, dan phpBB. Kerentanan di Magento dan Horde dapat diblokir dengan mengaktifkan mode ini
"sp.readonly_exec.enable()".

Sumber: opennet.ru

Tambah komentar