Proyek Snuffleupagus ngembangake modul PHP kanggo mblokir kerentanan

Ing wates proyek snuffleupagus berkembang modul kanggo nyambungake menyang interpreter PHP7, dirancang kanggo nambah keamanan lingkungan lan mblokir kasalahan umum sing mimpin kanggo vulnerabilities ing mbukak aplikasi PHP. Modul kasebut uga ngidini sampeyan nggawe patch virtual kanggo ndandani masalah tartamtu tanpa ngganti kode sumber aplikasi sing rawan, sing trep digunakake ing sistem hosting massal sing ora bisa nganyari kabeh aplikasi pangguna. Modul kasebut ditulis ing C, disambungake ing wangun perpustakaan sing dienggo bareng ("extension=snuffleupagus.so" ing php.ini) lan disebarake dening dilisensi ing LGPL 3.0.

Snuffleupagus menehi sistem aturan sing ngijini sampeyan kanggo nggunakake Cithakan standar kanggo nambah keamanan, utawa nggawe aturan dhewe kanggo kontrol data input lan paramèter fungsi. Contone, aturan "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" ngijini sampeyan kanggo matesi nggunakake karakter khusus ing sistem () bantahan fungsi tanpa ngganti aplikasi. Kajaba iku, sampeyan bisa nggawe patches virtual kanggo mblokir vulnerabilities dikenal.

Miturut tes sing ditindakake para pangembang, Snuffleupagus meh ora nyuda kinerja. Kanggo njamin keamanan dhewe (kemungkinan kerentanan ing lapisan keamanan bisa dadi vektor tambahan kanggo serangan), proyek kasebut nggunakake tes lengkap saben komitmen ing distribusi sing beda-beda, nggunakake sistem analisis statis, lan kode diformat lan didokumentasikake kanggo nyederhanakake audit.

Cara sing dibangun kasedhiya kanggo mblokir kelas kerentanan kayata masalah, gegandhengan kanthi serialisasi data, ora aman nggunakake fungsi PHP mail(), bocor isi Cookie sajrone serangan XSS, masalah amarga ngemot file kanthi kode eksekusi (contone, ing format phar), kualitas miskin nomer acak generasi lan substitusi konstruksi XML sing salah.

Mode ing ngisor iki didhukung kanggo nambah keamanan PHP:

  • Ngaktifake bendera "aman" lan "samesite" (proteksi CSRF) kanthi otomatis kanggo Cookie, enkripsi cookie;
  • Aturan sing dibangun kanggo ngenali jejak serangan lan kompromi aplikasi;
  • Aktivasi global paksa "ketat" (contone, mblokir upaya kanggo nemtokake string nalika ngarepake nilai integer minangka argumen) lan proteksi marang manipulasi jinis;
  • Pamblokiran kanthi gawan pambungkus protokol (contone, nglarang "phar: //") kanthi daftar putih sing jelas;
  • Larangan kanggo ngeksekusi file sing bisa ditulis;
  • Dhaptar ireng lan putih kanggo eval;
  • Dibutuhake kanggo ngaktifake mriksa sertifikat TLS nalika nggunakake
    nggulung;

  • Nambahake HMAC menyang obyek serial kanggo mesthekake yen deserialization njupuk data sing disimpen dening aplikasi asli;
  • Panjaluk mode logging;
  • Mblokir loading file eksternal ing libxml liwat pranala ing dokumen XML;
  • Kemampuan kanggo nyambungake panangan eksternal (upload_validation) kanggo mriksa lan mindhai file sing diunggah;

Proyek kasebut digawe lan digunakake kanggo nglindhungi pangguna ing infrastruktur salah sawijining operator hosting Prancis sing gedhe. Wis kacathetsing mung nyambungake Snuffleupagus bakal nglindhungi saka akeh kerentanan mbebayani sing diidentifikasi taun iki ing Drupal, WordPress lan phpBB. Kerentanan ing Magento lan Horde bisa diblokir kanthi ngaktifake mode kasebut
"sp.readonly_exec.enable()".

Source: opennet.ru

Add a comment