Всякое прекрасное:
1.
Схема защиты от анализа вируса Gauss, родственника знаменитого Stuxnet’а. Вирус отловили, изучили, но понять не могут - что же он, собственно, должен делать? А не могут, потому как собственно “боевой заряд” вируса зашифрован, и расшифровывается лишь при обнаружении на машине определённой программы - какой, неизвестно.
Опуская детали, идея такова: вирус читает список путей к установленным программам. Каждый путь в списке прогоняется через одностороннюю хэш-функцию - то есть функцию, выдающую на выходе некий X, зная который нельзя узнать, что функции скормили на входе. X прогоняется через некий verification check, и если он оказывается правилен, значит, нужная прога обнаружена. Тогда X используется, чтобы расшифровать код “боевого заряда”, запустить его и сделать... что-то. Ничего доброго, очевидно.
Картинка для привлечения внимания:
Что в статье не расписано, это подробности этого самого verification check, но догадаться нетрудно: скорее всего X в свою очередь прогоняется через хэш-функцию, выдающую некий Y, а Y просто сравнивается с hard-coded значением. Аналитик может прочесть из кода, какое значение ожидается, но X это ему не даст, а он-то и есть ключ.
Просто и со вкусом. Конечно, поскольку пространство возможных значений на входе (то есть возможных путей к программам) достаточно ограничено, то его рано или поздно дешифруют. Но всё равно забавно, когда техники, затрудняющие перебор ключей, используются не инженерами “законных” систем против кракеров, а ровно наоборот. :-)
Кстати, использование путей к установленному софту в качестве ключа диктуется в данном случае чисто желанием авторов Гаусса точечно захреначить по станциям с этим самым софтом (скажем, используемым в атомной промышленности, хе-хе), не трогая остальных. Ну а так вообще-то есть много альтернатив, в зависимости от цели: серийник присутствующего железа, адрес домейн-контроллера, время на компе, или вообще нечто полученное из Интернета.
2. Вопрос желающим: что такого примечательного в этой паре сертификатов (
1 и
2), что я про них часа два читал не отрываясь? А они очень примечательны: если бы не наличие этических тормозов у группы из 7 людей, последствия их использования могли бы быть очень суровые.
Подсказка:
некий инсайт может дать команда
openssl x509 -in filename.crt -text -noout