?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Мысленный эксперимент - morfizm


Jan. 3rd, 2018 08:26 pm Мысленный эксперимент

Интересно, а как выглядит баг в процессоре? Какая-нибудь дырка в безопасности, позволяющая злоумышленнику через user-mode процесс скачивать инфу из других процессов (утечка паролей, номеров кредиток, всего-всего)? Причём в клауд-сервисах, небось, можно будет подглядывать за серверами и данными других компаний, если они запустились на той же физической машине.

Предствим себе на минутку, что такой баг уже давно был в процессорах... Скажем, все процессоры Интел за последние 10 лет! Но при этом его только сейчас обнаружат. И, допустим, чтобы его починить, придётся пропатчить ядра всех операционок так, что комп будет на треть медленнее. Как вам такое, например, а? Взять и замедлить большинство компов на планете?

Ну ладно, оно таки случилось. На днях, тут, вот.

Хорошие новости: замедление на 30% будет не для всех. Но есть основание полагать, что многие так или иначе огребут. Интел утверждает, что замедление может быть на некоторых компьютерах от 5 до 30%, и что на скорости компов типичных домашних пользователей это не отразится. Впрочем, очень рекомендуют установить апдейты, которые выйдут в течение следующих нескольких недель.

Плохие новости: на самом деле обнаружили сразу два эксплойта, один из них в процессорах Intel и для него скоро будет готов патч операционок, а другой вообще во всех процессорах, включая ARMы (т.е. и в мобильниках тоже), и для него патча не будет, его можно починить только физически в следующих версиях железа. Ещё... я думаю, что даже если 30% замедление будет лишь для небольшого процента workload'ов, проблема в том, что оно будет внезапно и одновременно у всех. Это может нарушить работу сервисов, если стоимость железа для них внезапно увеличится на треть. (А что если не будет хватать свободных instances? Тогда вообще "труба".) В общем, есть некоторый риск глобального хаоса на отрезке в несколько недель.

Читаем новости по словам Meltdown and Spectre и наслаждаемся полётом.
Upd.: ссылок уже слишком много, так что выложу две правильные:
1. https://spectreattack.com/
2. https://googleprojectzero.blogspot.co.at/2018/01/reading-privileged-memory-with-side.html
3. https://techcrunch.com/2018/01/03/kernel-panic-what-are-meltdown-and-spectre-the-bugs-affecting-nearly-every-computer-and-device/

Парочка забавных highlights:

Can I detect if someone has exploited Meltdown or Spectre against me?
Probably not. The exploitation does not leave any traces in traditional log files.

Can my antivirus detect or block this attack?
While possible in theory, this is unlikely in practice. Unlike usual malware, Meltdown and Spectre are hard to distinguish from regular benign applications. However, your antivirus may detect malware which uses the attacks by comparing binaries after they become known.


INTC ↓6%, AMD ↑10%.
(Честное слово, я не знал про эксплойт, когда покупал AMD ;)).

Ждём следующих новостей - скажем, внезапного обнаружения, что уже 20 лет назад научились раскладывать на простые сомножители за P.

34 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:(Anonymous)
Date:January 4th, 2018 04:45 am (UTC)
(Link)
Или же Амазон и Микрософт могут безболезненно пропатчать все farms (что в принципе вероятно, но это слишком глобально и есть большая вероятность проявления законов Мерфи)

Или же грядет полный звездец масштабов того же пресловутого Екифакс хака, если пару регионов или просто каких-то сервисов патчание выведет из строя.
Фейсбук там, парочку финансовых институтов, правительственных учреждений. и в любом случае будет нехватка железа на 30%, ощутимее всего для i/o operations
Кстати, привет от нашего архитектора системы z - mainframe-то не задело (в смысле, их архитектуру процессоров). Так что покупайте себе по мэйнфрейму и живите спокойно

(from alusmeistars, я тут случайно залокался, и мой IP нафиг забанили на время)
From:morfizm
Date:January 4th, 2018 04:49 am (UTC)
(Link)
Я как раз подредактировал пост, озвучив мои опасения по поводу внезапного удорожания железа на 30% и возможной нехватки инстанцев в клауде.

Мейнфрейм не задело - Ооо!!! :)))
From:li111
Date:January 4th, 2018 07:09 am (UTC)
(Link)
Ого,что в мире творится,пока мы спим!!!
From:morfizm
Date:January 4th, 2018 07:11 am (UTC)
(Link)
Трындец подкрался незаметно, ага :)
From:metaller
Date:January 4th, 2018 07:39 am (UTC)
(Link)
Из моего опыта - софт в подавляющем большинстве случаев пишется очень неэффективно, в том числе с точки зрения performance. Многие "программисты" просто не утруждают себя этим, "ведь процы и так быстрые, а завтра будут ещё быстрее". И к сожалению их начальство тоже не парится этим. Для начальства главное регулярно выдавать на гора "результат". То, что этот "результат" глюкавый и тормознутый - не важно. Они думают так - будет действительно нужно, пофиксят. Ну или перепишут с нуля. Но потом ;)

Поэтому вот это 30% замедление останется незаметным. Не везде конечно, но в 99% случаев.
From:morfizm
Date:January 4th, 2018 07:45 am (UTC)
(Link)
Как пишут софт - не важно. Важно, что когда его scale'ят, то покупают столько железа, сколько надо для нужного объёма работы при учёте фактического performance. Да, конечно, почти любой софт можно ускорить на 30%, но (а) не сию минуту (а, местами, за год), и (б) это дорого стоит (один человеко-год это двести штук, а perf improvements нередко делают целой командой). У нас грядёт event, когда для каких-то систем требования к количеству железа могут внезапно вырасти на 42% (100/70). Это такой whoops-whoops :)
From:andreyvo
Date:January 4th, 2018 09:59 am (UTC)
(Link)
Гораздо интересней, как долго этими эксплоитами пользуются всякие black hats и прочие NSA

А еще есть такой Intel MЕ(embedded minix! в проце), и у AMD есть нечно подобное
https://habrahabr.ru/company/dsec/blog/282546/

Wonder, how deep the rabbit hole goes...
From:morfizm
Date:January 4th, 2018 11:13 am (UTC)
(Link)
Наверняка пользуются. У них же спец.отдел есть, который занимается поиском дыр. Дыра довольно очевидная. Я удивлён, что потребовалось столько лет, чтобы её обнаружить. Ведь уже крекали пароли по статистике тайминга ответа сервера, вычисляющего хэш.

Ссылка - брр. Как страшно жить.
From:birdwatcher
Date:January 4th, 2018 12:12 pm (UTC)
(Link)
Наверняка этот "баг" только по требованию NSA и внедрили в дизайн.
From:birdwatcher
Date:January 4th, 2018 11:35 am (UTC)
(Link)
Когда дело касается фермы, эффект понятен: ну, кто-то купит больше железа, кто-то из-за этого получит меньше прибыли, кто-то закроется. А если у нас real-time система, зависящая от single-threaded performance? Она уже не будет успевать управлять самолетом, или химическим заводом или атомным реактором!
From:morfizm
Date:January 4th, 2018 11:39 am (UTC)
(Link)
Для таких систем всё понятно - нефиг апгрейдить кернел какими попало апгрейдами =)
From:di_halt
Date:January 5th, 2018 05:15 pm (UTC)
(Link)
Я вот немогу понять как этот баг в реальных условиях заюзать. Только подсунуть нативно написанного на ассемблере трояна, чтобы сдернуть через кэш проца чето нужное. И то если это что то там окажется. Но кэш может быть занят мусором хреновой кучи тредов.

А если через интернет, то до проца там еще 100500 всяких абстракций и интерпритируемых языков и как вот на высокоуровневом языке написать ТАК, чтобы на неизвестной удаленной системе оно скомпилировалось именно в те инструкции, чтобы вызывать наебку проца?
From:morfizm
Date:January 5th, 2018 05:41 pm (UTC)
(Link)
Этот баг позволяет спереть содержимое памяти через запуск нативного приложения в user space (без прав админа/root'а). Т.е. это всё равно требует какой-то дополнительной дырки, чтобы это приложение запустить.

Как сдёрнуть нужное - например, имеешь базу данных разных шаблонов, и, сканируя память, проверяешь по шаблонам.
From:birdwatcher
Date:January 7th, 2018 05:37 pm (UTC)
(Link)
From:morfizm
Date:January 8th, 2018 11:07 am (UTC)
(Link)
Ё моё, это ж не +30%, а +200%!