Pull to refresh

Comments 31

Ну, по крайней мере, можно защититься. А вот защититься от вредоносной оромки в случае с Legacy BIOS… Причём, на большинстве десктопных мамок legacy-режим (CSM) был включён по умолчанию.

Спасибо Microsoft, которая в Windows 11 сделала EFI-загрузку обязательным требованием, иначе мы бы так и жили в этом аду.

Кто сказал что от перепрошивки вредоносом uefi можно защититься ? Есть вредоносы которые пропишут свой загрузчик в efi а вы и знать не будете. Для защиты от такого нужны другие механизмы защиты - аппаратного уровня, не перезаписываемый модуль с сертом и прошивкой будет сначала проверять подпись uefi в идеале еще проверка хэша прошивки но при обновлении он естественно поменяется, потом разрешать запуск и только потом через secure boot запуск системы.

механизма обеспечения персистентности

Это на каком языке?

"Персистентные структуры данных — это структуры данных, которые при внесении в них изменений сохраняют доступ ко всем своим предыдущим состояниям."

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

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

Почта, спам, офисные файлы(doc, pdf и другие), пиратское по, даже фильм с торрента может быть заражён, а также ужасные rce 0-day уязвимости, как пример eternalblue, cve ms17-010.

Т.е. всё??? Вообще всё? И даже оффлайн? Но это же не жизнь!

Даже фото может содержать вирус. На сайте может быть вредоносный скрипт. И тд.

Даже оффлайн. Придёт девушка лёгкого поведения в гости и заразит вирусом. Жить опасно, можно умереть.

Практически всегда заражение идёт через запуск исполняемого exe/cmd/vbs/макроса в оффисном документе. Распостранение так же либо через експлоиты. Обязательно нужно включить отображение расширений для файлов. Еще малварь распостраняют через уязвимости в том же acrobat, но вроде как реже. А уже медиа и т.п. страшные 0-day експлоиты идут по остаточному принципу. Во всяком случае я об массовых заражениях таким методом не слышал. Обычно "заразный фильм с торрента" - это исполняемый файл и фильмом там даже не пахнет. Для уязвимостей типа eternalblue нужно либо голой жопой торчать в Интернет, либо всё таки запустить вирус на одной из машин. Противодействие - НИКОГДА и ни в коем случае не отключать firewall, а всё что не должно быть доступным снаружи, должно быть им же закрыто. Если речь об предприятии (даже мелком) - разбивать на отдельные подсети всё что можно. Это даст и защиту от зловредов, и уменьшит проблемы при атаках на DHCP/MITM/флуде/петлях и т.д.

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

Ну что Вы хотите, у автора написано же, что он "Маркетолог в ИБ". Ну, вроде и ИБ, но маркетолог...

Интересно было бы посмотреть, что на это скажет, например, @CodeRush

Думаю, что-то типа habr.com/company/pt/blog/668154/#comment_24383470

По-моему, с тех пор ничего не изменилось. Ну, кроме того, что теперь на новом железе обычно CSM по умолчанию выключен, а Secure Boot включён. С релизом Windows 11 эти изменения в ченджлогах к прошивкам у каждого вендора можно было видеть. Онлайн-игры к этому тоже подталкивают. Недавно как раз консультировал пользователя, которому античит в игре сказал что-то типа «или включай Secure Boot, или я тебя не пущу» (а это в свою очередь повлекло необходимость отключать CSM, а это, в свою очередь — конвертацию системного накопителя, который использовал MBR-разметку… а конвертация не удалась по неизвестной причине, короче, пользователь словил нехилый геморрой от того, что когда-то установил систему в legacy-режиме, а установил он, разумеется, потому, что такие настройки в прошивке были по умолчанию).

Сейчас новые материнки, зачастую вообще не имеют возможности загрузки в legacy boot, нет включения csm, особенно ноутбуки. Также распространение nvme m2 дисков приводит к тому, что установка ос/загрузка с него осуществляется в efi режиме

Добавлю к уже сказанному, что к проблемам по ссылке выше недавно добавились еще и известные эксплуатируемые уязвимости в загрузчиках Windows, которые MS отказывается отзывать (при том, что загрузчики других ОС они при похожих условиях отзывали массово). Т.е. мало того, что SecureBoot и так никто не включал, кроме полутора анонимусов, так теперь еще и его конфигурация по умолчанию перестала выполнять свою основную функцию - защищать от выполнения вредоносного кода. Отлично, мужики, замечательная безопасная загрузка, и конкурсы интересные…

Мне видится проблема в том, что для Microsoft слишком много позволено и почему-то мат. платы с завода идут уже с ключами M$ в прошивке. Разве это не решается через Setup mode?

Ибо нормальные системы запускаются в любом режиме загрузки с любого типа разметки и только для MS является проблемой загрузка с гибридной MBR. Та же ubuntu 20 (а может и предыдущие версии тоже) по умолчанию создаёт на диске GPT. Если в будущем приходится переключиться - создаём раздел EFI, ставим туда загрузчик и переключаемся.

Самая надёжная защита - это аппаратная защита от записи в bios. Но это можно проделать с более старыми флешками биос, где SPI работал не в режиме QSPI, и 3й вывод (WP) можно было использовать именно для того, для чего он и был изначально разработан - для защиты от записи. В 2015 году я описывал свои эксперименты по этому поводу - если кратко: берём программатор, записываем дамп на флешку, выставляем бит защиты от записи. После записи просто подгибаем 3й вывод микросхемы на 4й (на землю), и вставляем в колодку (ну или как-то иначе, если она в SOIC/WSON корпусе, и нет длинных ножек). Всё, после этого можно пытаться как угодно софтово записать туда - ни встроенные в биос средства не могут записать, ни виндовые утилиты, содержимое остаётся исходным.

В современных биосах мало того, что сама флешка в режиме QSPI (с целью увеличения скорости считывания) и вывод защиты от записи уже нельзя использовать для защиты, так и сама прошивка сделана с расчётом на то, что она будет сохранять свои данные и параметры прямо в этой флешке, и это может помешать корректной работе.

В современных биосах это всё натыкается на известные проблемы: схема с двумя флешками (в одной прошивка, в другой настройки) увеличивает себестоимость платы (перемножая на число производимых плат получается очень внушительная сумма) и сложность обновления прошивки (каждый раз лезть отключать крыжик, блокирующий запись, затем не забывать переключить его обратно). При этом, пользователей, которым можно такую фичу продать, крайне мало. Не окупится.

И, в идеале, защита должна работать сразу из коробки, чтобы защищать подавляющее большинство пользователей. Представить себе массового пользователя, который будет лазить и переключать аппаратный переключатель на мамке, я не могу. Если такая защита будет включена по умолчанию, это приведёт к тому, что:
— большая часть пользователей, которая вообще никакие биосы не обновляет, не хочет, и ничего не знает про это, будет сидеть на старых и уязвимых биосах (сейчас, хотя бы, им можно обновления присылать через какой-нибудь Windows Update, как делает вендор моего ноутбука). Да, защищённых от перезаписи, но уязвимых. Аксиома Эскобара в действии.
— те, кто всё-таки озаботится обновить (энтузиасты) немедленно отключат защиту, которая им мешает. Это удел любой меры безопасности: если она мешает пользователю и отключается — она будет отключена, и на тысячах сайтов в интернете будет инструкция, как её отключить.
— 2,5 параноика эксперта в области безопасности будут в восторге

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

Не обязательно делать отдельную кнопку. Можно отбивать морзянкой на кнопке power sw.

При таком раскладе пусть пользователь сам и прошивку морзянкой заливает, никакого ПО не надо.

Вообще, признаюсь, я не осилил саму идею UEFI, и не понимаю почему они вместо BIOS родили такой более сложный чем BIOS комбайн вместо упрощения. Можно ведь было просто выкинуть из биос весь легаси (как выкинули когда-то бейсик и поддержку магнитофона) и добавить проверку ЭЦП загрузчика в первых секторах диска, чтобы доверенная цепочка могла быть реализована.

По факту сейчас в виде UEFI мы имеем некий аналог ОС, который никто не заинтересован поддерживать в безопасном состоянии и который стал бОльшей дырой, в отличие от старого доброго биоса, который можно было просто защитить перемычкой или паролем от перезаписи.

Если сделать просто и функционально - сложно будет загнать РСшную вольницу под вендорлок, а-ля мобильные девайсы.

А разве нельзя уже из EFLAGS извлечь IOPL и посмотреть в каком кольце защиты мы исполняемся? Вроде это всегда можно было и R/O доступ на EFLAGS не вызывает GPF.

Пишем простую прогу на ASM, которая вместо OS грузится и сообщает попала ли она в CPL0, переходит в protected mode и проверяет IDT, GDT, LDT (если есть)?

Если не попала в CPL0 то значит какой-то гипервизор висит и надо строниться такого железа.

А если кто-то умный задумает на все инструкции вызывать GPF и потом смотреть что исполнялось и пытаться подставить в возврат CPL0 так всё настолько будет тормозить, что таким железом никто не захочет пользоваться.

Поправьте меня, если я что упустил. Я изучал работу проца по замечательному четырёхтомнику от Intel i486.

UFO just landed and posted this here

Нос. Это "дыра" в безопасности.

Computrace работает следующим образом: при включении компьютера и перед запуском Windows выполняется файл autochk.exe, с которого начинается проверка логической целостности файловой системы. Создается бэкап autochk.exe, а оригинальный файл, в свою очередь, заменятся на модифицированный. При запуске модифицированного autochk.exe внедряется мини‑агент rpcnetp.exe и восстанавливается оригинальная версия autochk.exe. Задача мини‑агента rpcnetp.exe — обеспечение работы основного агента. В случаях, когда основной агент не работает, rpcnetp.exe пытается подключиться к Command and Control серверу издателя приложения Absolute Software для его скачивания и исполнения. Мини‑агент сначала дублируется, затем преобразуется в динамическую библиотеку DLL. Библиотека загружается в память, инициализирует службу работы с библиотеками svchost.exe и подгружается в него. Следующим запускается процесс работы с Internet Explorer и в него инжектируется DLL для связи через интернет. Готово, Computrace работает.

"Я извиняюсь" (с)

три раза перечитал.. но не понял...

Если все начинается до старта ОС:

Computrace работает следующим образом: при включении компьютера и перед запуском Windows выполняется файл autochk.exe,

то в какой среде выполняются EXE-шники?

Какие DLL-ки? какой svchost.exe? откуда выскочил  Internet Explorer?

я, правда, не понимаю...

UEFI построен на экзешниках вроде. Да да, прямо из биоса запускпется exe-шник.

Ок.. а по остальным? неужто и Internet Explorer там есть? :)

Sign up to leave a comment.