Snuffleupagus жобасы осалдықтарды блоктауға арналған PHP модулін әзірлеуде

Жоба аясында Мылжың дамиды PHP7 интерпретаторына қосылуға арналған модуль, қоршаған ортаның қауіпсіздігін жақсартуға және PHP қолданбаларын іске қосу кезінде осалдықтарға әкелетін жалпы қателерді блоктауға арналған. Сондай-ақ, модуль осал қолданбаның бастапқы кодын өзгертпестен нақты мәселелерді шешу үшін виртуалды патчтарды жасауға мүмкіндік береді, бұл барлық пайдаланушы қолданбаларын жаңартып отыру мүмкін емес жаппай хостинг жүйелерінде пайдалануға ыңғайлы. Модуль C тілінде жазылған, ортақ кітапхана түрінде қосылған («extension=snuffleupagus.so» php.ini-де) және таралады LGPL 3.0 бойынша лицензияланған.

Snuffleupagus қауіпсіздікті жақсарту үшін стандартты үлгілерді пайдалануға немесе кіріс деректері мен функция параметрлерін басқару үшін өз ережелеріңізді жасауға мүмкіндік беретін ережелер жүйесін қамтамасыз етеді. Мысалы, “sp.disable_function.function(“жүйе”).param(“пәрмен”).value_r(“[$|;&`\\n]”).drop();” ережесі. қолданбаны өзгертпей system() функциясының дәлелдерінде арнайы таңбаларды пайдалануды шектеуге мүмкіндік береді. Сол сияқты, сіз жасай аласыз виртуалды патчтар белгілі осалдықтарды блоктау үшін.

Әзірлеушілер жүргізген сынақтарға қарағанда, Snuffleupagus өнімділікті әрең төмендетеді. Өзінің қауіпсіздігін қамтамасыз ету үшін (қауіпсіздік деңгейіндегі мүмкін осалдықтар шабуылдарға қосымша вектор ретінде қызмет етуі мүмкін) жоба әртүрлі дистрибутивтерде әрбір тапсырманы мұқият тестілеуді пайдаланады, статикалық талдау жүйелерін пайдаланады және аудитті жеңілдету үшін код пішімделеді және құжатталады.

Мәселелер сияқты осалдықтардың сыныптарын блоктау үшін кірістірілген әдістер қамтамасыз етілген. байланысты деректерді сериялау арқылы, қауіпті PHP mail() функциясын пайдалану, XSS шабуылдары кезінде Cookie мазмұнының ағып кетуі, орындалатын кодпен файлдарды жүктеуге байланысты проблемалар (мысалы, форматта) пәр), сапасыз кездейсоқ сандарды генерациялау және ауыстыру қате XML құрылымдары.

PHP қауіпсіздігін жақсарту үшін келесі режимдерге қолдау көрсетіледі:

  • Cookie файлдары үшін «қауіпсіз» және «самесит» (CSRF қорғау) жалауларын автоматты түрде қосу, шифрлау Cookie;
  • Шабуылдардың іздерін және қолданбалардың компромисстерін анықтауға арналған кірістірілген ережелер жиынтығы;
  • мәжбүрлі жаһандық белсендіру «қатаң" (мысалы, бүтін мәнді аргумент ретінде күткенде жолды көрсету әрекетін блоктайды) және түрдегі манипуляция;
  • Әдепкі блоктау протокол орауыштары (мысалы, "phar://" тыйым салу) олардың ашық ақ тізімімен;
  • Жазуға болатын файлдарды орындауға тыйым салу;
  • Бағалау үшін ақ және қара тізімдер;
  • Пайдалану кезінде TLS сертификатын тексеруді қосу үшін қажет
    бұйралау;

  • Сериядан шығару бастапқы қолданбада сақталған деректерді шығарып алуын қамтамасыз ету үшін серияланған нысандарға HMAC қосу;
  • Тіркеуді сұрау режимі;
  • XML құжаттарындағы сілтемелер арқылы libxml ішіндегі сыртқы файлдарды жүктеуді блоктау;
  • Жүктелген файлдарды тексеру және сканерлеу үшін сыртқы өңдеушілерді қосу мүмкіндігі (upload_validation);

Жоба француздық ірі хостинг операторларының бірінің инфрақұрылымындағы пайдаланушыларды қорғау үшін жасалған және пайдаланылған. Бұл атап өтілдіSnuffleupagus-ты жай ғана қосу Drupal, WordPress және phpBB-де осы жылы анықталған көптеген қауіпті осалдықтардан қорғайды. Магенто мен Ордадағы осалдықтарды режимді қосу арқылы бұғаттауға болады
"sp.readonly_exec.enable()".

Ақпарат көзі: opennet.ru

пікір қалдыру