Как стать автором
Обновить

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

Читал на РБК…

Хочется, чтобы сотрудники Касперского здесь технически грамотным языком и подробнее рассказали. Товарищи, напишете?
В первоисточнике выше по ссылке есть 3-я часть с кое-какими техническими подробностями (пока нигде не переведена, но кратко — чтобы объяснить заявления компаний-производителей, что они не знают, как вирусы попали в прошивки, Костин Райю сообщает факты «охоты» АНБ за исходными кодами прошивок и за возможностями реинжинирить их код в готовых продуктах).
Сообщение в блоге securelist: «Equation: The Death Star of Malware Galaxy.» By GReAT on February 16, 2015. 6:55 pm
securelist.com/blog/research/68750/equation-the-death-star-of-malware-galaxy/
Perhaps the most powerful tool in the Equation group's arsenal is a mysterious module known only by a cryptic name: «nls_933w.dll». It allows them to reprogram the hard drive firmware of over a dozen different hard drive brands, including Seagate, Western Digital, Toshiba, Maxtor and IBM. This is an astonishing technical accomplishment and is testament to the group's abilities.

Pdf с описанием, «EQUATION GROUP: QUESTIONS AND ANSWERS» (Version: 1.5, February 2015. #EquationAPT, #TheSAS2015, By Kaspersky GReAT)
securelist.com/files/2015/02/Equation_group_questions_and_answers.pdf
The plugin supports two main functions: reprogramming the HDD firmware
with a custom payload from the EQUATION group, and providing an API into
a set of hidden sectors (or data storage) of the hard drive. This achieves several
important things:
• Extreme persistence that survives disk formatting and OS reinstall.
• An invisible, persistent storage hidden inside the hard drive.
The plugin version 3 has the ability to reprogram six drive “categories”:…
The plugin version 4 is more complex and can reprogram 12 drive “categories”…
Overall, the plugin uses a lot of undocumented, vendor-specific ATA
commands, for the drives mentioned above as well as all the others…

The EQUATION group’s HDD firmware reprogramming module is extremely rare.
During our research, we’ve only identified a few victims who were targeted by this
module. This indicates that it is probably only kept for the most valuable victims
or for some very unusual circumstances
Получается дыра из-за безалаберности производителей дисков, которые сделали возможность прошивать диск используя недокоментированные ATA команды…
С другой стороны некоторые производители и не скрывали, что можно обновить прошивку и выпускали утилиты для этого.
Значит это было делом времени, пока кто-то не отреверсинженерит процедуру прошивки. Лишнее подтверждение, что security by obscurity не работает.
Нет, дыры для проникновения там вполне традиционные:
securelist.com/files/2015/02/Equation_group_questions_and_answers.pdf#page=14 «8. What exploits does the Equation group use?»
браузер, Java, TTF, Firefox 17 (TOR), LNK эксплоит (для USB-флешек и преодоления воздушного зазора). Часть из этих уязвимостей позже использовалась в Stuxnet, что свидетельствует как минимум о сотрудничестве авторов Equation и Stuxnet.

Из наиболее уникальных путей заражения: подмена CD-ROM носителей при рассылке материалов научных конференций (похоже на тактику перехвата и заражения оборудования от NSA's Tailored Access Operations (TAO)).
securelist.com/files/2015/02/Equation_group_questions_and_answers.pdf#page=15 «9. How do victims get infected by EQUATION group malware?»
The Equation group relies on multiple techniques to infect their victims. These include:
• Self-replicating (worm) code – Fanny
• Physical media, CD-ROMs
• USB sticks + exploits
• Web-based exploits

Заражение прошивок HDD производилось уже развернутым трояном и использовалось крайне редко. Оно позволяло лишь скрывать данные троянов и повторно заражать этот же компьютер после переустановки ОС.
Это понятно, я говорил именно про дыру в безопасности диска, а не про первоначальный вектор атаки на систему.
С диском тут самое интересное.
Есть вполне легальные утилиты, сам пользовался еще в до SATA эпоху. Не думаю, что что-то поменялось.
В брендовых компьютерах прошивки дисков регулярно обновляются.
но зачем?
Багфиксы и разные мелки улучшения, можете посмотреть тут.
Вот, кстати, один из немногих примеров, когда долгий брутфорс на суперкомпьютерах все-таки окупается. Если, конечно, там был использован такой способ.
Вполне в духе традиционного наплевательства на «права человека» асашайцами
Если другие разведслужбы не попались это не значит что они этим не занимаются
Ну хоть не попадаются. А самые защитники прав людей и распространители безопасности попадаются.
Спецслужбы не являются «защитниками прав людей», ими является свободная пресса и независимый суд. И тот факт, что вы о нарушении узнали как раз и является доказательством тоо, что права защищаются.
Спецслужбы делают это по указанию или как минимум с ведома властей, которые в свою очередь лицемерно рассказывают про важность информационной безопасности.
Узнали мы это не от властей и не от спецслужб, так что это тут не причем.
Самими гражданами и защищаются.
Вот же повылазили обличители лицемерия. Вы лучше за нашими спецслужбами следите, а не за американскими.
Коммент в плюсе — карма в минусе. Поборники лицемерия не дремлют! :)
То же самое. Это все заговор спецслужб и властей.
Вы плохо себе представляете, как работают спецслужбы. Часто, власти не имеют понятия, чем они занимаются. Любая тайная служба — вполне себе политическая организация.
Являются.
Спецслужбы защищают государство. Точнее обеспечивают его безопасность. Государство — это территория + люди. Следовательно спецслужбы реализуют право человека на безопасность, обещанное государством.
Очевидцы происшествия в Норд-Осте подтвердят.
Нет. Государство отделено от общества. То есть это — да, люди. Но не все люди, проживающие на территории, а лишь аппарат управления ими. Власть.
В широком смысле вы прав.
Но речь идет о демократических странах, а в них народ является единственным легитимным источником власти.
Следовательно народ — это власть. Следовательно народ — это [часть] государство.
Таких стран, где государство не было бы отделено от остального общества, не существует.
Вы должны уточнить, говорите ли вы вашу точку зрения о перекосах в некоторых странах, или утверждаете, что это объективные данные. Государство в русском языке означает именно сообщество людей объединенных общими законами. «го-сударство» на современном русском могло бы звучать как «соседство».
Толковый словарь русского языка Ожегова и Шведовой даёт два значения: «1. Основная политическая организация общества, осуществляющая его управление, охрану его экономической и социальной структуры» и «2. Страна, находящаяся под управлением политической организации, осуществляющей охрану её экономической и социальной структуры»

Так вот, я про первое значение. Организация, управляющая обществом. Отождествлять её с обществом это как отождествлять пастуха и его стадо.
Эээ. При таком восприятии вам придется выбрать кем вы являетесь. Пастухом или стадом. Если же мыслить чуть шире, то станет понятно, что определение из словаря не всегда может нас устраивать.

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

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

В обеих версиях есть приятные вещи, но, думаю, что стремиться можно только к одной форме — республике с советским типом управления (ни в коем случае речь не идет о СССР, «совет» в смысле местного самоуправления на всех уровнях). На данный момент это труднореализуемо, как мне кажется, из-за крайне сильной привязке к инфраструктуре.

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

И как только станет возможно изготавливать пищу не централизованно (огромное поля и стада крс очень сложно обслуживать водиночку), то тогда полностью исчезнут такие государства.

Хм, я тут другую статью читаю, что быстрое развитие, вот занесло немного. Надеюсь, что мы хотя бы некоторые из этих пунктов (энергию) мы получим при жизни нынешнего поколения.
Ок, а кого в данный момент защищает АНБ?
Защищает капиталистов, которые правят миром.
Не знаю. Можно представить, что они пытаются защищать текущее положение вещей. И, самое интересное, что этим занимается не только одна какая-то организация, а многие люди согласно своим представлениям о правильном. А вы сами в курсе, как можно не слишком размышляющим гражданам внушить «правильные» мысли.
«Независимый суд» и «независимая пресса» — защитники прав людей? От я так давно не смеялся над такой наивностью.
Вы давно видели хоть одно независимое ни от кого (в том числе финансово) издание?
Вы не сталкивались с NY-ским правосудием с участием US финансовых органов? Да басманное — просто дети если сравнивать…
Понимаю, что своим комментарием «мечу бисер», но «права человека» и их защита заключаются как раз в том, что вы об этом факте узнали.
> «права человека» и их защита заключаются как раз в том, что вы об этом факте узнали.
Хм, а я думал, что права человека заключается в том, чтобы спецслужбы подобным не занимались.
Это их работа, им за это деньги платят. Правда, только половина: вторая половина заключается в том, чтобы об этом никто не узнал. И эту половину они выполняют не очень хорошо (а может быть, наоборот, очень хорошо, а все сливы — просто прикрытие), но это не мое дело: я, к сожалению, не американский налогоплательщик.
>Это их работа, им за это деньги платят. Правда, только половина: вторая половина заключается в том, чтобы об этом никто не узнал
Я правильно вас понимаю: пока АНБ и другие спецслужбы перехватывали миллионы звонков и писем американцев, но Сноуден об этом ещё ничего не рассказал — права человека не были нарушены, потому что об этом никто не знал?
Спецслужбы не обязанны соблюдать права человека. Они совсем для другого существуют. Если бы они соблюдали права человека, они назывались бы полицией.
Спецслужюы занимаются тем, в конечно итоге, чтобы некоторых людей сажать за решетку.В этом их основная задача. Они по определению не могут заниматься защитой прав человека.
мы ещё знаем об американском ниндзя
Если кому интересно, Namco для своих игровых автоматов пишет специальные прошивки HDD, и если подключить HDD из автомата к компьютеру и посекторно скопировать его, то стирается заголовок зашифрованного LUKS-раздела, и игра больше никогда не заработает.
На родном диске при чтении стирает данные? Это зачем? Из-за вредности?
Или просто, при копировании считывает неверные данные с определенного места, а как считать правильно, знает только автомат.
На родном диске. Это защита от копирования такая.
Не наезда ради, а справедливости для.
От копирования достаточно, как я написал, просто выдать неверные данные, зачем стирать-то? Тем более раздел шифрован.
Единственное, что могу предположить, они, зачем-то, изменили интерфейс, команды ATA, как минимум при обращении к определенной области диска (возможно, выдаются расшифрованные данные при определенных условиях), а электрический интерфейс оставили прежним, естественно, обращение по стандартному интерфейсу, к этой области, портит данные. Но заморачиваться этим ради защиты от копирования, изврат. Можно же и блины скопировать, если очень упереться, расшифровать нет, а скопировать можно. Конечно, всякое бывает, но мне кажется это следствие, а не причина.
Вероятно, чтобы не было поля для экспериментов.
Там еще TPM используется и ключ расшифровки подписан регистрами TPM. Если вы модифицируете ядро, initramfs или строку с параметрами ядра, то игра не запустится, т.к. не сможет расшифровать раздел.
А сами диски там стандартные? Если взять контроллер от такой же модели HDD и заменить, то получится?
Диски стандартные, контроллер тоже, насколько помню.
Пиар… грязный… ватный.
Да-да, не сметь ничего рассказывать про грязные методы спецслужб оплота демократии! Они это делают для благих целей, им можно!!111
камеры в туалете установлены для вашей безопасности
Не путайте теплое с мягким. То, что «Касперский» чего-то обнаружил, еще не означает, что что-то в самом деле есть (или есть то, что утверждает KL). Так что пока PR Kaspersky Lab — да, видно, а вот остальное — пока под вопросом до независимой проверки.
независимой проверки

А проверка «Касперского» — зависимая? От кого же?
Компания Kaspersky Labs является коммерческой компанией, которая, согласно своему уставу, занимается извлечением прибыли в интересах акционеров и владельцев. Поэтому зависимость их заработка от уровня их популярности и известности в мире — прямая.
Именно поэтому им и невыгодно сливать «липу» — минута славы не окупит подпорченную репутацию.
Анонс:
Производители HDD начали внедрение HDD UEFI в свои жесткие диски.
А если подумать, сколько в современном компе периферии, которую можно программно перепрошить? Это же десятки разнообразных чипов.
Главное не говорить об этом параноикам, использующим для своей безопасности только открытое ПО. :)
А разве в интересах безопасности в крупных конторах, вроде банков, не ограничивают доступ в интернет? Информация же должна как-то сливаться, а кроме интернета я путей не знаю.
Хотя, с компьютера рядового пользователя хоть и можно поиметь кое-какую информацию, но с компьютера кого-нибудь выше по иерархии можно найти информацию, намного ценнее. А у тех, кто по иерархии выше, доступ в интернет вполне может быть.
Я правильно рассуждаю?
Один из троянов в этом наборе, Fanny, умеет работать на компьютерах, не подключенных к интернету, сохраняя себя, собранные данные и инструкции от управляющих серверов на usb-флешках (конечно же требуется, чтобы эту флешку регулярно подключали как к целевому компьютеру, так и к зараженному компьютеру с доступом к интернету):
securelist.com/files/2015/02/Equation_group_questions_and_answers.pdf#page=13
The main purpose of Fanny appears to have been the mapping of air-gapped networks. For this, it used a unique USB-based command and control mechanism. When a USB stick is infected, Fanny creates a hidden storage area on the stick. If it infects a computer without an internet connection, it will collect basic system information and save it onto the hidden area of the stick. Later, when a stick containing hidden information is plugged into an internet-connected computer infected by Fanny, the data will be scooped up from the hidden area and sent to the C&C. If the attackers want to run commands on the air-gapped networks, they can save these commands in the hidden area of the USB stick. When the stick is plugged into the air-gapped computer, Fanny will recognize the commands execute them. This effectively allowed the Equation group to run commands inside air-gapped networks through the use of infected USB sticks, and also map the infrastructure of such networks.
Существует достаточно способов вывести информацию без интернета, вроде бы на TechEd рассказывали про удалённое считывание с данных принтера, закодированных в его электромагнитном излучении.
Интересно, интересно. Впервые слышу про такое. Надо поискать информацию на эту тему.
Не заметил в списке Hitachi
securelist.com/files/2015/02/Equation_group_questions_and_answers.pdf#page=18
 “WDC WD”, <Western Digital Technologies Inc> additional vendor specific
checks used
 “ST”, “Maxtor STM”, “SEAGATE ST”, <Seagate Technology>
 “SAMSUNG”, <SAMSUNG ELECTRONICS CO., LTD.>
 “WDC WD”, <Western Digital Technologies, Inc.> additional vendor specific
checks used
 <HGST a Western Digital Company>, “IC”, “IBM”, “Hitachi”, “HTS”, “HTE”,
“HDS”, “HDT”, “ExcelStor”
 “Max”, “Maxtor STM”
 <MICRON TECHNOLOGY, INC.>, “C300”, “M4”
 <HGST a Western Digital Company>, <TOSHIBA CORPORATION>
 “OCZ”, “OWC”, “Corsair”, “Mushkin” additional vendor specific checks used
 <Samsung Electronics Co., Ltd., Storage System Division>, <Seagate
Technology>, <SAMSUNG ELECTRONICS CO., LTD.> +additional checks
 <TOSHIBA CORPORATION COMPUTER DIVISION>, “TOSHIBA M” +checks
 <Seagate Technology>, “ST”
>>Несмотря на то что эти особо изощренные «черви» можно было имплантировать в тысячи жестких дисков

Одно не пойму, ну есть у меня в прошивке HDD червяк, что дальше, как он работает? что входит в его задачи? как он сможет заразить вновь устанавливаемую OS на этот HDD?
На плате HDD:
1) куча оперативки;
2) куча долговременной памяти в резервных областях;
3) универсальный микропроцессор;
4) прямой доступ к вашим данным.
А дальше что? Как он сольет данные из HDD в интернет? Кажется, ему нужен «помощник» на уровне повыше, в ОС.
Элементарно. Есть доступ к данным — заражаем системные файлы, тем самым получаем помощника на уровне ОС.
Да ну? А если у меня Fedora с зашифрованными разделами?
У меня сходный вопрос, а что это им дает, если у них доступ, только к зашифрованной информации моего жесткого диска?
Там все сложнее, но сдается мне что варианты остаются — подмена бутлоадера если он лежит на самом диске, прямой доступ в системную память (http://en.wikipedia.org/wiki/DMA_attack) и возможно что-то другое
Это если атака таргетированная — тогда да, ничто не спасет. Но массовый сбор информации таким образом не организуешь: слишком много разных систем, поддерживать их всех невозможно.
А теперь вставляем диск в RAID6, корректность которого время от времени проверяется. Каждый отдельный диск не знает, что он в RAID. Какой-то из них получает открытым текстом блок 64К, в котором есть часть системного файла, и заражает его. А при очередной проверке контроллер массива это замечает и выкидывает странный диск (на котором данные читаются, но испорчены) из массива.
НЛО прилетело и опубликовало эту надпись здесь
Иии, что из того, что на плате HDD куча всякого «железа»? На графических картах тоже полно всего, а возьмем к примеру сам CPU, у него вообще есть доступ ко всему, можно предположить, что в микропрограмме CPU тоже встроен червь?
Как АНБ сможет получить доступ к данным на зараженном HDD (по сети, то есть не приходя ко мне в квартиру) если я форматнул HDD, поставил свужую ОС (Win или Linux, а может что нибудь поэкзотичнее, BeOS), свежий антивирус, не захожу на сомнительные сайты и не открываю сомнительную почту. Расскажите вектор атаки с использованием червя в прошивке HDD?

У меня вот только один вектор атаки на ум приходит, что модифицированная прошивка в момент отдачи данных дополняет их вредоносным кодом, например при запуске кода из MBR он модифицируется и в пямять грузится червь и ОС загружается уже инфицированная, но тут возникает массса вопросов, например что это должен быть за вредоносный код, который умеет работать с любой ОС, любым железом и т.д., это какая то мистика.
Так он же вроде только под винду, не надо с любой ОС.
Там же софт из двух частей — загрузчик и собственно payload который уходит в firmware, причем софт использовался для адресных атак. Скорее всего payload просто конфигурируется под конкретную цель.

Впрочем особо принципиальной проблемы проверять тип ОСи в firmware нет. Там стоит относительно мощный микроконтроллер с доступом к куче памяти. Вроде не видно явных проблем хранить кучу разных вариантов кода и по сигнатуре загрузчика определять какой из них использовать
а возьмем к примеру сам CPU, у него вообще есть доступ ко всему, можно предположить, что в микропрограмме CPU тоже встроен червь?


Вот, например, история про пиратский гипервизор в BMC материнок Intel.
Записываем в файловую систему свой вирусный драйвер и включаем его загрузку вместе с ОС (это умеет даже консоль восстановления).
В главной загрузочной записи диски есть исполняемый код. Что мешает диску вместо него выдать код вируса? А он уже потом продолжит загрузку системы.
Hint: Windows — далеко не единственная операционная система. И даже у неё существуют несовместимые версии.
Это ещё не считая того, что 446 байт хватит всем, и оригинальному загрузчику, и буткиту с нагрузкой…
Зачем, там только загрузчик вируса. Само тело вируса и оригинальный загрузчик кладем в другое место (на скрытый раздел).
Так вирус стартует до загрузки ОС. Дальше он может посмотреть какая ОС грузится и действовать в зависимости от этого.
Полагаю, вирус в прошивке винта может подсовывать инсталлятору ос «свои» файлы вместо настоящих — и все дела.
>>что входит в его задачи? как он сможет заразить вновь устанавливаемую OS на этот HDD?
Никак. HDD тут используется только как хранилище данных, защищенное от форматирования.
Сложилось впечатление что его главная тут задача — пиар лаборатории касперского

Согласен с вами. Давно наслышан о «Великих Открытиях» албонатории Касперского.
Сразу захотелось поменять свой Symantec на Касперский.
Всегда удивляют пользователи антивирусов. Зачем постоянно лечиться, если можно тупо предохраняться?
«поставить антивирус» это и есть «тупо предохраняться», нет? Ведь это на порядок проще, чем тюнить систему, UAC и тому подобные вещи.
Голову включать — вот «тупо предохраняться», а антивирус тут ни при чём.
Видимо, когда вы включаете голову, у вас сразу в системе все уязвимости исправляются. И на всех сайтах, на которые вы заходите, зловреды самоуничтожаются.
Если сидеть на XP без обновлений и запускать файлы из помоек, то да, антивирус нужен. Ещё он нужен любителям генераторов ключей и «полеченного» ПО. Такой вариант «налога на пиратство» в исполнении Касперского.
Для генераторов ключей и файлов из помоек можно воспользоваться VirusTotal-ом. А вот для чужих флешек и внезапно заражённых веб-страниц Касперский — самое оно. Ведь никто не будет все флешки сначала открывать в линуксе, а страницы загружать wget-ом и глазами просматривать код.
Ведь никто не будет все флешки сначала открывать в линуксе
Ну да! Даже наоборот, не все будут их открывать в виндуосе. Вообще.
То есть вы предлагаете вообще не пользоваться Windows?
Вай нот?
Потому что иногда нужно разрабатывать софт под Windows, играть в игрушки, написанные под Windows и запускать требовательные к ресурсам приложения, написанные под Windows
иногда нужно разрабатывать софт под Windows
Вот он, корень всех проблем.
НЛО прилетело и опубликовало эту надпись здесь
Я уже давно виндой не пользуюсь, зри глубже. Это реакция на пост.
Вспомнилось… bash.im/quote/398527
И где вы тут нашли упоминание об антивирусах? Если на то пошло.
Предохранение из разряда «у меня всё под контролем». Старая история.
Продукты у них лучше не стали, разве что дизайн хороший.
Пора возвращаться к идеи бездисковых рабочих станций. Сервер все-таки обычно сложнее заразить.
А там уже как раз стоит заражённый жестяк.
Удобно — все данные в одном месте :)
Получается, что для защиты достаточно полностью зашифровать диск и никогда не грузиться с него. Тогда любая попытка прошивки подпихнуть исполняемый код максимум приведёт к порче данных.
Есть еще такая вещь к примеру как DMA attack
Разве код из прошивки жёсткого диска может её провести?
Насколько я понимаю — да. Жесткий диск как раз типичный пример железа читающего и пишущего физическую память через DMA в больших количествах. Можно смело считать что прошивка там обладает более широкими правами по доступу к памяти чем любой kernel driver. Для борьбы с этим нужно IOMMU которое виртуализирует адресное пространство железячных устройств, но оно далеко не везде есть и еще реже реально используется.

