Ш̴̴̜̥͍͕̼̙̱͙͎͍̘̀̐̔́̾̃͒̈̔̎́́͜р̧̛̺͖͖̯̖ͧͤ͋̅̽ͧ̈̐̽̆̐͋ͤͦͬ͛̃̑͞͞и̒ͥͤͯ͂ͣ̐̉̑ͫ̉̑҉̛͏̸̻͕͇͚̤͕̯̱̳͉ͅф̴̴̡̟̞͙̙̻͍̦͔̤̞̔̓́̍͗̚͢͞ͅт̨̐ͫ̂͊̄̃ͥͪ͏̫̺͍̞̼͈̩̥̜͔͜͜ы̸̴̱̺̼̠̦͍͍͍̱̖͔̖̱͉̅͑͌͒ͫ͒̀ͥ͐ͤ̅͘̕.̵̴̡̭̼̮͖͈̙͖͖̲̮̬͍͙̼̯̦̮̮ͦ̆̀̑̌ͮͧͣͯ̔̂́͟г͌ͮ̏̈͂ͯ̚҉̛̙̬̘̲̗͇͕̠̙͙̼̩͚̀͘͞ͅо̷̥̯̘̓ͤ̽͒̋̉̀̂̄̒̓̊ͨ͛́̌ͤ̂̀͠в̶̒͒̓̏̓̚҉̛̙̘̺̰̮̼̟̼̥̟̘̠̜͜н̸̷̸̲̝͈͙̰̟̻̟̰̜̟̗͎̻̻͍̿̔̃ͨ͑о̔̀̋ͫ̇̿̐ͫ͌͗ͩ҉̨̜̙̙͈͍̮̮̼̙̘̞̕͜͡ Войти !bnw Сегодня Клубы

Привет чят. Мы тут все забыли еще об одной огроменной дыре в современном железе, которую на данный момент залатать нельзя вообще никак. Это микрокод.

Сегодня про микрокод процессоров Intel неизвестно почти нихера.

Представим себе, что приезжает на очередной microcode update и:
* несколько инструкций начинают вести себя по-другому, например, начинаются протечки данных из кэшей;
* эксепшн передает управление не туда;
* отменяется проверка привилегированности некоторых инструкций.

Непаханое поле для эксплоитов из NSA

Вот тут народ что-то ковыряет и анализирует.
http://www.securiteam.com/securityreviews/5FP0M1PDFO.html
http://inertiawar.com/microcode/

Вот здесь толково изложено что из себя вообще представляет микрокод
в современных cpu:
http://security.stackexchange.com/questions/29730/processor-microcode-manipulation-to-change-opcodes;

Рекомендовали: @corpse
#8AWXEM / @ninesigns / 4020 дней назад

