Ну чо, попатчимся?

Криптографические сопроцессоры (TPM) производства STM и Intel имеют уязвимость, используя которую можно вытащить из сопроцессора ключи шифрования. В том числе — и удалённо, по сети, т.к. криптографический сопроцессор используется в том числе при установлении TLS сессии. Потребуется, правда, быстрая сеть, т.к. возможность атаки сильно зависит от разницы во времени между посылками команд.

У меня сопроцессор производства Infineon, так что нужды патчиться у меня нет. Владельцы чипов Nuvoton тоже могут выдохнуть.

Просмотреть информацию о производителе cопроцессора на Винде можно при помощи утилиты tpm.msc. IFX — это Infineon. Про других не знаю.

https://www.zdnet.com/article/tpm-fail-vulnerabilities-impact-tpm-chips-in-desktops-laptops-servers/

Ну, а владельцы облачных серверов сегодня споют и спляшут — нас-то это не касается. За это мы и любим облачные технологии.

Прелесть

AMD снова на высоте.

Вкратце — в микрокоде процессоров АМД есть ошибка, из-за которой встроенный хардверный генератор случайных чисел раз за разом выдаёт 0xFFFFFFFF. Это, разумеется, приводит к серьёзнейшим дырам в безопасности для пакетов, которые используют машкод RDRAND. Чтобы починить, надо сгружать обновление для БИОСА (!) материнской платы (!!), которое обновит микрокод процессора (!!!). Нет, просто пойти на сайт АМД и скачать обновление низзя, что вы, это бы было слишком просто.

Помнится, ещё где-то в начале-середине 2000х я это уже видел — компьютеры на процессорах Интел нормально себе собирались и работали, в то время когда владельцы компьютеров на процессорах АМД пребывали в перманентном поиске нужной длины заячьей лапки и правильного размера бубна, чтобы ЭТО, наконец, нормально заработало.

Надо, правда, сказать, что часто это была вина самих владельцев, которые покупали АМД не потому, что он был лучше, а потому, что эти процессоры были дешевле. Ну, и заодно экономили ещё на всём остальном — на материнской плате, на памяти, и даже на блоке питания (не надо ржать, неустойчивая работа компьютера как правило на хреновость питания и указывает). Получалось в результате говно из серии “на грош пятаков”. И работало точно так же.

Но это также была и вина АМД, которые, например, не продавали вместе в процессором кулер. Интел продавали, а АМД нет. Поэтому форумы фанатов АМД были заполнены сообщениями типа: а площадь радиатора в 130 квадратных миллиметров это достаточно? А 40 кубов в минуту хватит? Нет, не хватит, надо минимум 45!

А владельцы Интелов не парились и ставили кулер, который шёл в комплекте. И всё нормально работало искоропки.

Отдельная ржака по охлаждению была когда на процессорах АМД не ставили защиту по перегреву, из-за чего процессор при полной загрузке, если с него снять кулер, за несколько секунд уходил вразнос и выпускал волшебный белый дым, на котором, как известно, всё и работает. Ну, а когда дым заканчивался — то и работать всё переставало. А Интеловские процессоры, увидев зашкал по температуре, тупо тормозили тапкой в пол и вставали раком.

АМД ещё тогда же начал сваливать с больной головы на здоровую — мол, изготовители материнских плат виноваты, они не ставят на платы термисторы и защиту (вот ТОЧНОСТИ как в данном примере — нехай БИОС апгрейдят, а мы белые и пушистые и вообще не при чём). А Интел без излишней зауми ставил защиту в сам процессор. Ибо нехрен.

Потом АМД взялись, наконец, за ум, и стали продавать вместе с процессорами кулеры. А теперь, вишь, опять перестали:

Нет, прелесть же. 32-х ядерная “Рязань” за почти две тыщи баксов, но кулер нихера в поставку не входит. 20 долларов сэкономили, молодцы!

Касперский — прелесть

Помимо того, что данный… кгм… продукт у меня регулярно подвешивал компьютер, он, как теперь выясняется, ещё давал прекрасную возможность отслеживать пользователей в интернете. Под соусом якобы определения злонамеренности посещаемого вебсайта, с 2015 года Касперский добавлял на все посещаемые страницы небольшой кусочек джаваскриптовского кода. Не знаю, как он по результатам этого собирался определять злонамеренность, но скрипт, который он добавлял, имел уникальный индивидуальный идентификатор. А так как при таких раскладах этот скрипт тоже становится частью DOM, его содержимое становится доступным ВСЕМ скриптам на этой странице. То-есть, любой дурак мог взять и заполучить уникальный идентификатор пользователя, и именно что злонамеренно использовать его в целях, например, подсовывания рекламы или ещё чего похуже.

С какой целью на самом деле всё делалось именно вот так — затрудняюсь сказать. Но *многозначительно шевеля усами* учитывая, что Евгений Валентинович закончил Высшую Школу КГБ…

В-общем, я как свалил с него, так с тех пор ни разу не пожалел.

Худший браузер

Это, конечно, Edge.

Удивительно несовместимая с ни чем штука. Не, в фейсбучек потупить, конечно, сгодится, а вот запулить нормальное веб-приложение — уже хренушки.

Сегодня попал в поразительную ситуацию — Микрософтовский браузер не смог запустить Микрософтовское же приложение — MS Teams Web App.

А в Хроме — с пол-пинка всё завелось. Вот такой вот нынче Микрософт — сам с собой невосместимый.

Отбивательство

Блин, последнюю неделю практически все мои разговоры на работе происходят так:

Тестеры: Вы добавили на фаерволл ексепшены?
Я: А вы мне прислали список ексепшенов как я потребовал две недели назад?
Тестеры: Вот прямо щас поглядим и пришлём!

Программисты: вы установили наш новый код на веб-приложение?
Я: А вы его скомпилировали и мне его дали, как я просил три недели назад?
Программисты: Дайте пять минут, пришлём!

Отдел документации: что-то мы до сих пор не видим новую базу данных, которую мы просили добавить
Я: А вы прислали мне схему БД которую я уже вторую неделю ежедневно прошу, чтобы я её добавил?
Отдел документации: Ну добавьте хоть чего!
Я: Чего добавлять-то? Тонну таблиц и толпу варчаров? А какой длины? Сколько? А индексы где будем делать? А проверки на уникальность? А первичный ключ надо? А кто к этому должен иметь доступ, и какой?
Отдел документации: Мы щас подумаем.

Начальник: Чего-то у нас нихера не работает!
Я: У меня все ходы записаны.
Начальник: Понятно. Щас я их смотивирую.

А завтра будет, японский бог, ровно то же самое.

Вчера Линукс чинили-чинили

Ставили на виртуальную машинку обновлённое ядро. Поставили, обновили грабли (GRUB), перегружаемся… в старое ядро. Чо за нах. Стёрли нахер старый /boot/vmlinuz, так что единственным vmlinuz осталось новое ядро. Перегружаемся… в старое ядро. КАК??? ОТКУДА?? Как машина может загрузиться ядро, которого даже на диске нет? Всё перепроверили, заново поставили новое ядро, перепроверили грабли, перегружаемся… в старое ядро.

Я чуть крышей не поехал. Откуда оно берётся-то? Делаем find / -name “vmlinuz*”. Нихера, кроме нового ядра.

Наконец от отчаяния смотрим в syslog и видим какие-то упоминания /dev/sda, при том, что у нас вроде как один диск, и ОС у нас стоит на /dev/sdb. Выясняем наконец, что к машине прицеплен второй диск, который нигде не смонтирован — но на нём, ядрёна вошь, стоит vmlinuz, в который и грузится наша виртуалка!

Отцепляем диск нахер и наконец нормально грузимся в новое ядро.

Давненько я не чувствовал себя таким идиотом. Это бодрит.

О названиях узлов

Ставлю тут хрень для удалённого руления серверами через RDP через любой браузер, поддерживающий HTML5. Очень удобно, потому что можно рулить всем хоть с телефона, хоть с машины под Фрюниксом. Хрень называется Guacamole (Гуакамоле) — это название такой мексиканской закуски (или соуса для макания, это уж как назвать). Надо было как-нибудь придумать, какие имена дать двум серверам. Придумал — назвал “авокадо” и “кинза” (два основных ингридиента для этого соуса). Начальник посмеялся, но выбор одобрил 🙂

А вы говорите, что в системном администрирование нет полёта фантазии 🙂

Вопросы на интервью, помощь зала

Мне надо будет нанять сисадмина; но так как мы теперь семимильными шагами идём в облако, от сисадмина теперь требуется опыт программирования. Не сильно углублённого, но надо, чтобы человек понимал основы написания скриптов.

Сижу чешу репу над списком вопросов.

Мне, повторюсь, не надо, чтобы человек знал, например, какой конкретно командой можно получить массив объектов компьютеров из AD — это легко гуглится. Надо понять, умеет ли чел вообще в основы погромирования. Пусть пишет хоть на Питоне, хоть на псевдокоде, мне похер.

1. Если нужно совершить одно и то же действие пять раз, как это лучше всего сделать внутри скрипта?
2. Если мне надо получить пронумерованный список всех компьютеров в домене, как проще всего это сделать?
3. Нужно написать скрипт, который будет посылать извещение сисадмину, если в домене появятся учётные записи, пароль которых никогда не истекает. Как это лучше всего написать?
4. if (a = 0) { .. } — почему данное условие либо не работает вообще, либо не работает правильно?

Какие ещё будут предложения?