Snuffleupagus verkefnið er að þróa PHP einingu til að hindra veikleika

Í mörkum verkefnisins snuffleupagus er að þróast eining til að tengjast PHP7 túlknum, hönnuð til að bæta öryggi umhverfisins og hindra algengar villur sem leiða til veikleika í keyrslu PHP forrita. Einingin gerir þér einnig kleift að búa til sýndarplástra til að laga ákveðin vandamál án þess að breyta frumkóða viðkvæma forritsins, sem er þægilegt til notkunar í fjöldahýsingarkerfum þar sem ómögulegt er að halda öllum notendaforritum uppfærðum. Einingin er skrifuð í C, er tengd í formi sameiginlegs bókasafns ("extension=snuffleupagus.so" í php.ini) og dreift af leyfi samkvæmt LGPL 3.0.

Snuffleupagus býður upp á reglukerfi sem gerir þér kleift að nota staðlað sniðmát til að bæta öryggi, eða búa til þínar eigin reglur til að stjórna inntaksgögnum og virknibreytum. Til dæmis er reglan „sp.disable_function.function(“system“).param(“command“).value_r(“[$|;&`\\n]“).drop();“ gerir þér kleift að takmarka notkun sértákna í system() falla rökum án þess að breyta forritinu. Á sama hátt geturðu búið til sýndarplástrar til að loka fyrir þekkta veikleika.

Miðað við prófanirnar sem framkvæmdaraðilarnir gerðu, dregur Snuffleupagus varla úr afköstum. Til að tryggja eigið öryggi (mögulegir veikleikar í öryggislaginu geta þjónað sem viðbótarvigur fyrir árásir) notar verkefnið ítarlegar prófanir á hverri commit í mismunandi dreifingum, notar kyrrstöðugreiningarkerfi og kóði er sniðinn og skjalfestur til að einfalda endurskoðun.

Innbyggðar aðferðir eru til staðar til að loka á veikleikaflokka eins og vandamál, tengdar með raðgreiningu gagna, óöruggt notkun PHP mail() aðgerðarinnar, leka á vafrakökuinnihaldi við XSS árásir, vandamál vegna hleðslu skráa með keyrslukóða (til dæmis á sniði phar), léleg gæði tilviljunarkennd númeramyndun og skipti röng XML smíði.

Eftirfarandi stillingar eru studdar til að auka PHP öryggi:

  • Virkja sjálfkrafa „öruggt“ og „samesite“ (CSRF vernd) fána fyrir vafrakökur, dulkóðun Kex;
  • Innbyggt sett af reglum til að bera kennsl á ummerki um árásir og málamiðlun forrita;
  • Þvinguð alþjóðleg virkjun „ströng" (t.d. hindrar tilraun til að tilgreina streng þegar búist er við heiltölugildi sem rök) og vörn gegn tegund meðferð;
  • Sjálfgefin lokun siðareglur umbúðir (til dæmis að banna „phar://“) með skýrum hvítlista;
  • Bann við að keyra skrár sem eru skrifanlegar;
  • Svartur og hvítur listi fyrir eval;
  • Nauðsynlegt til að virkja TLS vottorðathugun við notkun
    krulla;

  • Bætir HMAC við raðgreina hluti til að tryggja að afserialization sæki gögnin sem geymd eru af upprunalegu forritinu;
  • Biðja um skráningarham;
  • Lokað á hleðslu á ytri skrám í libxml með tenglum í XML skjölum;
  • Geta til að tengja utanaðkomandi meðhöndlun (upload_validation) til að athuga og skanna upphlaðnar skrár;

Verkefnið var búið til og notað til að vernda notendur í innviðum eins af stóru frönsku hýsingaraðilunum. Það er tekið framað einfaldlega að tengja Snuffleupagus myndi vernda gegn mörgum hættulegum veikleikum sem greindust á þessu ári í Drupal, WordPress og phpBB. Hægt væri að loka á veikleika í Magento og Horde með því að virkja haminn
"sp.readonly_exec.enable()".

Heimild: opennet.ru

Bæta við athugasemd