Pull to refresh

Comments 54

Насколько я понимаю, чуть ли не единственное место, через которое мы запускаем ежеминутно новое, свежескачанное из интернета, приложение — это скрипты в браузере. Страничку обновил — к вам приехала новая сборка кода (иногда — старая, закешированная, а иногда — нет).
Обычные приложения обновляются с гораздо меньшей скоростью, их бинарники подписываются вендорами и сторами.
Почему же все так сконцентрированы на обновлениях аж ОС и микрокода процессоров, а не браузеров?
Можно закрыть дыру на уровне ОС для всех приложений, потому так и делают. Браузеры тоже заплатками закроют, но это только часть защиты.

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

ну и отлично! меньше идиотским комментариев в единицу времени понапишите.

Вы считаете мой предыдущий комментарий идиотским?

Я тоже.
Не все программы, а только те, что…
хотя зачем повторяться, мой комментарий все равно до конца не дочитаете, как и статьи, где всё разжевано.

хотя зачем повторяться, мой комментарий все равно до конца не дочитаете, как и статьи, где всё разжевано.

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


Просадка производительности будет практически везде. Только где-то на 5% а где-то на 30%. В зависимости от того, что там за код.

Коллеги, вроде не в контактике находимся. Если тема вам интересна, то должны были прочитать и для себя явно уяснить, замедляется не весь код, а только системные вызовы. Если их не много, то общий код может замедлится на уровне погрешности измерения. В обычном приложении, системных вызовов обычно сильно меньше 1% общего кода.
Для Firefox уже вышло обновление, затрудняющее атаку, для Chrome — выйдет 23 января.

Без них — из браузера можно утащить данные, крутящиеся в самом процессе браузера, но не других программ.

Так в процессе браузера как раз самое вкусное можно накопать.

из браузера и кучи куки можно много чего утащить — wtf — кто будет ломать васю пупкина, хоть и со сбером-онлайн — я так понимаю вектор атаки " мы бедный вирус из одной горной страны, запустите меня и запостите друзьям на выполнение" на телефонах стоят виртуалки? замерить выполнение кода в озу для второй (3,4,5, й) машины? ну да — подвержены хостеры — в Wow та в чем проблема…
Вы понимаете неправильно.

На непатченном браузере всё реализуется на обычном JS.
10кк «Вась со сбером», по 10 рублей – это будет… сумасшедшие деньги!"©

не стоит недооценивать потенциальную пользу массовых уязвимостей. владельцы ботнетов подтверждают.
разработать скрипты для нее злоумышленникам будет на порядок сложнее, даже для приложений, локально работающих на iPhone или iPad. Потенциальный эксплойт может засесть только в браузере с JavaScript


Это на основании чего такое предположение?
Как мне средствами JavaScript указать какой именно адрес я хочу читать?
И как мне узнать где эти данные живут в другом процессе?
Как раз с нативным кодом, всё гораздо интересней, что под ёсей что под андрюшей.

Признаюсь armы сам ещё не пробовал, НО предполагаю, проблемы как минимум с точностью\стабильностью таймеров.
Ну и в приложениях критичных к конфиденциальности данных, авторы обычно не надеются на защиту памяти, так-что сама по себе возможность читать память им угрожает не сильно…
Это на основании чего такое предположение?

В официальном пейпере по Спектру есть код proof-of-concept на JavaScript и достаточно подробно описано, как он работает. Для обхода ограничения по таймеру пускают Web Worker, атомарно уменьшающий счетчик. Для очистки кеша вместо процессорной инструкции читают мусор из большого массива. В общем, было бы желание.

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

Как мне средствами JavaScript указать какой именно адрес я хочу читать?

Ну, я думаю, тем же способом, как и в нативном коде. Проходитесь циклом по всему адресному пространству и ищете какие-то маркеры. Чтобы знать, что конкретно искать, можно почитать исходники браузера или поработать отладчиком и дизассемблером с бинарником.
Как, мы про JavaScript говорим, там указателей каг-бэ нету :-)
proof-of-concept я читал и даже кое что пробовал вытаскивать, но это не прицельное оружие, а святой рандом и приснодева удача.

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

А с какого браузер в интерпретируемом JS позволяет выйти за пределы объявленного массива?

Сложнее всего из тех. компаний приходится Microsoft и Amazon – их гигантские облачные сервисы (AWS, Azure) и виртуальные машины под большой угрозой, и если какие-то хакеры и попытаются «оседлать» Spectre и Meltdown, одну из первых атак логично будет направить на них.

А почему Google с их Google Cloud Services в этот список не попал?

За что минус статье? Для меня эта информация была очень полезной.
Считаю, достойна большего внимания:
1. Актуально
2. С грамматикой всё в порядке
3. Содержит описание проблемы, конструктив, методы защиты.

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

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

Поставьте антивирус, особенно если у вас Android.

От данных уязвимостей — не поможет)
Напрямую не защитит. А если появится действующий эксплойт на «свободном выгуле», и будет внесен в базы антивирусов, то при появлении его на вашем смартфоне он вполне себе может быть опознан по сигнатурам.
Ну и анализ поведения тоже никто не отменял, для эксплуатации этих уязвимостей оно, судя по всему, должно быть достаточно характерное.

Именно что анализом поведения такое не ловится от слова совсем — ибо запрос куда не положено происходит в "параллельной реальности" — в отброшенной процессором ветке спекулятивно выполняемого кода. Снаружи программа ведет себя совершенно прилично.

Я имел ввиду, что распознаванию той части эксплойтов, которая действует не в «параллельной реальности», а в обычной (очистка/забивание мусором кэша и затем многократные последовательные замеры времени получения нужных данных) теоретически могут быть обучены эвристические анализаторы.
Буквально только что Apple выпустила патчи для iOS и macOS (Safari пока только в обоих случаях). То есть патч не ядра, а лишь WebKit сейчас.
Обновления на Сафари посыпались горой, на капитан ещё висит у меня обновление, но ставить его не хочу, вдруг будет замедление системы и начнёт жрать батарейку.
После обновления Safari перестал SavefromNet работать.
А есть где-то список относительно свежих смартфонов на android, производители которых уже выпустили патчи? (кроме нексусов)
А то как раз думаю, что взять и появился новый фактор в выборе.
Пока никто из крупных производителей кроме Apple и Google не выпустил. Еще выпустил Essential Phone, но это наверно не очень интересно.
UFO just landed and posted this here
Samsung в январском обновлении выпустил:
Note: In response to the disclosure of Meltdown and Spectre vulnerabilities (CVE-2017-5753, CVE-2017-5715, and CVE-2017-5754), Samsung is adding patch for CVE-2017-13218, which is provided by Google and effectively mitigates all three related CVE’s. Samsung security index (SSI) of SMR Jan-2018 Release MS includes patch for CVE-2017-13218, in addition to all patches in SMR Jan-2018 Release 1.
Но каждый индивидуальный разработчик смартфонов не быстро разработать и выпустить обновление для своей прошивки.

Перевод
около 20 лет нехорошие люди использовали этот эксплойт, пока другие люди не нашли закладку. сколько же еще таких сюрпризов кроется? и сколько наделают в новых линейках процессоров?
Странновато всё это выглядит. Уязвимость, которую крайне сложно эксплуатировать, вирусов под которую (пока?) не существует. У меня немного другое обоснование, кроме паранои. Заметил что все мои знакомые, а также в корпоративном сегменте, очень редко кто обновляет железо, потому что и так всё работает и ресурсов вполне достаточно. Это правда. В основном стационарные компы все трёх-пяти летней давности, и работаю прекрасно. Есть подозрение, что это очень не нравится интелу и амд, и решили встряхнуть рынок, заставить брать новое железо «силой». Но ладно, время покажет, где правда.
Раньше, лет 15 назад, многие апгрейдили свои компы чуть ли не каждый год, а примерно с 2013го перестали это делать, имхо.
P.S. Ну разработают новую архитектуру (или уже разработана) с более удобной уязвимостью, о которой будут знать только лишь совсем не многие, остальные узнают через 20 лет.
UFO just landed and posted this here
Кто-то уже спрашивал про названия уязвимостей? Кто их придумал? Почему они такие — Meltdown (Расплавление) и Spectre (Призрак)?
С сайта spectreattack.com
Why is it called Meltdown?
The vulnerability basically melts security boundaries which are normally enforced by the hardware.
Why is it called Spectre?
The name is based on the root cause, speculative execution. As it is not easy to fix, it will haunt us for quite some time.

Meltdown — уязвимость как бы расплавляет границы, которые обычно усиливаются аппаратными средствами.
Spectre — его первопричина это упреждающее выполнение команд(игра слов, spectre — speculative). И его непросто исправить, он будет преследовать нас(являться нам, как призрак) некоторое время.
Интересно, как дела у писателей альтернативных прошивок? Cyanogenmod, например. Есть довольно старый телефон — Asus ZE550KL, ясен пень, что на него производитель ничего уже не выпустит. А ценные данные на нём есть.
AOSP, на котором основаны альтернативные прошивки, обновления получил. Портировать их в сами прошивки должно быть не трудно.
Статья хороша тем, что показывает, как понять, уязвим ваш телефон или нет. Надо посмотреть, какой в нем процессор (и какие у процессора ядра) — на маркете или к примеру на gsmarena. Важная ссылка, которая к сожалению не приведена — developer.arm.com/support/security-update. Там табличка хорошая — Variant 1 и 2 это Spectre, variant 3 и 3а — Meltdown. Как видно, у них разные уязвимые ядра (и соответственно процессоры, из этих ядер состоящие).

Meltdown гораздо легче эксплуатировать. Именно эту уязвимость правят в первую очередь. К нему уязвимо ядро Cortex A75 и все процессоры, включающие его. Если в смарте процессор, использующий это ядро… Ну что ж, не повезло. Лучше не использовать имхо на нем браузер и ставить новые проги и обновления старых до обновления системы.

Такое впечатление, что ядра Cortex A15, A57, A72 также подвержены Meltdown, но использовать его практически достаточно сложно и патчить их не будут.

Spectre подвержены ядра Cortex R7, R8, A8, A9, A15, A17, A57, A72, A73, A75. Для них с патчами пока не понятно. Какие-то есть, но насколько они эффективны… Но они есть, соответственно тоже можно ждать обновления от производителей, а пока — как всегда — соблюдать обычную цифровую гигиену.

Также надо помнить, что подвержены также варианты ядер от Qualcomm и других производителей(Samsung, Huawei и тд.). К примеру тот же Google Pixel на Qualcomm Cryo, и раз для него уже выпущено обновление, то значит и ядро Cryo уязвимо, а это процессор Qualcomm Snapdragon 821. Другие смарты на 821м соответственно должны тоже обновится, но когда…

Важно, что Cortex A53 не подвержен ни одной из уязвимостей вроде как, что означает — множество «младших» андроидов не уязвимо в этом смысле.
Важно, что Cortex A53 не подвержен ни одной из уязвимостей вроде как

При этом в статье:
ядра ARM подвержены почти все (от Cortex-A53 и выше)

Так как в итоге?
Собственно и про «Процессоры Intel подвержены все» — написано неточно. Старые атомы, до Silvermont были in-order и уязвимости не подвержены.
Дык и celeron-ы не подвержены. Но кто ими пользоваться то будет?
Атомы вполне успешно до сих пор используются. Для пишмашинки с интернетом большего и не надо.
UFO just landed and posted this here
UFO just landed and posted this here

Был такой браузер comodo. Он в виртуале запускался. По моему он сейчас станет актуальным. Хотя, там свои уязвимости тоже есть, если не исправили.

Не поможет, потому что виртуализация там не полная. В конце концов, если уязвимость эксплуатируется из JS, запущенного в браузере, где скрипт точно работает с полной виртуализацией, то тут точно можно её использовать.
Поможет. Я уже попробовал. Там не виртуализация, а изолированный процесс (sandbox). От туда невозможно запустить новый процесс. И к стати, такая же схема получается если запускать 32-х битный браузер на 64-битной ОС. Во всяком случае в Windows.
Видимо, Вы не разобрались, как это работает. Проблема на уровне процессора, на том уровне, где не имеет значения, как именно на этом процессоре выполняется программа. Все эти песочницы и виртуальные машины изолируют процессы друг от друга логически, но пока они находятся в пределах одного логического пула микросхем памяти, уязвимость будет работать. Вопрос только большей или меньшей сложности её использования. То есть, чтобы изолировать процесс так, чтобы уязвимость не работала, его надо запускать на физически отдельном блоке памяти и на другом процессоре. Думаю, полностью обломает только выполнение на программно эмулируемом процессоре, то есть полная виртуализация. То есть проблема на уровне, по сути, взаимодействия электрических компонент — микросхемы процессора и микросхем памяти: то, что находится в свопе этой уязвимости недоступно.
Если вкратце, это уязвимости, касающиеся почти всех процессоров, выпущенных за последние двадцать лет (все чипы с ядрами Intel, AMD, ARM).

Насколько я понимаю, про AMD вы немного ошиблись geektimes.ru/post/297029/#comment_10534135
Понятно, что про qualcomm 845 ещё ни чего не известно, а что с 820? Он чудесным образом остался не уязвим?
Sign up to leave a comment.