Право подписи – кому можно верить?
dushanba, 16-noyabr, 2020
Составлять документы в компаниях, как правило, могут многие (если не все) менеджеры, а вот право их подписи обычно есть не у всех – а лишь у тех, кто берет на себя ответственность за решения, озвученные в подписываемых документах. И это логично. Схожая ситуация прослеживается и когда речь идет о программном обеспечении.
Создать программу, в том числе и вредоносную, может любой. Существуют даже курсы, авторы которых обещают научить создавать вредоносные программы. Пользователь не может быть уверен в том, что присланная ему программа не несет вредоносной функциональности. А хотелось бы гарантий!
В случае ПО такую гарантию могут дать электронные подписи. Они удостоверяют подлинность программы, подобно подписи нотариуса на документе. Такие подписи свидетельствуют, в частности, что программа не была изменена с момента подписания, сохранила свою целостность, в нее не был внедрен некий (возможно, вредоносный) код. Требование наличия подписи у программ накладывает на их разработчиков определенные обязательства и требует определенных затрат, но это окупается дополнительной безопасностью пользователей.
Проверять электронную подпись может и операционная система при старте программы, и другое ПО – в частности, антивирус Dr.Web.
И есть достаточно интересный нюанс. Именно тот, кто проверяет подпись, решает, что делать с подписанным файлом дальше.
Например, MS Windows проверяет наличие подписи у загружаемых драйверов. Дело нужное, не спорим. Так как, загрузив драйвер, злоумышленник или вредоносная программа потенциально могут делать в системе все что угодно.
Но недостаточно понять, не изменен ли файл с момента подписи, – важно выяснить, можно ли доверять тому, кто его подписал. Скажем, компания «Майкрософт» поступила радикально и прекратила поддержку всех сторонних корневых сертификатов с возможностью подписи в режиме ядра. Существующие сертификаты с возможностью подписи кода режима ядра будут работать до истечения срока их действия, после чего станут недействительными. Теперь, чтобы подписать драйвер, нужно зарегистрироваться в программе Windows Hardware Dev Center.
Ничего, кстати, не напоминает? Бессмертное «Никому верить нельзя. Мне можно».
С одной стороны, шаг правильный: компания берет на себя ответственность. С другой – она же может регулировать доступ к системе подписания. И в любой момент решить (или за нее решат, включив некие санкции, которые компания должна будет исполнять), кто имеет право работать в операционной системе, а кто – нет. Страшноватенько.
«Все разработчики, которые хотят, чтобы их драйверы режима ядра были включены в Windows, должны следовать процедурам, изложенным группой разработчиков оборудования Microsoft».
Что касается обычных исполняемых файлов, то для большинства коммерческого ПО исполняемые файлы имеют цифровые подписи. Можно привести простой пример. Если пользователь ищет некую программу в Интернете, то не факт, что первым в выдаче окажется сайт ее разработчика. И далеко не факт, что предложенная для скачивания программа будет оригинальной, а не модифицированной злоумышленниками. И в этом случае хорошо бы вмешаться операционной системе.
По умолчанию ОС Windows на этапе запуска приложений, требующих повышенных привилегий, проверяет достоверность подписи посредством UAC (контроля учетных записей). При этом при недействительной подписи система никак не ограничивает запуск, а лишь помечает, что издатель запускаемой программы неизвестен.
Если же модифицировать исполняемый файл, запускаемый без UAC (например, Chrome.exe), то система, настроенная по умолчанию, и вовсе никак не отреагирует на это изменение, несмотря на уже недействительную цифровую подпись. Чтобы вручную проверить достоверность цифровой подписи файла, необходимо заходить в отдельную вкладку в его свойствах и просматривать сертификат.
Таким образом, ОС никак не ограничивает запуск модифицированных (в том числе злоумышленниками или вредоносной программой) исполняемых файлов, оставляя решение на откуп пользователю.
Что в большинстве случаев сделает пользователь, увидев предупреждение о попытке запуска не имеющего подписи файла, если он только что был загружен? Правильно – нажмет кнопку ОК. Если перед этим вообще не отключил контроль учетных записей.
#Windows #Андроид #антивирус #ответственность #цифровая_подпись
Антивирусная правДА! рекомендует
Должна ли идеальная система сигнализировать об измененном исполняемом файле, тем самым повышая осведомленность пользователя и стимулируя разработчиков выпускать подписи? Или же ОС по умолчанию должна давать максимум свободы пользователю, позволяя ему решать, нужна ли ему безопасность ценой настроек и предупреждений?
Так сложилось, что Windows оставляет безопасность на усмотрение пользователей. Как было сказано выше, операционная система практически не ставит преград для запуска файлов, имеющих недействительную цифровую подпись, а единственным предупреждением выступает UAC, который также напрямую не запрещает запускать модифицированные файлы.
И еще одна проблема. Можно ли положиться только на наличие действительной подписи? Скорее всего нет. Пользователь не знает, кто и как подписал файл.
Пример – Trojan.ShadowHammer. Криминальная группировка украла подпись и подписала ей зараженный исполняемый файл одного очень известного вендора. Файл скачивался с официального сайта, а в нем присутствовал вредоносный код. Подпись считалась действительной до момента обнаружения этого факта. Затем вендор отозвал сертификат.
Подписи являются существенным фактором в плане обеспечения безопасности, но все же не дают 100% ее гарантии. При определенных обстоятельствах модификация файла (то же заражение вирусом) потенциально не повлияет на сохранность подписи. Например, могут эксплуатироваться уязвимости в компонентах ОС или программах, которые контролируют целостность подписи. В качестве примера можно привести относительно свежую уязвимость Windows CVE-2020-16922 (патч вышел в октябре), когда злоумышленники могли использовать валидный подписанный архив-инсталлятор MSI и «склеивать» его с вредоносным файлом, сохраняя при этом действительную цифровую подпись. Подпись есть, но она касается части файла (подробнее об этом).
Другой пример – на Android. Для этой ОС одну из таких уязвимостей, позволяющих модифицировать файлы и не затрагивающих подпись, обнаружили наши специалисты).
Так что рекомендуем использовать антивирус. Любой файл должен проверяться и при скачивании, и при запуске. Нельзя полагаться на то, что операционная система не даст запуститься измененному злоумышленниками файлу.
Нам важно ваше мнение
Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.
Комментарии пользователей
mbGod88
03:03:45 2021-01-26
Aлхимон777
20:34:01 2020-11-18
Karnegi
19:13:15 2020-11-17
Lia00
00:47:57 2020-11-17
vkor
00:26:30 2020-11-17
Альфа
23:53:37 2020-11-16
Денисенко Павел Андреевич
20:53:28 2020-11-16
Геральт
20:26:47 2020-11-16
matt1954
18:15:39 2020-11-16
Masha
17:37:41 2020-11-16
L1t1um
17:25:43 2020-11-16
Татьяна
16:31:53 2020-11-16
Sergey
16:00:51 2020-11-16
Неуёмный Обыватель
15:30:28 2020-11-16
"Доступ к веб-ресурсам может быть ограничен, если на устройстве не установлены надлежащие сертификаты. Именно это произойдёт с относительно старыми смартфонами Android в следующем году."
"Некоторое программное обеспечение, которое не обновлялось с 2016 года, по-прежнему не доверяет нашему корневому сертификату ISRG Root X1. Прежде всего, сюда входят версии Android до 7.1.1. Это означает, что старые версии Android больше не будут доверять сертификатам, выданным Let’s Encrypt»
Let's Encrypt прекратит перекрёстную подпись по умолчанию, начиная с 11 января 2021 года
https://3dnews.ru/1024871/v-2021-godu-mnogie-sayti-perestanut-rabotat-na-android-71-i-bolee-starih-os
Вот тебе и сертификаты, вот тебе и электронная подпись... Надобно обновляться.
anatol
15:08:43 2020-11-16
anatol
15:05:20 2020-11-16
achemolganskiy
13:36:55 2020-11-16
vinnetou
13:24:00 2020-11-16
Alexander
10:52:56 2020-11-16
Право подписи - это одно из прав и правил хозяина основного программного обеспечения рабочей среды. Поэтому, дать право подписи, лишить (отозвать) таковое или запретить действовать в своих владениях - это нормальная ситуация нашего общества, в том числе и виртуального около компьютерного.
На вопрос: "Должна ли идеальная система сигнализировать об измененном исполняемом файле, тем самым повышая осведомленность пользователя..." я отвечу "Да". Именно, и в основном, - лишь для "повышения осведомлённости" пользователя. Но не для возложения ответственности на него за действия по "неподписанному" файлу. Система и программы сложны и быстры для осознанного реагирования на непредвиденные инциденты человеком-пользователем. Для реального реагирования, на мой взгляд, необходим оппонент равной весовой категории. Такой как, например, Dr.Web Security Space.
P.S. Вот интересно, по какой причине изменилось оформление выпусков? Было: "Dr.Web рекомендует", стало: "Антивирусная правДА! рекомендует". Имеет ли это отношение к праву подписи под рекомендациями статьи?
GREEN
10:05:45 2020-11-16
Ну что ещё можно добавить к этому?
Пожалуй, только вовремя устанавливать обновления на ОС и антивирус, делать бэкапы и ... немного паранойи, не помешает :)
orw_mikle
10:04:08 2020-11-16
Alex Kad
09:13:15 2020-11-16
DrKV
08:59:54 2020-11-16
======
@admin: "..касается части файла (подробнее об этом)." - PAGE NOT FOUND!
Vlad X
08:42:01 2020-11-16
Zserg
08:15:48 2020-11-16
Пaвeл
07:55:59 2020-11-16
tigra
07:35:24 2020-11-16
Любитель пляжного футбола
07:07:23 2020-11-16
Предупреждать операционная система должна, а уж решение принимает пользователь, что и каким боком устанавливать, :) и несёт за него ответственность.
Если бы ОС строила серьёзные препятствия для запуска не имеющих действительную цифровую подпись файлов, то, возможно, были бы проблемы при установке пиратских программ. А также устаревших версий легальных программ. Впрочем, тоже решаемые.
Slava90
06:48:41 2020-11-16
ka_s
06:44:57 2020-11-16
Morpheus
04:55:54 2020-11-16