вирус в оброботчике SMI? _незаметный_ ? это когда процу обнуляют кэш и регистры а потом восстанавливают? это будет пипец как незаметно, только ваш core 2 duo станет очень похож на i286 по производительности
Открою вам страшный секрет: сейчас у вас в SMM трудится абсолютно незаметный для системы обработчик, который управляет множителем процессора, оборотами вентиляторов и т.д. И даже работа юсб клавиатуры до загрузки оси - тоже заслуга SMM.
основная ось в sandbox? а драйвера к виртуальным девайсам вы в комплекте поставлять будете? или может быть вы знаете как незаметно поделить аппаратные ресурсы? да и менеджер сандбокса в BIOS в качестве вируса - это тоже круто
А зачем - виртуальные девайсы? Никто ведь не мешает давать доступ ко всем реальным девайсам... ну кроме, скажем, IDE/SATA контроллера. А обращения к нему - перехватывать и фильтровать. Либо - всего-то внедрить в ядро классический руткит... Сложно (ибо прийдется копаться в недрах ядра), но отнюдь не невозможно.[/off]
вот руткит - да, и бэкдор-сервис - да, а остальное - фантазии
и еще, нельзя ли мне реальный пример сандбокса, который дает доступ к аппаратным ресурсам и вдобавок - выборочно? а то как-то VMWare тормозит со своей чертовой эмуляцией, а так хотелось бы запустить пару-тройку программ, чтоб они не могли догадаться друг о друге и чтоб каждая со своего IP смотрела в мир, но юзала нормально мою видеокарту и звуковуху
кстати с сандбоксом у пользователя будет на 1 ядро меньше в системе, это конечно не слайдшоу, но заметить можно
в догонку: а вы не путаете наличие обработчиков SMI с их работой?
упомянутые обработчики получают управление в результате аппаратного SMI-call от материнки - перегрев процессора, резкое изменение значений на счетчике оборотов вентилятора, запрос на переход в энергосберегающий режим по ACPI - во всех этих и подобных случаях будет наблюдаться кратковременный фриз системы, вдобаок на это отводится жесткий интервал времени - превышение его может вызвать крах операционки.
а теперь представим себе с какой частотой придется дергать за програмное SMI (кстати оно отслеживается) той части вируса, которая будет жить в операционке, для полноценного функционирования и отслеживание обращений к дискам
можно конечно программно перегревать проц, чтоб смодулировать аппаратный SMI-call
Пока все смеялись, аффтар гуглил, это он молодец, узнал несколько новых слов типа SMI, SMM, "виртуализация" и вышел на следующий после INT10/13 уровень представления о предмете. Теперь ему стоит еще раз перечитать все 3 части статьи для понимания описанных там возможных принципов работы "бирусов".
Да, и где у нас там кино отца-основателя про эксперименты с обработчиком SMI?
и еще, нельзя ли мне реальный пример сандбокса, который дает доступ к аппаратным ресурсам и вдобавок - выборочно?
Ниже ring0 я лично не копал, т.к. подзабросил низкоуровневое программирование железа эдак в начале 2000х, но вот для vm86 такой пример вполне себе реально существует - emm386, и патченная его версия успешно пользовалась для эмуляции PC3K карточки. Асины утилиты спокойно себе работали на несуществующем фиизчески устройстве с портами 100h-107h :) Вот - хороший пример из вики по эмуляции несуществующих девайсов, но уже средствами SMM. Кстати, работающий.
кстати с сандбоксом у пользователя будет на 1 ядро меньше в системе, это конечно не слайдшоу, но заметить можно
С какой такой радости? :) Не путайте гипервизор с резидентным эмулятором железа.
упомянутые обработчики получают управление в результате аппаратного SMI-call от материнки - перегрев процессора, резкое изменение значений на счетчике оборотов вентилятора, запрос на переход в энергосберегающий режим по ACPI - во всех этих и подобных случаях будет наблюдаться кратковременный фриз системы, вдобаок на это отводится жесткий интервал времени - превышение его может вызвать крах операционки.
Упомянутые обработчики работают как раз по таймеру (во всяком случае - отвечающие за управление множителем/вентилляторами). И интервал времени им, насколько я знаю, не отводится, и оси глубоко все равно, сколько они выполняются - разве что отдельные куски кода типа хитрожелтых защит программ, пользующих RDTSC для определения наличия отладчика, могут капризничать.
а теперь представим себе с какой частотой придется дергать за програмное SMI (кстати оно отслеживается) той части вируса, которая будет жить в операционке, для полноценного функционирования и отслеживание обращений к дискам
С какой радости SMI будет программным? Полноценное аппаратное SMI при обращении к определенному диапазону портов...
Иначе, как промышленный шпионаж домогания гостя я не назову!
упомянутые обработчики получают управление в результате аппаратного SMI-call от материнки - перегрев процессора, резкое изменение значений на счетчике оборотов вентилятора, запрос на переход в энергосберегающий режим по ACPI, события на USB-шине - во всех этих и подобных случаях будет наблюдаться кратковременный фриз системы, вдобаок на это отводится жесткий интервал времени - превышение его может вызвать крах операционки.
100% согласен. Все правда, все так и есть! Я только, с Вашего разрешения, добавил буквально пару-тройку слов про USB : - )
ну давайте поржом вместе
функции BIOS убоги по определению
Давай поржем! Особенно после того, как получим от Вас ссылку на это самое определение : - )
Уважаемые перед вами 100% интернет-тролль. Почему модератор сразу не забанил? Ну ладно бы он срал там, где сам спрашивал, а то ведь образовательные статьи на ромбе не только постоянные жители сайта читают. Извините за разговор не по делу.
[off]Этот кусок был специально отделен от основного потока обсуждения для издевательств над отдельно взятым "гостем". В начале темы и в сопроводительной ссылке это указано прямым текстом :D.
Да и банить "гостя" в общем-то не надо - все, что он напишет, можно отфильтровать.[/off]
Открою вам страшный секрет: сейчас у вас в SMM трудится абсолютно незаметный для системы обработчик, который управляет множителем процессора, оборотами вентиляторов и т.д. И даже работа юсб клавиатуры до загрузки оси - тоже заслуга SMM.
А зачем - виртуальные девайсы? Никто ведь не мешает давать доступ ко всем реальным девайсам... ну кроме, скажем, IDE/SATA контроллера. А обращения к нему - перехватывать и фильтровать. Либо - всего-то внедрить в ядро классический руткит... Сложно (ибо прийдется копаться в недрах ядра), но отнюдь не невозможно.[/off]
и еще, нельзя ли мне реальный пример сандбокса, который дает доступ к аппаратным ресурсам и вдобавок - выборочно? а то как-то VMWare тормозит со своей чертовой эмуляцией, а так хотелось бы запустить пару-тройку программ, чтоб они не могли догадаться друг о друге и чтоб каждая со своего IP смотрела в мир, но юзала нормально мою видеокарту и звуковуху
кстати с сандбоксом у пользователя будет на 1 ядро меньше в системе, это конечно не слайдшоу, но заметить можно
упомянутые обработчики получают управление в результате аппаратного SMI-call от материнки - перегрев процессора, резкое изменение значений на счетчике оборотов вентилятора, запрос на переход в энергосберегающий режим по ACPI - во всех этих и подобных случаях будет наблюдаться кратковременный фриз системы, вдобаок на это отводится жесткий интервал времени - превышение его может вызвать крах операционки.
а теперь представим себе с какой частотой придется дергать за програмное SMI (кстати оно отслеживается) той части вируса, которая будет жить в операционке, для полноценного функционирования и отслеживание обращений к дискам
можно конечно программно перегревать проц, чтоб смодулировать аппаратный SMI-call
Да, и где у нас там кино отца-основателя про эксперименты с обработчиком SMI?
Ниже ring0 я лично не копал, т.к. подзабросил низкоуровневое программирование железа эдак в начале 2000х, но вот для vm86 такой пример вполне себе реально существует - emm386, и патченная его версия успешно пользовалась для эмуляции PC3K карточки. Асины утилиты спокойно себе работали на несуществующем фиизчески устройстве с портами 100h-107h :)
Вот - хороший пример из вики по эмуляции несуществующих девайсов, но уже средствами SMM. Кстати, работающий.
С какой такой радости? :) Не путайте гипервизор с резидентным эмулятором железа.
Упомянутые обработчики работают как раз по таймеру (во всяком случае - отвечающие за управление множителем/вентилляторами). И интервал времени им, насколько я знаю, не отводится, и оси глубоко все равно, сколько они выполняются - разве что отдельные куски кода типа хитрожелтых защит программ, пользующих RDTSC для определения наличия отладчика, могут капризничать.
С какой радости SMI будет программным? Полноценное аппаратное SMI при обращении к определенному диапазону портов...
Да и банить "гостя" в общем-то не надо - все, что он напишет, можно отфильтровать.[/off]