Забавный тренд последних лет в индустрии производства ПК — это установка светодиодов во все комплектующие системного блока. Каким-то образом возникла идея, что круто выглядящий системник будет к тому же работать немного быстрее.
Пытаясь отключить светодиоды на своей новой видеокарте от Gigabyte, Грэм Сазерленд обнаружил, что эта светодиодная подсветка представляет собой неожиданную угрозу безопасности.
Ключевым моментом в этой уязвимости является драйвер видеокарты. Обычно, ожидается, что драйвер — это слой абстракции, который предоставляет пользовательскому ПО безопасный интерфейс для работы с критическими функциями аппаратных компонентов ПК. Вместо этого, драйвер от Gigabyte оказался скорее просто оболочкой, открывающей всю SMBus шину напрямую на уровень пользовательского кода. Это было сделано намеренно, чтобы программа, работающая под правами обычного пользователя, могла беспрепятственно обращаться с помощью bit-bang к led-контроллеру WS2812. В результате образовалась дыра в слоях безопасности, целью которых является недопущение выполнения вредоносного кода на голом железе. Вишенкой на этом торте является обнаруженный PIC микроконтроллер, подключенный к SMBus шине, который может быть перепрограммирован, предоставляя хакеру постоянное хранилище, неведомое для операционной системы и центрального процессора.
Очень рекомендуем прочитать оригинальную цепочку постов в Твиттере, т.к. она показывает, как именно функционирует механизм, позволяющий установить бэкдор на ПК под видом невинного контроллера светодиодного освещения.
Фото материнской платы от Gani01 [Public domain].
Комментарии (48)
nanoslavic
27.09.2019 19:07Можно ли передавать данные, мигая подсветкой?
drWhy
27.09.2019 19:12+1Раз из пользовательского режима доступен интерфейс по словам автора, то хоть на Visual Basic'е прямо из Excel'а.
drWhy
27.09.2019 19:11+2Изображённый на КПДВ капот с гордой надписью GIGABYTE тоже угроза безопасности, но не информационной, а физической. При снятии этой декоративной крышки с радиатора температура моста снизилась на 7 градусов. Ещё 10 дала замена терможвачки под радиатором на термопасту.
Тот случай, когда свистелки не просто бесполезны, а вредят.nlykl
27.09.2019 21:05Это новый способ добиться ускоренного выхода железа из строя, пришедший на смену протекающим конденсаторам. Я сменил это недоразумение на радиатор высотой 2,5 см от северного моста какой-то старой платы. Заводская нашлёпка грелась так, что было невозможно держать на ней палец, а температура моего радиатора почти не ощущается.
Am0ralist
27.09.2019 22:50+1я знал, что не надо выкидывать радиаторы от всех старых куллеров и мостов с старых материнок! буду из них делать радиаторы для новых) Благо коробку набрал уже
stalinets
28.09.2019 18:10Ради интереса приклеил такой круглый радиатор от процессорного кулера к алюминиевой кружке снизу, чтобы быстрее закипала) Результат получился немного неожиданный: закипать стало действительно немного быстрее (как и остывать), но вот после закипания, когда выключаешь газ, вода очень бурно кипит ещё минуты две! Так бурно, что сильно расплёскивается (просто кружка на газу так никогда не кипела). Теплоёмкость куска алюминия, из которого растут лепестки кулера, оказалась весьма немаленькой. Так что надо отключать газ когда только начинает кипеть.
MTyrz
28.09.2019 23:41С газовой плиты на электро переходить тяжело. Именно поэтому.
Инерция сравнительно с газом огромная, и чтобы что-то приготовить в стиле «довести до кипения и варить на медленном огне» требуется некислое такое дао. Угадать момент перевода с максимума на минимум, чтобы тепловой инерции еще хватило для закипания, но не хватило для последующего бурного кипения.Bedal
30.09.2019 00:14Пардон за непотемуно ровно по этой причине нужно использовать индукционные, а не просто электрические печи.
Правда, на индукционной блины печь неудобно :-) Но в остальном хорошая, годная вещь.MTyrz
30.09.2019 01:47Оффтопом на оффтопМы даже завели, но приспособиться к ней не очень получается. То ли модель дурацкая, то ли я что-то не то делаю — в любом режиме она многократно чередует режим интенсивного нагрева с бурным кипением и разной продолжительности отсутствие нагрева вообще. Тут не то, что блины, тут ничего жидкого толком не приготовишь: с электрической хотя бы поймал момент, перевел на минимум и живешь спокойно — а тут каждые две минуты танцуешь с крышкой, закрыл-открыл, а то сбежит.Bedal
30.09.2019 09:22Даже не знаю, что сказать — ничего подобного и близко не было. Разве что, может, посуда сказалась? Для индукционной печи лучше всего подходит посуда с ферромагнитным основанием и парамагнитными стенками. Говоря по-кухонному, дно из железа (магнит прилипает), стенки из нержавейки (магнит не прилипает).
SlimShaggy
30.09.2019 10:17А на что влияет магнитность? Индукция происходит в любом проводнике, не только в ферромагнетике.
Bedal
30.09.2019 12:17КПД передачи в ферромагнетиках гораздо выше (можете изучить вопрос или просто представить, что дно играет роль сердечника в обмотке плиты), потому греется именно эта часть. Можете проверить, попробовав что-то согреть в алюминиевой кастрюльке :-) Плита, скорее всего, просто выдаст ошибку «нет посуды» и отключит «горелку».
MTyrz
01.10.2019 04:50Посуда в порядке. И лейбл на ней есть, и тест с магнитом проходит нормально.
Похоже, режим действительно регулируется временем работы, а не мощностью, как описывает vladkorotnev. И да, моя плитка тоже портативная. Возможно, проблема решается установкой какого-нибудь промежуточного железного блина на плитку для увеличения тепловой инерции… но тогда задача сводится к предыдущей.vladkorotnev
01.10.2019 08:13А чем железный блин поможет, если не изолировать его от посуды? Ток будет идти по всей конструкции. А если изолировать, то индукционная плитка сведётся к навороченной электрической, и проще взять какую "мечту" за 400 рублей в хозтоварах. Собственно, в итоге так и сделал, так как не проектировать же регулятор свой.
vladkorotnev
30.09.2019 06:00Ну раз уж подняли темуВот у меня на индукционной китайской заварной крем для торта всегда взрывается — в плане, сначала не кипит даже, а потом на следующей итерации регулятора закипает очень бурно, с разлётом на пол-кухни. С ШИМ-анутой электроплитой у подруги и газовой у родителей таких проблем не было ни разу, так что проблема не в руках :-)
Bedal
30.09.2019 09:24не знаю, что и сказать :-) Разве что повторюсь про посуду (см на коммент выше). Не потому, что думаю, что в этом причина, а просто ничего больше в голову не приходит.
vladkorotnev
30.09.2019 09:47Не знаю точно, но подозреваю, что регулятор у плиток повыше классом может как-то регулировать подаваемую мощность более плавно, а не щёлкая релюшкой на мотив "погрели 5 секунд — выключились на 15 — погрели ещё 5 — и т.д." в зависимости от вкрученной мощности в попугаях.
А посуду пробовал и такую как описано, и банальную эмалированную кастрюлю, итог тот же.
На "медленном огне" вообще ничего держать не получается на ней, со временем начинает итеративно закипать на пару секунд и успокаиваться.
Вот мне интересно, может есть какой-то опенсурсный драйвер для индукционок?
Потому что на слух — щёлкает-то она с разным периодом, а вот свистит дросселем с одинаковой частотой всегда. И сдаётся мне, что там вместо того чтобы ШИМить выход или ещё как-то подрезать действующее значение на выходе, оно тупо выключает и включает какой-то фиксированный генератор, отсюда и спецэффекты. И самое обидное, что это уже вторая из таких портативных плиток с такой проблемой.
IgorGS
30.09.2019 14:20"Правда, на индукционной блины печь неудобно :-) "
моя жена смотрит на Вас с укоризной ))
Bedal
30.09.2019 16:45моей пришлось приспосабливаться, её технология включает подъем сковородки и прочие камлания — а плита при этом отключает конфорку.
IgorGS
01.10.2019 09:30+1хмм…
наша плита в таком случае конфорку не отключает,
а на одну-полторы минуты переходит в режим ожидания сковороды…
я думал, все индукционки так работают.
Am0ralist
30.09.2019 10:01Инерция сравнительно с газом огромная, и чтобы что-то приготовить в стиле «довести до кипения и варить на медленном огне» требуется некислое такое дао. Угадать момент перевода с максимума на минимум, чтобы тепловой инерции еще хватило для закипания, но не хватило для последующего бурного кипения.
Вот сколько пожег я каш овсяных на молоке да мягкой яичнице на электричекских плитах. Причём, если на газе это быстрые блюда, когда влом что готовить, то на электро — времени требуют много, да ещё и с танцами и проверкой, что не подгорает периодической… Эх.MTyrz
01.10.2019 04:54Манная каша просила передать привет и сочувствие.
Хотя (тьфу-тьфу), вроде я приспособился. Всего лишь нужно отвлекаться от помешивания и периодического приподнимания кастрюли не больше, чем на три секунды, и все будет в порядке.
red_andr
28.09.2019 22:46Это новый способ добиться ускоренного выхода железа из строя, пришедший на смену протекающим конденсаторам.
Кстати, у меня материнская плата именно от GIGABYTE работает уже семь лет в режиме 24/7. Причём в качестве одной из главных преимуществ у неё заявлено: «Industry's Leading All Japanese Solid Capacitor Design».nlykl
28.09.2019 23:36Я о том и говорю: Gigabyte начали ставить твердотельные конденсаторы, остальные производители, чтобы не выбыть в конкурентной борьбе, стали делать то же самое. Казалось бы, рынок получил практически вечные платы, но нет: радиаторы начали стремительно терять площадь.
red_andr
29.09.2019 02:26Ничего, будут и нормальные радиаторы ставить, и писать, что это крутая плата с огромными радиаторами. А там и другие подтянутся.
sumanai
29.09.2019 22:45И сейчас ставят, на игровые платы.
Am0ralist
30.09.2019 10:08+1На новое поколение amd ставят с вентиляторами, но при этом говнорадиаторы. Так что через пару лет будет что? Правильно, вентилятор у обычного человека может забиться и встать… И это платы от 15к рублей с такими решениями, блин
это ещё не плохойЧто можно увидеть, если снять пластиковый кожух сверху
c_kotik
30.09.2019 10:19Вот кстати, любопытно, а нужен ли будет этот кулер, если принудительно перевести на gen3?
Am0ralist
30.09.2019 10:24Не совсем понял вопрос. Это нужно на x570 чип, потому что он много жрёт сам по себе, к процессору отношения не имеет. На b550, надеюсь, такого не будет, ибо он по функционалу схож и от разработчиков x470-го, а не инженерами amd пилился.
И, подозреваю, что кулер будет не нужен, если радиатор хороший поставить, но тут вопрос совместимости с видеокартами, скорей всего, появится.
desmond_breezey
30.09.2019 14:20На некоторых старых мат. платах (в особенности по моему Асус этим грешил), любили соединять радиаторы питальника проца с радиатором моста. Так что описанное вами ещё довольно невиноо :)
Sartorio
28.09.2019 01:09Ну надо-же производителям хоть на чем-то деньги зарабатывать! А то такие как я пользуются ноутом 2011 года, и новый не собираются покупать. Не порядок!
Aquahawk
30.09.2019 10:44Lenovo x220? Я таки заменил в этом году www.gpd.hk/gpdp2max
Sartorio
30.09.2019 11:23Lenovo x220? Я таки заменил в этом году
Нет! Гнусмас 150 на атоме. А ранее вынужденно отказался, от 13 дюймового РоверБука, на целероне «М» 1600, проработавшего с осени 2005 по январь 2017 года, окончательно сдох самсунговский винт на 40 гигов, до этого копивший беды года 2! Да и визг вентилятора поднадоел.
vladkorotnev
30.09.2019 11:39Ну это скорее замена планшету, чем X220. У самого 220 и там как минимум постоянно спасает наличие докстанции и ethernet сразу на борту.
А у этого чуда половину клавиатуры пальцем перекрыть можно.
Что порадовало в ассортименте этой компании — ноутбук ещё более мелкий, но зато аж с RS232 на задней панели %)
c_kotik
30.09.2019 09:56Конечно, возможно бредовое сравнение, но теперь таким наивным кажется скандал с поиском закладок у Super Micro.
Зачем шпионы, когда есть такие товарищи)
Goron_Dekar
Если криво написать драйвер для чего угодно это будет дыра. Подсветка не исключение, да.
build_your_web Автор
Производителям железа с мировым именем обычно сильно доверяют. Этот же пример показывает, что сегодня нет хорошего контроля безопасности для продуктов, которые они постоявляют.
MinimumLaw
Я бы все же сказал, что это не криво написанный драйвер, а плохо спроектированная архитектура. Ущербна сама идея давать пользователю, BitBang'ом управлять контроллером.
Впрочем, после захардкоденый паролей на FTP с обновлениями прошивок у Asus (с правами стирания и подмены прошивок и обновлений ПО) я уже ничему не удивляюсь. Ну подумаешь гигабайт не захотел разбираться с ACPI/DSDT и подставил костыль в виде прямого доступа к SMBUS. Раньше вообще весь интернет на доверии работал…
Да, тег «сарказм» стоит, его просто не видно ;-)
Goron_Dekar
И не надо давать. Заложить весь функционал в драйвере, а он путь дёргает ногами. Со всей остальной переферией этот метод работает же (внезапно: если переписать драйвер для, например, сетевой карты, то можно подёргать ногами на её микроконтроллере прямо из юзерспейса, и помигать светодиодиками)
vladkorotnev
Ну можно было в лучшем случае сделать что-то типа DeviceIoControl(LEDHandle, C_USR_SET_LED, &new_color_struct) и не парить никому мозги. Что впрочем всё равно оставило бы дыру для обновления прошивки микроконтроллера.
Можно было развязать шину подсветки и системную smbus, например.
Да много чего можно было, но именно что "было".