ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
16 июня
237501
Evgeny_CD, Архитектор (08.02.2011 09:29, просмотров: 4006)
Алгоритмические яды-2. Необнаружимый вирус Пусть у нас будет виртуальная машина – виртуальный процессор без всякой системы безопасности, в отличие от явы. Пусть у нас будет байт-код для этой VM. Пусть у нас будет боооольшой кусок бинарного кода. Внешне пристойный. Куча функций, которые что-то делают. Стек не портят, по памяти не шарахают, все ветви проходятся. Что они делают – понять невозможно. Пусть у нас будет кусок «ламерского» кода. Где используется очень стремная арифметика указателей. Типа говнокод. Вызывает функции указанного выше куска по указателям. И иногда ошибается: указатель привели к int, что-то прибавили, затем привели к типу my_func(), а затем взяли и передали управление. И вошли мы не в стандартную точку входа, а в другую. Ранее не использовавшуюся. И вдруг кусок кода превратился в VM, а другой такой кусок – в байткод для нее. Чтобы жизнь была веселее, включаем полиморфизм – каждый экземпляр проги имеет свою VM и свой словарь байткода. Open Sourse никак нам не помешает – говорим, что это оптимизированная либа на асме, просто большая. Вот ее исходник. Какова вероятности найти чела, который читая асмовый текст, вычислит описанное выше? Неким аналогом этого являются тестовые картинки для выявления дальтонии. Если Вы не настроены видеть определенный цвет – вы никогда и не заметите скрытой картинки. Вручную такое не написать. Но за сумму ~10k$ собирается кампук: • 12 ядер, 24 потока • 1024 ядра CUDA • 1Т винч SSD, который дает 200к 4кБ транзакций/сек • Децл памяти А Python, GCC и vim ваще бесплатны…. Получаем супер вирус. Сигнатуры его не возьмут. Эвристика тоже – она просто не понимает, что искать…. Вы еще управляете своими кофемолками|атомными реакторами по интернету? Тогда свежий релиз Stuxnet http://ru.wikipedia.org/wiki/Stuxnet уже собирают. Специально для Вас. Совершенно бесплатно :) Для защиты такая штуковина тоже отлично годится. Драйвер USB ключа. В комплекте с хорошо защищенной FPGA в таком ключе особенно хорошо пойдет. «Открытая либа», мистически работающая только с нужными чипами. В общем, «нас не догонят» :)