|
|
|
| Добрый день!
В настоящий момент я занимаюсь написанием новой версии своего сайта и я более серьезно подошел к вопросам безопасности. Я хочу обсудить с вами вопрос, касающийся атак типа "переполнения буфера" для PHP скриптов.
Известно, что веб-приложения, написанные на языках, использующих статические буферы (например C/C++) могут быть уязвимы к таким традиционным бинарным атакам, как переполнение буфера. Также известно, что переполнение буфера возникает вследствие попытки программы записать в статический буфер больше данных, чем предусмотрено. Дополнительные данные переписывают и повреждают соседние блоки в памяти и могут дать возможность атакующему контролировать выполнение и внедрять произвольные инструкции.
Насколько я знаю, PHP не использует статический буфер. В таком случае, насколько по вашему мнению PHP скрипты подверженны такому виду атаки? | |
|
|
|
|
|
|
|
для: bartman
(03.09.2005 в 13:28)
| | При переполнении буфера атака производится на бинарный код, т.е. на PHP-интерпретатор. Задача защиты от такого вида атак лежит на плечах администрации хостинга и состоит в своевременном обновлении программного обеспеченья. Для PHP-скриптов характерны другие виды уязвимостей http://www.softtime.ru/info/articlephp.php?id_article=35 | |
|
|
|
|
|
|
|
для: cheops
(03.09.2005 в 13:52)
| | В случае, когда администратор сервера своевременно закрывает прорехи в используемом ПО это резко снижает возможность провести такую атаку на бинарный код, это понятно.
Что касается непосредственно PHP-скриптов, злоумышленник ведь может послать строку очень большой длины на сервер или очень большой длины переменную... Это не будет считаться атакой типа "переполнение буфера"?
Другое дело, ведь можно обеспечивать строгую типизацию и проверку данных, поступающих из форм, параметров и cookie. и это, по идее, должно преградить злоумышленнику путь, в случае если он захочет заслать что-то ОЧЕНЬ большое на сервер.
Какие ваши мнения? | |
|
|
|
|
|
|
|
для: bartman
(03.09.2005 в 14:48)
| | Переполнение буфера в базовом комплекет PHP невозможно. В сторонних модулях - нет гарантии.
Другое дело, ведь можно обеспечивать строгую типизацию и проверку данных, поступающих из форм, параметров и cookie. и это, по идее, должно преградить злоумышленнику путь, в случае если он захочет заслать что-то ОЧЕНЬ большое на сервер.
|
Это и надо делать, но не для защиты от переполнения, а для защиты всей системы. | |
|
|
|
|
|
|
|
для: bartman
(03.09.2005 в 14:48)
| | Переполнение буфера очень специфическая задача, недостаточно заслать что-то ОЧЕНЬ большое, нужно чтобы данные, которые лягут в переполненную область были соответствующим бинарным кодом... Из HTML-формы это слишком неудобно осуществлять - легче послать соответствующий HTTP запрос непосредственно обработчику...Т.е. обычно злоумышленику проще взломать сайт за счёт уязвимостей PHP-кода и затем расширять полномочия с хоста (в том числе и с применением переполнения буфера). | |
|
|
|