ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
806867 Топик полностью
Николай Коровин (05.01.2018 20:40, просмотров: 356) ответил sav6622 на Уязвимость в ЦП Intel: затронуты Windows и Linux, закрытие уязвимости приведёт к падению производительности до 30%
Вот смотрю и понимаю, что чуть-чуть не сделал Абсолютно Охренительную Вещь. Помните, набрасывал тут про распространение программ на «безопасном ассемблере»? Напоминаю главное: 1) Прога приходит на юзерский комп в виде объектника, написанного на машкоде некоторой слегка абстрактной ВМ. Не совсем прямо вот универсальной и кроссплатформенной, а охватывающей целиком некоторое семейство или просто «весовую категорию» (допустим, CISC + 64bit + little-endian, или RISC + 32bit + big-endian). 2) Прога при запуске проходит повторную трансляцию «под целевой камень». При этом к соответствующим командам добавляются «ограничители», не позволяющие ей вылезать за пределы дозволенного поведения. 3) Всё, можно запускать :) нативным бинарным кодом, причём в п. 2 оптимизация чуть ли не превысит оверхед от повторной трансляции (а может, даже и превысит). Как говорила эта ваша «Руткитовская», «в небольшой виртуалке проще найти и закрыть все дыры, а там внутри пусть что хошь творится; в большой и сложной системе же всегда будут неизвестные новые дыры». Мудрая, мудрая женщина. Прости уж нас, дураков :( Но прелесть в том, что всё, что она говорила, относится к п.2 в полной мере :) Принудительно навязав проге пару jne, можно вырвать зубы у любого леопёрда и пусть бессильно пердит себе от злости, пока газ не кончится. А взамен мы получаем вместо скорости виртуалки скорость нативного кода плюс скорость оптимизации «по месту» минус повторная трансляция между близкими архитектурами минус лишние проверки тут да там. И возможность гонять нативный код там, где вообще нет средств изоляции адресного пространства либо надо изолировать функции одного процесса. Либо где изоляция нас таки подвела, как здесь и сейчас. Просто изменяем количество мер, применяемых при повторной трансляции. Надо, надо было это доводить хотя бы до работающей демки :(