The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Let's Encrypt перешёл к проверке с использованием разных под..."
Отправлено Ordu, 24-Фев-20 01:20 
> А вот в этом я совсем не уверен. Софт из репозиториев дебиана собран компилятором. И невозможно быть уверенным в его невредоносности, если он сам может быть собран вредоносными инструментами.

Возможно. Если отказаться от бинарной логики -- а от неё надо отказаться, потому что иначе нам про всё вообще придётся сказать "невозможно быть уверенным" -- то "быть уверенным" превращается в вероятностную оценку истинности высказывания.

> Инфицировав всех разрабов ты предотвращаешь возможность обнаружения ими компрометации.

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

> Теперь чтобы обнаружить компрометацию придётся сканить HDD неинфицированным софтом.

Это если у компилятора есть мозги, то может быть. Но у компилятора нет мозгов, в нём есть лишь алгоритмы, а алгоритмы тупые. А раз так, значит при определённых условиях они начнут творить пургу. Дальше дело лишь в частоте возникновения этих определённых условий, но эта частота будет неизбежно расти по мере роста распространённости данного компилятора.

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

Какая разница какого размера бинарь? Ты когда-нибудь ковырял непонятные баги? Тебе не случалось в процессе вваливаться в такие глубины фрустрации, когда ты начинаешь делать дурацкие изменения в коде, чтобы посмотреть как они по-дурацки же изменят поведение программы? Это уже чистой воды метод тыка: ты знаешь как программа сфейлится, если поменять "int a" на "size_t a", но ты уже ни в чём не уверен, и даже в своём знании, и поэтому всё равно берёшь и пробуешь это изменение. Если такие рандомные изменения наложатся на изменения привносимые компилятором...

Или прикинь, есть такая штука как профайлинг. Есть разные подходы к этому, но один из них -- это в рандомные моменты останавливать программу, и записывать IP (Instruction Pointer) точки останова. После этого, если мы посмотрим какие адреса попадались чаще, а какие реже, мы сможем судить о том, где и сколько времени программа потратила в процессе выполнения. Если твой компилятор не пофиксил профайлер, чтобы тот не учитывал бы адреса, по которым располагается вредоносный код, то этот вредоносный код начнёт светиться. Но профайлеры бывают разные, и бывают очень дорогие профайлеры, и люди реально платят за них. Как ты пофиксишь все?

А фаззеры? Ну вот прикинь, фаззер играется с тем, что он запихивает в программу, пытаясь найти условия, которые позволят прогонять программу по любому возможному пути выполнения. Если в программе есть вредоносная нагрузка, то фаззер (ничего не зная о вредоносности) попытается подобрать условия для активации её. Если ему не удастся, он об этом сообщит, предположив что это недостижимый код. Если ему это удастся, он начнёт подбирать условия для того, чтобы эта вредоносная нагрузка сделала бы всё, на что она способна. Тут крайне сложно не спалиться, не привнести никаких странностей в отчёт фаззера. И фаззеры, опять же, бывают разные.

Короче, чем удачнее проект по инфецированию компилятора, тем ближе этот проект к провалу.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, [email protected] (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру