Re[8]: Бессмысленный холивар на тему уязвимостей
От: vayerx  
Дата: 05.12.08 12:06
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Покажи мне хоть одно ТЗ, определяющее функционал АС с точностью до последнего входного сигнала и реакции на него.

АС в данном контексте — аналоговая схема, автоматизированная система, атомная станция, etc?

V>>тз бывают формальными, тз бывают педанитичными. в околоисследовательских задачах тз могут вообще не содержать конкретики.

DOO>Каким бы ни было ТЗ оно не может описать весь входной язык, все состояния автомата и функцию перехода. Это просто нереально.

it depends (c)


V>>но если в тз явно указанно, что лигитимным входом считается, например, число в некотором диапазоне в строковой форме, а программе на вход подали кусок исполнямого кода, то это можно рассматривать как выход за определение конечного автомата.

DOO>Нет-нет-нет. Еще раз — так нечестно. Входной язык в данном случае это именно любой набор сигналов, которые возможно передать в систему. ТЗ тут не при чем абсолютно.

собственно, вопрос в реакции системы на нелегитимные входные данные. с одной стороны, это нецелевое использование ПО (кухонным комбайном из катапульты) — все возможные виды воздействия предусмотреть весьма трудоемко, да не всегда нужно. с другой стороны, валидация входных данных, корректная обработка нелегитимных (и прочие меры aka defensive programming) относятся к минимально необходимому джентельменскому набору большинства ПО. имхо, минимальные требования в каждом случае зависят задачи, и абсолютно всегда требовать от софта корректности в 100% ситуаций слишком расточительно.


DOO>А почему ты все сводишь только к входным данным, причем только к тем, которые может ввести пользователь системы?


где я говорю только о пользователях системы?


DOO>У примеру, я видел уязвимость в web приложении, которая заключалась в том, что в таблицу БД складывалось значение HTTP заголовка User-Agent безо всякой предварительной фильтрации.


Это не входные данные системы?


DOO>А если речь вообще идет о каком-нибудь race condition (это тоже прокол в построении автомата)?


race condition, имхо, трудно отнести к потенциальным уязвимостям перед атаками, разве что только в некоторых случаях для DoS.


V>> если, к примеру, математический пакет падает при попытке вычислить в действительной системе корень от отрицательного числа, то это по меньшей мере "некрасиво", но если этот пакет падает, если ему подсунуть вместо аргумента для корня вместо числа в строковой форме поток бинарных данных, то это "значительно менее некрасиво" %)

DOO>Абсолютно одинаково. Если, допустим, речь идет о системе АСУ ТП, которой в результате сбоя в сети пришли искаженные данные от датчика и она помера от этого? Тут даже злого умысла не надо... Тот же clipboard приводит к тому, что приложение потенциально должно быть готово получить из него все, что угодно.

в общем-то, не спорю.
тем не менее, асутп аэс и асутп арбузорастительного комбината — разные вещи с точки зрения требований к надежности. именно минимальных требований, но, разумеется, никак не верхнего ограничения культуры разработки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.