Кто-нибудь самостоятельно проверял скрипт оболочки Speed ​​47 (spectre-meltdown-checker.sh), который проверяет исправления Meltdown и Spectre?

Существует этот код, который проверяет, было ли исправлено ваше ядро ​​для Specter и Meltdown. Он находится по адресу: https://github.com/speed47/spectre-meltdown-checker

Другие комментаторы говорили об ограничениях его метода, но я не нашел, чтобы кто-нибудь говорил что-либо о том, безопасно ли работать от имени пользователя root.

Может ли кто-нибудь взвесить аспект безопасности этого сценария?

Делает ли он что-либо помимо проверки на наличие этих уязвимостей, таких как изменение конфигурации системы или внесение каких-либо изменений, которые могут сохраниться после перезагрузки?

Спасибо

4
задан 17 January 2018 в 08:37

2 ответа

Скрипт фактически проверяет смягчение в ядре на наличие всех трех уязвимостей. К настоящему времени системы LTS и Ubuntu 17.10 имеют доступные средства для устранения уязвимости Meltdown.

Существует программа на C для определения одной из уязвимостей Spectre. Вы можете проверить, уязвим ли ваш процессор с помощью:

wget https://gist.githubusercontent.com/ErikAugust/724d4a969fb2c6ae1bbd7b2a9e3d4bb6/raw/41bf9bd0e7577fe3d7b822bbae1fec2e818dcdd6/spectre.c

gcc spectre.c -o spectre -std=c99 -w -O0

./spectre

. Если вы видите строки с:

Reading at malicious_x = 0xffffffffffdfebb8... Success: 0x54=’T’ score=7

, то ваш процессор уязвим для предсказания ветвления Призрака.

Я лично тестировал Intel Atom 1-го поколения, Core 2 Duo E8400, Core 2 Duo 4300 на предмет уязвимости, а Core i5 3230M, AMD Turion TL-56 на уязвимость в результате запуска этой программы.

2
ответ дан 17 January 2018 в 08:37
  • 1
    О, я просто заметил ошибку. Я имел в виду: elif ((2$ < 59)); тогда s= $3-50 m= 2$ +1 h= 1$ еще s= $3-50 m=0 h= 1$ +1 fi – Sam 3 June 2012 в 22:40
  • 2
    О, я просто заметил ошибку. Я имел в виду: elif ((2$ < 59)); тогда s= $3-50 m= 2$ +1 h= 1$ еще s= $3-50 m=0 h= 1$ +1 fi – Sam 3 June 2012 в 22:40

Во-первых, несколько фактов со страницы проекта на github. На момент написания этого у него было 48 участников и 355 вилок. Участником может быть кто-то, кто видел только часть скрипта и изменил интересующую его область, но, скорее всего, он, вероятно, прочитал все это, чтобы внести свой вклад в код. Так что это уже значительный уровень проверки. Есть также 355 вилок, но, видя, что все, что вам нужно сделать, это нажать на кнопку, чтобы сделать один, сделайте из этого то, что вы захотите.

Далее, никогда не следует полагаться на Virus Total для проверки скриптов или исходного кода. Возможно, однажды будет написан ИИ, который может читать скрипты / исходный код, чтобы проверять наличие вредоносного контента, но в настоящий момент никто на самом деле не нашел способа их автоматической проверки. Антивирусы ищут двоичные сигнатуры и могут иногда использовать эвристический подход для анализа двоичных файлов. Если вы дадите Антивирусу исходный код или скрипт, он будет интерпретировать его как текстовый файл и сообщит, что он чистый (что создает ложное чувство безопасности).

Наконец, я только что закончил читать все 4500 строк и не нашел ничего, что меня беспокоило.

Полное раскрытие, я считаю себя только автором сценария промежуточного уровня bash, и это был довольно продвинутый сценарий, который я, вероятно, буду каннибализировать для подсказок и уловок на долгие годы. Хотя я мог идти в ногу с этим, вполне возможно, что я что-то упустил, потому что в нем многое происходило.

Большинство его операций включают в себя чтение в ядре, cpuid, config ядра, fs (части, относящиеся к патчу и информации ядра, которые ему нужны для своей работы) и msr процессора. Он делает несколько записей, извлечений, дампов и декомпиляций, которые происходят во временной папке и удаляются при очистке при выходе. Единственный раз, когда он использует Интернет, это использовать wget для загрузки базы данных MCExtractor со своей страницы github. Он не пытается дозвониться до дома.

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

Вторым замечанием было то, что сценарию необходимо загрузить базу данных SQLite3 из проекта под названием MCExtractor. Я не знаю проект MCExtractor и не видел его исходного кода. Не испытывая особого желания проверять еще один проект только для запуска этого скрипта, я искал в интернете, чтобы увидеть, есть ли какие-либо опасности от доступа к базе данных sqlite3 из неизвестного источника. Действительно, существует эксплойт, который можно сделать с помощью sqlite3 под названием Magellan , но, похоже, он больше связан с аспектом выполнения кода запроса в sqlite3, а не с аспектом db. Я лично не слишком беспокоюсь об этом, но я подумал, что укажу такую ​​возможность и позволю вам сделать из этого все, что вы пожелаете. Эксплойт был исправлен из SQL 3.26, которого пока нет в репозиториях Ubuntu Bionic или Cosmic. Если вы беспокоитесь об этом, вы можете загрузить версию 3.26 libsqlite3 непосредственно с http://us.archive.ubuntu.com/ubuntu/pool/main/s/sqlite3/ в виде файла deb и установите его, используя sudo dpkg -i name-of-deb-here.deb. Я бы порекомендовал понизить рейтинг сразу после этого (снова используя файл deb из того же места), поскольку 3.26 в настоящее время классифицируются как нестабильные в журналах изменений.

Эта информация относится к commit d7d2e69 проекта, который вы можете найти по этой ссылке .

Это было сделано 11 декабря 2018 года, и сумма sha256 сценария этой версии: b0f884be51f0eb49ed61854f0e011a2f89f44c35699e07a705b0ec6f98fa29b5

И вы, вероятно, используете github's

1
ответ дан 17 January 2018 в 08:37

Другие вопросы по тегам:

Похожие вопросы: