Все ли угрозы безопасности вызваны программными ошибками?

13

Большинство угроз безопасности, о которых я слышал, возникли из-за ошибки в программном обеспечении (например, все входные данные не проверены должным образом, переполнения стека и т. Д.). Итак, если мы исключим все социальные взломы, все ли угрозы безопасности связаны с ошибками? Другими словами, если бы не было ошибок, не было бы угроз безопасности (опять же, исключая ошибки людей, такие как раскрытие паролей и тому подобное)? Или системы могут быть использованы способами, не вызванными ошибками?

gablin
источник
4
Вы называете возможность, что я мог угадать слабый пароль, программной ошибкой? Во всяком случае, это проблема дизайна, но, возможно, это даже более фундаментально, чем это.
Иоахим Зауэр
4
Вы бы определили плохой дизайн как ошибку?
StuperUser
1
Для поддержки @StuperUser в ссылке « security.stackexchange.com/questions/25585/… » нет ошибки в скрипте Дейва. Но это глупый дизайн.
Маной Р
1
Если мы исключим все причины проблем безопасности, кроме ошибок, тогда да.
andho
Соответствующий: homepage.ntlworld.com./jonathan.deboynepollard/FGA/…
Тревор Пауэлл

Ответы:

25

Ошибка определяется как программное обеспечение не работает в соответствии со спецификациями. Теперь, если спецификации неисправны, это не программная ошибка. Если тупой клиент требует, чтобы все пароли были трехзначными кодами без льготного периода между ошибочными записями, виновата не программа.

Многие системы имеют «сервисный режим», который может переопределить безопасность, и хотя доступ к нему должен быть безопасным, коды часто просачиваются в открытый доступ.

Достижения в математике ставят под угрозу старые методы криптографии. То, что было надежной безопасностью 30 лет назад, сегодня становится слабым.

Существуют различные способы кражи данных, которые часто упускаются из виду. Радиус действия беспроводной клавиатуры составляет около 2 м из-за крошечных антенн, и отправленный код не зашифрован. Считывание через дорогу с хорошей антенной - это хорошо известный метод.

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

Вся безопасность основана на доверии. Для назначенного администратора не требуется никакой социальной инженерии, чтобы стать мошенником и читать вашу почту.

И, наконец, можно ли считать применение бейсбольной битой по колено социальной техникой?

Научная фантастика
источник
2
«если спецификации ошибочны, это не ошибка». Хм, эта формулировка звучит скользко. Я бы сказал "это ошибка в спецификации" вместо этого. Когда я был тестером, я успешно представил и проверил исправления для нескольких десятков таких ошибок. И, как разработчик, я имел возможность исправить некоторые такие «технические ошибки», о которых сообщали тестеры, относительно API-документов, которые мне было поручено поддерживать ...
gnat
8
@gnat - «Ошибка в спецификации» - это не программная ошибка, а ошибка проектирования . Если, конечно, вы не могли бы проектировать как часть программного обеспечения. Все зависит от того, где вы проводите линию.
ChrisF
1
@ChrisF: Спасибо за слова, которые я хотел сказать, но не знал как. Отредактированный ответ, чтобы уточнить.
SF.
Не всегда ясно, что определенная особенность, записанная в спецификации, является ошибкой.
Док Браун
1
@DocBrown: Да - иногда требуется снижение безопасности в качестве компромисса между затратами и производительностью ...
SF.
12

Могут быть ситуации, когда аппаратные ошибки также вызывают проблемы безопасности. Просто рассмотрите неисправный чип ОЗУ, который самопроизвольно переворачивает бит isAdmin.

Или рассмотрим гипотетическую аппаратную ошибку, когда защита памяти работает не так, как ожидалось, и один процесс может перезаписать память другого процесса, не вызывая прерывания.

Для вашего удовольствия от чтения: компьютерная безопасность под угрозой из-за аппаратного сбоя

user281377
источник
Какова вероятность того, что чип оперативной памяти перевернет именно isAdmin?
m3th0dman
1
Очевидно, что он очень маленький, но если это происходит, то это поток безопасности, не вызванный программной ошибкой.
user281377
Вероятность того, что компьютерная система испортит биты прав доступа к случайным файлам, вполне возможна. Файл с возможностью глобальной записи и корневым SUID может быть легко отредактирован для повышения прав пользователей.
SF.
@ user281377 Вы понимаете, что вероятность выбора только бита isAdmin из всех битов составляет 1/34359738368 для машины с 4 ГБ ОЗУ; это, игнорируя вероятность неправильного фишки.
m3th0dman
@ m3th0dman Вы, вероятно, меня неправильно поняли. Я не говорю, что это главная проблема, о которой все должны заботиться. Это больше похоже на теоретическое доказательство того, что проблема с оборудованием может создать поток безопасности. Тем не менее, можно себе представить, что злоумышленник, обнаруживший ошибочный бит (ы) на сервере, может найти способы дополнить свой ввод, пока что-то критическое не будет помещено в эти области памяти.
user281377
6

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

ddyer
источник
Ярлык одного человека - это черный ход другого.
Даниэль Холлинрейк
5

Рассмотрим распределенную атаку отказа в обслуживании (DDOS). Это может быть угрозой безопасности, но не из-за программной ошибки, а из-за того, что злоумышленник выходит за пределы того, для чего предназначена система. И каждая система имеет предел.

Итак, ответ на ваш вопрос: нет, не все угрозы безопасности возникают из-за программных ошибок.

Питер Б
источник
Это риск для безопасности ? Это, конечно, может сломать ваш сайт, но может ли это нарушить безопасность вашего сайта?
Carson63000
1
Это зависит от того, насколько широкое или узкое ваше определение угрозы безопасности.
Питер Б
4

Социальная инженерия.

Здравствуйте, я ХХ из отдела ИТ. В настоящее время ваш компьютер распространяет вирусы на другие офисные компьютеры. Мне нужно ваше имя пользователя и пароль, чтобы иметь возможность удалить его.

Когда хакер получил имя пользователя / пароль, он может безопасно устанавливать трояны и т. Д.

Социальная инженерия может быть применена несколькими способами, и использование ее для обхода безопасности является одним из них.

jgauffin
источник
4
Вероятная причина того, что за это больше не голосуют, заключается в том, что автор явно исключил «социальный взлом».
Йоахим Зауэр
@JoachimSauer Хороший вопрос. Не видел этого
jgauffin
3

Как насчет чего-то вроде Firesheep , аддона Firefox, который ворует файлы cookie, передаваемые в общей беспроводной сети?

Вы можете утверждать, что уязвимость к таким атакам является ошибкой, но вы также можете поспорить с ней. Веб-сайт мало что может сделать, чтобы избежать компрометации пользователей, кроме как просто запустить все коммуникации через HTTPS - можете ли вы сказать, что принимать сообщения HTTP на вашем сайте - это ошибка?

Carson63000
источник
1
Я бы категоризировал решение о передаче важной, частной информации по незашифрованному носителю - ошибка проектирования. На мой взгляд, если это следует считать «программной ошибкой», это отдельное обсуждение.
Иоахим Зауэр
@JoachimSauer, что если ваш веб-сайт отказывается передавать какую-либо информацию по HTTP, и на самом деле MITM отображает HTTP на HTTPS? Хотя браузеры поддерживают HTTP, а маршрутизаторы позволяют ему проходить, существует уязвимость к сниффингу, которую могут избежать только крайне заботящиеся о безопасности клиенты. Поэтому на самом деле возникает вопрос: является ли ошибка для веб-браузеров поддержкой HTTP?
Питер Тейлор
@PeterTaylor: для этой проблемы есть HTTP Strict Transport Security , который в основном гарантирует, что браузер знает, что ваш сайт должен посещаться только через безопасное соединение. Также: спрашивающий явно исключил «социальный взлом», и в зависимости от того, что пользователь игнорирует незащищенную линию, можно считать, что он содержится в этом аспекте.
Йоахим Зауэр
@JoachimSauer Что если я просто проксирую весь трафик на сайт строгого транспорта, но разрешу HTTP-соединения обратно клиентам?
Джошуа Дрейк
@JoachimSauer: Действительно, я согласен с вами. Это неразумные решения архитектурного дизайна, которые вызывают эту уязвимость. Нет ничего неправильно реализованного в коде, что я бы назвал «ошибкой».
Carson63000
1

Да, поскольку сбой в безопасности программного обеспечения - независимо от ближайшего причины - неспособность программного обеспечения выполнить его требования.

Я принимаю, что это просто тавтология, но это мера этого.


источник
Иногда безопасность просто не (определенные) требования. И если он будет добавлен в список требований после нарушения безопасности, я бы не назвал это «ошибкой».
Йоахим Зауэр
То, что @JoachimSauer не было инициировано в начале проекта, не означает, что оно не требуется. Индустрия программного обеспечения потратила больше времени, чем моя жизнь, чтобы справиться с этим фактом.