Как перезапустить биос на ноутбуке: [Ноутбук/AIO] Как сбросить параметры BIOS | Официальная служба поддержки

Аппаратный взлом для обхода паролей BIOS

Резюме 

Эта статья представляет собой руководство для начинающих по аппаратному взлому, выполняющему обход пароля BIOS на ноутбуках Lenovo. Определяем, в чем проблема, как идентифицировать уязвимый чип, как обойти уязвимый чип и, наконец, анализируем, почему работает эта атака и как ее можно предотвратить.

В связи с развертыванием новых ноутбуков для консультантов в CyberCX несколько ноутбуков Lenovo были выведены из использования в основном в бизнесе. Процесс включает в себя очистку каждого устройства и определение того, работает ли аппаратное обеспечение правильно. Если оборудование все еще работоспособно, то его можно добавить в пул доступных устройств для исследований или конкретных работ, требующих дополнительного ноутбука. Однако в данном случае у большей части нашей внутренней команды было удобно забыли свои пароли биоса. Пароли BIOS предназначены для предотвращения несанкционированного доступа к аппаратным системам и их конфигурации. Однако, когда эти пароли забыты или утеряны, это может означать невозможность очистки устройства или замены оборудования.

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

Поскольку мы не хотели тратить оборудование впустую, я начал исследовать, как обойти пароль BIOS для этих ноутбуков Lenovo.

Это должно быть легко исправить, верно?

Старый подход к сбросу настроек BIOS заключался в извлечении батарейки типа «таблетка» и ожидании 5-10 минут. Это сбрасывает конфигурацию BIOS до заводских значений по умолчанию. Это могло работать раньше; однако в современных системах конфигурация хранится в энергонезависимой памяти на материнской плате. С этими ноутбуками необходимо использовать другой подход.

Уязвимость, обнаруженная в BIOS этих ноутбуков, заключается в том, что электрически стираемая программируемая постоянная память (EEPROM) отделена от самой микросхемы BIOS. Это означает, что если мы сможем перехватить или прервать эту связь, запрос пароля BIOS может быть пропущен. Эта уязвимость общеизвестна; лучшая статья, которую я нашел, — это статья Дэвида Зоу (Zou, 2016). Мое исследование намерено основываться на этой работе, чтобы позволить CyberCX перепрофилировать эти бывшие в употреблении ноутбуки.

Как определить уязвимые чипы?

Как упоминалось ранее, выведенные из эксплуатации ноутбуки Lenovo имеют отдельную микросхему BIOS, в которой хранятся настройки BIOS. Эта настройка не уникальна для Lenovo, так как у других производителей есть такая же проблема с реализацией.

Для материнских плат ноутбуков Lenovo EEPROM представляет собой 8-контактный тонкий корпус малого размера (TSSOP). Он может иметь несколько конфигураций, как показано на рис. 1. 

 

 Рисунок 1 ABLIC Inc. (Eeprom_fig051, 2013) 

Внимательное изучение каждого чипа на материнской плате ноутбука позволяет нам идентифицировать несколько пакетов SOP, TSSOP и TMSOP-8. Связь EEPROM осуществляется по протоколу Inter-Integrated Circuit (I2C или I2C). Схема выводов, показанная ниже (рис. 2), предназначена для TSSOP, однако вывод остается одинаковым для каждого из пакетов EEPROM.

 

  Рисунок 2 Zou, D. (8pinEEPROM, 2016)  

 

Используя эту информацию, мы идентифицируем EEPROM BIOS на ноутбуке Lenovo, а затем выполним атаку на контакты Serial Clock (SCL) и Serial Data (SDA) для изменения или прерывать общение.

 

Как обойти пароль BIOS?

Добровольцем в данном случае является Lenovo L440, как уже показано в разобранном виде на Рисунке 3.0008  

 

Для успешной атаки на пароль BIOS этого ноутбука необходимо выполнить следующий процесс:  

  1. Найдите правильный чип EEPROM.
  2. Найдите контакты SCL и SDA.
  3. Своевременно замкните контакты SCL и SDA.

