Pull to refresh

Comments 28

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

Не факт. Знание, что твои исходники будут хакать заставит внимательнее относится к качеству кода.
Думаю, Вы правы. В целом, Open Source софт показал себя как очень безопасный.
В целом, да. А в частностях есть Heartbleed.
UFO just landed and posted this here
Почему "вообще никак", если любой может пофиксить уязвимость и отправить pull request / сделать форк?
UFO just landed and posted this here
Big Bro wathing you
Смешно получается — большой брат ВАТИТ тебя.
UFO just landed and posted this here
Я с этим не согласен. Если автоматизированному софту без разницы, где искать подозрительные места, то дальше список передаётся человеку, который должен понять, можно ли тут использовать ошибку и если да, то как.

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

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

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

И главное. Если всё с этими солверами так хорошо, что мешает вендорам ПО их использовать? Соответственно, все проблемы, находимые солверами, будут закрыты и останутся лишь уязвимости, которые требуют понимания программы человеком.
UFO just landed and posted this here
UFO just landed and posted this here
Для старого доброго ручного анализа, почему "отсутствие исходных текстов ничего принципиально не меняет"?
Как минимум, прочитать DLL на C++ либо её декомпиляцию в IDA/XRAY — разница по времени на порядок (из-за отсутствия осмысленных наименований меток, нужно их все восстанавливать).
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.

Articles