OberonCore
https://forum.oberoncore.ru/

Stack Overflow Attack
https://forum.oberoncore.ru/viewtopic.php?f=61&t=5365
Страница 1 из 1

Автор:  Дмитрий Дагаев [ Вторник, 17 Март, 2015 11:22 ]
Заголовок сообщения:  Stack Overflow Attack

Почему-то раньше не сталкивался с этой темой...
ПО на С/С++ имеет уязвимость при переполнении стека.
Код:
#include <string.h>
 
void vuln(const char *str)
{
  char buf[20];
  strcpy(buf, str);
}
 
int main(int argc, char *argv[])
{
  vuln(argv[1]);
  return 0;
}

При вызове с параметром более 20 символов контроля границ не происходит и перетирается поле, содержащее адрес возврата из процедуры (ибо стек растет от больших адресов к меньшим). Обычно это приводит к Segmentation Fault. Но можно сформировать такую строчку, которая перетрет адрес возврата осмысленно, чтобы вызвать потенциально вредоносное ПО "по свистку от хакера".

Способ борьбы опция -fstack-protector (там дополнительная загрузка процессора)
Цитата:
The command line flag -fstack-protector switches SSP on. -fno-stack-protector switches it off. If nothing is specified at the invocation of gcc, whether SSP is switched on or off by default depends on the system and the configuration of gcc. Some systems (like OpenBSD) switch SSP on. Others (like Debian GNU/Linux) switch it off.


Подробности в http://www.drdobbs.com/security/anatomy-of-a-stack-smashing-attack-and-h/240001832

Автор:  Александр Ильин [ Вторник, 17 Март, 2015 11:37 ]
Заголовок сообщения:  Re: Stack Overflow Attack

Дмитрий Дагаев писал(а):
Почему-то раньше не сталкивался с этой темой...
ПО на С/С++ имеет уязвимость

ПО на С/С++ имеет уязвимость? Не, не слышал.

Автор:  Роман М. [ Вторник, 17 Март, 2015 22:51 ]
Заголовок сообщения:  Re: Stack Overflow Attack

http://stackoverflow.com/a/610288

Автор:  Jordan [ Среда, 18 Март, 2015 08:02 ]
Заголовок сообщения:  Re: Stack Overflow Attack

По на си решето.

В С++ есть std::string, который не подвержен данным ошибкам.

Есть интересная книжечка, вроде защитное программирование, в ней описываются как раз данные ошибки в языке си. Но самое смешное, что в ней даётся только одно решение всех проблем. Переходить на другой язык.

Автор:  Jordan [ Среда, 18 Март, 2015 14:54 ]
Заголовок сообщения:  Re: Stack Overflow Attack

Есть подвижки в сторону, безопасности.

Автор:  Дмитрий Дагаев [ Четверг, 19 Март, 2015 08:55 ]
Заголовок сообщения:  Re: Stack Overflow Attack

Как strcpy переписать - известно, но задача состоит в правильной сборке Linux из исходников.
Jordan писал(а):

А вот это действительно очень интересно, спасибо.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/