www.zdnet.com/article/windows-7-open-to-attack-via-memory/
Хм. Всегда казалось, что чтением-записью занимается контроллер жёсткого диска, а сам жёсткий диск выступает исключительно в роли ведомого устройства и ничего сам сделать не может. А вот всякие PCI/PCIe устройства вполне могут напрямую к памяти обращаться.
Вы имели в виду «контроллер SATA» (контроллер HDD распаян на самом диске, его собственно и хакали). Почитал детальнее, и да, согласен, DMA контролирует именно он. Контроллер диска вообще говоря не настолько уж туп и при использовании NCQ хранит в себе целую очередь команд вида «блок памяти по адресу X записать в сектор Y» и «сектор Z прочитать в блок памяти по адресу W» и может выполнять их в разной очередности, направляя контроллеру SATA запросы на чтение-запись, однако в протоколе SATA предусмотрена защита от DMA атак — блоки физической памяти адресуются дескрипторами, а не физическими адресами и SATA контроллер самостоятельно мапит эти дескрипторы на физические адреса.
С какого-то диска вы же грузиться все равно будете. Если не брать маргинальные варианты типа загрузки по сети.
Если кому интересно — то вот описание этого механизма:
spritesmods.com/?art=hddhack — для Western Digital
s3.eurecom.fr/~zaddach/docs/Recon14_HDD.pdf — для Seagate

В SSD всё сложней, так как производителей больше。
Я одного сообразить не могу: антивирус Касперского теперь позволит избежать слива данных через эти «закладки»?
Не удивлюсь, если через пару дней они анонсируют такой продукт. Причем именно для защиты Hitachi.
Ага. Встречайте Kaspersky security для HDD.
С интересом жду статьи, как нашли вирус в объективах фотоаппаратов, который тихо пересылает все фотки по вай-фаю заказчику — ведь у объективов сейчас тоже firmware, не гововоря уже о самих фотоаппаратах. А что будет с приходом «интернета вещей»!.. Жить становится все интереснее. :)
НЛО прилетело и опубликовало эту надпись здесь
Зря смеетесь.
На spritesmods.com/?art=hddhack — отличный пример — подмена данных на блинах (/etc/shadow)
Но больше всего поразила возможность запуска ядра linux'a непосредственно на CPU HDD
Для того нужен zfs, :) чтобы памяти у фирмвари не хватило :D
Не совсем понятно, из-за чего ажиотаж. NSA ANT catalog был опубликован 30 декабря 2013 года. Интересующий нас проект — IRATEMONK. С ним связаны проекты STRAITBIZARRE и SLICKERVICAR, описание этих и других сочетаний букв доступно здесь. Внимание, вопрос: понадобился год после публикации, что бы сорвать покровы? С учетом того, что эти проекты NSA разрабатывались с 2008 года?
Там просто утечка доков и многие не верили и говорили что это деза, а тут уже нашли непосредственно такой вирус. Совсем другой инфоповод.
Ажиотаж благодаря грамотному пиару, спасибо за ссылку. Но у меня вопрос. Допустим, подменили мы MBR, внедрили руткит через всю ОС (хотя, верится с трудом: внедряться во все ОС задача практически невыполнимая, разве что через SMM/ACPI). Но ведь с точки зрения контроллера все равно, зачем читают первый сектор. Получается, обнаружить дыру можно просто загрузившись с другого диска.
Можно сделать не постоянную активацию, а скажем на каждый 10 запрос выдавать код вируса. Это и обеспечит заражение после форматирования и обнаружить сложнее.
Для простой подмены MBR нет нужды менять прошивку диска, тут что-то посложнее.
Есть, если надо чтобьы подмена работала и после форматирования диска. MBR же затирается.
На таком уровне незачем менять MBR, если можно подменять сразу код ядра. Хотя возможности измененной прошивки не до конца понятны, может они не так уж велики.
Подменять код ядра OS? Это вряд ли возможно.
Диск это блочное устройство, ему просто говорят с какой дорожки какие блоки прочитать, он понятия не имеет о файлах и файловой системе.
Чтобы что-то подменить вам для начала в вирус надо запихать всю библиотеку NTFS, чтобы он знал когда будет запрос на системный файл с кодом для ядра, потом запихать в него модифицированное ядро. Вряд ли там есть столько места в скрытом разделе, и я сомневаюь в производительности контроллера. Контроллер достаточно тупой, грубо говоря от него только требуется крутить диски и водить головки на нужную дорожку, а вы от него хотите чтобы он как ЦП работал с файловой системой.

Просто подменить MBR и выдать код вируса на несколько порядков проще и заразит систему так же эффективно, не хуже подмены ядра.
У некоторых SSD заявлен умный сборщик мусора, находящий свободное место через анализ ФС.
ФС много разных и есть разные версии внутри одного семейства и что, SSD контроллер их все поддерживает? Это не реально.
Надо читать источник, я думаю там преувеличивают для рекламы, а на деле там что-то упрощенное, а не полноценная работа с ФС.
Вполне полноценная. Например, мало того, что FAT — простая как задница, так ещё и разбираться с LFN и прочим шлаком, чтобы просто знать, свободен данный сектор или нет, не нужно.

Да и вообще. Достаточно понимать ФС на уровне «занято/свободно». Т.е. уметь читать и понимать суперблоки и таблицу инод. Это несложно, даже если в ФС позже появятся новые фичи. Ну добавилась поддержка, скажем, контрольных сумм метаданных, но они же хранятся в иноде, если она по-прежнему помечена как занятая — почему контроллер должно было заботить, что именно в ней хранится.

А дисковый формат таблицы инод и её семантика меняются очень редко. Например, для NTFS это изменение последний раз было году этак в 2000. Для ext2/ext3 эти форматы идентичны, для ext4 формат поменялся с её появлением и опять же больше не меняется, а суперблок у ext4 такой же, как у ext2/ext3.
>FAT — простая как задница

FAT обсуждать нет смысла это прошлый век. А NTFS например вообще закрытая, без открытых доков.

>Да и вообще. Достаточно понимать ФС на уровне «занято/свободно».

я про это и имел в виду — упрощенная работа
а для подмены файлов нужна полноценная реализация ФС на контроллере диска, что вряд ли возможно
а для подмены файлов нужна полноценная реализация ФС на контроллере диска, что вряд ли возможно

Для подмены файлов это тоже не нужно. Достаточно знать, в каком порядке блоки стоят. А дальше всё равно детектировать по содержимому, исполняемый файл это или нет, и уже реагировать в зависимости от этого.

Я вас возможно удивлю, просто знайте: такие вирусы, которые вообще не знают структуру ФС, но тем не менее заражают файлы, перехватывая низкоуровневые обращения к диску, существуют уже очень давно, например, описаны в книге Е. Касперского «Вирусы в MS-DOS» 1993 года выпуска.

FAT обсуждать нет смысла это прошлый век. А NTFS например вообще закрытая, без открытых доков.

Наверное поэтому куча нового оборудования понимает только FAT.

И поэтому наверное также существует открытая реализация NTFS, а также открытых утилит для работы с ней.

И наверное именно закрытость NTFS помешает производителю SSD связаться с MS и под NDA получить необходимые сведения относительно структуры файловой системы.
>Я вас возможно удивлю, просто знайте: такие вирусы, которые вообще не знают структуру ФС, но тем не менее заражают файлы, перехватывая низкоуровневые обращения к диску, существуют уже очень давно

Речь шла про подмену ядра ОС, а не про заражение любого исполняемого файла наубум. Почитайте дискуссию.

>Наверное поэтому куча нового оборудования понимает только FAT.

У вас много HDD под FAT? Я уже давно не встречаю.

>И наверное именно закрытость NTFS помешает производителю SSD связаться с MS и под NDA получить необходимые сведения относительно структуры файловой системы.

производитель SSD и производитель вирусов в общем случае это разные конторы ;)
Речь шла про подмену ядра ОС, а не про заражение любого исполняемого файла наубум. Почитайте дискуссию.

Обнаружение и подмена файла с ядром ОС абсолютно ничем не отличается от обнаружения и подмены любого другого файла. Кроме того, чтобы сделать руткит, не обязательно менять именно ядро ОС — можно подменить, например, драйвер уровня ядра.

У вас много HDD под FAT? Я уже давно не встречаю.

Ну так вы просто в каменном веке живёте.

У меня ядро ОС лежат на FAT-разделе, который одновременно является EFI System Partition и /boot, потому, что я не вижу смысла делать отдельный EFI System Partition для загрузчика и отдельный /boot для ядер и initramfs. (Кстати, FAT — единственная ФС, которая обязана поддерживаться UEFI, остальные — факультативны.)
>Обнаружение и подмена файла с ядром ОС абсолютно ничем не отличается от обнаружения и подмены любого другого файла.

сканируя файлы только по сигнатуре будет подменятся не только ядро, но и лишние файлы, например при копировании, или на неактивном разделе, итп, что приведет с излишней заметности вируса

>Кроме того, чтобы сделать руткит, не обязательно менять именно ядро ОС — можно подменить, например, драйвер уровня ядра.

чтобы сделать руткит достаточно подменить MBR и не требуется менять никакие файлы, о чем я и написал в начале дискуссии

>Ну так вы просто в каменном веке живёте.

В каменном веке FAT как раз была повсюду
Кстати, FAT — единственная ФС, которая обязана поддерживаться UEFI, остальные — факультативны

ну так UEFI это разработка Intel, которая началась еще в 1998 года, и какую еще ФС они могли поставить в спеки, NTFS ведь закрытая, что бы вы ни говорили…
FAT — отличный путь для распространения через флешки.
А причем тут флешки?
Это вот к этому:
FAT обсуждать нет смысла это прошлый век
Напомню, в флешках тоже есть контроллер и он тоже подвергается программированию. У меня, к примеру, есть отличная флешка которая компом определяется как DVDD и FD.
А еще есть brtfs, reiser, ну и опять же: раздел можно зашифровать.
ни разу не слышал про SSD, производитель которого обещает понимаение btrfs и базирующееся на этом улучшение работы сборщика мусора
Сколько процентов целевой аудитории такой закладки будет использовать такие ФС?
Достаточно поиметь большинство нужной аудитории, у которой 99.(9)% будет юзаться FAT/NTFS/EXTx/UFS/ZFS. С повсеместным UEFI это ещё проще будет.
Но могу вспомнить где сам видел это, но при беглой гуглёжке нашел упоминания сборки мусора с NTFS у Samsung и OCZ.
Я не говорю о замене файла целиком.
Диск это блочное устройство, ему просто говорят с какой дорожки какие блоки прочитать, он понятия не имеет о файлах и файловой системе.

А и не нужно.

Как действуют буткиты, сидящие в MBR, вы знаете? Например, концепт eEye? Судя по тому, что написано вами, нет.

Я не знаю, к сожалению, возможностей контроллера. Возможно, подмена только одного блока — все, что он сможет, но если он может подменить пару других, из области ядра, этого достаточно.
Если у него нет доступа к ФС, то вирус не будет знать на самом деле это файл ядра, который сейчас запрашивают, чтобы исполнить или например это просто часть дистрибутива, которую копируют или это файл с не системного раздела, итп.
Если вы имели в виду встраивание кода во все подходящие исполняемые файлы, то да, полноценная работа с ФС не нужна, но это не подмена ядра, о которой вы говорили выше — «если можно подменять сразу код ядра». Чтобы гарантированно менять именно ядро и только его, то надо знать детали установки, значит надо иметь доступ к ФС.

А если встриваться во все что попадется подходящее, то чем это будет лучше чем подмена MBR? Наоборот оставите лишние следы и вирус быстрее обнаружат.
Сигнатура.
Что «сигнатура»? Если ядро — какая-нибудь кастомная сборка линукса, чем вам поможет «сигнатура»?
То «сигнатура».
Большинство этой дряни идет под MS.
Для MS нет, см. концепт Eeye.
Дайте, что ли, ссылку?
Извините, у меня нет. называется EEye Boot root, это исследовательский концепт, POC начала 2000х, после этого покатила волна новых MBR «заражателей».
начала 2000х
Ну дык… В начале 2000х может и можно было что-то такое сделать. Сейчас — вряд ли.
Какое «такое»? UEFI само по себе, MBR само.
>Как действуют буткиты, сидящие в MBR, вы знаете? Например, концепт eEye?

Вы про eEye BootRoot? Так они как раз запускаются из MBR, то есть их вектор атаки именно тот, про который я и говорю :)
Изменение ядра, что они делают, происходит в памяти, потому что они запустились до ОС и контролируют процесс загрузки ОС, они не меняют файлы на диске, как вы предлагаете.
Именно про него.
они не меняют файлы на диске, как вы предлагаете.

Я не предлагал менять что-то на диске, вы невнимательно читаете.
Ок, вернемся в начало.
Я сказал про запуск вируса через подмену MBR, вы ответили «На таком уровне незачем менять MBR, если можно подменять сразу код ядра.»
Если вы не будете подменять MBR, то как вы еще подмените код ядра, если не подменяя файл с диска? Если вы еще не запустились на CPU, то у вас есть контроль только над этим.
Если вы имели в виду что-то другое, то поясните.
Я же сразу сказал — мне неизвестны возможности контроллера и сменной прошивки. Возможность более умной подмены — лишь мое предположение.
Контроллер имеет доступ только к данным передаваемым с диска и на диск, вполне очевидно что он может влиять и подменять только их.
Так и подмененный MBR тоже имеет такой же контроль.
В MBR есть исполняемый код. Подменяя MBR загрузчиком вируса вы сразу попадаете в CPU, еще до загрузки ОС и дальше работаете уже там (как это и делает eEye, про который вы говорили) и уже не надо ловить файлы на диске по сигнатуре или реализовывать работу с ФС.
Кроме того при работе DMA данные вообще с диска идут мимо контроллера, то есть у вируса в контроллере даже доступ к данным есть не всегда.
и уже не надо ловить файлы на диске по сигнатуре или реализовывать работу с ФС.

Любой сущности, которая может анализировать содержимое блока, нет нужды работать с ФС в данном случае.
Замечание с DMA — существенное. Но разве MBR не будет тоже читаться в память через DMA? Я к тому, что если MBR идет через DMA, то и его подменить нельзя будет. А раз его можно, несмотря на DMA, то и прочие можно тоже.
Любой сущности, которая может анализировать содержимое блока, нет нужды работать с ФС в данном случае.

Я уже два раза про это писал выше, работая по сигнатуре мне не нравится тем, что не будет полной уверенности, что это правда часть ядра, которая сейчас запрашивается, чтобы быть исполненной процессором. eEye, на который вы ссылались, патчит драйвера после загрузки в памяти, когда уже точно понятно, что это исполняемый код и часть ядра.
Если очень хочется, то конечно можно сделать так, но зачем? Заменить загрузочный сектор, чтобы запустить вирус не в пример легче.

Но разве MBR не будет тоже читаться в память через DMA?

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

Я уже два раза про это писал выше, работая по сигнатуре мне не нравится тем, что не будет полной уверенности, что это правда часть ядра, которая сейчас запрашивается, чтобы быть исполненной процессором. eEye, на который вы ссылались, патчит драйвера после загрузки в памяти, когда уже точно понятно, что это исполняемый код и часть ядра.

Или я путаю eye с чем-то другим, или там было два варианта (по-моему, да, было две версии этого концепта) и один из них патчит как раз ядро.
И уверенность есть по одной простой причине — ядро грузится первым, после нахождения первой цепочки детектор сигнатуры выключается. А на все ядро (а точнее, eeye не ядро патчит, а загрузчик второй стадии) такая цепочка байт одна. Ну это если верить их, POC создателей исследованиям.

Заменить загрузочный сектор, чтобы запустить вирус не в пример легче.

Нудык, а загрузочный сектор подмененный что потом делать будет? То же самое.
Или я путаю eye с чем-то другим, или там было два варианта (по-моему, да, было две версии этого концепта) и один из них патчит как раз ядро.

Так eEye патчит его в памяти CPU, работая на CPU.
Вы же предлагаете патчить данные на HDD, работая на микроконтроллере HDD — это 2 разные ситуации
Нудык, а загрузочный сектор подмененный что потом делать будет? То же самое.

Не то же самое, загрузочный сектор выполняется на CPU и вирус далее работает на CPU, вы же предлагаете менять данные вирусу работая на процессоре контроллера диска.
В первом случае у вируса полный управление над компьютером, он управлет загрузкой OS и знает что сейчас происходит, что сейчас грузится и куда.
Во втором случае у вируса непонятный поток данных проходящих через HDD (и даже к ним нет доступа при работе DMA), нет доступа к ФС, все что он может — это искать сигнатуру и надеятся что это был нужный файл и что он сейчас будет исполнятся на CPU, а не файл запросили например для подсчета контрольной суммы, для проверки целостности ядра, после чего вирус сразу спалится.
Так eEye патчит его в памяти CPU, работая на CPU.
Вы же предлагаете патчить данные на HDD, работая на микроконтроллере HDD — это 2 разные ситуации

Я уже говорил — я не знаю возможностей контроллера и как он работает. Это было предположение.

Замнем, как говорится, для ясности.
512 байт это уже большой объем.

эм, это не большой объем, 1 сектор микроконтроллеру не сложно пропустить через себя и заменить нужные данные, но ему даже пропускать через себя его не надо, он просто выдаст свой сектор с загрузчиком вируса, вместо того что на диске

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

Диск — блочное устройство, никто даже с флопчиком, даже MS-DOS, не работает через порты. Все через DMA.
Я представляю разницу в скорости работы с DMA и без — приходилось писать драйвер для флопчика.
Для подмены загрузочного сектора его с диска и не требуется читать, так что тут на самом деле не важно по DMA запрос был или нет — контроллер сразу отдаст загрузчик вируса.
А для подмены ядра да, это важно, потому что там на самом деле надо читать данные с диска, и процессор контроллера просто не успеет их просканировать и передать.
Кроме того при работе DMA данные вообще с диска идут мимо контроллера, то есть у вируса в контроллере даже доступ к данным есть не всегда.

Какой бред!

DMA — данные проходят мимо центрального процессора компьютера. Но, кстати, они идут по общей шине PCI — другого интерфейса-то нет, так как в конечном счёте единственные провода, соединяющие жёсткий диск и память, это шина PCI (express в современном случае). И значит данные физически всегда проходят через I/O HUB, в котором уже принимается решение — отдать сразу в память или процессору.

А мимо контроллера, встроенного в диск, они физически пройти не могут — он одит знает, какой там физический формат, где какие релокации секторов были сделаны и тому подобное. Вы кабель SATA втыкаете непосредственно в этот контроллер.

То есть, у вируса в контроллере диска доступ к данным есть всегда и полный.
А мимо контроллера, встроенного в диск, они физически пройти не могут — он одит знает, какой там физический формат, где какие релокации секторов были сделаны и тому подобное. Вы кабель SATA втыкаете непосредственно в этот контроллер.

У вас слишком урощенное понимание контроллера.
То что вы втыкаете кабель в плату контроллер, не значит что у фирмвари есть доступ к данным DMA, там слишком высокие скорости, чтобы данные успевали проходить через микроконтроллер (кстати их там 3), изучили бы сначала вопрос, прежде чем писать про бред spritesmods.com/?art=hddhack&page=3
If the processors would use a standard memory copy, with them running at 150MHz, they would only be able to reach 150*23/2=2.4Gbps, and in practice most likely much less. The hard disk is specced at 6Gbps, so there's probably some hardware acceleration involved. The most likely hardware acceleration would be to use DMA. That would mean the data is copied directly from the head reading logic to memory, without active involvment of the processor. The same goes for the SATA-port: the processor would have to only indicate where the data is, and the DMA logic would take care of reading the data directly from memory.
Не воспримите, как спор, но мне кажется, цитата, которую вы привели — как раз и есть упрощенное понимание контроллера. Думаю, вам оппонент правильно говорит: как DMA может знать, какое физическое устройство скрывается за интерфейсом SATA? Т.е. он должен знать особенности команд позиционирования и чтения головки с физической поверхности (которая может отображаться на логическое адресное пространство как угодно)? Например, DMA каким-то чудом умеет работать с SSD-дисками, хотя в них и головок нет, и контроллер DMA мог быть создан ещё до появления SSD-дисков.
В цитате, что я привел, написано все правильно, там речь идет о DMA на контроллере, я думал что это очевидно и не стал это расписывать…
Если в двух словах, то по ссылке пишут с какой скоростью способен процессор контроллера просто копировать данные в памяти, даже без их обработки, и показывают, что этой скорости в несколько раз не хватает до реальной скорости работы HDD. Отсюда очевидно, что данные пересылаеются через DMA, как на материнской плате (это и так все знают) так и в самом контроллере HDD (а вот это и важно было для дискуссии). То есть процессор непосредственно с данными не работает, за исключением служебной информации.
А про упрощенное понимание я говорил, что не надо понимать контроллер как железку, которая сидит на другом конце кабеля и принимает все данные и имеет доступ ко всему потоку. Там тоже есть и проц (и часто не один) и память и DMA.
В принципе это и так было понятно, что нет смысла ставить мощный микроконтроллер и тем самым удорожать диски, когда данные обрабатывать на самом диске не нужно, а с пересылкой справится и дешевый DMA.
Ну и чего тут такого «гениального», как выразился мсье Касперский? Обычная безалаберность и перестраховка разработчиков. Ведь известно, что лучшая защита — физическое отсутствие связей. На хрена, объясните мне, давать со стороны стандартных линий связи доступ к микропрограммному обеспечению (firmware), да ещё и с возможностью его перепроливки?! Я даже не могу понять зачем это делают в обычных компах? Перепрошивать BIOS? Я, например, не делал этого ни разу в жизни, нафиг не нужно было. А если кому надо — велком ту сервис-центр. До ступ до железа должен быть минимален, на уровне IBM PC XT. Есть стандартные регистры — и досвидосс!
Про диски шикарно описано тут:
forum.ixbt.com/topic.cgi?id=66:2176:2501#2501

А просто BIOS для исправления багов и дыр в безопасности. Первые встречаются регулярно, вторые начали появляться после массового внедрения UEFI.
И на старуху бывает проруха. Если бы производители дисков не оставляли возможность апдейта прошивки конечным пользователем — не было бы возможности исправлять досадные ошибки, выловленные уже после начала массовых продаж. Что неизбежно бы ударило по репутации.
У меня Samsung 840 Evo.
В первых прошивках у них были серьёзные проблемы, которые исправились после перепрошивки:
geektimes.ru/post/241078/
Производителю накопителей проще сделать механизм обновления прошивки, чем отправлять всех пользователей в СЦ.
Почему производители не делают перемычку, блокирующую манипуляции с прошивкой?
Слишком дорого посылать к каждой бабушке специально обученного снятию перемычки человека.
Помнится не так давно уже были перемычки, джамперами назывались. Стояли в изобилии на всех платах. Потом вдруг всё перенесли в софтовые настройки, и наверняка не просто так. Наверно единственный выживший джампер — сброс биоса к дефолтным настройкам.
Да и эти перемычки лишь способ усыпить просыпающегося параноика: подал серию специальных команд и уже можно прошивать, не взирая на её состояние.
Скажите это INTEL-у, который придумал такую фишку, как микрокод процессора. Багов первого пня (F00F, 2*2=3.999999999 и т.д.) им хватило, чтобы реализовать возможность замены «дырявых» комманд процессора. Не понравилось видать менять первые пни всем желающим. Причем тут всё хуже, структура этого микрокода, который заливается в процессор на самой ранней стадии (у семейств старше pentium 4 оно вообще до настройки памяти выполняется, т.е. в бутблоке) никому (даже биосописателям), кроме избранных человеков из интела, не известна. У AMD тоже самое. А штука мощная, можно заменить например функции шифрования, функции дсч и т.д.
Если я правильно понял, то по сути здесь описывается лишь способ защиты вируса/трояна от стирания при форматировании диска. В остальном оно ничем не отличается от всего что было известно ранее (ни способ распространения, ни передача интересной информации владельцу).
Несовсем понятно что за «прорыв» такой.
Любой специалист по восстановлению данных может записать сотню мегабайт произвольного кода в firmware любого (ну почти) диска используя доступный софт вроде PC3000.
Не удивлюсь если касперский через неделю выпустит софт который будет проверять служебку на вирусы.
А эти хитрые вирусы под линуксами тоже работают?
небезынтересная

Forever petooh
Странно, что это так долго не всплывало. Я думаю, технически вполне возможно, переписав прошивку диска, хранить и данные и дополнительный код прошивки в секторах, к примеру, предназначенных для ремапа. По идее, можно даже вместо чтения какого-нить cmd.exe отдавать данные из этих секторов. А сколько вокруг китайских чипов, где, наверняка, тоже много чего недокументированного… пойду выпью.
Вот почему на материнских платах, дисках, видюхах, флешках и прочем оборудовании нет специальной перемычки, которую нужно было переключать физически, чтобы перепрошить? Давно хочу такое!
А потому, что у SPI флешек нету ноги, которая физически запрещает запись (про WE просьба не упоминать, оно блокирует модификацию в 0 бита запрета записи в регистр read only областей). А раньше, на FWH/LPC/параллельных флешках такая нога была (да и на видяхи ставили флешки 27Cxxx, которые какбы однократно записываемые) и на материнках частенько была перемычка «Bios Update Enable». Но тут увы, сейчас в моде интерфейсы с малым числом ног (SPI), которые этого лишены. Да, на интеловских серверных платах сия перемычка живет до сих пор. ну или в биосе торчит пунктик соответствующий.
Для биоса материнской платы можно поставить джампер/перемычку для запрещения перезаписывания содержимого биоса, так почему это не сделали для накопителей и всего прочего? (биос видеокарты и прочих устройств тоже перезапасывается, читал как-то что можно перезаписать прошивку сетевой карты которая будет работать как руткит)
Про сетевую карту это да. Я так сделал из realtek 8139 платку, которая грузила MSDOS.
Для тех, кому надо подробностей такого развлечения — ask google: RayeR's ROMOS
НЛО прилетело и опубликовало эту надпись здесь
WDшную, судя по статье. И запустил линукс на контроллере внутри жёсткого диска (не до конца, правда, но тут уже было бы желание). Офигенная статья!
НЛО прилетело и опубликовало эту надпись здесь
Значит, контроллер все-таки силен, и даже очень.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации