Что можно сделать из жестких дисков своими руками

Хаки жёсткого диска; «Хакер»

Xakep #255. Атаки на Windows

  • Содержание выпуска
  • Подписка на «Хакер»

Любознательный хакер по имени Йерун Домбург (Jeroen Domburg) заинтересовался, как устроен жёсткий диск и можно ли его хакнуть, перезаписать флэш-память, да и вообще, что с ним можно сделать. Результаты экспериментов над диском Western Digital он опубликовал в блоге.

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

Например, на фотографии показана флэш-память от 64 КБ до 256 КБ: отсюда контроллер HDD загружает программу. Эта микросхема в отдельном виде присутствует не в каждом винчестере. Документацию вы нигде не найдёте.

Домбургу повезло: он наткнулся на форум HDDGuru, где неизвестный инженер описал распиновку для интерфейса JTAG к контроллеру 88i6745. Имея эту информацию, с контроллером можно делать что угодно.

Йерун Домбург немедленно взялся за дело. К контактам JTAG и последовательному порту HDD он подключил плату FT2232H (красная плата на фотографии). Для работы на основном компьютере использовалась программа OpenOCD.

К счастью, в контроллере 88i9146 распиновка оказалась такой же, как в вышеупомянутом 88i6745. Программа OpenOCD распознала трёхъядерный ARM-процессор, где каждое ядро отвечало за свои функции: первое — за физическое чтение/запись с поверхности диска, второе — обработку данных с интерфейса SATA, работу с кэшем, LBA и CHS. Что делает третье ядро, выяснить не удалось.

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

По словам хакера, в самодельной прошивке можно предусмотреть несколько полезных функций. Например, поставить защиту от клонирования диска. Скажем, если доступ к секторам диска осуществляется в обычном случайном порядке, то прошивка работает нормально, а если начинается клонирование (последовательное считывание секторов), то она может вывести HDD из строя.

Контроллеры HDD мало изучены, любая информация о них на вес золота, так что работа Домбурга достойна продолжения.

Удали ненужное. Или всё, что можно сказать о DCO.

Что такое Device Configuration Overlay или сокращенно — DCO

Это возможность легко и быстро отключать ненужные пользователю функции винчестера, которые могут по какой-то причине мешать, создавать опасность или конфликтовать с оборудованием .

Как работает DCO

Винчестер имеет служебную микропрограмму («прошивку»). Она определяет свойства и поведение конкретной модели накопителя. Если в процессе его жизни выяснится, что в микропрограмме допущена ошибка или можно что-то улучшить — производитель выпускает обновление прошивки.
Когда разработчики создают винчестер, они стараются заложить в него большой набор функций, чтобы соответствовать стандарту и расширить область применения изделия. Ведь его могут применять в разных устройствах: компьютерах, системах видеозаписи, музыкальном центре, автомобиле, внешнем боксе, и даже в станке с ЧПУ.
Но иногда оказывается, что некоторые функции сильно мешают. Для того, чтобы их выключить, нет смысла менять всю программу. Достаточно изменить лишь её настройки. Для этого был придуман Device Configuration Overlay — отдельный небольшой модуль, в котором эти настройки хранятся и могут меняться пользователем. При этом находящаяся на винчестере информация никак не затрагивается.

Читайте также:  Видеорегистратор 8 в 1 Japan Glass реальные и отрицательные отзывы описание товара, мнения покупател
«Весёлая» история

В начале 2000-х годов производители материнских плат очень старались застраховать своих пользователей от потери содержимого BIOS — микросхемы, обеспечивающей старт компьютера. Прошивки BIOS иногда портились, а также могли быть стёрты вирусами, специально созданными для порчи Flash BIOS (например, «Чернобыль»). После такого события — компьютер становился совершенно неработоспособен, и требовал квалифицированного ремонта.
И вот, конструкторы плат придумали небольшой, и как им самим показалось — удачный лайфхак. Они стали дублировать прошивку BIOS в самый конец винчестера, где нет разделов. А чтобы пользователь и вирусы не ковырялись в ней — стали «закрывать» эту область через обрезание размера винта командой HPA. Но «недолго музыка играла».
Примерно в 2004-м году ёмкости серийно продаваемых винчестеров стремительно преодолели планку в 128 Гб, и перешли на адресацию 48 бит. И тут началось такое, что никто не ожидал. Новые жесткие диски заблокировались на объём 768Mb и заметно потрепали нервы пользователям. Ведь для их разблокировки многим пришлось обращаться в сервис. Причина оказалась в том, что встроенная в BIOS программа уменьшения объёма HDD не была рассчитана на адресацию, более чем FFFFFFFh секторов (это 268435455 x 512 = 131071 Mb — предел для 28 бит). Возникало переполнение разрядов переменной, и старшие биты обнулялись. Осложнял ситуацию описанный в моей статье глюк винчестеров фирмы Seagate.
Разумеется, даже разблокировка объёма не гарантировала спокойную жизнь в дальнейшем. Неприятность могла повториться. Для того, чтобы прервать эту свистопляску, был только один надёжный способ — отключение функции HPA. Насовсем. Обычно это делалось на аппаратно-программном комплексе через модификацию микрокода, но если винчестер поддерживал DCO — задача предельно упрощалась.

Пароль — не игрушка!

Почти все современные винчестеры поддерживают функцию установки паролей и экстренного стирания данных. Но иногда пароль на винчестер ставится без уведомления пользователя. Например в некоторых ноутбуках BIOSы по-умолчанию закрывают винт паролем, и при каждом включении производят временную разблокировку HDD/SSD до выключения питания. Для пользователя этот процесс выглядит совершенно незаметно. Замысел разработчиков здесь такой: если злоумышленник похитит компьютер, то даже вынув винчестер и подключив его к другому компьютеру, он не сможет прочитать данные . Но к сожалению, пароль пользователя ПК и пароль в винчестере — не совпадают. Ибо то, что подаётся в винчестер — шифруется ноутбуками по специальному алгоритму. И при неисправности ноутбука — свою информацию потеряет уже законный пользователь. Разблокировать некоторые винчестеры довольно сложно даже в условиях мастерской. Некоторые современные модели HDD и SSD распаролить невозможно, т.к. они ещё и шифрованы. Проще предотвратить установку паролей, отключив эту опцию в самом накопителе. Это также можно сделать через DCO.

Быстрое уничтожение данных на SSD

Рассмотрим ситуацию с другой стороны. Вам необходимо быстро стереть компрометирующую информацию с накопителя. Лучше всего для этого подходят SSD. У них, в отличии от HDD, стирание данных через подсистему безопасности происходит не за десятки минут, а за пару секунд.
Однако, стереть накопитель в системе Windows непросто. Дело в том, что с целью противодействия вирусам, Windows запрещают любые действия с подсистемой безопасности, подавая в винчестер защитную команду Security Freeze lock. Отменить её можно только физически — выключив питание накопителя. Замкнутый круг? Нет.

Читайте также:  Коленчатый вал — Энциклопедия журнала За рулем

На помощь придёт DCO.

Если отключить в накопителе опцию безопасности — то команда Freeze lock не сработает .

Я делал следующий эксперимент:

  1. Через DCO отключал на HDD опцию Security (это можно сделать через USB-бокс , в PIO, из-под более древней системы, или банально передёрнув питание накопителя — во всех случаях статус Frozen будет сброшен).
  2. Подключал накопитель к Windows 7.
  3. Включал через DCO функцию Security. Windows не замечала её появления, и не блокировала накопитель.
  4. Подавал в накопитель команду Security Erase. Данные немедленно уничтожались .

Если такой финт проделать с SSD (в частности, Samsung Evo 850 поддерживают функцию DCO) — можно добиться мгновенного стирания информации, вплоть до её уничтожения вместе с операционной системой, в обход любых защит Windows.

Скрытый объём

Некоторые модели винчестеров, особенно имеющие только один диск и одну магнитную головку, выпускаются с завода с уменьшенным объёмом и по меньшей цене. Это сделано для сегментации рынка — чтобы максимально охватить весь ряд востребованных емкостей, и получить максимум прибыли. Например, так делала фирма Maxtor на моделях Diamond Max Plus 8, Diamond Max 541 и Fireball 3. Обрезаны они были, как это ни странно, через DCO. Достаточно подать такому накопителю команду Restore DCO — и пользователь получал вдвое больший объём.
Возможен и обратный процесс. Можно указать в настройках DCO другое значение ёмкости и применить настройки. Это будет аналогично действию HPA, но не будет разблокироваться с помощью HPA. Для чего применить — решайте сами.

Отключение S.M.A.R.T.

Может потребоваться в том случае, если какая-то программа без спроса лезет накопителю в S.M.A.R.T и неверно интерпретирует данные. Например, отвлекает тревожными сообщениями, замедляет работу. Или для спасения данных используется операционная система, в которую встроены S.M.A.R.T-функции, и которые нельзя отключить (к слову, за функции мониторинга S.M.A.R.T в Windows 7 отвечает файл DFDWiz.Exe). В такой ситуации отключения SMART-функций с помощью DCO даст системам понять, что винчестер не поддерживает S.M.A.R.T и проверять его не нужно.
Аналогично может потребоваться отключение других функций. Был случай, когда знакомый подключил винчестер Samsung к стационарному видеорегистратору, после чего винт перестал раскручиваться и «впал в кому». Как оказалось, в винт была подана хитрая команда, которая перевела его в режим Power-Up In Standby. Он не позволяет винчестеру работать до подачи другой команды — Disable Power-Up In Standby. Пришлось обращаться в сервис.

Как пользоваться DCO в программе Victoria

Краткая инструкция встроена в программу Victoria, начиная с версии 4.76 на вкладке DCO, и состоит из четырёх шагов:

Шаг 1: Нажимаем кнопку Identify

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

Шаг 2: Нажимаем кнопку Restore
В винчестер подается команда, которая сбрасывает все прошлые настройки, если они были. Если же их не было (заводская неизменённая конфигурация) — накопитель выдаст ошибку. Это абсолютно нормально!

Шаг 3: Необходимо установить или снять необходимые галочки-опции HDD. Можно ввести другой размер диска (поле Max LBA).

Шаг 4: Нажимаем кнопку Apply и применяем настройки. При этом DCO-структура, изменённая программой, возвращается обратно в накопитель.
Если винчестер вернул ошибку — ничего страшного, настройки не применились. Читаем статью до конца.

Кнопка Freeze блокирует работу DCO до выключения питания. Нажимать без необходимости её не надо.

Особенности применения DCO и причины неудач

Поскольку эта система может управлять опциями безопасности накопителя, разработчиками винчестеров введено несколько зависимостей, исключающих применение DCO для нейтрализации уже задействованных функций. Для неопытного пользователя они могут быть неочевидны, но их нужно учитывать. Рассмотрим каждую из них.

  1. Чтобы выключить SMART через DCO. нужно сначала выключить его через ATA. Переходим на вкладку SMART, и нажимаем SMART OFF.

Чтобы эксперименты были успешными, нужно соблюдать ещё одно обязательное условие: перед каждой попыткой изменением конфигурации — сбрасывать предыдущую, кнопкой Restore .

Читайте также:  Почему кактусы колючие интересные факты, познавательные статьи, цифры и новости

Между получением конфигурации и её применением — недопустимы другие операции (например получение паспорта HDD) , т.к. используется общий буфер данных.

Обе структуры DCO: извлечённая из HDD и поданная в него после изменений — сохраняются в виде файлов в папке с логами.

Заключение

Теперь вы знаете о DCO абсолютно всё. Вероятно, программа Victoria 4.76 стала первой свободной программой для Windows, умеющей работать с конфигурацией накопителей.
В 2019 г. DCO исполнилось 16 лет, и такие SSD-бренды, как OCZ-Vector / Octane, Plextor, Samsung по-прежнему поддерживают его. Есть DCO и во многих гибридных накопителях SSHD.
К сожалению, разработчики OCZ-Vertex и Kingston отказались от DCO. Альтернативой у них служат команды более нового протокола — Smart Command Transport. Но это совсем другая история.

Как перенести систему с HDD на SSD?

Сделать это можно абсолютно бесплатно с помощью простых программ. Главное — следовать инструкции, чтобы не потерять важные данные.

Твердотельные накопители плотно обосновались в современных ноутбуках и ПК, ведь они ощутимо быстрее классических жестких дисков. Переход на SSD — это один из самых простых и эффективных апгрейдов компьютера. Но что делать с имеющейся информацией на диске? При покупке твердотельника необязательно заново устанавливать систему и необходимые программы. Можно с легкостью клонировать все данные из старого хранилища в новое.

Зачем менять HDD на SSD?

Главная причина — повышение скорости обработки данных. Операционная система установленная на SSD запускается в среднем в 5-10 раз быстрее. Похожие цифры получаются при работе с программами и загрузкой уровней в играх. Но есть одно но.

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

Кроме того, твердотельный накопитель:

  • не шумит — в нем нет механической головки;
  • практически не нагревается при работе;
  • потребляет очень мало электроэнергии, тем самым экономя батарею ноутбука.

Подготовка к клонированию

Перенос системы с HDD на SSD следует начать с бэкапа пользовательских данных. Это довольно длительный процесс. Чтобы сократить время копирования, желательно удалить ненужные файлы, занимающие много места. После этого перенесите всё необходимое на другой носитель или в облако. Это нужно на случай, если что-то пойдет не так. Да и вообще резервная копия никогда не будет лишней — например, если вы подцепите вирус.

Перед копированием системы настоятельно рекомендуется привести ОС в порядок. Удалите временные файлы, проверьте реестр на ошибки, выполните антивирусное сканирование.

Вне зависимости от того, как вы это сделаете, оба диска в процессе миграции должны быть подключены к ПК. Если количество слотов ограничено, то можно приобрести переходник SATA-to-USB.

Затем вам понадобится одна из следующих программ:

  • Утилита от производителя SSD. Многие разработчики оснащают свой продукт соответствующим ПО, с помощью которого можно осуществить процесс клонирования. Например, для твердотельных дисков Transcend это будет утилита SSD Scope.
  • Специализированное ПО для переноса системы. Их насчитывается довольно много. Можно выбрать любую, ведь все они работают схожим образом. Самые популярные утилиты: Acronis True Image, HDClone, AOMEI Backupper, EASEUS Disk Copy. Мы продемонстрируем процесс переноса на примере MiniTool Partition Wizard.
Ссылка на основную публикацию
Что лучше Ниссан Террано или Рено Дастер сравнение и отличия братьев-близнецов
Сравнение Renault Duster и Nissan Terrano в чем отличия, что лучше Внешний вид Ниссан Террано внешне похож на Рено Дастер,...
Что делать, если машину заблокировала другая машина во дворе
Можно ли вызывать ГИБДД, если машина заблокирована на парковке Ответ юриста Автоюрист комментирует, можно ли вызывать ГИБДД в случае блокировки...
Что делать, если машину заблокировали на парковке The Robot
Что делать, если заблокировали машину во дворе Нередко возникает ситуация, когда, в связи с недостатком свободного пространства или в связи...
Что лучше новая Лада или подержанная иномарка
Иномарка с пробегом или новая отечественная Лада Мои читатели меня просят высказать мнение на вопрос выбора автомобиля. Рынок автомобилей переполнен,...
Adblock detector