Уязвимости в современных процессорах

Сильно нашумевшая и довольно неприятная история. В популярном и доступном виде о том, что это такое и что с этим делать - написано в статье издания "Медуза".

Цитата.

Использовать во вредоносных целях уязвимость Spectre сложнее, но тоже возможно. Чтобы устранить ее, придется обновлять отдельные программы. Главным образом — браузеры: благодаря Spectre можно получать доступ к пользовательским паролям; это уже обнаружили и поправили в Firefox.

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

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

Я уже много лет для этого использую Roboform. Он платный (недорогой), но зато надежный и очень продвинутый. К тому же поддерживает биоидентификацию, что можно запросто реализовать на любом компьютере с Windows, также сканер отпечатка пригодится для входа в систему.

Другое дело, что под новым Firefox 57 Roboform работает все хуже и хуже (во многих случаях перестал сохранять или вводить пароли - впрочем, это также вызвано введением новых средств идентификации во всяких банковских и прочих системах), но я пока не нашел, чем его можно заменить. Бесплатный Lastpass тестировал много раз - не подходит, так как он вообще не умеет вводить логины-пароли в специфических отдельных окнах, а у меня это используется постоянно. Avast Пароли - система страшно примитивная (при этом платная), да еще и FireFox с ней начинает дико глючить.

Так что пока альтернативы Roboform не вижу. Может, кто-то из читателей подскажет что-то более современное, крутое и надежное? Разумеется, можно платное, но только с триальным периодом. А то я за Avast Пароли уже заплатил - выкинул программу после получаса использования. Хорошо хоть деньги вернули.

07.01.2018 13:05
Комментарии 56
А для новых багов есть где-нибудь проверки?
vis
10.01.18 11:27
0
vis:
А для новых багов есть где-нибудь проверки?


На ВСЕХ х64 интелах со времен Pentium4 и заканчивая самыми последними Кофилейками есть эти баги. Думаю что и во вчерашне-анонсированых интелем новых камушках с графикой от АМД очень врядли что-то поменялось. И заплатки в ОС и браузерах не более чем временные костыли.
10.01.18 13:04
0
safeincloud попробуйте. Пользуюсь уже несколько лет.
09.01.18 10:06
0
Alex Exler: Бесплатный Lastpass тестировал много раз - не подходит, так как он вообще не умеет вводить логины-пароли в специфических отдельных окнах, а у меня это используется постоянно.

Алекс, тут разговор идёт про basic http authentication? Если не ошибаюсь, то скриншот в предыдущем посте про пароли показывал именно такой запрос логина. Хотел написать, что LastPass умеет работать с такими, если установить дополнительную десктопную аппу (просто браузерный плагин не имел доступа). Но решил погуглить про это - оказывается, в FF57+ это, естественно, отломалось. Вот обсуждение - forums.lastpass.com/viewtopic.php

Возможно, пофиксят это дело. Если интересно и это была единственная проблема LastPass - следи за развитием событий. Я же на Хроме сижу, потому мне это не актуально, там всё работает :)
08.01.18 15:11
0
Alex Exler: Бесплатный Lastpass тестировал много раз - не подходит, так как он вообще не умеет вводить логины-пароли в специфических отдельных окнах, а у меня это используется постоянно.

Алексей, а дай, пожалуйста, ссылку на один из таких сайтов. Где хитрое окно ввода. Это чисто для себя, понять где Ластпасс косячит. Вроде уже несколько лет его использую и везде адекватно себя ведет. Иногда череззабороногозадерищенско, но всегда можно было использовать.
08.01.18 14:17
0
А что тогда она показывает?
vis
08.01.18 12:57
0
А еще говорят что можно выключить в биосе все интеловские примочки типа MEI/TXEI (или не ставить драйвера для них) и успокоиться процентов на 80
08.01.18 10:21
0
Polarlight: А еще говорят что можно выключить в биосе все интеловские примочки типа MEI/TXEI (или не ставить драйвера для них) и успокоиться процентов на 80

вообще да технологии, но к этой паре уязвимостей MEI/TXEI отношения не имеют





Blackbox7: Ну и Алексанлрийская библиотека, но это так, по мелочи.

хоть кто-то точно знает что с ней случилось.
08.01.18 11:14
0
Сижу на маке с 1Password, раньше на винде использовал Password Depot и был всем доволен

www.password-depot.com/
08.01.18 01:15
0
1Password уже упоминали. Поддержу.
Да, $50 в год за семейную подписку - это не то чтобы дёшево. Но есть за что.

Подписка необязательна, но с подпиской на самом деле дешевле выходит. И много безгеморнее.

Триал имеется.
07.01.18 21:46
0
Интересно, а на мой Intel 286 процессор производства AMD эта уязвимость распространяется?
07.01.18 20:39
0
xoxol: Интересно, а на мой Intel 286 процессор производства AMD эта уязвимость распространяется?

В подобных музейных экспонатах еще не было технологий спекулятивного исполнения и предсказания переходов.
07.01.18 20:52
0
Alex Exler: В популярном и доступном виде о том, что это такое и что с этим делать - написано в статье издания "Медуза".

Медуза тоже пересказывает в основном то, о чем пишут все масс медиа. Между тем, из найденных уязвимостей только одну можно использовать на системе с амд www.amd.com/en/corporate/speculative-execution . Да и ее крайне сложно использовать, нужен линукс с ядром, собранным с поддержкой eBPF (для работы которого насколько помню нужны права суперюзера). И закрыть ее для амд будет куда проще. Вот интел конечно подставились очень здорово, я на этой волне вспомнил как интел в 94 году сели в лужу с процессором пентиум, когда неверно решалось деление чисел с плавающей точкой. И как раз после него выходит ядро P6, в котором был реализован механизм неупорядоченного спекулятивного исполнения, и последующие с текущей проблемой. Не покидает ощущение, что все это было известно давно и просто преднамеренно не закрывали. Зачем делать лишние проверки в конвейере, если проще их не делать и гнаться за производительностью, надеясь что в этот конвейер никто не влезет.
07.01.18 20:27
0
otec: Да и ее крайне сложно использовать, нужен линукс с ядром, собранным с поддержкой eBPF


Это, кажется, не так. Просто прототип, написанный Google Project Zero работает только с включенным eBPF, так как они его выбрали как функцию-жертву.

Но принципиально его наличие для реализации Bounds check bypass не требуется. Сценарии, описанные в spectreattack.com/spectre.pdf (в том числе javascript demo) работают, если я правильно понимаю, и на AMD. Ведь cache он в процессе спекулятивного исполнения вполне себе может загружать.
07.01.18 21:11
0
otec: Да и ее крайне сложно использовать, нужен линукс с ядром, собранным с поддержкой eBPF (для работы которого насколько помню нужны права суперюзера).