>Мы тут все забыли еще об одной огроменной дыре в современном железе, которую на данный момент залатать нельзя вообще никак. Это микрокод. Я про это 100 раз говорил, но пердолики предпочитают пересобирать ядро с патчами и забывать о том что сидят на дырявом железе.
#8AWXEM/SIW / @engineer / 4020 дней назад
@engineer а на чем сидишь ты?
#8AWXEM/QMB / @ninesigns --> #8AWXEM/SIW / 4020 дней назад
@4da На чём придётся, потому что эти дряхлые ящики не стоят того чтобы их настраивать. Мы с тобой уже говорили о том что правильный путь это создание своих компьютеров, пусть на FPGA и более медленных (в 10 раз более медленных).
#8AWXEM/VY9 / @engineer --> #8AWXEM/QMB / 4020 дней назад
@engineer Ещё более правильный путь это выпуск своих чипов с массивами простых процессоров без закладок. Я посмотрел и изучил вопрос, запуск своего чипа в производстве на не самом бытром техпроцессе может стоить ~700000$ http://electronics.stackexchange.com/questions/7042/how-much-does-it-cost-to-have-a-custom-asic-made И да, от того что люди молчат в ответ создаётся впечатление что программисты это действительно такие аутистичные пердолики которые страшно боятся железа на котором работают, но при этом не могут сделать что-то своё. Казалось бы - чего такого страшного и сложного, свой компьютер вокруг ПЛИС сделать.
#8AWXEM/5P4 / @engineer --> #8AWXEM/VY9 / 4020 дней назад
не могу не поделиться
#8AWXEM/E8F / @238328 / 4020 дней назад
@engineer Уж тогда купить какой-нибудь Sun T5120 с опенсорсным OpenSPARC T2. Вон на ибее довольно дешего стоят. А вложить ~700000$ в асик, да еще и уебищный — уж точно не каждому пердолику по силам.
#8AWXEM/31K / @anonim --> #8AWXEM/5P4 / 4020 дней назад
@anonim Нет смысла в чужом процессоре, там тоже могут быть закладки, он собирается не полностью из тех исходников и неизвестно чего там ещё добавлено. >А вложить ~700000$ в асик, да еще и уебищный 130 нм техпроцесс позволяет достичь 1-2 ГГц для RISC ядра что более чем достаточно. Просто надо ОС и системный софт писать так чтобы этого хватало.
#8AWXEM/DK9 / @engineer --> #8AWXEM/31K / 4020 дней назад
@engineer Там вроде все верилоговские исходники выложены и даже больше, этого не хватает? А так ты и не знаешь, что тебе добавят, когда ты отдашь на аутсорс кому-то производство своего асика, так что единственный секурный способ — собрать все с нуля самому на своем оборудовании. >Просто надо ОС и системный софт писать так чтобы этого хватало. Как бы ты не написал ОС и системный софт, 1-2 ГГц мало, если ты собираешь не майнинг риг конечно.
#8AWXEM/QOR / @anonim --> #8AWXEM/DK9 / 4020 дней назад
@anonim Исходники (да, верилог + system verilog) и симулятор, я изучал. Но там ещё куча шагов синтеза, потом маска и производство - мало ли что там сделано до этого, до того как маски отданы на завод. >А так ты и не знаешь, что тебе добавят, когда ты отдашь на аутсорс кому-то производство своего асика Когда маска готовая её крайне трудно изменить, и там сотни миллионов деталей. >так что единственный секурный способ — собрать все с нуля самому на своем оборудовании. Да, так лучше всего, но заказать свои чип это уже значит пройти путь почти до конца. >Как бы ты не написал ОС и системный софт, 1-2 ГГц мало Глупости, просто вы там совсем уже сдвинулись со своими питонами, виртуализацией и кольцами защиты, тратите циклы вникуда. Раньше, 10 лет назад, без всего этого всё быстро и хорошо работало на 1 Ггц машинах. На что может не хватить миллиарда тактов в секунду на 16 ядрах?
#8AWXEM/UVG / @engineer --> #8AWXEM/QOR / 4019 дней назад
@engineer >Глупости, просто вы там совсем уже сдвинулись со своими питонами, виртуализацией и кольцами защиты, тратите циклы вникуда. Зато можно хуяк-хуяк и в продакшен. Виртуализация заебца, можно довольно безопасно хуярить независимые друг от друга инстансы. Циклов она не так много уже тратит, как 10 лет назад, потому что сейчас даже самый хуевый процессор поддерживает аппаратную виртуализацию. >Раньше, 10 лет назад, без всего этого всё быстро и хорошо работало на 1 Ггц машинах. То, что работало 10 лет назад, работает и сейчас на 1 ГГц машинах. Но ведь пускают-то не тоже самое. >На что может не хватить миллиарда тактов в секунду на 16 ядрах? На что может не хватать 640 Кб? // на сервер хотя бы
#8AWXEM/F86 / @anonim --> #8AWXEM/UVG / 4019 дней назад
@anonim >Зато можно хуяк-хуяк и в продакшен. Это можно и на динамических компилируемых языках, вроде Common Lisp. Они работают в 20-50 раз быстрее питона-перла-раби. Вообще с веб-приложениями пример неудачный, они IO-bound а не compute-bound. Просто так уж получилось что трёх гигагерц так много что кодерки даже не заморачиваются компилятором для своих убогих аппликух. Выродились, измельчали. >Виртуализация заебца, можно довольно безопасно хуярить независимые друг от друга инстансы Это можно и с application-level virtual machine вроде JVM, но кодерки как обычно консерваторы и полностью не перешли на них 20 лет назад когда было можно. Вот и получается идиотизм когда в инстансах на хардварной виртуализации крутится интерпретируемый (!) код, который можно было бы сделать управляемым by design, но опять же тупых кодеров на это не хватило - интерпретаторы не могут обеспечить управляемость кода который в них крутится и приходится поверх них городить программно-аппаратные комплексы виртуализации на уровне ОС. Убожество. >Но ведь пускают-то не тоже самое. Раби на рельсах, да. Веб-серверы на интерпретируемых языках. Хватит вам гигагерца, более чем, просто вы так оправдываете свой консерватизм. >на сервер хотя бы Давно бы перешли на компилируемые языки для серверного ПО.
#8AWXEM/MLE / @engineer --> #8AWXEM/F86 / 4019 дней назад
@anonim Вообще удивляюсь как OSS-программисты могли за три попытки (perl-python-ruby) так и не создать единообразного выразительного (но без perl-измов и bash-измов), пригодного для компиляции в быстрый машинный код динамического языка. Хотя может это и закономерно, потому что те кто хотели этого уже исполььзуют CL, racket и clojure.
#8AWXEM/V5N / @engineer --> #8AWXEM/F86 / 4019 дней назад
если в систему может взять и САМ приехать апдейт микрокода, то хуле там еще ломать-то.
#8AWXEM/K6T / @muromec / 4019 дней назад
@muromec апдейт один общий для всех. ты либо ставить его, либо нет. и он ОФИЦИАЛЬНЫЙ.
#8AWXEM/OHI / @ninesigns --> #8AWXEM/K6T / 4019 дней назад
@engineer > для компиляции в быстрый машинный код динамического языка Это ващет непросто. Либо там черная магия и ад как в SBCL, либо очень простой рантайм, который можно юзать с трассирующим jit. динамический язык - это гораздо сложнее в плане перфоманса, хотя возможно google://constraint propagation.
#8AWXEM/Q9I / @ninesigns --> #8AWXEM/V5N / 4019 дней назад
@4da Я, кстати, так и не нагуглил, как именно этот процесс происходит. Я должен поглядывать на сайт производителя своего процессора, чтобы не пропустить апдейт, или для этого какие-то утилитки используются, или апдейты впиливаются в ядро и мне вообще шевелиться не нужно?
#8AWXEM/Z4M / @minoru --> #8AWXEM/OHI / 4019 дней назад
@4da ну и не ставь, если у тебя кругом враги. какая проблема, лолка?
#8AWXEM/7UB / @muromec --> #8AWXEM/OHI / 4019 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.