На Lenovo L440 было три чипа, вроде подходящих под искомые нами критерии корпуса и распиновки.

Самый простой способ определить, является ли микросхема кандидатом, — это найти серийный номер и слово EEPROM. Часто по результатам поиска будет быстро очевидно, является ли чип EEPROM или нет. Однако следует отметить, что многие производители не указывают фактический серийный номер. Все они имеют свои собственные стандарты и системы управления версиями, что может затруднить процесс идентификации компонентов. На следующих рисунках показаны три кандидата, идентифицированные на Lenovo L440, которые могут быть EEPROM, которые мы ищем.

 

  Рис.

Рисунок 5 Возможный кандидат №2 8-контактный TSSOP  

 

Рисунок 6 Возможный кандидат №3 8-контактный TMSOP  

 

иметь флэш-память CMOS объемом 64 МБ. Итак, пока часть BIOS, это не тот чип, который мы ищем.

Второй кандидат (рис. 5) имеет серийный номер 4835D AC W56C, который, по-видимому, является своего рода полевым транзистором металл-оксид-полупроводник (MOSFET). Полезно для подачи питания и сглаживания, но не для хранения данных.

Третий кандидат (рис. 6) имеет серийный номер L08-1 XH и, похоже, является искомой EEPROM. Здесь хранится конфигурация BIOS.

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

Ниже показана краткая демонстрация работы атаки, она выполняется на Lenovo X230, но применяется тот же процесс атаки.

 

 

Я определил EEPROM, как показано в правом верхнем углу. Я могу войти в гостевой режим BIOS, не зная пароля, но никакие изменения не могут быть внесены.

Помните, нас интересуют контакты SCL и SDA. Все, что нам нужно сделать, это закоротить их в нужное время, и они обойдут запрос пароля.

Как вы можете видеть в демонстрации, я включаю ноутбук, затем использую «элитную» технику, втыкая маленькую отвертку в контакты SCL и SDA, чтобы закоротить их до входа в BIOS.

Интересно, что вы можете обойти пароль, внести изменения в BIOS, например изменить загрузочный диск, а затем не выполнять замыкание при следующей загрузке. Затем вы можете загрузить новую ОС, сделать то, что вам нужно, а затем снова закоротить контакты, изменив настройку обратно. Это по-прежнему оставляет существующий пароль в EEPROM, поэтому на ноутбуке жертвы не будет никаких доказательств взлома.

 

Почему эта атака работает?

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

  первая попытка подключения чипа EEPROM не удалась, так как самый маленький 8-контактный зажим TSSOP, который у нас в мастерской был слишком большой (указывая что это либо уменьшенная версия, либо ТМСОП). Эта проблема показана на рис. 8. 

 

Рисунок 8 8-контактный зажим TSSOP  

 

Тем не менее, наша мастерская приобрела набор PCBite, который позволяет исследовать самые маленькие булавки на доске. Рисунок 9 показывает, насколько малы эти «ножки» EEPROM.

  Рисунок 9 Контакты PCBite, прикрепленные к EEPROM.  

 

На рис. 10 показана распиновка, сопоставленная с EEPROM на материнской плате.

 

Рис. 10. Расположение контактов идентифицированного чипа.

 

Теперь, когда к осциллографу подключены правильные контакты, мы можем попытаться просмотреть связь между BIOS и EEPROM при загрузке.

Я очень давно не пользовался осциллографом; Я нашел следующее от Siglent полезным для получения правильной конфигурации. Кроме того, модель осциллографа, которую мы имеем в мастерской, предположительно поставляется с автоматическим декодированием последовательной связи!

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

(Siglent Technologies, 2017 г.) https://www.youtube. com/watch?v=mXJN7FwpKHg

(MyVanitar, 2020 г.) https://www.youtube.com/watch?v=yzcia8C-Y7Y

Дополнительно , следующие спецификации взяты из таблицы данных Mouser, которые соответствуют микросхеме EEPROM, которую мы атакуем.

 

Рисунок 11 Фрагмент из таблицы данных Microchip (2003 г.) «Передача данных может быть инициирована только тогда, когда шина не занята» (Microchip, 2003). Наряду с определением Busy not Busy, «линии данных и тактовых импульсов остаются высокими» (Microchip, 2003).

Кроме того, в техническом описании представлено визуальное представление протокола связи. Механизм запуска и остановки: BIOS выполняет команду запуска, отправляет данные, а затем отправляет сигнал остановки, чтобы обозначить конец связи.

 

Figure 12 Start/Stop (Microchip, 2003)  

 

Здесь следует отметить, что BIOS требует сигнал start , иначе ноутбук не загрузится. Вот почему мы не можем просто закоротить контакты перед включением ноутбука.

Глядя на выходные данные нашего причудливого осциллографа на следующем рисунке, мы видим, что сигнал запуска отправляется примерно через 5,32 микросекунды после нажатия кнопки питания. Следует отметить, что для показаний осциллографа желтая линия — это SCL (часы), а фиолетовая — SDA (данные), если не указано иное. 9Рис.  

 

Из рисунка видно, что происходит начальное условие, а затем первая операция записи данных 0x06. Обратите внимание на разницу во времени: 5,3 микросекунды с момента включения питания, первая операция, затем чтение и запись, затем ничего до примерно 6 миллисекунд после включения питания.

Похоже, что это начальное включение BIOS выполняет проверку EEPROM. Как обсуждалось ранее, эта проверка должна быть выполнена, иначе BIOS предотвратит дальнейшую загрузку системы. Это предотвращает короткое замыкание контактов EEPROM до подачи питания.

 

Рисунок 14  Осциллограф Вид при замыкании контактов.  

 

На рис. 14 показано изображение осциллографа после замыкания контактов SCL и SDA. Обратите внимание, что временная ось X немного отклоняется от двух изображений. Короткое замыкание происходит примерно между точками 470 мкс и 5,8 мс. Это показывает, что SDA низкий, а SCL высокий, что, согласно описанию протокола, указывает на занятую линию.

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

Чтобы добавить сложности, некоторые BIOS используют TPM или шифруют или хэшируют пароль BIOS. Каждая модель, даже одного и того же производителя, отличается, и, конечно же, этот процесс не задокументирован.

В моем случае с ноутбуками Lenovo мне не удалось добиться повторения байтов чтения/записи (после процесса проверки запуска Write, Read, Write). Вернувшиеся байты, по-видимому, не декодировались в какой-либо различимый формат.

Если бы у меня был доступ к документации по байтам связи или если бы я прочитал всю EEPROM, то, возможно, мне удалось бы получить пароль BIOS в виде открытого текста.

 

Рисунок 15  Пример захваченных байтов, считываемых из EEPROM.  

 

Я почти уверен, что можно прочитать данные из EEPROM, возможно я что-то не так подключил, или использовал неправильную расшифровку. Нам придется оставить это для будущих исследований. На данный момент обход работает стабильно, и теперь мы достаточно хорошо понимаем, почему существует эта уязвимость.

 

Как этого избежать?

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

Чтобы повысить сложность атак этого типа, производители могут включать пакеты BIOS и EEPROM в одно устройство для поверхностного монтажа (SMD). Это потребовало бы выполнения атаки с отсечением для перехвата тех же сообщений. Некоторые производители материнских плат уже используют этот процесс намеренно или непреднамеренно для современных систем или систем более высокого класса.

Ссылки
  • ABLIC Inc. (2013). Eeprom_fig051 [Фотография]. https://www.ablic.com/en/semicon/wp-content/uploads/2013/02/eeprom_fig051. jpg  
  • Микрочип

  • (28 июля 2003 г.). 24AA08/24LC08B 8K I2C™ Serial EEPROM . Маузер. https://www.mouser.com/datasheet/2/268/21710c-76077.pdf  
  • Цзоу, Д.

Читайте также: