цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Sandsifter – инструмент для поиска скрытых инструкций процессора



Sandsifter – инструмент для поиска скрытых инструкций процессора

Автор: Mike(admin) от 13-08-2017, 06:05

Было время, когда владение компьютером означало, что вы, вероятно, знали большинство или даже все инструкции, которые он мог выполнить. Однако у вашего современного ПК есть много инструкций, многие из которых предназначены для специализированной операционной системы, шифрования или функций цифровой обработки сигналов. Но вы о них ничего не знаете.


Sandsifter

Сегодня известны различные недокументированные инструкции и для многих процессоров класса x86. Более того, в наши дни ваш процессор x86 действительно может быть виртуальной машиной, работающей на другом процессоре, или ваш процессор может иметь дефект или ошибку. В этом случае, возможно, вы захотите иметь инструмент, который бы без проблем нашел все неизвестные инструкции, которые могут вызвать проблему. И таким инструментом может оказаться sandsifter.


Sandsifter – это программа, которая ищет ошибочные или недокументированные инструкции. Если вы не считаете, что у вашего процессора есть чересчур много инструкций, взгляните на список того, что находится в современном чипе Intel, и сравните его с относительно небольшим списком исходного набора команд 8086. Согласно веб-сайту проекта Sandsifter раскрыл секретные инструкции процессора от каждого крупного производителя, повсеместные ошибки программного обеспечения в дизассемблерах, сборщиках и эмуляторах, недостатки в корпоративных гипервизорах, а также как неопасные, так и критически важные аппаратные ошибки в чипах x86. Чтобы выполнить базовую проверку вашего процессора программой Sandsifter, следует выполнить команду:


sudo ./sifter.py --unk --dis --len --sync --tick -- -P1 -t

Компьютер систематически сканируется на наличие аномальных инструкций. В верхней половине вы можете просмотреть инструкции, которые в настоящее время тестирует программа на процессоре. В нижней половине, Sandsifter сообщает об аномалиях, которые он находит. Поиск займет от нескольких часов до нескольких дней, в зависимости от скорости и сложности испытуемого процессора. Когда он будет завершен, результаты можно будет посмотреть так:


./summarize.py data/log

Как правило, будет найдено несколько миллионов недокументированных инструкций, но они обычно попадают в небольшое количество разных групп. После извлечения аномалий инструмент обобщения попытается присвоить каждой команде определенную категорию проблем: ошибка программного обеспечения (например, ошибка в вашем гипервизоре или дизассемблере), ошибка оборудования (ошибка в процессоре) и недокументированная инструкция (инструкция, которая существует в процессоре, но не подтверждена производителем).


Сам проект размещается на гитхабе по адресу github.com/xoreaxeaxeax/sandsifter.




© digitrode.ru




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий