Comments 17
Это не лишено оснований: скачанный из интернета файл, который первое что делает — заменяет библиотеку у системной службы, и правда может вызвать срабатывание каких-нибудь эвристик антивируса.
зачем подписывать код
…
таково требование Microsoft
Серьезно, поэтому? Вот вожжа им под хвост попала, и потребовали?
Если исполняемый код под Windows подписан, то практически в любой момент можно «запретить» его выполнение на всех компьютерах.
Кто и как это может запретить?
Так что вина за подобные инциденты в каком-то смысле лежит и на корпорации Microsoft, которая создала «единую точку отказа» для защиты от инъекций кода.
Точку отказа ЧЕГО? И в каком месте она "единая"?
разработчики операционных систем хотят получить процент прибыли от продажи программ через фирменные каталоги программ — и подталкивают всех разработчиков подписывать код.
А как вообще связано желание получить процент прибыли с подписью? Логическую цепочку можете привести?
Нет, спасибо, что в конце всё-таки написали — "обязана внедрить подпись кода для защиты от инъекции и гарантии сохранности оригинальных файлов", но и тут непременно надо было отметить, что MS хочет затащить всех в свой магазин, хотя по-прежнему неясно, какое отношение это желание имеет к цифровой подписи в целом и описываемой проблеме в частности.
Это статья для публикации в "Комсомольской правде" или на техническом ресурсе?
Поставьте на комп Crypto Pro версии примерно 3.6 и наблюдайте как в Windows перестаёт работать механизм проверки цифровых подписей у службы Windows update.
А еще можно удалить загрузчик, и винда вообще грузиться не будет. Вопрос был не об этом.
Для лучшего понимания для плюсующих это немного расшифрую, хотя вроде бы всё очевидно.
Во-первых, если в винде перестают работать отдельные службы, а в целом система грузится и работает, это означает, что "единую точку отказа", где бы она ни была, вы явно не сломали, потому что цифровые подписи винда проверяет не только "у службы Windows Update".
Во-вторых, и без всяких КриптоПро более чем понятно, что можно самыми разными способыми препятствовать работе как отдельных компонентов ОС, так и системы в целом. Пример настоящей "единой точки отказа" я даже привел. Равно как и ошибки собственно в самой винде могут привести к тому же самому. Но какое это имеет отношение к утверждению статьи о том, что MS, проверяя при загрузке драйверов их цифровые подписи, создает некую "единую точку отказа", в чем и "виновата"? :D В связи с чем "хотелось бы всё-таки услышать начальника транспортного цеха" (с) — что же это за появившаяся единая точка, много ли отказов она вызывает, и что именно отказывает и в каких ситуациях.
А вот протух он сам или ему помогли — вот это интересный вопрос.
А вы можете без намеков, прямым текстом, подробно раскрыть тему, почему этот вопрос такой интересный? Кто и с какой целью должен "помочь" этому драйверу протухнуть? Нет ли случайно у этого "кого-то" никак не связанных с цифровой подписью путей помочь в протухании? Сколько было подобных инцидентов за всё время, что в индустрии используются цифровые подписи? И, что еще интереснее, не открывает ли ОТСУТСТВИЕ цифровой подписи еще больше путей для вмешательства?
habrahabr.ru/company/globalsign/blog/350472.
Более того, из заметки напрашивается вывод, что присутствие ЦП порождает новые проблемы и не решает старых.
Опять же свидетельством имеющихся проблем, служит разброд и шатание: во всех браузерах (у каждого своя) в наличии системы валидации, независимые от ОС.
Вы уже второй раз ссылаетесь на некие факты, не имеющие отношения к обсуждаемому вопросу. Забавно, что в этот раз — на статью в этом же блоге, в техническом плане по осмысленности не сильно превосходящую нынешнюю. Причем, если вы читали еще и дискуссию, то должны были заметить, что я комментировал и ее тоже.
Краткий смысл проведенного в той статье эксперимента — "если написать новый троян и зашифровать его, то антивирусы его не обнаружат, а наличие любой ЦП снижает вероятность ложноположительных срабатываний маргинальных антивирусов". :) Почему это совершенно нормально, а также почему цифровая подпись или отсутствие таковой не имеет отношения к тому, является ли код вредоносным, объяснено в комментариях (и крайне печально, что крупная компания, чей бизнес лежит в сфере ИБ, не может объяснить это самостоятельно в статьях своего корпоративного блога, а вместо этого пишет какую-то лажу). Какое отношение всё это имеет к проверке цифровой подписи драйверов — непонятно.
из заметки напрашивается вывод, что присутствие ЦП порождает новые проблемы
У кого это вывод "напрашивается" и почему? Я уже третий раз прошу подробно рассказать про эти проблемы, без ссылок на нерелевантную информацию.
Чтобы вам было легче объяснять, я еще раз напомню, зачем эта цифровая подпись нужна. Задача номер один — гарантировать, что файл не изменялся с момента подписания. Можете попробовать отдельно объяснить, какие дополнительные проблемы вызывает наличие такой гарантии. :D
Задача номер два — определить лицо, подписавшее этот файл. Вот тут могут возникнуть нюансы.
Нюанс номер раз — попытка выдать себя за другое лицо. Например, есть компания "AAA ltd.", поставляющая некий софт. Мы генерим вполне валидный сертификат с именем "ААА Itd." и обманом заставляем пользователей поверить, что файл исходит от первой компании. Очевидно, что эта проблема актуальна только при ручной валидации человеком, а это не тот случай, который мы обсуждаем.
Нюанс номер два — скомпрометированные ключи или недобросовестный УЦ. Скажем, кто-то сопрет сертификат Броадкома и будет подписывать им модифицированные драйвера. В таком случае вредоносный код может действительно быть подписан априори доверенным сертификатом. Но тут перед нами встает вопрос — а ухудшает ли это ситуацию по сравнению со случаем, когда цифровой подписи нет вообще? И совершенно очевидный ответ — нет, не ухудшает. Потому что если бы подписи не было, у вас не было бы способа проверить валидность этого файла, и все равно пришлось бы доверять.
Теперь посмотрим, что происходит, когда внезапно обнаруживается, что кто-то распространяет фальшивые драйвера условного Броадкома. Если у нас нет цифровой подписи, предпринять что-либо на уровне ОС практически невозможно. Если же драйвера подписаны скомпрометированным ключом, то проблема решается элементарно (и весь тот цирк с проверкой сертификатов в браузерах к этому не имеет никакого отношения, потому что поведение браузеров разработчик ОС контролировать не может и не должен, а вот проверка системных файлов — совершенно другой вопрос).
Шлемы Oculus Rift почти сутки не работали из-за просроченного сертификата подписи кода