Распространенное ошибочное утверждение.
Насколько я понял ситуацию, имеем:
Spectre, часть 1: общая идея - за счёт опережающего (спекулятивного) выполнения заставить процессор прочитать некую память, которую он читать не должен (выход за пределы массива). При этом формально ничего не сломалось (эти операции будут признаны выполненными ошибочно и отброшены), но за того что после этой операции некие данные оказались в кеше их можно определить по ускоренному чтению. Рекомендуемый путь исполнения - предварительно натренировать предсказатель условных переходов идти по нужной ветке. И это не баг а фича именно механизмов спекулятивного исполнения и блока предсказания переходов, и ему "подвержены" все современные процессоры. Включая AMD и ARM.
И два пути эксплуатации:
а) в рамках своего процесса, например чтобы выйти за пределы ограничений JS-песочницы. Использование eBPF в Linux - именно вариант такой эксплуатации, но не обязательное требование.
б) контроль некоего тестируемого стороннего приложения - но межпроцессная эксплуатация пока выглядит больше теорией, чтобы использовать её и определить разницу в скорости чтения на сотню тактов должно сложиться слишком много условий.
Spectre, часть 2. Intel-специфичная. Во-первых, межпроцессная (см. выше часть 1б). Во-вторых, использует "особенности" предсказателя переходов для косвенных переходов, чтобы направить спекулятивное исполнение в произвольное место. В AMD этот блок работает иначе, и этот подход не срабатывает.
Т.е. основной угрозой является именно 1а, выход за рамки песочниц, позволяющий читать память своего процесса.
Meltdown принципиально похож на Spectre 1а, но из-за упрощенной проверки уровней доступа к памяти у процессоров Intel позволяет читать привилегированную память своего процесса. Для ускорения системных вызовов в 64-разрядных системах память ядра включалась в адресное пространство обычных процессов, считалось что уровни приоритетов не позволяют обычному коду туда обращаться. Но оказалось, что всё-таки можно, но только на Intel. Решение - полностью изолировать привилегированные данные от приложений, за счёт ещё большего удорожания системных вызовов. Чисто вычислительные задачи этого может и не заметят, а вот для серверных приложений и всего что активно обращается к системным функциям (включая работу с файлами и сетью) это заметно.
07.01.18 21:32
0
Есть хорошее видео на данную тему от Дмитрия Бачило -
07.01.18 19:44
0
увы, данный тип уязвимости вполне подвергает риску и робоформ (ибо он достаточно популярен) и любую иную программу, то есть выход - не пользоваться ничем, ну и, как минимум, запретить везде где можно ( и где нельзя тоже) скрипты с сайтов.

Эвристика вообще должна взять подобные скрипты, но процессора это сожрет очень много.
07.01.18 18:50
0
У roboform есть один недостаток, это закрытый код, а для менеджера паролей это принципиально на мой взгляд. Использую keepassX с синхронизацией через облако, для других устройств.
07.01.18 17:54
0
Шумихи много, но кроме самой шумихи почти ничего - никакой более-менее подробной информации, в чем суть уязвимостей и как их можно использовать. А на "медузе" таки почти не говорится о том, что это, так, "Беглым взглядом вскользь".


Вот статья с Хабра, где уже более четко переложено с понятного только техническим специалистам на более простой язык рассказано о сути уязвимости и как может быть использовано.

habrahabr.ru/post/346164/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346164

UPD
Эта статья, на Гиктаймс, на мой взгляд, получше рассказывает техническую суть в довольно понятной форме geektimes.ru/post/297029/
И позволит лучше понимать, откуда ждать подвоха.
07.01.18 17:53
0
bomber-net: Эта статья, на Гиктаймс, на мой взгляд, получше рассказывает техническую суть в довольно понятной форме geektimes.ru/post/297029/

Отличный текст !
07.01.18 18:59
0
Аналоговый блокнотик - самое оно! Ни один хакер не хакнет!
Хесус Калельевич: Рукописи не горят...
07.01.18 17:10
0
Использую 1Password. Доволен.
07.01.18 16:35
0
Кстати, интересующимся я все же очень советую осилить оригинальные статьи: meltdownattack.com/

Про Meltdown: meltdownattack.com/meltdown.pdf

Про Spectre: spectreattack.com/spectre.pdf

Я все же вторую осилил. Действительно проблема состоит в том, что описанное поведение является "нормальным" поведением процессора, багу нельзя просто так починить. Идея в том, что хорошо известны уязвимости типа buffer overflow, когда какая-то программа (например, браузер) делает array[x] и не проверяет значение x. Тогда атакующий может передать любые значения x и читать память этой программы. Но идея спектра в том, что даже если атакуемый проверяет границы массивов, то процессор в рамках спекулятивного исполнения "забегает вперед" и выполняет что-то типа array2[array1[x]]. Дизайн современных процессоров такой, что результаты этого забегания могут оставить "следы" (например, загрузить кусок памяти array2[array1[x]] в кэш).

И единственный способ защиты: закрывать все, в остальном безопасные и легитимные, функции, которыми можно организовывать такую утечку. Например, в Хроме уже нельзя было измерять время точно через Performance.now как раз для защиты от таких атак. Но авторы статьи написали свой точный таймер на новых web worker. То есть теперь это нужно будет как-то закрыть.
07.01.18 16:12
0
Я Lastpass использую.
07.01.18 15:45
0
Сам не использовал, но в различных англоязычных обзорах очень хвалят 1Password. Рекомендую попробовать.
07.01.18 15:43
0
sbat: ага, спасибо ясно, я про эту уязвимость и забыл, хотя недавно про нее шумели во всю.
07.01.18 15:34
0
Не понимаю, зачем люди себя так мучают? Попробуйте Waterfox ( www.softpedia.com/get/Internet/Browsers/Waterfox.shtml ) плюс LastPass ( addons.mozilla.org/en-US/firefox/addon/lastpass-password-manager/) !(Ни разу не было,чтобы в каком-нибудь окне пароль не ввел.)
07.01.18 14:51
0
Здесь можно проверить свой интел процессор на уязвимость.

downloadcenter.intel.com/ru/download/27150

В моем двухлетнем core i7 показывает, что все чисто.
07.01.18 14:34
0
Anarrich: Здесь можно проверить свой интел процессор на уязвимость.

downloadcenter.intel.com/ru/download/27150

В моем двухлетнем core i7 показывает, что все чисто.



Странное что-то это. Мой i5-2300, которому уже больше 3 лет и который по всем данным уязвим, тоже "чист" якобы.
07.01.18 14:50
0
к сожалению тут сейчас очень много путаницы.

Как я понимаю, конкретно этот инструмент (19 декабря) проверяет другой класс уязвимостей. Про него по-русски есть статья на хабре: habrahabr.ru/company/pt/blog/343052/

С Meltdown и Spectre ситуация, если я правильно опять же понимаю, такая:

- Meltdown чинится апдейтами операционной системы (потенциально замедляет некоторые операции)

- Spectre в принципе не чинится никак, но производителями ОС и браузеров будут приняты меры, чтобы эксплуатировать его стало труднее.
07.01.18 15:27
0
Anarrich:
downloadcenter.intel.com/ru/download/27150

В моем двухлетнем core i7 показывает, что все чисто.




На моём полуторалетнем i5-4460 @ 3.2Ghz тоже показывает, что уязвимости нет.
vis
08.01.18 12:06
0
Anarrich:
Здесь можно проверить свой интел процессор на уязвимость.

downloadcenter.intel.com/ru/download/27150

В моем двухлетнем core i7 показывает, что все чисто.




Это проверка на старый баг интела с AMT. И к новоявленным проблемам никакого отношения не имеет.
10.01.18 11:20
0
много лет сижу на lastPass - доволен.
07.01.18 13:46
0
Скорее всего мой вариант не совсем соответствует требованиям. Но я использую Keepass + plugin для Windows, который по глобальной горячей клавише (типа Ctrl-Alt-L) показывает окошко для поиска и введения пароля в любую строку в любом приложении.

Из недостатка - нет автоматического ввода. Из преимуществ - работает в любом браузере (например, если нужно что-то сделать в Opera для проверки) и в приложении (например, для монтирования диска в Vera Crypt).

Я решил, что мне так удобнее. Пароли редко приходится вводить в основном рабочем процессе: google, trello, assembla, bitbucket я сказал просто "запомнить меня" на основном компьютере. Регулярно вылогинивают банковские сервисы, сайт брокера, прочие чувствительные приложения. Но туда я не каждые пять минут хожу, и 5 кнопок не очень трудно нажать.
keepass.info/
07.01.18 13:31
0