Обсуждение:Переполнение буфера

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Межязыковые ссылки[править код]

На английской Википедии en:Stack smashing перенаправляет на en:Stack buffer overflow, и статья рассматривает этот конкретный случай. На русской Википедии такой отдельной статьи нет, а межязыковая ссылка ведёт на Переполнение стека, что в корне неверно. Я пытался исправить эту ссылку на Wikidata, но не смог это сделать, так как Buffer overflow уже ссылается на эту страницу. Ещё создал редирект Stack smashing, но это не помогло, Wikidata отреагировало на него так же, как и на саму страницу. Пока я вижу только одно решение, вынести эту часть в отдельную статью, но я этим заниматься пока не планирую. Evg-zhabotinsky (обс.) 14:04, 8 декабря 2016 (UTC)[ответить]

Программа-пример сегфолтится только на 12-ти символах кириллицы или 24-х цифрах/англ. символах (fedora 12 x64, gcc 4.4.2 20091222 (Red Hat 4.4.2-20), локаль uk_UA.UTF-8). Надо бы как-то отразить в статье.

Переполнение буфера является наиболее популярным способом взлома компьютерных систем Можно ссылку на исследование, показывающее что это _наиболее_ популярный способ взлома? Просто интересно, каким образом оценивалась популярность. По-моему, как-то крайне криво.

Иногда, переполнение буфера намеренно используется системными программами для обхода ограничений в существующих программных или программно-аппаратных средствах Факт, конечно же интересен, но... Может стоит перефразировать? Слово "иногда" заменить на "известен пример того, как...". Ведь "иногда" подразумевает регулярность и повторяемость. Здесь же мы видим единичный пример использования такого рода. А вообще, быть может стоит выделить для этого примера отдельный раздел статьи с названием "любопытные факты". Rgo 16:40, 17 мая 2010 (UTC)[ответить]

Про популярность можно просто уточнить область, техника для локального взлома, или как-то так, более популярные сходу в голову не приходят. С "иногда" и так вроде бы нормально — регулярность и повторяемость присутствует для конкретной программы. 985D83E8 08:22, 18 мая 2010 (UTC)[ответить]
Наиболее популярным методом проникновения в систему (читай взлома) остаётся авторан с флешки. Недавно McAfee отчитывался об этом. Если интересуют не десктопы, но сервера в интернете, то я верю, что наиболее распространена эксплуатация багов в php-скриптах, которые естественно ничего общего с переполнением буфера не имеют.
Тут есть два "но": 1) Проблема авторана присутствует только в определенных версиях одного семейства ОС (когда появилась не в курсе, а отключено по дефолту в висте), и от неё просто избавиться, по сравнению с сабжем. Это конечно не отменяет распространенности, но надо как-то уточнять. 2) Авторан всё-таки эксплуатация штатной функциональности, а переполнение уже нарушение нормальной работы. Тут есть статья по уязвимостям, там тема авторанов не упоминается вообще.
Насчёт повторяемости не согласен в корне. Вероятно Вы меня не поняли. Я клоню к тому, что легитимные использования техники срыва стека через переполнения буфера можно перечесть по пальцам. В статье приведён один пример. Других я не знаю. Где повторяемость? Кроме того, приведённая программа осталась в прошлом вместе с семейством операционных систем DOS. На смену пришли более сложные решения, которые требуют более стандартных решений возникающих проблем, нежели переполнение буфера. Теоретически можно было бы поискать схожие примеры на мобильных платформах, но я подозреваю что взлом смартфона происходит единожды -- для того чтобы наложить патч или просто перепрошить смарт. Не, мы конечно же можем извернуться, и назвать программы-эксплоиты с помощью которых взламывают смартфоны примерами таких системных программ. Но тут мы упрёмся в вопросы классификации софта... Не, это ваше дело конечно, но я всё же уверен, что гораздо проще заменить слово "иногда" на "известны примеры". Rgo 18:11, 20 мая 2010 (UTC)[ответить]
Да, теперь понял. Дело не моё, в смысле я не администрация, и к статье имею мало отношения ;) Других примеров тоже не знаю, замену сделал. 985D83E8 08:41, 23 мая 2010 (UTC)[ответить]

Объясните, пожалуйста, что подразумевается под термином "динамический буфер", размещаемый в стеке? Можно пример или ссылку?--212.106.54.248 13:50, 22 мая 2011 (UTC)[ответить]

А если бы стек рос вверх[править код]

В статье написано, что если стек растет вверх, сломать можно только в редких случаях (уже криво), а в английской (http://en.wikipedia.org/wiki/Stack_buffer_overflow#Stacks_that_grow_up) версии написано, что то же самое. И действительно, если буффер был выделен в стеке вызывающей меня функции, то я могу, переполнив его, перезаписать свой адрес возврата. Хотя выглядит, что с этим легче бороться. И вероятность такого события мне кажется маньшей, чем для случая с вниз растущим стеком. Но всё же не "очень редкой". Да и всё равно без исследования это выглядит голословным, в англйской википедии источник лишь показывает, что с растущим вверх стеком переполнение тоже возможно, но не говорит, что с той же вероятностью и сложностью обнаружения.