Лоиҳаи Snuffleupagus як модули PHP-ро барои бастани осебпазирӣ таҳия мекунад

Дар доираи лоиҳа Нафас рушд карда истодааст модул барои пайвастшавӣ ба тарҷумони PHP7, ки барои беҳтар кардани амнияти муҳити зист ва бастани хатогиҳои умумӣ, ки боиси осебпазирӣ дар иҷрои барномаҳои PHP мешаванд, тарҳрезӣ шудааст. Модул инчунин ба шумо имкон медиҳад, ки часбҳои виртуалӣ барои ислоҳи мушкилоти мушаххас бидуни тағир додани рамзи ибтидоии замимаи осебпазир эҷод кунед, ки барои истифода дар системаҳои хостинги оммавӣ қулай аст, ки дар он ҷо нигоҳ доштани ҳама замимаҳои корбар имконнопазир аст. Модул дар C навишта шудааст, дар шакли китобхонаи муштарак пайваст карда шудааст (“extension=snuffleupagus.so” дар php.ini) ва паҳн мекунад тибқи LGPL 3.0 литсензия шудааст.

Snuffleupagus системаи қоидаҳоро пешниҳод мекунад, ки ба шумо имкон медиҳад қолабҳои стандартиро барои беҳтар кардани амният истифода баред ё қоидаҳои худро барои назорати додаҳои воридотӣ ва параметрҳои функсия эҷод кунед. Масалан, қоидаи "sp.disable_function.function("система").param("фармон").value_r("[$|;&`\\n]").drop();" ба шумо имкон медиҳад, ки истифодаи аломатҳои махсусро дар аргументҳои функсияи система () бидуни тағир додани барнома маҳдуд кунед. Ба ҳамин монанд, шумо метавонед эҷод кунед часпакҳои виртуалӣ барои бастани осебпазирии маълум.

Мувофиқи санҷишҳои аз ҷониби таҳиягарон гузаронидашуда, Snuffleupagus иҷроишро кам мекунад. Барои таъмини амнияти худ (зафиятҳои эҳтимолӣ дар қабати амният метавонанд ҳамчун вектори иловагӣ барои ҳамла хизмат кунанд), лоиҳа санҷиши ҳамаҷонибаи ҳар як супоришро дар тақсимоти гуногун истифода мебарад, системаҳои таҳлили статикиро истифода мебарад ва код барои содда кардани аудит формат ва ҳуҷҷатгузорӣ карда мешавад.

Усулҳои дарунсохт барои бастани синфҳои осебпазирӣ, ба монанди мушкилот, связанные бо силсилаи маълумот, хатарнок истифодаи функсияи PHP mail(), ихроҷи мундариҷаи кукиҳо ҳангоми ҳамлаҳои XSS, мушкилот бо сабаби боркунии файлҳо бо рамзи иҷрошаванда (масалан, дар формат фар), сифати пасти тавлиди рақамҳои тасодуфӣ ва иваз кардан конструксияҳои нодурусти XML.

Барои баланд бардоштани амнияти PHP усулҳои зерин дастгирӣ карда мешаванд:

  • Ба таври худкор парчамҳои "бехатар" ва "самесит" (ҳифзи CSRF) барои кукиҳоро фаъол созед, рамзгузорӣ куки;
  • Маҷмӯи қоидаҳои дарунсохт барои муайян кардани нишонаҳои ҳамлаҳо ва созиши барномаҳо;
  • Фаъолсозии маҷбурии глобалии "қатъии" (масалан, кӯшиши муайян кардани сатрро ҳангоми интизории арзиши бутун ҳамчун аргумент блок мекунад) ва муҳофизат аз манипуляцияи намуди;
  • Бастани пешфарз бастаҳои протокол (масалан, манъ кардани "phar://") бо рӯйхати сафеди онҳо;
  • Манъи иҷрои файлҳои навишташаванда;
  • Рӯйхати сиёҳ ва сафед барои арзёбӣ;
  • Барои фаъол кардани санҷиши сертификати TLS ҳангоми истифода зарур аст
    поймол кардан;

  • Илова кардани HMAC ба объектҳои сериализатсияшуда, то боварӣ ҳосил кунад, ки бесериализатсия маълумотҳои аз ҷониби замимаи аслӣ ҳифзшударо барқарор мекунад;
  • Реҷаи сабти дархост;
  • Бастани боркунии файлҳои беруна дар libxml тавассути истинодҳо дар ҳуҷҷатҳои XML;
  • Имконияти пайваст кардани коркардкунандагони беруна (upload_validation) барои тафтиш ва скан кардани файлҳои боршуда;

Лоиҳа барои муҳофизати корбарон дар инфрасохтори яке аз операторони бузурги хостинги фаронсавӣ сохта ва истифода шудааст. Қайд карда мешавадки танҳо пайваст кардани Snuffleupagus аз бисёр осебпазириҳои хатарноке, ки имсол дар Drupal, WordPress ва phpBB муайян шудаанд, муҳофизат мекунад. Осиятҳо дар Magento ва Horde метавонанд тавассути фаъол кардани режим баста шаванд
"sp.readonly_exec.enable()".

Манбаъ: opennet.ru

Илова Эзоҳ