V>Продукт, имеющий потенциально незащищенные места может отлично выполнять требуемую функциональность в рамках ТЗ, и, тем самым, не являться "глючным продуктом". Разумеется, в каких-то областях логично предположить необходимость защиты даже вне рамок ТЗ, но в общем случае это не так.
Такая точка зрения имеет право на жизнь. Но по сути она является оборотной стороной другой проблемы. Той, что нынешние С++ разработчики не способны справится с валом возникающих проблем в безопасности, и вместо того, чтобы что-то кардинально поменять, ищут отмазки. Дескать, ну не можем мы без дыр, так давайте хотя бы избегать их в критичных местах, а в остальных пофиг.
Кстати, выше приводился пример с Firefox. Современный продукт, с мощной поддержкой крупнейших компаний в отрасли. В котором треть дыр можно отнести к переполнениям. Неужели эти дыры не нарушают ихнее ТЗ? А если бы "лису" писали на дотнете, их бы не было.
V>>>Где?
R>>Да везде
V>в калькуляторе windows?
Может быть

. Гарантировать их отстутвие мы не можем.
И, к вопросу отлично выполняемой функциональности. Понятно, что можно разделить весь софт на "простой" и "с повышенными требованиями". Но проблемы безопасности столь обширны и непредсказуемы, что узнать заранее, что и где вылезет, невозможно. И даже самый безобидный пользовательский софт может неожиданно стать средством взлома.
Представим такую ситуацию. Мы настраиваем рабочее место в Интернет-кафе. Чтобы пользователи не натворили дел, запрещаем запуск regedit. Но доступ к calc.exe оставляем, мало ли кому что посчитать захочется. Но: преположим, в ТЗ к калькулятору не было требования обеспечить устойчивость к атакам. Ведь его можно отнести к "прикладным математическим пакетам, не содержащего сетевых компонентов". И если в нем оставили баг с переполнением, то у посетителя появляется возможность писать в реестр все, что угодно.
Получается, мы вынуждены требовать надежности от любого софта. И если в ТЗ нет таких требований, то это скорее по незнанию, а не тщательно обдуманное решение.
V>тем не менее, если перед вами лежит тз на разработку нового браузера и в нем (тз) нет раздела про безопасность, включающего защиту от атак, это странно.
Этот раздел подразумевается неявно. Допустим, мы написали, обеспечить отображение страниц в соответствии с HTML 4.01. А в нем написано, допустим что максимальная длина тэга не может превышать 32 символа. Но это совсем не значит, что если мы встретим тэг в 100 символов, наш браузер имеет право рушится.