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

 
» » 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



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


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

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

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