Как стать автором
Обновить

Комментарии 28

Исходники Windows предоставлялись же ФАПСИ для прохождения сертификации. Сильно сомневаюсь, что с других поставщиков ПО этого не требовали. И тем более в США.
Но ведь в случае Open Source даже исходники предоставлять не надо. Конечно, security by obscurity (в данном случае — закрытый от спецслужб) далеко не панацея, но это +1 барьер в защите
это +1 барьер в защите

Не факт. Знание, что твои исходники будут хакать заставит внимательнее относится к качеству кода.
Думаю, Вы правы. В целом, Open Source софт показал себя как очень безопасный.
В целом, да. А в частностях есть Heartbleed.
Тю, shellshock — 22 года in the wild!
НЛО прилетело и опубликовало эту надпись здесь
Почему "вообще никак", если любой может пофиксить уязвимость и отправить pull request / сделать форк?
НЛО прилетело и опубликовало эту надпись здесь
Big Bro wathing you
Смешно получается — большой брат ВАТИТ тебя.
Security through obscurity это же дурной тон.
НЛО прилетело и опубликовало эту надпись здесь
Я с этим не согласен. Если автоматизированному софту без разницы, где искать подозрительные места, то дальше список передаётся человеку, который должен понять, можно ли тут использовать ошибку и если да, то как.

Например, софт нашёл 100500 ф-ций sprintf без проверки размера буфера. Но в одном случае это находка по адресу 0x004E71FD в процедуре 0x004E7100, а в другом — строка 7128 в ф-ции GenerateObjGUID, где исследователь только по названию ф-ции поймёт, что буфера в 64 байта достаточно под любой GUID и рыть тут больше нечего (а таких мест предстоит проверить ещё 100499)

Кроме того, огромное кол-во уязвимостей основаны на семантических ошибках — не поставили лимит на кол-во попыток входа в минуту, неправильно проверили security cookie (алгоритм никак не может знать, под что используется кука с именем id2, например). Тут только восстановление до семантики исходных кодов. Это очень трудоёмко, а исходники позволяют пропустить этот этап.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за примеры, посмотрю. Но мне казалось, что такой подход должен умереть в комбинаторном взрыве.
НЛО прилетело и опубликовало эту надпись здесь
Это решает задачу, как уронить программу на некорректных данных, но не применимо к другим примерам:

  • уязвимость в отсутствии ограничений на кол-во логинов в минуту.
  • несогласованная работа security-компонент, вызванная тем, что одна компонента неправильно проверяет куку, сгенерированную другой компонентой или не проверяет её expire time (в формальной спецификации для солвера это заложить нельзя, т.к. до анализа приложения неизвестно, что эти фичи вообще есть в приложении).

И главное. Если всё с этими солверами так хорошо, что мешает вендорам ПО их использовать? Соответственно, все проблемы, находимые солверами, будут закрыты и останутся лишь уязвимости, которые требуют понимания программы человеком.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Для старого доброго ручного анализа, почему "отсутствие исходных текстов ничего принципиально не меняет"?
Как минимум, прочитать DLL на C++ либо её декомпиляцию в IDA/XRAY — разница по времени на порядок (из-за отсутствия осмысленных наименований меток, нужно их все восстанавливать).
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории