The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Безопасность демона"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"Безопасность демона"  +/
Сообщение от Fx on 07-Окт-11, 23:09 
Здравствуйте,

Простите за глупый вопрос, но кто и что может сказать по безопасности ПЕРЕМЕННЫХ демона, если он от пользователя через веб-форму получает данные и помешает их в переменные std::string (потом даже пишет на диск). Есть ли какие-то нюансы, возможно спец. символы, которые в память нельзя записывать, чтобы целостность данных не нарушилась, чтобы демон не упал или еще хуже злоумышленник не получил доступ к диску и тд.

Если есть такие нюансы, то на что проверять данные?

Спасибо

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Безопасность демона"  +/
Сообщение от Вова on 08-Окт-11, 09:21 
> Здравствуйте,
> Простите за глупый вопрос, но кто и что может сказать по безопасности
> ПЕРЕМЕННЫХ демона, если он от пользователя через веб-форму получает данные и
> помешает их в переменные std::string (потом даже пишет на диск). Есть
> ли какие-то нюансы, возможно спец. символы, которые в память нельзя записывать,
> чтобы целостность данных не нарушилась, чтобы демон не упал или еще
> хуже злоумышленник не получил доступ к диску и тд.
> Если есть такие нюансы, то на что проверять данные?
> Спасибо

Вы не можете подать сокету для буфера std:string, буфер всегда участок памяти, соответственно необходимо контролировать размер читаемых данных.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Безопасность демона"  +/
Сообщение от Fx on 08-Окт-11, 13:35 

> Вы не можете подать сокету для буфера std:string, буфер всегда участок памяти,
> соответственно необходимо контролировать размер читаемых данных.

да, точно, если переполнить буфер, то перезапишется какой-то другой участок памяти с разными последствиями, это верно, еще раз проверю этот помент, но вроде бы реализовал чтение по 256 символов из сокета и потому добавление их к std::string т.е. все безопасно.

Еще какие-то моменты могут быть при работе с этими данными, при условии, что в buf а потом и в std::string попадают любые данные от злоумышленника.
Позже std::string не ограничено в использовании, в том числе пишется на диск.
Нужны ли дополнительные проверки где-то еще?
Т.е. я так понимаю, главное чтобы не было ситуации, что в std::string не оказался какой-то бинарный код, который неожиданно выполнится процессором.

Спасибо.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Безопасность демона"  +/
Сообщение от Вова on 08-Окт-11, 21:33 
>[оверквотинг удален]
> разными последствиями, это верно, еще раз проверю этот помент, но вроде
> бы реализовал чтение по 256 символов из сокета и потому добавление
> их к std::string т.е. все безопасно.
> Еще какие-то моменты могут быть при работе с этими данными, при условии,
> что в buf а потом и в std::string попадают любые данные
> от злоумышленника.
> Позже std::string не ограничено в использовании, в том числе пишется на диск.
> Нужны ли дополнительные проверки где-то еще?
> Т.е. я так понимаю, главное чтобы не было ситуации, что в std::string
> не оказался какой-то бинарный код, который неожиданно выполнится процессором.

Отлично, доппроверки не нужны. Хотя, конечно же, это идея - подменить репозитарий какого-либо дистрибутива, модифицировать обновление популярной библиотеки на проверку на волшебную последовательность в данных, запускать код после этого секретного тега. Но, вроде бы, такого ещё не наблюдалось)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру