Нажмите "Enter", чтобы перейти к содержанию

Проверка lenovo по серийному номеру: warrantylookup — Lenovo Support RU

Содержание

Автроризованный сервисный центр Lenovo. Гарантийный и постгарантийный ремонт техники Lenovo.

Основанная в 1984 году в Пекине, компания Lenovo стала крупнейшим производителем компьютеров в Китае. Позднее компания приобрела подразделение IBM по выпуску ПК и серверов.Большая часть продаж продукции Lenovo осуществляются через представительства Lenovo, расположенные по всему миру. Общая численность сотрудников Lenovo во всем мире превышает 50 тысяч человек.


Сеть компьютерных клиник является авторизованным сервисным центром Lenovo


Обслуживаемые продукты:

  • Компьютеры
  • Моноблоки
  • Мониторы
  • Ноутбуки
  • Планшетные ПК
  • Серверы и системы хранения

Условия гарантийного обслуживания

В соответствии с законодательством РФ, на продукцию Lenovo распространяется стандартная гарантию от одного до трех лет, в зависимости от типа базовой гарантии для данного типа продукта, срок может быть больше при покупке расширения гарантии.

Гарантийный срок исчисляется с момента продажи оборудования конечному пользователю. Документом, подтверждающим дату продажи изделия, является заполненный гарантийный талон, или иной документ, подтверждающий факт и дату заключения договора розничной купли-продажи (товарный, кассовый чек и т.п.).

На аккумулятор, приобретенный вместе с ноутбуком, распространяется гарантия сроком один год. Гарантия распространяется только на дефекты материалов, снижение емкости аккумулятора не принимается во внимание.

Гарантийное обслуживание распространяется только на аппаратную часть компьютера. Гарантия на предустановленное программное обеспечение (ПО) обеспечивается в соответствии с пользовательской лицензией компании Microsoft. Производитель не несет ответственности за проблемы, связанные с установкой и работой ПО.

В результате ремонта данные могут быть утрачены, в этом случае сервис-центр не несет ответственность за частичную или полную утрату данных, программ или любой другой информации, сохраненной на любом устройстве хранения и записи данных.

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


Получение гарантийного обслуживания

Проверить гарантию на продукцию Lenovo по серийному номеру аппарата можно на сайте Lenovo.

  • Если срок гарантийного обслуживания по сайту Lenovo закончился, но не прошел с момента покупки изделия, при обращении в сервисный центр необходимо предоставить документы о покупке.
  • Перед обращением в АСЦ создайте копии всех необходимых данных и программ на внешнем носителе.
  • Удалите с ноутбука все конфиденциальные и персональные данные, либо, в случае невозможности удаления таких данных, измените их таким образом, чтобы не допустить доступа к ним третьих лиц.
  • Для выполнения диагностики и гарантийного ремонта сервисному центру необходимо предоставить все системные ключи и пароли.
  • Перед обращением в АСЦ удалите все компоненты и детали, не подлежащие гарантийному обслуживанию.

Отказ в гарантийном обслуживания

В гарантийном обслуживании может быт отказано в случае:

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

Как узнать и проверить MacBook по серийному номеру

Ноутбуки и моноблоки Apple относятся к числу наиболее дорогих устройств на рынке портативных ПК. Очень часто вместо оригинальных компьютеров предлагаются подделки. Поэтому нужно знать порядок определения модели MacBook по серийному номеру и проверки его подлинности.

Расшифровка серийного номера на MacBook

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

Найти серийный номер можно в пункте меню «Об этом Mac», а также непосредственно на корпусе гаджета, на коробке или чеке из магазина.

На корпусе обычно эта информация представлена таким образом:

Через меню Apple ► Об этом Мак

Если окно «Об этом Mac» выглядит подобным образом, дважды щелкните номер версии под надписью «OS X», чтобы узнать серийный номер своего компьютера.

Если окно выглядит подобным образом, щелкните «Подробнее».

На современных моделях номер состоит из 12 знаков и имеет такую структуру:

  • с 1 по 3 символ – кодировка завода и региона производства;
  • 4 символ – кодировка полугодия года изготовления;
  • 5 символ – кодировка недели изготовления;
  • с 6 по 8 символ – индивидуальный код гаджета;
  • с 9 по 12 символ – кодировка модели.

Как узнать модель Macbook Pro

Чтобы определить модель Macbook Pro по серийному номеру, нужно перейти на сайт техподдержки американского бренда по ссылке https://checkcoverage.apple.com/ru/ru/. В соответствующее поле вставляем серийный номер, вводим капчу и нажимаем «Продолжить». После этого сайт выдает подробную информацию об устройстве, включая его модель. Подробнее об этом способе читайте ниже.

Macbook Pro представлены в следующих вариантах комплектации:

  • Двухъядерный процессор, объем накопителя до 512 Гб, дисплей 12 дюймов.
  • Двухъядерный процессор, объем накопителя SSD 256 Гб, оперативка 8 Гб, дисплей 13 дюймов.
  • Разогнанный двухъядерный процессор, объем накопителя SSD 256 Гб, оперативка 8 Гб, дисплей 13 дюймов. Есть поддержка Touch ID и Touch Bar.
  • Четырехъядерный процессор, оперативка 16 Гб, дисплей 15 дюймов. Возможна поддержка Touch ID и Touch Bar.

Как узнать модель Macbook Air

Определение модели Macbook Air выполняется аналогичным способом – путем ввода серийного номера на сайте техподдержке Apple. Легкий вариант «яблочного» ноутбука предлагается  в модификации с двухъядерным процессором Core i5 или Core i7, с диагональю дисплея 13 дюймов. Объем накопителя модели составляет 256 Гб или 512 Гб.

Как узнать модель iMac

Как и модель Макбука, по серийному номеру можно определить и точную iMac. Линейка настольных моноблоков от компании Apple представлена такими вариантами комплектации:

  • 2-х или 4-х ядерный процессор Core i5, объем накопителя 1 Тб или 2 Тб, дисплей с диагональю 21,5 дюймов.
  • Аналогичные характеристики с процессором Core i7.
  • Разогнанный процессор Core i7, объем памяти до 3 Тб, дисплей с диагональю 27 дюймов.

Кроме того, ключевым отличием между моделями iMac является тип экрана – Retina 4k или Retina 5k.

Проверяем подлинность Макбука по серийному номеру

Необходимость узнать модель MacBook по серийному номеру часто возникает при покупке устройства с рук. В этом случае у покупателя могут возникать сомнения в подлинности устройства. Проверить ее можно легко по серийному номеру.

Как узнать номер Макбука, было написано выше. Проверка выполняется на странице https://checkcoverage.apple.com/ru/ru/. Здесь в соответствующем поле нужно ввести серийный номер вашего устройства, код капчи и нажмите «Продолжить». После этого откроется страница, на которой можно будет не только определить модель MacBook по серийному номеру, но и другую ключевую информацию об устройстве, включая год его производства, дату приобретения, срок и действительность гарантии.

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

Еще один вариант – введите серийный номер на странице Технические характеристики. (Нажмите «Просмотр по продуктам», чтобы появилось поле поиска). На открывшемся экране отобразится соответствующая модель, как показано ниже:

На что обратить внимание при покупке БУ ноутбука

Что нужно смотреть при покупке БУ ноутбука?

Как протестировать б/у ноутбук перед покупкой

  • Тестируем Wi-Fi. …
  • Тестируем клавиатуру …
  • Проверяем оптический DVD привод …
  • Проверяем батарею ноутбука на износ …
  • Проверяем SMART жесткого диска …
  • Проверка SSD диска на износ …
  • Стресс-тест процессора и оперативной памяти ноутбука …
  • Стресс тест видеокарты ноутбука

Что нужно проверить в магазине при покупке ноутбука?

9 способов как проверить ноутбук при покупке?

  1. Содержание:
  2. Осмотрите устройство визуально …
  3. Попросите продавца включить ноутбук …
  4. Проверьте работу Wi-Fi на ноутбуке …
  5. Проверьте клавиатуру ноутбука …
  6. Тестирование оптического DVD. …
  7. Проверяем качество аккумулятора ноутбука …
  8. Проверка стабильности работы видеокарты ноутбука

Какой бу ноутбук купить в 2019?

Рейтинг лучших б/у ноутбуков 2019

  • Asus ROG G750JM.
  • MSI GE70 Apache Pro 2PE.
  • LENOVO Legion Y520.
  • Acer Predator Helios 300.
  • ASUS ROG GL752VW.
  • MSI GS70.
  • Dell 7559.
  • Acer E5-575G.

Что можно узнать по серийному номеру ноутбука?

Как узнать серийный номер (S/N, Serial Number)

  1. Этикетка находится на нижней части корпуса ноутбука. ( 15 символов)
  2. Серийный номер — ряд символов, расположенный непосредственно под штрих-кодом.

Какой программой проверить ноутбук при покупке?

Батарея ноутбука имеет срок службы около 3-4 лет, если ноутбук приблизительно такого же возраста, то его батарея почти выработала свой ресурс. Для проверки батареи нужно воспользоваться программой Barrery Bar. Она покажет степень износа батареи и приблизительное время работы ноутбука от нее.

Как проверить скорость работы ноутбука?

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

  1. Кликните правой кнопкой по меню «Пуск», запустите командную строку с правами администратора.
  2. Выполните команду «winsat formal –restart clean». Дождитесь завершения тестирования.

Как узнать характеристики своего ноутбука?

1) Заходите в панель управления Windows и переходите в раздел «Система и безопасность«, затем открываете вкладку «Система«. 2) Должно открыться окно, в котором можно просмотреть основные сведения о ПК: какая ОС установлена, какой процессор, сколько оперативной памяти, имя компьютера и пр.

Что нужно сделать при покупке ноутбука?

5 вещей, которые стоит сделать после покупки нового ноутбука

  1. Проверьте наличие физических дефектов Не стоит недооценивать важность этого этапа, лучше дважды проверить каждую деталь и убедиться, что, всё работает как надо. …
  2. Проверьте наличие обновлений …
  3. Ознакомьтесь с предварительно загруженными приложениями …
  4. Откалибруйте дисплей

Как проверить есть ли ошибки на ноутбуке?

Проверка компьютера на ошибки стандартными средствами

  1. Зайти в раздел «Мой компьютер».
  2. Кликнуть правой кнопкой мышки на значок проверяемого раздела жесткого диска.
  3. Перейти на вкладку «Свойства», а после – «Сервис».
  4. Попав в нужный раздел запустить «Проверку тома на ошибки».

Какой ноутбук купить в 2020?

Лучший ноутбук для работы 2020 года – модель Apple MacBook Pro с 16-дюймовым экраном, разрешение которого составляет 3072×1920 пикселей.

Apple MacBook Pro

  • Core i7 с 6 ядрами и 12 потоками;
  • 12 Гб оперативки;
  • разрешение 3072×1920 пикселей;
  • фирменные технологии.

В каком магазине лучше купить ноутбук?

ТОП-8 лучших интернет магазинов ноутбуков — Рейтинг 2020

  1. Нотик
  2. Goods. …
  3. OLDI. …
  4. Ситилинк …
  5. KNS. …
  6. Регард Регард – надежный интернет-магазин для покупки всех видов ноутбуков: дешевые Acer c 2Гб оперативной памяти, игровые ASUS с видеокартой GTX2080Ti, 17 дюймовые HP, DELL и недорогие ноутбуки MSI. …
  7. Cstore. Последние 10 лет идет спор между ноутбуками на Windows и Mac на iOS. …
  8. Яндекс. Маркет …

Сервисные центры: хитрости и уловки с «гарантией»

| Поделиться Взаимоотношения сервисных центров с клиентами бывают далеки от простой схемы «принес в ремонт – забрал обратно». Чаще всего проблемы возникают при сдаче и оформлении техники, находящейся на гарантии. Иногда они связаны с известными хитростями и уловками, которые пытаются использовать клиенты, чтобы получить бесплатный ремонт.

страницы:   1   |   2    |   3    |  следующая

Клиент чаще всего несет неисправную технику туда, где покупал – в магазин или поставщику. Но если у торговой организации нет собственного авторизованного сервисного центра, правильнее будет сразу отправить устройство в СЦ производителя – все равно магазин сделает то же самое, только это может быть дольше. Выигрыш во времени особенно важен для небольших компаний, которые самостоятельно обслуживают свой парк компьютерной и офисной техники и часто не имеют достаточного подменного фонда на время ремонта.

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

Двойные стандарты

Обычно срок гарантии на технические изделия составляет от 6 месяцев до 3-х лет в зависимости от типа устройства и конкретного производителя. Интересно, что срок редко зависит от надежности, технической сложности и размеров устройства. Например, на системный блок компьютера может быть всего год гарантии, а на маленький навигатор – два. Часто это оказывается маркетинговым ходом производителя ради привлечения покупателей.


Срок гарантии редко зависит от надежности, технической сложности и размеров устройства

Уже на этапе установления срока гарантии начинаются различные ухищрения. Торговые организации могут «играть» ими, обеспечивая себе более благоприятные условия работы. Например, на товар может быть установлена гарантия 2 года, а продавец озвучивает только 1 год. Этим могут грешить небольшие магазины и точки продаж, которые не хотят связываться с сервисным обслуживанием.

Почему так происходит? Работники сервисных центров знают, что есть два гарантийных срока: один – со дня продажи – устанавливается для покупателя, второй – с даты производства – для торговой организации. Из-за того, что устройства проходят довольно долгий путь от фабрики до кассы (транспортировка, таможенное оформление, складское хранение), второй гарантийный срок больше. Например, при гарантии на 3 года с даты продажи максимальный гарантийный срок со дня производства составит 3 года 6 месяцев.

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

10 простых шагов: как импортозаместить коммуникационную платформу

Цифровизация

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

Как правильно сдать товар

Существует расхожее мнение, что сервисные центры всеми силами стараются отказать клиентам в гарантийном ремонте. Обычно это не так. Хотя авторизованный сервисный центр и не берет денег за гарантийный ремонт, эта работа оплачивается ему производителем или центральным сервис-провайдером. То есть, даже на гарантийном ремонте СЦ зарабатывает деньги. Поэтому ему нет смысла увиливать от ремонта или «отфутболивать» клиента по разным причинам.

Однако есть определенные правила приема техники и условия гарантийного обслуживания. Соответственно, у сотрудников сервисного центра имеются определенные инструкции по приему гарантийной техники. Для признания поломки «гарантийным случаем» необходимы как определенные документы, так и соответствие состояния техники определенным критериям. И здесь могут возникать ситуации, когда СЦ освобождается от обязательств по гарантийному ремонту.

Виктор Корсаков, «Рэйдикс»: Переход на SDS — лучший способ оптимизации СХД в условиях дефицита «железа»

Цифровизация

У клиента должны быть чек или товарная накладная с датой продажи товара и заполненный гарантийный талон. Однако по закону отсутствие гарантийного талона не является причиной отказа в гарантии. По идее, для СЦ главное – идентифицировать товар. Его сотрудники могут сделать это по серийному номеру и узнать, выпускалось ли вообще изделие с этим номером, когда оно было изготовлено и не закончился ли гарантийный срок. Так поступают многие компании.

Дополнительное преимущество проверки по серийному номеру – возможность отсеивания «серых» устройств. СЦ не будет бесплатно ремонтировать товар, который ввезен неофициально и, соответственно, не имеет гарантии. Иногда поступает информация, что, например, среди сканеров определенной марки официально было поставлено только 10% от всех проданных розницей. Соответственно только небольшая часть всего реализуемого товара подлежит гарантийному обслуживанию и этой модели уделяется особое внимание при проверке. Большей части техники будет отказано в гарантийном ремонте с формулировкой: «Ввиду отсутствия данного серийного номера в базе устройств, официально поставляемых в Россию».

страницы:   1   |   2    |   3    |  следующая

Lenovo service bridge что это за программа

Компания Леново разработала множество полезных приложений, которые создают комфорт при работе с девайсами производителя. В список утилит входит Lenovo Service Bridge, именно о ней и пойдет речь в данной статье. Если Вы хотите узнать, что это за программа, как она работает и как можно отключить софт, то читайте данный материал.

Что это?

Это приложение, разработанное под ОС Windows, которое включает в себя функционал, расширяющий возможности техподдержки для пользователей. Программа умеет:

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

Никаких конфиденциальных данных (информация по ОС, история браузера и т.д) софт не собирает

Благодаря собранной Lenovo Service Bridge информации владелец устройства получает следующие преимущества:

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

Где скачать?

Загрузить утилиту можно на официальном сайте нажав на картинке под надписью “Распознать продукт”. Далее пользователю предложат ознакомиться с правилами и в случае согласия с ним можно будет скачать программу.

После завершения установки Lenovo Service Bridge определит устройство и перенаправит юзера на страницу поддержки продукта.

Как удалить?

Для удаления софта необходимо зайти в “Меню управления программами”, найти его списке и выбрать пункт “Удалить”. Возможно перед этим понадобится завершить процесс программы в “Диспетчере задач”. Отключить приложение не слишком сложно, плюс на это уйдет немного времени.

Is already running

Это сообщение означает, что Lenovo Service Bridge уже запущен и открыть еще одну копию программы нельзя. Если утилита работает некорректно, то попробуйте завершить процесс в “Диспетчере” и откройте ее еще раз.

Подлинный файл является одним из компонентов программного обеспечения Lenovo Service Br >Lenovo Group.

LSB.exe — это исполняемый файл (программа) для Windows. Расширение имени файла .exe — это аббревиатура от англ. слова executable — исполнимый. Необходимо запускать исполняемые файлы от проверенных производителей программ, потому что исполняемые файлы могут потенциально изменить настройки компьютера или нанести вред вашему компьютеру. Бесплатный форум с информацией о файлах может помочь вам разобраться является ли LSB.exe вирусом, трояном, программой-шпионом, рекламой, которую вы можете удалить, или файл принадлежит системе Windows или приложению, которому можно доверять.

Вот так, вы сможете исправить ошибки, связанные с LSB.exe

  1. Используйте программу Настройщик Windows, чтобы найти причину проблем, в том числе и медленной работы компьютера.
  2. Обновите программу Lenovo Service Bridge. Обновление можно найти на сайте производителя (ссылка приведена ниже).
  3. В следующих пунктах предоставлено описание работы LSB.exe.

Информация о файле LSB.exe

Процесс Lenovo Service Bridge принадлежит программе Lenovo Service Bridge от Lenovo (www.lenovo.com) или Lenovo Group (www.lenovo.com).

Описание: LSB.exe не является необходимым для Windows. LSB.exe находится в подпапках «C:UsersUSERNAME». Известны следующие размеры файла для Windows 10/8/7/XP 143,944 байт (24% всех случаев), 134,728 байт и еще 13 варианта .
Приложение не видно пользователям. Это не системный файл Windows. Это файл, подписанный Verisign. Поэтому технический рейтинг надежности 64% опасности.
Если вы хотите полностью удалить программу, перейдите в Панель управления ⇒ Программы ⇒ Lenovo Service Bridge.

Если LSB.exe находится в подпапках «C:Program Files», тогда рейтинг надежности 47% опасности. Размер файла 159,816 байт (25% всех случаев), 143,944 байт и еще 5 варианта . У процесса нет видимого окна. Это файл, подписанный Verisign. Это не файл Windows. Поставлена цифровая подпись.

Важно: Некоторые вредоносные программы маскируют себя как LSB.exe. Таким образом, вы должны проверить файл LSB.exe на вашем ПК, чтобы убедиться, что это угроза. Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера.

Комментарий пользователя

Лучшие практики для исправления проблем с LSB

Аккуратный и опрятный компьютер — это главное требование для избежания проблем с LSB. Для этого требуется регулярная проверка компьютера на вирусы, очистка жесткого диска, используя cleanmgr и sfc /scannow, удаление программ, которые больше не нужны, проверка программ, которые запускаются при старте Windows (используя msconfig) и активация Автоматическое обновление Windows. Всегда помните о создании периодических бэкапов, или в крайнем случае о создании точек восстановления.

Если у вас актуальные проблемы, попробуйте вспомнить, что вы делали в последнее время, или последнюю программу, которую вы устанавливали перед тем, как появилась впервые проблема. Используйте команду resmon, чтобы определить процесс, который вызывает проблемы. Даже если у вас серьезные проблемы с компьютером, прежде чем переустанавливать Windows, лучше попробуйте восстановить целостность установки ОС или для Windows 8 и более поздних версий Windows выполнить команду DISM.exe /Online /Cleanup-image /Restorehealth. Это позволит восстановить операционную систему без потери данных.

Следующие программы могут вам помочь для анализа процесса LSB.exe на вашем компьютере: Security Task Manager отображает все запущенные задания Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записей автозагрузки. Уникальная оценка рисков безопасности указывает на вероятность процесса быть потенциально опасным — шпионской программой, вирусом или трояном. Malwarebytes Anti-Malware определяет и удаляет бездействующие программы-шпионы, рекламное ПО, трояны, кейлоггеры, вредоносные программы и трекеры с вашего жесткого диска.

LSB сканер

Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.

Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.

Reimage бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.

Решено: ошибка после удаления Lenovo Service Bridge

Многим, если не большинству владельцев ноутбуков Lenovo знакомо приложение Lenovo Service Bridge, оно устанавливается с официального сайта если выбрать распознать продукт:

Это приложение определяет установленное в Вашем ноутбуке оборудование и затем предлагает для скачивания только нужные драйвера. Это конечно же удобно, но постоянно им никто не пользуется и после установки драйверов возникает вполне понятное желание удалить лишние приложения. После удаления Lenovo Service Bridge и перезагрузки может возникнуть ошибка «Запуск приложения невозможен. Обратитесь к поставщику приложения»:

Ошибку решить можно двумя способами — обратно установить приложение, либо удалить/отключить задачу в планировщике заданий:

При следующей загрузке системы ошибки уже не будет.

Проверка пера

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

Примечание. Набор функций пера зависит от используемого устройства.

  1. В главном меню приложения Wacom Desktop Center щелкните Поддержка, а затем Проверка драйвера, чтобы оценить работу драйвера и при необходимости запустить простое средство устранения неполадок.
  2. Перейдите на вкладку Перо в окне Свойства планшета Wacom и убедитесь, что наконечнику и кнопкам пера назначены требуемые параметры.
  3. Если параметры соответствуют требуемым, перезагрузите компьютер.
  4. Если перезагрузка не решила проблему, обновите программное обеспечение драйвера.
  5. Если после обновления драйвера проблема не устранена, воспользуйтесь функцией диагностики в разделе «Свойства планшета Wacom», как описано ниже.

Диагностика проблем с помощью окна «Свойства планшета Wacom»

  1. Откройте окно Свойства планшета Wacom.
  2. Если к системе подключено более одного устройства, выберите устройство, для работы с которым используется перо, из списка Устройства.
  3. Щелкните пункт О продукте.
  4. Щелкните пункт Выполнить диагностику.

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

  6. При просмотре данных в столбце Информация о координатно-указательных устройствах удерживайте перо на расстоянии не более 10 мм от поверхности устройства. В полях Зона чувствительности, Наименование устройства, Тип устройства и Серийный номер устройства должны отобразиться значения.
  7. Переместите перо над поверхностью устройства. При перемещении пера значения параметров Координата X и Координата Y должны изменяться.
  8. Нажмите на поверхность наконечником пера, а затем ластиком. При этом значения параметров Кнопки и Давление должны изменяться в диапазоне от прибл. 0% до прибл. 100% при нажатии в полную силу.
  9. Поочередно нажмите на наконечник, ластик и каждую кнопку пера. При нажатии кнопок пера его наконечник следует удерживать на небольшом расстоянии от поверхности устройства. При нажатии каждого элемента числовое значение параметра Кнопки должно изменяться следующим образом:
    • Наконечник пера = 1
    • Кнопка пера (***) = 3
    • Кнопка пера (**) = 2
    • Кнопка пера (*) = 2, 3
    • Ластик пера = 1
    • Наконечник Airbrush = 1
    • Кнопка пера Airbrush = 2
    • Ластик Airbrush = 1
  10. Наклоните перо вправо, а затем влево по отношению к вертикальному положению. При наклоне вправо значение параметра Наклон по оси Х должно измениться прибл. до +60. При наклоне влево значение параметра Наклон по оси Х должно измениться прибл. до –60.
  11. Наклоните перо к нижнему, а затем к верхнему краю устройства по отношению к вертикальному положению. При наклоне к нижнему краю устройства значение параметра Наклон по оси Y должно измениться прибл. до +60. При наклоне к верхнему краю устройства значение параметра Наклон по оси Y должно измениться прибл. до –60.
  12. При проверке пера Art Pen поставьте его наконечник на поверхность устройства и медленно поверните перо вокруг своей оси. Во время вращения пера значение Вращение должно измениться.
  13. При проверке пера Airbrush поверните колесо прокрутки вперед и назад. Значение параметра Колесо должно уменьшиться прибл. до 0, когда колесо прокрутки полностью повернуто вперед. Значение параметра Колесо должно увеличиться прибл. до 1000, когда колесо прокрутки полностью повернуто назад.

Вопрос: Как проверить серийный номер моего ноутбука Lenovo

Удерживайте клавишу Windows и нажмите R. В диалоговом окне «Выполнить» введите cmd и нажмите «ОК», чтобы открыть командную строку. В окне командной строки введите wmic bios get серийный номер и нажмите Enter. Серийный номер вашего продукта Lenovo будет показан на экране.

Как узнать серийный номер моего ноутбука?

Как найти серийный номер компьютера Откройте командную строку, нажав клавишу Windows на клавиатуре, а затем нажав X.Выберите в меню Командная строка (Администратор). Введите wmic bios, получите серийный номер и нажмите Enter на клавиатуре. Серийный номер будет показан на экране.

Какая у меня модель Lenovo по серийному номеру?

Перейдите по адресу http://psref.lenovo.com (Справочник по техническим характеристикам продукта). Введите название продукта. или системный тип машины (номер машины/номер продукта), затем выполните поиск. Или перейдите в МЕНЮ ВЫБОРА на левой панели, нажмите «Продукты Lenovo», затем перейдите к конкретной модели продукта.Таблица спецификаций будет указана.

Как узнать свой серийный номер?

Серийный номер Откройте командную строку, нажав клавишу Windows на клавиатуре и коснувшись буквы X. Введите команду: WMIC BIOS GET SERIALNUMBER, затем нажмите клавишу ввода. Если ваш серийный номер закодирован в вашей биосе, он появится здесь на экране.

Как узнать серийный номер на компьютере?

Ноутбуки и настольные компьютеры Введите cmd в строке поиска Windows в левом нижнем углу экрана, затем выберите «Командная строка» в списке результатов.В окне командной строки введите wmic bios get серийный номер и нажмите Enter. Метка обслуживания (серийный номер) отображается, как показано на рисунке ниже.

Где находится серийный номер на ноутбуке Lenovo с Windows 10?

Запрос командной строки ОС Windows (cmd.exe) Откройте CMD. В окнах 8 и 10 нажмите клавишу с логотипом Windows. Найдите серийный номер. В командном окне, как показано ниже, введите или вставьте следующую команду: wmic bios get serialnumber. Найдите номер типа модели.

Где находится серийный номер в реестре компьютера?

Как найти серийный номер в файлах реестра Нажмите «Пуск.Видео дня. Нажмите «Выполнить». Введите regedit и нажмите «ОК». Найдите название программы, нажав CTRL+F и введя название программы в поле поиска. Нажмите «ОК». Запишите цифры в столбце данных, если это порядковый номер.

Какой серийный номер?

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

Серийный номер совпадает с идентификатором устройства?

Идентификаторы устройств хранятся на мобильном устройстве и отделены от серийных номеров оборудования.

Идентификатор продукта совпадает с серийным номером?

Идентификатор продукта совпадает с серийным номером? – Квора. Нет, так как могут быть указаны другие номера, такие как идентификатор продукта, идентификатор сети или UPC. Многие электронные устройства постоянно сохраняют серийный номер в ПЗУ устройства.

Как узнать серийный номер моего ноутбука Windows 10?

Найти серийный номер компьютера в Windows 10 Щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка» («Администратор»). На экране командной строки введите wmic bios get серийный номер и нажмите клавишу ввода на клавиатуре вашего компьютера.

Как найти ключ продукта Windows 10 по серийному номеру ноутбука?

Найдите ключ продукта Windows 10 на новом компьютере Нажмите клавишу Windows + X. Нажмите «Командная строка» («Администратор») В командной строке введите: wmic path SoftwareLicensingService get OA3xOriginalProductKey.Это покажет ключ продукта. Активация ключа продукта корпоративной лицензии.

Как выглядит серийный номер?

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

Как мне получить серийный номер моего продукта?

1.Откройте номерную запись элемента инвентаря, выбрав Каталог продуктов в главном меню инвентаризации. 2. Выберите номерной элемент из списка поиска инвентаря и щелкните вкладку Серийные номера.

Является ли серийный номер ключом продукта?

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

Как узнать серийный номер на моем ноутбуке с Windows 7?

В Windows 7 нажмите Windows + R, введите «cmd» в диалоговом окне «Выполнить» и нажмите Enter. Вы увидите серийный номер компьютера, отображаемый под текстом «SerialNumber».

Серийный номер Windows совпадает с ключом продукта?

Ключи продукта

очень похожи на серийные номера, поскольку оба они используются для активации продукта Golden Software. Если вы приобрели Surfer или Grapher до декабря 2016 года, скорее всего, у вас есть серийный номер.Если вы приобрели Surfer или Grapher после декабря 2016 года, у вас будет ключ продукта.

Как проверить, действителен ли мой ключ Windows 10?

Проверьте лицензию Windows 10 с помощью Microsoft Product Key Checker Загрузите Microsoft PID Checker. softpedia.com/get/System/System-Info/Microsoft-PID-Checker.shtml. Запустить программу. Введите ключ продукта в указанное место. Нажмите на кнопку Проверить. Через мгновение вы получите статус вашего ключа продукта.

Как активировать Windows 10 без ключа продукта?

Откройте приложение «Настройки» и выберите «Обновление и безопасность» > «Активация».Вы увидите кнопку «Перейти в магазин», которая приведет вас в Магазин Windows, если Windows не лицензирована. В Магазине вы можете приобрести официальную лицензию Windows, которая активирует ваш ПК.

Что такое краткая форма серийного номера?

SN Серийный номер Бизнес » Общий бизнес Оценить: S/N Серийный номер Правительственный » Правительство США Оценить: S/N Серийный номер Компьютеры » Общие вычисления Оценить: S/N Серийный номер Академический и научный » Электроника Оценить: S/ N Серийный номер Бизнес » Общий бизнес Оценить:.

Что такое порядковый номер даты?

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

Как автоматически добавлять серийные номера в Excel?

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

Что можно сделать с серийным номером ноутбука?

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

Какая у меня модель Lenovo по серийному номеру? – QuickAdviser

Какая у меня модель Lenovo по серийному номеру?

Перейдите на http://psref.lenovo.com (Справочник по техническим характеристикам продуктов).

  1. Введите название продукта. или системный тип машины (номер машины/номер продукта), затем выполните поиск. Или перейдите в МЕНЮ ВЫБОРА на левой панели, нажмите «Продукты Lenovo», затем перейдите к конкретной модели продукта.
  2. Будет показана таблица спецификаций.

Как узнать модель ноутбука Lenovo?

Нажмите кнопку «Пуск», щелкните правой кнопкой мыши «Компьютер» и выберите «Свойства». Этот процесс отобразит информацию о марке и модели ноутбука, операционной системе, спецификациях оперативной памяти и модели процессора.

Могу ли я найти серийный номер?

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

Как узнать, находится ли мой ноутбук Lenovo на гарантии?

Как проверить основной статус гарантии и информацию о статусе ремонта на домашней странице продукта

  1. Посетите страницу поддержки Lenovo по адресу https://support.lenovo.com/us/en/.
  2. Выберите семейство продуктов, щелкнув соответствующий значок.
  3. Введите название продукта или четырехзначный тип машины в поле Поиск поддержки.

Как узнать серийный номер моего ноутбука?

Серийный номер

  1. Откройте командную строку, нажав клавишу Windows на клавиатуре и коснувшись буквы X.
  2. Введите команду: WMIC BIOS GET SERIALNUMBER, затем нажмите клавишу ввода.
  3. Если ваш серийный номер закодирован в вашей биосе, он появится здесь на экране.

Что такое серийный номер ноутбука?

Ноутбук. Серийный номер ноутбука обычно находится на нижней части ноутбука или под аккумуляторным отсеком.

Сколько лет моему ноутбуку Lenovo?

В поле поиска Windows на панели задач введите cmd и нажмите Enter. Когда откроется окно командной строки, введите systeminfo.exe и нажмите Enter. Прокрутите вниз, пока не увидите «BIOSVersion:». Проверьте указанную дату.

Где я могу найти серийный номер ноутбука?

Серийный номер ноутбука

обычно находится на нижней части ноутбука или под аккумуляторным отсеком.

Как узнать серийный номер на компьютере?

Как найти серийный номер компьютера

  1. Откройте командную строку, нажав клавишу Windows на клавиатуре, а затем нажмите X. Выберите в меню Командная строка (Администратор).
  2. Введите wmic bios get серийный номер и нажмите Enter на клавиатуре.
  3. Серийный номер будет показан на экране.

Где я могу найти серийный номер моего компьютера?

Как проверить серийный номер Lenovo?

Чтобы выполнить поиск серийного номера Lenovo и найти серийный номер в настройках телефона, затем перейдите к настройке Нажмите значок «Настройки» (Системные настройки).В меню системы найдите опцию, написанную как Система (Все настройки). Вы можете найти его ближе к концу списка. Нажмите на опцию.

Как посмотреть серийные номера?

Перейдите на веб-сайт службы поддержки или поиска продукта производителя устройства. Если вы хотите найти серийный номер своего телефона, перейдите на страницу поиска ESN или Electronic Serial Number . Введите серийный номер вашего устройства в поле с надписью «Введите свой серийный номер здесь» (или аналогичное поле), затем нажмите «Поиск».».

Какая у меня модель ноутбука Lenovo?

Номер модели вашего ноутбука Lenovo должен быть указан на лицевой панели ЖК-дисплея, например Х230. Если его там нет, проверьте заднюю часть ноутбука — модель должна быть указана там на белой этикетке.

Где найти серийный номер на Lenovo ThinkPad?

Вы найдете большинство серийных номеров в формате, похожем на S/N 12-34XXX. ThinkPad. Найдите серийный номер в нижней части компьютера ThinkPad или под аккумулятором.ThinkCentre/ThinkStation/ThinkServer. Найдите серийный номер сбоку или сзади машины.

Как узнать серийный номер моего ноутбука?

Как узнать серийный номер на моем ноутбуке с Windows 10?

Чтобы начать работу, откройте окно командной строки. В Windows 10 или 8 щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка». В Windows 7 нажмите Windows + R, введите «cmd» в диалоговом окне «Выполнить» и нажмите Enter. Вы увидите серийный номер компьютера, отображаемый под текстом «SerialNumber».

Как получить статус истечения срока действия гарантии Lenovo с помощью Powershell

Если вы используете ноутбуки Lenovo в своей среде, вы, скорее всего, проверили, находится ли ваша машина на гарантии. Страница состояния гарантии Lenovo работает отлично, единственная проблема заключается в том, что она плохо масштабируется. Например, что если вам нужно проверить гарантийный статус 10 ноутбуков Lenovo, как насчет 20 или даже 1000? Да, я не представляю себе, как я ввожу серийный номер 1000 машин Lenovo в их средство проверки состояния.Это может занять целую вечность и целый день, и у нас есть гораздо более интересные вещи, которые можно сделать в свободное время. К счастью, у нас есть Powershell, чтобы получить статус истечения гарантии Lenovo во всей красе. Вот простой способ получить информацию о гарантии Lenovo.

Вдохновленный пользователем dungeongoon из Reddit в этом посте, я решил изменить работу, которую он проделал, и внести свои собственные изменения, чтобы получить результат, который, по моему мнению, был необходим мне. Во-первых, я продолжал получать ошибки, когда пытался использовать Get-CimInstance, поскольку в моей среде не был включен WinRM.Таким образом, мне пришлось продолжать использовать Get-WMIObject для получения стабильных результатов. Во-вторых, я хотел передать несколько компьютеров в командной строке или передать массив объектов, поэтому я изменил его соответствующим образом.

Требования к Powershell не требуются.

    -ИмяКомпьютера

Описание: Укажите одно или несколько имен компьютеров для прохождения через функцию.

    -IncudeBatteryExpiration

Описание: Если указано, будет показано, находится ли аккумулятор на гарантии.Указанный тип идентификатора — «1EZ*»

.

Пример 1: отображение информации о гарантии для текущего компьютера Lenovo

PS C:\> Получить-LenovoWarranty


Имя_компьютера  : ПК1
Тип          : ОСНОВНОЙ
ID            : 3EZ
Дата начала     : 08 января 2015 г.
Дата окончания       : 2018-02-21
Дней Осталось : 0
Статус        : Просрочено

 

 

Пример 2. Укажите имя компьютера или несколько имен компьютеров, разделенных запятой.

PS C:\> Get-LenovoWarranty-ComputerName PC1, PC2


Имя_компьютера  : ПК1
Тип          : ОСНОВНОЙ
ID            : 3EZ
Дата начала     : 08 января 2015 г.
Дата окончания       : 2018-02-21
Дней Осталось : 0
Статус        : Просрочено

Имя_компьютера  : PC2
Тип          : ОСНОВНОЙ
ID            : 3EZ
Дата начала     : 2016-03-25
Дата окончания       : 08.05.2019
Дней Осталось : 381
Статус        : Активный
 

 

Пример 3. Используйте параметр -IncudeBatteryExpiration, чтобы определить, истек ли срок гарантии на батарею.

PS C:\> Get-LenovoWarranty-IncudeBatteryExpiration


Имя компьютера: ПК1
Тип : БАЗА
ID : 3EZ
Дата начала: 08.01.2015
Дата окончания : 21 февраля 2018 г.
Дней Осталось : 0
Статус: просрочен

Имя компьютера: ПК1
Тип : БАЗА
ID : 1EZBAT
Дата начала: 08.01.2015
Дата окончания : 21 февраля 2016 г.
Дней Осталось : 0
Статус: просрочен

 


Красное поле выделяет информацию об истечении срока службы батареи.
 

Теперь давайте перейдем к сценарию для получения информации о гарантии Lenovo.

Функция Get-LenovoWarranty {

<#
.СИНОПСИС
    Это проверит гарантийный статус ноутбука Lenovo.
    Обновленную справку и примеры см. в онлайн-версии.
 
.ОПИСАНИЕ
    Это проверит гарантийный статус ноутбука Lenovo.
    Обновленную справку и примеры см. в онлайн-версии.
 
.ПРИМЕЧАНИЯ
    Название: Get-LenovoWarranty
    Автор: Канал Сисадмин
    Версия: 1.0
    Дата создания: 2018-Apr-21
    Дата обновления: 2018-Apr-21
 
.СВЯЗЬ
    https://thesysadminchannel.com/get-lenovo-warranty-expiration-status-with-powershell/ -
    Обновленную справку и примеры см. в онлайн-версии.
 
#>

    [Привязка командлета()]

    Парам (
        [Параметр(
            ValueFromPipeline=$правда,
            ValueFromPipelineByPropertyName=$true,
            Позиция=0)]
        
        [Строка[]] $ComputerName = $env:COMPUTERNAME,

        [Параметр()]
        [переключатель] $IncudeBatteryExpiration
        )

    НАЧИНАТЬ {
        $Объект = @()
        $Today = Get-Date -Format 'гггг-ММ-дд'
    }

    ПРОЦЕСС {
        Foreach ($Computer в $ComputerName) {
            Пытаться {
                $Bios = Get-WmiObject Win32_Bios -ComputerName $Computer -ErrorAction Stop
                $СерийныйНомер = $Биос.Серийный номер
                $Производитель = $Bios.Производитель

                    Если ($Производитель -eq "LENOVO") {
                            $ApiObject = Invoke-RestMethod -Uri "http://supportapi.lenovo.com/V2.5/Warranty?Serial=$SerialNumber"
                        } еще {
                            Ошибка записи «Производитель BIOS не Lenovo; невозможно продолжить». -ErrorAction Остановить
                    }

                    Если ($IncudeBatteryExpiration) {
                            $Блокнот = $АпиОбъект.Гарантия | Где-объект {($_.ID - например, "1EZ*") -или ($_.ID -eq "36Y") -или ($_.ID -eq "3EZ")}
                        } еще {
                            $Notebook = $ApiObject.Warranty | Где-объект {($_.ID -eq "36Y") -или ($_.ID -eq "3EZ")}
                    }
                
                    foreach ($ID в $Notebook) {

                        $EndDate = $ID.End.Split('T')[0]
                        $StartDate = $ID.Start.Split('T')[0]

                        если ($EndDate -gt $сегодня) {
                                $DaysRemaining = New-TimeSpan-Start $Today-End $EndDate | выберите -ExpandProperty Days
                                $DaysRemaining = $DaysRemaining - 1

                                $Свойства = @{
                                                ИмяКомпьютера = $Компьютер
                                                Тип = $ID.Тип
                                                ID = $ID.ID
                                                НачальнаяДата = $НачальнаяДата
                                                КонечнаяДата = $КонечнаяДата
                                                Оставшихся дней = $Оставшихся дней
                                                Статус = «Активный»
                                                }

                            } еще {
                                $Свойства = @{
                                                ИмяКомпьютера = $Компьютер
                                                Тип = $ID.Тип
                                                ID = $ID.ID
                                                НачальнаяДата = $НачальнаяДата
                                                КонечнаяДата = $КонечнаяДата
                                                Оставшихся дней = 0
                                                Статус = "Просрочено"
                                                }

                        }
                    
                        $Object += New-Object -TypeName PSObject -Property $Properties | Выберите ComputerName, Type, ID, StartDate, EndDate, DaysRemaining, Status.
                    }
                }

            ловить {
                $ErrorMessage = $Компьютер + "Ошибка:" + $_.Исключение.Сообщение

            } в конце концов {

                Запись-вывод $Object
                $Объект = $нуль

                    если ($ErrorMessage) {
                        #Write-Output $ErrorMessage
                        $Сообщение об ошибке = $null
                    }
            }
        }

    }

    КОНЕЦ {}

}

 

Чтобы запустить скрипт, вам нужно сделать пару вещей.Прежде всего, установите для политики выполнения значение RemoteSigned. Это стандарт при запуске любого скрипта powershell .

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

  • Скопируйте приведенный выше сценарий и сохраните его в любом месте. В этом примере я сохраню его в папку C:\_Scripts.
  • В окне Powershell, работающем от имени администратора, введите:  . .\_Scripts\Get-LenovoWarranty.ps1   – обратите внимание на две точки перед обратной косой чертой.

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

Сбор сведений о гарантии Lenovo с помощью PowerShell

Давненько я ничего не публиковал в этом блоге, поэтому я решил, что пришло время что-то с этим сделать.

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

Итак, прежде чем сделать еще одну попытку, я потратил некоторое время на поиск лучшего решения в сообществе. Я нашел этот пост Николая Андерсена «Получить информацию о гарантии Lenovo с помощью PowerShell» на SCConfigMgr, но это решение также анализировало веб-страницу информации о гарантии Lenovo, и я не хотел снова идти по этому пути.После еще нескольких исследований я наткнулся на это сообщение на форуме Lenovo.

Так что я решил попробовать и придумал скрипт ниже;

<#
.СИНОПСИС
Получите информацию о гарантии для системы Lenovo.
.ОПИСАНИЕ
Этот сценарий соберет информацию о гарантии для системы Lenovo.
.ПРИМЕЧАНИЯ
Имя сценария: Get-LenovoWarrantyInformation.ps1
Автор: Одд-Магне Кристофферсен
Контакт: @oddmk79
Дата Создания: 2019-01-15
.ИСТОЧНИКИ
https://www.scconfigmgr.com/2015/03/21/get-lenovo-warranty-information-with-powershell/
https://форумы.lenovo.com/t5/Lenovo-Technologies/Warranty-API/td-p/3484953
#>
$Manufacturer = Get-WmiObject -Class Win32_BIOS | Выбрать-Объект-развернуть Производитель
если ($Производитель -не соответствует "Lenovo")
{
Пишите-Предупреждение "Не система Lenovo"
}
еще
{
#$SerialNumber = Get-WmiObject -Class Win32_BIOS | Select-Object - развернуть серийный номер
$URL = "https://ibase.lenovo.com/POIRequest.aspx"
$Метод = "ПОСТ"
$Header = @{ "Content-Type" = "application/x-www-form-urlencoded" }
$Body = "xml=LSC3IBA4LSC3$Серийный номер"
$RequestResult = Invoke-RestMethod -Method $Method -Uri $URL -Body $Body -Headers $Header

$WarrantyInformation = [PSCustomObject]@{
Тип = $RequestResult.wiOutputForm.warrantyInfo.machineinfo.type
Модель = $RequestResult.wiOutputForm.warrantyInfo.machineinfo.model
Продукт = $RequestResult.wiOutputForm.warrantyInfo.machineinfo.product
Серийный номер = $RequestResult.wiOutputForm.warrantyInfo.machineinfo.serial
StartDate = $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.warstart[0]
ExpirationDate = $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.wed[0]
Location = $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.countryDesc[0]
Описание = $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.sdfDesc[0]
}
Запись-вывод $WarrantyInformation
}
 

Таким образом, приведенный выше сценарий выдаст вам выходные данные в PowerShell, но из предыдущего поста я знаю, что многие из вас хотят, чтобы эта информация сохранялась в реестре, чтобы Configuration Manager мог подобрать ее через инвентаризацию оборудования, поэтому ниже приведен сценарий, который сделает именно это. .

<#
.СИНОПСИС
Получите информацию о гарантии для системы Lenovo.
.ОПИСАНИЕ
Этот сценарий соберет информацию о гарантии для системы Lenovo и запишет ее в реестр..ПРИМЕР
.\Invoke-LenovoWarrantyCheck.ps1
.ПРИМЕЧАНИЯ
Имя сценария: Invoke-LenovoWarrantyCheck.ps1
Автор: Одд-Магне Кристофферсен
Контакт: @oddmk79
Дата Создания: 2019-01-15
.ИСТОЧНИКИ
https://www.scconfigmgr.com/2015/03/21/get-lenovo-warranty-information-with-powershell/
https://forums.lenovo.com/t5/Lenovo-Technologies/Warranty-API/td-p/3484953
#>

$SerialNumber = Get-WmiObject -Class Win32_BIOS | Select-Object - развернуть серийный номер
$URL = "https://ibase.lenovo.com/POIRequest.aspx"
$Метод = "ПОСТ"
$Header = @{ "Content-Type" = "application/x-www-form-urlencoded" }
$Body = "xml=LSC3IBA4LSC3$Серийный номер"
$RequestResult = Invoke-RestMethod -Method $Method -Uri $URL -Body $Body -Headers $Header

$RegistryPath = "HKLM:\SOFTWARE\WarrantyInformation"
New-Item -Path $RegistryPath –Force | Out-Null

New-ItemProperty -Path $RegistryPath -Name Type -Value $RequestResult.wiOutputForm.warrantyInfo.machineinfo.type -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name Model -Value $RequestResult.wiOutputForm.warrantyInfo.machineinfo.model -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name Product -Value $RequestResult.wiOutputForm.warrantyInfo.machineinfo.product -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name SerialNumber -Value $RequestResult.wiOutputForm.warrantyInfo.machineinfo.серийный -PropertyType Строка -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name StartDate -Value $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.warstart[0] -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name ExpirationDate -Value $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.wed[0] -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name Location -Value $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.countryDesc[0] -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name Описание -Value $RequestResult.wiOutputForm.warrantyInfo.serviceInfo.sdfDesc[0] -PropertyType String -Force | Out-Null
New-ItemProperty -Path $RegistryPath -Name WarrantyCheckDate -Value (Get-Date -Format yyyy-MM-dd) -PropertyType String -Force | Out-Null
 

Ранее я писал здесь и здесь о сборе информации о гарантии в Configuration Manager, поэтому я не буду вдаваться в подробности о том, как это делается, прочитайте старые сообщения и оставьте комментарий, если у вас все еще есть проблемы.

Я разместил скрипты на GitHub, так что ищите их там;

Выходные данные Powershell — Get-LenovoWarrantyInformation.ps1
Вывод реестра — Invoke-LenovoWarrantyCheck.ps1

Ждите новых сообщений в ближайшее время…

Спасибо за чтение, и если у вас есть какие-либо предложения, пожалуйста, не стесняйтесь оставлять комментарии.

Нравится:

Нравится Загрузка…

Получите расширенную гарантию на ноутбуки и настольные компьютеры Lenovo

Lenovo — один из самых надежных брендов ПК в мире, а ноутбуки Lenovo — одни из самых надежных, прочных и высокопроизводительных устройств, особенно на рабочем месте.Ноутбуки этой марки быстро стали выбором ИТ-специалистов в компаниях и корпорациях, поскольку Lenovo разрабатывает свои ноутбуки таким образом, чтобы они выдерживали небрежное обращение и случайные повреждения. Фактически, несколько лет назад ноутбук Lenovo ThinkPad был выпущен с военным уровнем прочности, что подчеркивает долговечность и надежность ноутбуков Lenovo. Тем не менее, Lenovo также предлагает своим потребителям стандартную годовую гарантию, чтобы они были уверены в долговечной работе ноутбука. Чтобы выполнить проверку гарантии ноутбука Lenovo, вам необходимо сначала найти серийный номер устройства, после чего вы можете проверить статус гарантии ноутбука с помощью проверки гарантии Lenovo.Вы должны сначала открыть страницу поддержки ПК Lenovo в своем веб-браузере, а затем перейти в раздел «Поиск гарантии». Затем вы должны ввести серийный номер в соответствующее поле и нажать «отправить». Сделав это, вы получите необходимую информацию о гарантии на ноутбук Lenovo.

Хотя стандартная гарантия, предлагаемая Lenovo, защищает ваш ноутбук в течение гарантийного периода, важно, чтобы вы выбрали продление гарантии Lenovo. Важно защитить свое устройство даже после истечения срока гарантии бренда, которая позаботится о любых незапланированных расходах.Чтобы выбрать продление гарантии на ноутбук Lenovo, вы можете посетить гарантийный веб-сайт Lenovo и либо выбрать план Business PC Plus, либо продлить гарантию. Сначала вам необходимо зарегистрировать свой ноутбук Lenovo, что можно сделать, предоставив сведения о покупке, такие как копия счета, название магазина и местоположение. После успешной проверки документов на зарегистрированный адрес электронной почты будет отправлена ​​ссылка для оплаты, что позволит вам приобрести расширенную гарантию. Кроме того, вы также можете воспользоваться сторонним сервисом, предлагающим расширенную гарантию на ноутбуки.

Проверьте, на что распространяется гарантия HP

 
Lenovo предлагает дополнительные планы защиты, такие как Защита от случайных повреждений, которые выходят за рамки стандартной гарантии и покрывают повреждения, возникшие в результате утечки, ударов, скачков напряжения и других несчастных случаев. Однако стандартная гарантия Lenovo распространяется на следующие вопросы или проблемы:

  • Повреждение ноутбука при транспортировке
  • Проблемы или проблемы в результате производственных дефектов

Стандартная гарантия Lenovo не распространяется на следующие расходы и ремонт

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

Когда «безопасный» вовсе не является безопасным: в потребительских ноутбуках Lenovo обнаружены серьезные уязвимости UEFI

Исследователи ESET обнаруживают множество уязвимостей в различных моделях ноутбуков Lenovo, которые позволяют злоумышленнику с правами администратора подвергать пользователя вредоносному ПО на уровне встроенного ПО

Исследователи ESET обнаружили и проанализировали три уязвимости, затрагивающие различные модели потребительских ноутбуков Lenovo.Первые две из этих уязвимостей — CVE-2021-3971 , CVE-2021-3972 — затрагивают драйверы прошивки UEFI, изначально предназначенные для использования только в процессе производства потребительских ноутбуков Lenovo. К сожалению, они были ошибочно включены и в производственные образы BIOS без надлежащей деактивации. Злоумышленник может активировать эти затронутые драйверы прошивки, чтобы напрямую отключить защиту флэш-памяти SPI (биты регистра управления BIOS и регистры защищенного диапазона) или функцию безопасной загрузки UEFI из процесса привилегированного пользовательского режима во время выполнения ОС.Это означает, что эксплуатация этих уязвимостей позволит злоумышленникам развертывать и успешно запускать импланты SPI flash или ESP, такие как LoJax или наше последнее обнаружение вредоносных программ UEFI ESPecter , на уязвимых устройствах.

Чтобы понять, как мы смогли найти эти уязвимости, рассмотрим драйверы прошивки, затронутые CVE-2021-3971 . Эти драйверы сразу привлекли наше внимание своими весьма неудачными (но на удивление честными) именами: SecureBackDoor и SecureBackDoorPeim.После первоначального анализа мы обнаружили другие драйверы Lenovo, имеющие несколько общих характеристик с драйверами SecureBackDoor*: ChgBootDxeHook и ChgBootSmm. Как оказалось, их функциональность была еще интереснее и ею можно было злоупотреблять для отключения UEFI Secure Boot ( CVE-2021-3972 ).

Кроме того, при исследовании вышеупомянутых уязвимых драйверов мы обнаружили третью уязвимость: повреждение памяти SMM внутри функции обработчика SW SMI ( CVE-2021-3970 ).Эта уязвимость допускает произвольное чтение/запись из/в SMRAM, что может привести к выполнению вредоносного кода с привилегиями SMM и потенциально привести к развертыванию флэш-имплантата SPI.

Мы сообщили Lenovo обо всех обнаруженных уязвимостях 11 октября th , 2021. Всего список уязвимых устройств содержит более ста различных моделей потребительских ноутбуков с миллионами пользователей по всему миру, от доступных моделей, таких как Ideapad-3 , до более продвинутые, такие как Legion 5 Pro-16ACH6 H или Yoga Slim 9-14ITL05 .Полный список затронутых моделей с активной поддержкой разработки опубликован в Lenovo Advisory .

В дополнение к моделям, перечисленным в бюллетене, несколько других устройств, о которых мы сообщили Lenovo, также затронуты, но не будут исправлены из-за того, что они достигают окончания поддержки разработки (EODS). Сюда входят устройства, в которых мы впервые обнаружили уязвимости: Ideapad 330-15IGM и Ideapad 110-15IGR. Список таких устройств EODS, которые нам удалось идентифицировать, будет доступен в репозитории раскрытия информации об уязвимостях ESET .

Lenovo подтвердила наличие уязвимостей 17 ноября -го , 2021 г. и присвоила им следующие CVE:

График раскрытия уязвимости:

  • 2021-10-11: об уязвимостях сообщили в Lenovo
  • 12.10.2021: Lenovo ответила и подтвердила, что исследует проблемы
  • .
  • 17.11.2021: Lenovo подтвердила наличие уязвимостей и сообщила нам о планируемой дате публикации рекомендаций – 8 февраля -го , 2022
  • 20.01.2022: Lenovo попросила перенести публичное раскрытие информации на новую дату — 18 апреля -го — из-за проблем с разработкой
  • .
  • 18 апреля 2022 г.: опубликованы рекомендации по безопасности Lenovo
  • 19 апреля 2022 г.: Опубликована запись в блоге ESET Research

Теоретические основы прошивки UEFI

Прежде чем мы начнем анализ обнаруженных уязвимостей, мы хотели бы представить введение в базовую теорию протоколов UEFI, режим управления системой, переменные UEFI NVRAM, UEFI Secure Boot и базовую защиту флэш-памяти SPI от записи.

Обратите внимание, что наша цель — объяснить только необходимый минимум, необходимый для понимания анализа описанных здесь уязвимостей. Для тех, кто уже знаком с этими темами, мы предлагаем сразу перейти к разделу Технический анализ . Тем, кто считает это введение недостаточным, мы настоятельно рекомендуем ознакомиться с серией постов в блогах , написанных исследователями из SentinelOne и UEFI Specification .

Службы и протоколы UEFI

UEFI определяет два типа служб, которые будут использоваться драйверами и приложениями UEFI: службы загрузки (EFI_BOOT_SERVICES) и службы выполнения (EFI_RUNTIME_SERVICES).Оба передаются в точку входа драйвера или приложения через аргумент EFI_SYSTEM_TABLE.

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

Загрузочные драйверы и приложения UEFI

широко используют протоколы. В контексте UEFI протоколы — это просто группы функций, идентифицируемых с помощью GUID. Эти протоколы после установки находятся в памяти и могут использоваться другими драйверами или приложениями до тех пор, пока не будет установлен EFI_BOOT_SERVICES.Вызывается ExitBootServices. Спецификация UEFI определяет множество таких протоколов для наиболее распространенных сценариев использования встроенного ПО, но разработчики встроенного ПО по-прежнему могут определять свои собственные протоколы для расширения этой базовой функциональности.

переменные UEFI

Переменные

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

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

Ниже приведены примеры некоторых из этих атрибутов; здесь мы перечислим только самые важные из них:

  • VARIABLE_ATTRIBUTE_NON_VOLATILE (NV) (0x00000001)
    Переменные, использующие этот атрибут, сохраняются в течение циклов питания и хранятся в фиксированном аппаратном хранилище (NVRAM) с ограниченной емкостью (обычно около 64 МБ).
  • VARIABLE_ATTRIBUTE_BOOTSERVICE_ACCESS (BS) (0x00000002)
    Если установлен атрибут BS, переменные без установленного атрибута RT не будут видны функции GetVariable после выполнения EFI_BOOT_SERVICES.ExitBootServices.
  • VARIABLE_ATTRIBUTE_RUNTIME_ACCESS (RT) 0x00000004) 
    Для доступа к переменной через функцию GetVariable после выполнения EFI_BOOT_SERVICES.ExitBootServices должен быть установлен атрибут RT.
  • VARIABLE_ATTRIBUTE_AUTHENTICATED_WRITE_ACCESS (AW) (0x00000010)
  • VARIABLE_ATTRIBUTE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS (AWT) (0x00000020)

Полный список атрибутов и правила их использования можно найти в спецификации UEFI .

Важно отметить, что, начиная с Windows 8, API разрешает доступ к переменным UEFI из привилегированного пользовательского процесса (администратор с привилегией SE_SYSTEM_ENVIRONMENT_NAME ). Эти функции API:

Режим управления системой (SMM)

SMM — это высокопривилегированный режим выполнения процессоров x86, часто называемый «кольцом -2».

Код

SMM записывается в контексте микропрограммы системы и обычно используется для различных задач, включая расширенное управление питанием, выполнение собственного кода OEM и безопасное обновление микропрограммы.Он обеспечивает независимую среду выполнения, полностью невидимую для работающей операционной системы, а код и данные, используемые в SMM, хранятся в аппаратно защищенной памяти, доступной только из SMM, которая называется SMRAM.

Для входа в SMM необходимо запустить специальное прерывание процессора, называемое SMI (System Management Interrupt). SMI могут запускаться с помощью программных средств или аппаратных средств платформы. Для целей этого блога достаточно понять, что один из способов создания SMI (в частности, программного SMI — SW SMI) и ввода SMM в системах с архитектурой Intel — это запись в порт ввода-вывода 0xB2 (используя OUT инструкция ).Это часто используется программным обеспечением для вызова служб микропрограммы во время выполнения системы .

Определение обработчиков ПО SMI в прошивке UEFI

Чтобы понять, что происходит под капотом, когда мы используем вышеупомянутый метод запуска SW SMI, нам нужно заглянуть в том 4 Спецификации инициализации платформы UEFI, версия 1.4 (ZIP-архив) и найти определение EFI_SMM_SW_DISPATCh3_PROTOCOL (показан на рисунке 1).

Рисунок 1. EFI_SMM_SW_DISPATCh3_PROTOCOL определение

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

Для установки такой функции-обработчика используется сервисная функция EFI_SMM_SW_DISPATCh3_PROTOCOL.Register; определение типа функции показано на рисунке 2.

Рисунок 2. EFI_SMM_SW_DISPATCh3_PROTOCOL.Register определение функции

Эта служба устанавливает функцию DispatchFunction, которая будет вызываться при обнаружении программного источника SMI, указанного в параметре RegisterContext->SwSmiInputValue.Другими словами, эта DispatchFunction будет вызываться, когда мы генерируем прерывание SW SMI, записывая то же значение SwSmiInputValue, которое было указано в RegisterContext->SwSmiInputValue во время установки обработчика, в порт ввода-вывода 0xB2.

Для прерываний SW SMI параметры чаще всего передаются обработчику SMI с использованием регистров ЦП. Когда запускается прерывание SW SMI, контекст для всех ЦП во время запуска прерывания сохраняется в SMRAM. Вызванный обработчик SMI может легко прочитать и изменить этот контекст, используя функции EFI_SMM_CPU_PROTOCOL ReadSaveState и WriteSaveState соответственно.

Первичные механизмы защиты флэш-памяти SPI

Микропрограмма

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

На эту память не влияет переустановка операционной системы, и поэтому она представляет заманчивую цель для злоумышленников, развертывающих свои имплантаты, как это было в случае LoJax , MosaicRegressor и MoonBounce .

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

Регистр управления BIOS

В этом регистре три специальных бита используются для управления доступом к флэш-памяти SPI. Обратите внимание, что хотя на других чипсетах они могут называться по-разному, принцип тот же.

  1. БИОСВЕ (бит 0)

Если установлено, доступ к пространству BIOS разрешается как для циклов чтения, так и для циклов записи, в противном случае доступ осуществляется только для чтения.

  1. BLE (бит 1)

При установке BIOSWE может быть изменен с 0 на 1 только с помощью кода SMM. Любая попытка установить BIOSWE из кода, отличного от SMM, приведет к срабатыванию SMI. Это дает OEM-производителю возможность внедрить обработчик SMI для защиты бита BIOSWE, установив для него значение 0,

.
  1. SMM_BWP (бит 5)

Если установлено, область BIOS недоступна для записи, если только все процессоры не находятся в SMM, а BIOSWE не имеет значения 1.Установка этого бита устраняет уязвимость состояния гонки Speed ​​Racer (эксплойт для этой уязвимости присутствовал в инструменте ReWriter_binary, который использовался группой Sednit для развертывания LoJax ).

Регистры защищенного диапазона (PR0-PR4)

Каждый регистр определяет независимые разрешения на чтение/запись для определенного диапазона памяти региона SPI Flash BIOS. Их можно установить только в том случае, если бит блокировки конфигурации флэш-памяти (FLOCKDN) в регистре состояния флэш-памяти аппаратного секвенирования (HSFS) не установлен.

Этот бит FLOCKDN должен быть установлен микропрограммой платформы во время инициализации платформы — сразу после установки регистров защищенного диапазона (PR). После установки FLOCKDN оно очищается только после следующего аппаратного сброса. Это означает, что диапазоны памяти, защищенные регистрами защищенного диапазона, не могут быть изменены никаким кодом времени выполнения (включая код SMM) после того, как они заблокированы. Даже законные обновления прошивки должны быть выполнены до того, как регистры PR будут заблокированы.

Решения, доступные для текущих систем

В настоящее время современные системы обычно поставляются с решениями, обеспечивающими аппаратную целостность загрузки (например, Intel Boot Guard), которые при правильной настройке и отсутствии дополнительных уязвимостей защищают от загрузки ненадежного кода встроенного ПО, даже если вышеупомянутые средства защиты, предоставляемые набором микросхем, не могут защитить флэш-память SPI из-за неправильной конфигурации или уязвимости.

Как получить доступ к пространству конфигурации PCI/PCIe

Регистр управления BIOS, регистры диапазона защиты и многие другие регистры конфигурации могут быть прочитаны или записаны путем доступа к пространству конфигурации PCI(e). Местоположение (или адрес) конфигурационного пространства PCI(e) для конкретных PCI-совместимых устройств (например, флэш-памяти SPI) определяется тремя значениями:

Конфигурации, относящиеся к этому устройству, расположены по смещениям в этом пространстве конфигурации.Существует два распространенных способа доступа к конфигурационному пространству PCI(e):

.

В этом случае машинные инструкции ввода-вывода IN и OUT в сочетании с портами ввода-вывода 0xCF8 (CONFIG_ADDRESS) и 0xCFC (CONFIG_DATA) используются для доступа к определенным данным конфигурации в пространстве конфигурации PCI. Поскольку в этом нет необходимости для целей нашего блога, мы не будем здесь вдаваться в подробности.

  • Использование ввода-вывода с отображением памяти (MMIO)

При использовании ввода-вывода с отображением памяти конфигурационное пространство PCI отображается непосредственно в адресное пространство основной памяти; поэтому к данным конфигурации можно получить доступ почти так же, как и к любым другим данным.Все, что нужно знать, — это PCI-адрес нужных данных, так где же мы можем найти этот адрес? Мы можем построить его самостоятельно, если знаем:

  1. базовый адрес MMIO (можно найти в таблице ACPI MCFG )
  2. Bus , Device , Function и Offset (также называемые Register ) значения, идентифицирующие данные, к которым мы хотим получить доступ (вы можете найти их в описании набора микросхем).

Пример макроса, кодирующего эти значения в адрес PCI, можно найти в EDK2 PciLib.Заголовочный файл h. В качестве альтернативы реализация Python функций преобразования адреса MMIO PCI в индивидуальные идентификаторы и наоборот показана на рис. 3.

# возвращает адрес относительно PciExpressBaseAddress def pci_encode_to_addr (шина, устройство, функция, регистр, mmio_base = 0xE0000000): return mmio_base|(((регистр) & 0xFFF) | (((функция) & 0x07) << 12) | (((устройство) & 0x1F) << 15) | (((шина) & 0xFF) << 20) ) def pci_decode_from_addr (адрес): шина = (адрес >> 20) и 0xFF устройство = (адрес >> 15) & 0x1F функция = (адрес >> 12) и 0x7 смещение = адрес & 0xFFF print(f»Шина: 0x{шина:X} Устройство: 0x{устройство:X} Функция: 0x{функция:X} Смещение: 0x{смещение:X}»)

# возвращает адрес относительно PciExpressBaseAddress

def pci_encode_to_addr(bus,device,function,register,mmio_base=0xE0000000):

return mmio_base|(((register) & 0xFFF) | (((function) & 0x07) < < 12) | (((устройство) & 0x1F) << 15) | (((шина) & 0xFF) << 20))

 

def pci_decode_from_addr(addr):

bus = (addr >> 20) & 0xFF

устройство = (адрес >> 15) & 0x1F

функция = (адрес >> 12) & 0x7

смещение = адрес & 0xFFF

print(f»Bus: 0x{bus:X} Device: 0x {устройство:X} Функция: 0x{функция:X} Смещение: 0x{смещение:X}»)

Рис. 3.Кодирование/декодирование адреса PCI в Python

Безопасная загрузка UEFI

Безопасная загрузка UEFI определена в спецификации UEFI, и ее основная цель — проверить целостность загрузочных компонентов, чтобы гарантировать, что разрешено выполнение только тех компонентов, которым доверяет платформа. Какие компоненты будут включены в этот процесс проверки, зависит от реализации политики безопасной загрузки UEFI на конкретной платформе — в большинстве случаев проверяются только сторонние драйверы UEFI, приложения и OPROM , а также драйверы флэш-памяти SPI. неявно считается доверенным.

Чтобы решить, что является доверенным, а что нет, UEFI Secure Boot использует специальные базы данных, хранящиеся в аутентифицированных переменных NVRAM, а именно db и dbx.

  • База данных db содержит список доверенных сертификатов открытых ключей, которым разрешено аутентифицировать подписи загрузочных компонентов, или, в дополнение к сертификатам, она также может содержать список хэшей компонентов, выполнение которых разрешено подписаны они или нет.
  • База данных dbx содержит сертификаты открытых ключей или хэши исполняемых файлов UEFI, которые не разрешены для выполнения — для предотвращения выполнения подписанных исполняемых файлов с известными уязвимостями, отозванными сертификатами и т. д.

Технический анализ

Начнем с анализа драйверов Lenovo, подверженных уязвимостям CVE-2021-3971 и CVE-2021-3972 , а затем продолжим анализ уязвимости SMM CVE-2021-3970 .

В начале нашего сообщения в блоге мы упомянули, что драйверы SecureBackDoor* и ChgBoot* имеют некоторые общие характеристики, так какая же между ними связь? Оба используют переменные UEFI в пространстве имен 6ACCE65D-DA35-4B39-B64B-5ED927A7DC7E в качестве механизма управления для принятия решения об активации их функций (мы будем называть этот GUID LENOVO_BACKDOOR_NAMESPACE_GUID).

CVE-2021-3971 — Драйвер SecureBackDoor — отключить защиту флэш-памяти SPI

Мы начнем с анализа уязвимости CVE-2021-3971 , которая позволяет злоумышленнику отключить механизмы защиты от записи SPI flash, просто создав переменную NVRAM. Когда микропрограмма платформы обнаруживает эту переменную NVRAM во время загрузки, она пропускает выполнение кода, отвечающего за настройку регистров управления BIOS и защиты флэш-памяти SPI на основе регистров защищенного диапазона.

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

Эта функция «Отключение защиты флэш-памяти SPI» реализована следующими драйверами в прошивке уязвимых ноутбуков:

  • SecureBackDoorPeim (16F41157-1DE8-484E-B316-DDB77CB4080C)
  • SecureBackDoor (32F16D8C-C094-4102-BD6C-1E533F8810F4)

Чтобы отключить или деактивировать вышеупомянутую защиту флэш-памяти SPI с помощью этой уязвимости, пользователю нужно только создать переменную NVRAM с:

  • Имя: cE!
  • GUID пространства имен: LENOVO_BACKDOOR_NAMESPACE_GUID
  • Атрибуты: NV + BS + RT (0x00000007)
  • Значение: любой ненулевой байт

, а затем перезагрузите затронутое устройство.

Чтобы понять, насколько это просто, пользователи Windows могут отключить эти средства защиты, воспользовавшись уязвимостью CVE-2021-3971 непосредственно из привилегированного пользовательского процесса (администратор с привилегией SE_SYSTEM_ENVIRONMENT_NAME ) с помощью функции Windows API SetFirmwareEnvironmentVariable .

В нашем анализе мы будем работать с образом прошивки ( версия 1GCN25WW ) устройства Lenovo 110-15IBR , которое является одним из устройств, подверженных уязвимости CVE-2021-3971 .

Анализ SecureBackDoorPeim

Чтобы вернуться к теории, последовательность загрузки UEFI состоит из различных фаз, и одна из самых ранних называется фазой Pre-EFI Initialization (PEI). На этом этапе модули инициализации Pre-EFI (PEIM) выполняются для выполнения различных задач, включая инициализацию постоянной памяти и вызов следующей фазы загрузки — среды выполнения драйверов (DXE). Для передачи информации из фазы PEI в фазу DXE используются специальные структуры данных, называемые блоками Hand-Off (HOB).

SecureBackDoorPeim — это модуль PEI, отвечающий как за чтение содержимого переменной UEFI cE!, принадлежащей пространству имен LENOVO_BACKDOOR_NAMESPACE_GUID, так и за подготовку правильной структуры данных HOB для передачи ее значения драйверу фазы SecureBackDoor DXE.

Это делается в три простых шага, как показано на рис. 4.

Рисунок 4. Hex-Rays-декомпилированный код модуля SecureBackDoorPeim

  1. Используйте EFI_PEI_READ_ONLY_VARIABLE2_PPI.GetVariable с параметрами VariableName и VariableGuid, установленными на значения cE! и LENOVO_BACKDOOR_NAMESPACE_GUID соответственно.
  2. Чтобы передать эту информацию драйверу SecureBackDoor DXE, создайте структуру данных HOB, определяемую следующим идентификатором GUID AD7934E7-D800-4305-BF6F-49ED9918E1AB. Чтобы упростить задачу, давайте назовем эту структуру данных HOB GUID SECURE_BACKDOOR_HOB_GUID.
  3. Наконец, он сохраняет значение, полученное из cE! переменная для смещения 0x18 вновь созданного HOB.
Анализ SecureBackDoor

SecureBackDoor — это драйвер DXE, отвечающий за деактивацию защиты флэш-памяти SPI, если он находит HOB, идентифицированный SECURE_BACKDOOR_HOB_GUID в списке HOB. На рисунке 5 видно, что для нахождения этого HOB он просматривает список HOB и ищет тот, который был создан ранее модулем SecureBackDoorPeim, сопоставляя его с SECURE_BACKDOOR_HOB_GUID.

Рисунок 5. Декомпилированный с помощью Hex-Rays код SecureBackDoor , отвечающий за поиск HOB, созданного SecureBackdoorPeim

Если этот HOB найден, драйвер получает значение байта по смещению 0x18 — значение, полученное ранее из cE! Переменная UEFI от SecureBackDoorPeim — и если это значение отличается от 0x00, она регистрирует функцию уведомления протокола DXE_PCH_PLATFORM_POLICY_PROTOCOL, которая обнуляет бит BiosLock внутри DXE_PCH_PLATFORM_POLICY_PROTOCOL.Битовая маска LockDownConfig (определения связанных типов см. в заголовочном файле TianoCore PchPlatformPolicy.h на GitHub).

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

  • PchBiosWriteProtect (B8B8B609-0B6C-4B8C-A731-DE03A6C3F3DC)
  • БиосРегионЛокк (77892615-7C7A-4AEF-A320-2A0C15C44B95)
Анализ PchBiosWriteProtect

PchBiosWriteProtect — это модуль SMM.На рисунке 6 видно, что он проверяет, установлен ли бит BiosLock внутри DXE_PCH_PLATFORM_POLICY_PROTOCOL.LockDownConfig (тип PCH_LOCK_DOWN_CONFIG ), выполняя побитовую операцию И со значением 0x08 (которое равно 0b1000 в двоичном представлении).

Рис. 6. Код, декомпилированный с помощью Hex-Rays, из PchBiosWriteProtect , отвечающий за инициализацию контрольного регистра BIOS, связанных с защитой флэш-памяти SPI

Если не задано, пропускает несколько строк кода, отвечающих за:

  • Выполнение операции чтения MMIO (строка 15 на рис. 6) путем чтения 32-битного значения с адреса 0xE00F8054.Если мы передадим этот адрес в качестве аргумента функции Python pci_decode_from_addr, которую мы представили на рисунке 3: эта функция напечатает адрес, расшифрованный как Bus: 0, Device: 0x1F, Function: 0, Offset: 0x54.
    Основываясь на этих значениях и зная, что затронутый ноутбук (в нашем случае Lenovo 110-15IBR) использует Intel System-on-a-Chip (SoC) серии N, мы можем найти в его техническом описании (раздел 33.14.13). , стр. 2258), что он обращается к базовому адресу SPI (SBASE), 32-битному регистру конфигурации PCI, содержащему адрес пространства конфигурации SPI (мы будем называть его SPIBAR), и сохраняет его в глобальной переменной.
  • Регистрация функции-обработчика ПО SMI DispatchFunction (строка 22 на рис. 6)
    Этот зарегистрированный обработчик ПО SMI DispatchFunction вызывается во время инициализации платформы, и если мы посмотрим на код этой функции на рис. 7 ниже, то увидим, что она отвечает за установка бита 5 внутри регистра, расположенного по смещению SPIBAR 0xFC. Если мы посмотрим на документацию (раздел 10.48 BCR), то увидим, что это соответствует биту SMM_BWP (или EISS для нашего чипсета) регистра управления BIOS.

В конце концов, DispatchFunction также отвечает за регистрацию функции обработчика SMI (ClearBIOSWE на рис. 7), обрабатывающей прерывание SMI, которое запускается, когда кто-то пытается установить бит BIOSWE в регистре управления BIOS из кода, отличного от SMM, в то время как Бит BLE регистра управления BIOS установлен. В этом случае установленный обработчик установит бит BIOSWE (или WPD для нашего чипсета) обратно в 0.

В результате пропуск этого кода приведет к неправильной настройке контрольных регистров BIOS, подвергая систему риску модификации флэш-памяти SPI.

Анализ BiosRegionLock

Второй драйвер, BiosRegionLock, отвечает за настройку регистров защищенного диапазона PR0-PR4. Подобно PchBiosWriteProtect, описанному выше, он использует бит BiosLock внутри DXE_PCH_PLATFORM_POLICY_PROTOCOL.LockDownConfig (тип PCH_LOCK_DOWN_CONFIG ), чтобы решить, следует ли устанавливать защиту флэш-памяти SPI — в этом случае защищенные регистры диапазона.

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

Рисунок 8. Декомпилированный Hex-Rays код, отвечающий за настройку регистров защищенного диапазона

CVE-2021-3972 — Драйвер ChgBootDxeHook — отключить безопасную загрузку UEFI

Следующая уязвимость, которую мы рассмотрим, — это CVE-2021-3972 . Эта уязвимость позволяет злоумышленнику с повышенными привилегиями изменять различные параметры прошивки UEFI, включая состояние безопасной загрузки UEFI, или, например, восстанавливать заводские настройки прошивки UEFI, просто создавая одну переменную UEFI.

Излишне говорить, что такое действие окажет серьезное влияние на безопасность системы. Отключение безопасной загрузки UEFI будет означать, что прошивка не будет принудительно проверять целостность драйверов и приложений UEFI во время процесса загрузки и, таким образом, позволит загружать любые ненадежные или вредоносные. С другой стороны, восстановление заводских настроек не приведет к прямому отключению безопасной загрузки UEFI, но может подвергнуть систему риску развертывания некоторых приложений UEFI, таких как загрузчики, с известными уязвимостями (например, загрузчиками).грамм. см. BootHole ), что позволяет обойти UEFI Secure Boot.

В нашем анализе мы будем работать с образом прошивки (версия 7XCN41WW ) Lenovo 330-15IGM , который подвержен уязвимости CVE-2021-3972 .

Например, чтобы отключить безопасную загрузку UEFI на Lenovo 330-15IGM , пользователю нужно только создать переменную UEFI с:

  • Имя: ChgBootSecureBootDisable или ChgBootChangeLegacy
  • GUID пространства имен: LENOVO_BACKDOOR_NAMESPACE_GUID
  • Атрибуты: NV + BS + RT (0x00000007)
  • Значение: любой ненулевой байт

и перезагрузите ноутбук.

Чтобы проиллюстрировать, насколько это просто, пользователи Windows могут создавать эти переменные из привилегированного пользовательского процесса (администратор с привилегией SE_SYSTEM_ENVIRONMENT_NAME ) с помощью функции Windows API SetFirmwareEnvironmentVariable .

Эта «функция» бэкдора реализуется следующими двумя драйверами в микропрограммах уязвимых устройств:

  • ЧгБутСмм (4CA0062A-66FE-4BE7-ACE6-FDE992C1C5EC)
  • Чгбутдксехук (C9C3D147-9A92-4D00-B3AE-970E58B5C3AC)
Анализ ChgBootSmm

ChgBootSmm — модуль SMM, отвечающий за регистрацию функции обработчика ПО SMI.Как показано на рис. 9, он регистрирует этот обработчик SMI с помощью функции EFI_SMM_SW_DISPATCh3_PROTOCOL.Register и устанавливает для SwSmiInputValue значение 0xCA. Это означает, что можно инициировать выполнение этой функции, записав значение 0xCA в порт ввода-вывода 0xB2.

Рисунок 9. Hex-Rays-декомпилированный код – ChgBootSmm регистрирует номер обработчика SW SMI 0xCA

Изучив этот установленный обработчик SMI на рис. 10, мы увидим, что он использует функции EFI_SMM_VARIABLE_PROTOCOL SmmGetVariable и SmmSetVariable для чтения и записи в различные переменные UEFI, и решение о том, какая переменная будет создана или изменена, принимается на основе значения из Сохраненное состояние регистра RBX.

Рисунок 10. Hex-Rays-декомпилированный код обработчика SW SMI, установленного драйвером ChgBootSmm

Кроме того, каждая записываемая переменная имеет одинаковую битовую маску атрибутов — 0x00000007 (NV|BS|RT) — это означает, что все созданные переменные будут сохранены в энергонезависимой памяти и, таким образом, выдержат цикл включения и выключения питания.

Полный список переменных, к которым можно получить доступ с помощью этого обработчика ПО SMI:

  • Пространство имен: LENOVO_BACKDOOR_NAMESPACE_GUID
    • ChgBootSecureBootDisable
    • Чгбутсетпксетофирст
    • Чгбутсетефипксеонетиме
    • ChgBootRestoreFactory
    • Чгбутфуллресе
    • Чгбутсекуребутенабле
    • ChgBootBootOrderSetDefault
    • ChgBootChangeLegacy
    • ChgBootLegacyLoadDefault
    • ChgBootUefiLoadDefault
    • @Rm
    • OneTimeDisableFastBoot
  • Пространство имен: A04A27F4-DF00-4D42-B552-39511302113D

Обратите внимание на переменные, начинающиеся со строки ChgBoot: эти переменные используются в качестве «команд» для драйвера ChgBootDxeHook DXE, указывая, следует ли выполнять какое-либо действие или нет.В большинстве случаев их имена говорят сами за себя, и с точки зрения безопасности наиболее интересными являются следующие:

.
  • ChgBootSecureBootDisable и ChgBootChangeLegacy
    Если создан (любой из них), ChgBootDxeHook отключает функцию безопасной загрузки UEFI во время следующей загрузки.
  • ChgBootRestoreFactory
    При создании ChgBootDxeHook восстанавливает заводские значения по умолчанию для переменных безопасной загрузки UEFI PK, KEK, db и dbx во время следующей загрузки. Это может вызвать несколько проблем, от повреждения пользовательских ключей безопасной загрузки, используемых жертвой, и, таким образом, предотвращения загрузки системы, до загрузки dbx, который может не содержать последнюю информацию об отзыве .Последнее может подвергнуть систему риску развертывания некоторых приложений UEFI, таких как загрузчики, с известными уязвимостями (например, BootHole ), что позволит злоумышленнику также обойти проверку UEFI Secure Boot.

Все вышеупомянутые переменные ChgBoot* UEFI могут быть созданы даже без помощи этого обработчика ПО SMI — например, с помощью Windows API — поскольку они не защищены от доступа во время выполнения. Это означает, что злоумышленники могут отключить важные механизмы безопасности из процесса пользовательского режима с правами администратора.

Но все же, если некоторым читателям интересно, как это можно сделать, вызвав обработчик SW SMI, вот команда CHIPSEC , с помощью которой можно создать переменную ChgBootSecureBootDisable:

chipec_util.py smi отправить 0 0xCA 0x53 0x53CA 0x1D 0 0xB2

Анализ ChgBootDxeHook

На данный момент мы знаем, что злоумышленникам потребуется создать соответствующую переменную ChgBoot* UEFI, чтобы отключить безопасную загрузку UEFI или восстановить заводские ключи безопасной загрузки UEFI во время загрузки.Итак, как это работает под капотом? Эта функция обрабатывается драйвером ChgBootDxeHook DXE, и все переменные UEFI ChgBoot* проверяются в его функции sub_3370, показанной на рис. 11.

Рисунок 11. Функция, декомпилированная Hex-Rays, из ChgBootDxeHook , проверяющая переменные ChgBoot .

Чтобы увидеть, как отключается безопасная загрузка UEFI, мы можем заглянуть внутрь функции ChgBootSecureBootDisableCheck (точно то же самое происходит и в функции ChgBootChangeLegacyCheck, только с другой проверяемой переменной).

Как видно на рис. 12, функция проверяет наличие переменной UEFI ChgBootSecureBootDisable с помощью функции GetVariable служб среды выполнения и, если она существует — независимо от ее значения — выполняет функцию, которую мы назвали DisableSecureBoot.

Рисунок 12. Hex-Rays-декомпилированная функция из ChgBootDxeHook проверка существования ChgBootSecureBootDisable Переменная NVRAM

Вот где происходит волшебство — как вы можете видеть на рис. 13, эта функция делает две вещи:

  • Устанавливает значение байта переменной Setup UEFI по смещению 0x4D9 в ноль; этот байт, по-видимому, является индикатором состояния безопасной загрузки UEFI в утилите настройки BIOS.
  • Вызывает функцию протокола (протокол GUID C706D63F-6CCE-48AD-A2B4-72A5EF9E220C или LENOVO_SECURE_BOOT_SERVICES_PROTOCOL_GUID на рис. 13), установленную драйвером SecureBootService DXE с параметром, идентифицирующим операцию, которая должна быть выполнена, в данном случае операцию, идентифицируемую значением 0x02, которое означает отключение безопасной загрузки UEFI.

Рисунок 13. Hex-Rays-декомпилированный код из ChgBootDxeHook , отвечающий за отключение UEFI Secure Boot

А как эта функция из LENOVO_SECURE_BOOT_SERVICES_PROTOCOL отключает UEFI Secure Boot? Для этого вызывается обработчик SW SMI 0xEC, зарегистрированный комбинированным драйвером SMM/DXE VariableRuntimeDxe, который, в свою очередь, устанавливает для аутентифицированной переменной UEFI с именем SecureBootEnforce (пространство имен EFI_GENERIC_VARIABLE_GUID) значение 0x00.

Однако на некоторых затронутых моделях (например, на Lenovo V14-IIL ) это не так просто, и простое создание переменной UEFI ChgBootSecureBootDisable не отключит безопасную загрузку UEFI. Итак, в чем подвох?

Как мы видим на рисунке 14, после проверки переменной ChgBootSecureBootDisable присутствует еще одно условие — она отключает безопасную загрузку UEFI только в том случае, если значение, полученное из специального постоянного хранилища LenovoVariable, доступ к которому осуществляется с использованием протокола, идентифицируемого GUID C20E5755-1169-4C56 -A48A-9824AB430D00 (LENOVO_VARIABLE_PROTOCOL_GUID на рис. 14), содержит значение Y (0x59).

Рис. 14. Код, декомпилированный Hex-Rays — отключение безопасной загрузки UEFI с дополнительной проверкой LenovoVariable

Для моделей, включающих эту проверку, требуются более высокие привилегии, чтобы отключить безопасную загрузку из ОС, но это все еще возможно, вызвав обработчик SW SMI, зарегистрированный модулем SMM LenovoVariableSmm.

Описание этого постоянного хранилища LenovoVariable предлагается в следующем разделе.

CVE-2021-3970 — произвольное чтение/запись SMM

В этом последнем разделе мы рассмотрим анализ уязвимости CVE-2021-3970 , вызванной неправильной проверкой ввода в функции обработчика SW SMI, которая может привести к произвольному чтению/записи из/в SMRAM и последующее выполнение произвольного кода в режиме исполнения SMM.

Эта уязвимость может быть использована из привилегированного процесса режима ядра путем запуска программного прерывания SMI и передачи физического адреса специально созданного буфера в качестве параметра обработчику уязвимого ПО SMI.

В этом анализе мы будем работать с образом прошивки (версия 7XCN41WW ) Lenovo 330-15IGM , который подвержен уязвимости CVE-2021-3970 .

Хранилище переменных Lenovo и уязвимый обработчик ПО SMI

Микропрограмма на некоторых моделях потребительских ноутбуков Lenovo реализует специальное постоянное хранилище LenovoVariable, позволяющее хранить данные до 4 КБ во флэш-памяти SPI.

Он используется прошивкой платформы для хранения различной информации, включая название продукта Lenovo, название модели и версию материнской платы, лицензию OEM OS, или, как указано в разделе выше, в некоторых случаях его можно использовать для активации ChgBootDxeHook драйвер для отключения функции безопасной загрузки UEFI .

В проанализированной нами прошивке SMM-версия функционала переменной Lenovo предоставляется другим драйверам по протоколу BFD02359-8DFE-459A-8B69-A73A6BAFADC0 (назовем его LENOVO_VARIABLE_PROTOCOL_GUID) и устанавливается SMM-модулем LenovoVariableSmm.

Этот интерфейс LENOVO_VARIABLE_PROTOCOL обеспечивает четыре функции:

  1. Чтение — Чтение данных из переменной Lenovo
  2. Запись — запись данных в переменную Lenovo
  3. Lock — заблокировать переменную Lenovo для записи
  4. Разблокировать — Разблокировать переменную Lenovo для записи

Важно отметить, что LenovoVariableSmm не только устанавливает этот протокол для доступа к другим модулям SMM, но и регистрирует функцию-обработчик SW SMI, которая позволяет получить доступ к этому хранилищу из ОС, вызывая SW SMI. Хуже всего то, что он неправильно проверяет параметры, передаваемые обработчику SW SMI, что может привести к произвольному чтению/записи из/в SMRAM.

Рисунок 15. Hex-Rays-декомпилированный код функции-обработчика ПО SMI, зарегистрированный модулем LenovoVariableSmm

Присмотревшись к функции-обработчику SW SMI на рис. 15, мы увидим, что она начинается со чтения пользовательских параметров из регистров состояния ЦП, сохраненных в момент вызова SMI.

Эти два аргумента считываются:

  1. 64-битный физический адрес, созданный из значений, хранящихся в регистрах ECX и EDI.
  2. Команда, указывающая действие, которое необходимо выполнить (чтение, запись, удаление и т. д.), из регистра BX.

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

Рис. 16.Структура буфера, переданного обработчику LenovoVariableSmm SW SMI

Буфер начинается с 0x20-байтового заголовка (LENV_HDR), содержащего уникальный GUID, идентифицирующий переменную Lenovo, и 32-битное значение, указывающее длину данных, которые нужно извлечь из переменной или записать в нее. Пространство памяти, расположенное сразу после заголовка, используется в качестве источника или места назначения для функций чтения и записи LENOVO_VARIABLE_PROTOCOL.

Проблема в том, что физический адрес, предоставленный вызывающей стороной, никак не проверяется и не проверяется, а напрямую передается в качестве аргумента функциям LENOVO_VARIABLE_PROTOCOL (см. строку 41 на рис. 15).Это позволяет злоумышленнику передать любой физический адрес, включая адрес из диапазона SMRAM.

Но как это может быть использовано злоумышленником для чтения/записи из/в SMRAM? Для чтения содержимого SMRAM необходимо выполнить следующие шаги:

  1. Найдите физический адрес SMRAM.
  2. Скопируйте заголовок LENV_HDR на физический адрес за 32 байта до SMRAM — заголовок должен содержать переменный идентификатор (это может быть случайный GUID) и длину данных, которые вы хотели бы прочитать из SMRAM (максимум — что-то меньше 4 КБ ).
  3. Вызвать SW SMI, зарегистрированный LenovoVariableSmm (SwSmiNumber 0x80), указав команду с ID 0x02 в регистре BX (имеется в виду, что вы хотите записать в переменную Lenovo) и адрес ранее созданного заголовка в регистрах ECX и EDI (для сообщите обработчику SW SMI , какой вы хотите записать в эту переменную).
  4. Теперь эта переменная содержит указанный объем данных SMRAM, поэтому нам нужно только прочитать ее. Мы выделяем новый буфер (равный размеру заголовка плюс размер данных для извлечения) и копируем в него тот же заголовок, что и на шаге 2.
  5. Снова вызвать обработчик SW SMI, указав команду с идентификатором 0x01 в регистре BX (что означает, что вы хотите прочитать из переменной Lenovo) и адрес нашего вновь выделенного буфера из шага 4 в регистрах ECX и EDI (чтобы сообщить Обработчик SW SMI , где мы хотим скопировать содержимое переменной Lenovo, которая в данный момент содержит данные из SMRAM).

Пример вышеописанных шагов с использованием платформы CHIPSEC показан на рис. 17; вывод сценария, содержащего первые 0x100 байт SMRAM, показан на рисунке 18.

импортировать бинарные импортировать структуру импортировать chipsec.chipset из chipec.hal.interrupts импортировать прерывания из hexdump импортировать hexdump cs = чипсек.чипсет.кс() cs.init(нет, нет, правда, правда) intr = Прерывания (CS) mem_read = cs.helper.read_physical_mem mem_write = cs.helper.write_physical_mem mem_alloc = cs.helper.alloc_physical_mem # 1. получить физический адрес SMRAM smram_addr = cs.cpu.get_SMRAM()[0] HDR_SZ = 0x20 VAR_SIZE = 0x100 VAR_GUID = бинарные.unhexlify(«55 57 0e C2 69 11 56 4c a4 8a 98 24 ab 43 05 00″.replace(» «, «»)) SMI_NUM = 0x80 # 2. Запись заголовка в физическую память непосредственно перед SMRAM phys_buff = smram_addr-HDR_SZ hdr = b»\x00\x00″ + VAR_GUID + 10*b»\x00″ + struct.pack(«> 32) & 0xFFFFFFFF низкий = phys_buff & 0xFFFFFFFF _rcx = низкий _rbx = 2 #ЗАПИСАТЬ ПЕРЕМЕННУЮ LENOVO _rdx = 0xB2 _ракс = 0x5380 _rdi = высокий вступлениеsend_SW_SMI(0, SMI_NUM, 0x53, _rax, _rbx, _rcx, _rdx, 0, _rdi) # 4. выделить память для данных, считанных из переменной # запись заголовка в начало выделенной памяти # обнуляем остаток буфера sz_to_alloc = VAR_SIZE + HDR_SZ _va, out_buff = mem_alloc(sz_to_alloc, 0xFFFFFFFF) mem_write(out_buff, HDR_SZ, hdr) mem_write(out_buff+HDR_SZ, VAR_SIZE, VAR_SIZE*b»\x00″) # 5. вызвать обработчик переменной Lenovo SW SMI для чтения ранее созданного # переменная прямо в наш буфер высокий = (out_buff >> 32) & 0xFFFFFFFFFFFFFFFFFF низкий = out_buff & 0xFFFFFFFF _rcx = низкий _rbx = 1 #ЧИТАТЬ ПЕРЕМЕННУЮ LENOVO _rdx = 0xB2 _ракс = 0x5380 _rdi = высокий результат = вн.send_SW_SMI(0, SMI_NUM, 0x53, _rax, _rbx, _rcx, _rdx, 0, _rdi) # вывести первые VAR_SIZE байт из SMRAM smram_data = mem_read(out_buff+HDR_SZ, VAR_SIZE) шестнадцатеричный дамп (smram_data)

1

2

2

3

4

5

6

7

8

70002

8

9

10

11

12

13

12

14

13

14

15

16

17

18

19

20

20

21

22

23

240002 23

25

240002 26

25

27

26

27

28

29

28

30

31

30

32

31

32

33

34

34

36

37

38

39

39

41

42

43

42

43

45

44

45

44

45

46

47

48

49

49

50

51

52

53

54

55

56

57

58

импорт двоичных файлов

импорт структуры

импорт чипсек.набор микросхем

из chipec.hal.interrupts импорт прерываний

из шестнадцатеричного дампа CS)

mem_read = cs.helper.read_physical_mem

mem_write = cs.helper.write_physical_mem

mem_alloc = cs.helper.alloc_physical_mem

# 1. Получить SMRAM физический адрес

SMRAM_ADDR = CS.CPU.GET_SMRAM ( )[0]

HDR_SZ = 0x20

VAR_SIZE = 0x100

VAR_GUID = binascii.unhexlify(«55 57 0e C2 69 11 56 4c a4 8a 98 24 ab 43 05 00″.replace(» «, «»))

SMI_NUM = 0x80

 

# 2. непосредственно перед записью заголовка в физическую память SMRAM

phys_buff = smram_addr-HDR_SZ

hdr = b»\x00\x00″ + VAR_GUID + 10*b»\x00″ + struct.pack(«

mem_write(phys_buff, HDR_SZ, HDR)

# 3. Вызвуть Lenovo Variable SW SMI обработчик для записи первого var_size smram

# байты в var_guid lenovo переменная

высокий = (phys_buff >> 32) & 0xfffffffffffff и 0xfffffffff

_rcffffff

= низкий

_rbx = 2 #WRITE LENOVO VARIABLE

_rdx = 0xB2

_rax = 0x5380

_rdi = высокий

вв.send_SW_SMI(0, SMI_NUM, 0x53, _rax, _rbx, _rcx, _rdx, 0, _rdi)

 

# 4. выделить память под данные, считанные из переменной

# записать заголовок в начало выделенной памяти

# Zeroe Остальная часть буфера

SZ_TO_ALLOC = var_size + hdr_sz

_va, out_buff = mem_alloc (sz_to_alloc, 0xfffffffffff)

mem_write (out_buff, hdr_sz, hdr)

mem_write (out_buff + hdr_sz, var_size, var_size * b «\ x00»)

 

# 5.вызовите обработчик переменной Lenovo SW SMI для чтения ранее созданной переменной

# непосредственно в наш буфер Переменная

_rdx = 0xb2

_RAX = 0x5380

_rdi = высокий

Результат = intr.send_sw_smi (0, smi_num, 0x53, _rax, _rbx, _rcx, _rdx, 0, _rdi)

# Печать первых var_size байт из SMRAM

smram_data = mem_read(out_buff+HDR_SZ, VAR_SIZE)

hexdump(smram_data)

Рис. 17.Пример CHIPSEC — чтение 0x100 байт из SMRAM с использованием CVE-2021-3972

Рисунок 18. Выходные данные сценария CHIPSEC, выводящие первые 0x100 байт SMRAM

Для возможности записи в SMRAM принцип почти такой же — сначала злоумышленникам нужно записать свои данные в переменную Lenovo, а затем прочитать данные из переменной напрямую в SMRAM.

Мы привели пример чтения только первых 0x100 байт SMRAM; однако с дополнительными модификациями можно читать/записывать весь диапазон SMRAM.Это может позволить злоумышленникам выполнить свой собственный вредоносный код в SMM или, что еще хуже, — учитывая способность обработчика LenovoVariable SW SMI изменять флэш-память SPI, — записать собственный вредоносный микропрограммный имплант злоумышленников непосредственно во флэш-память SPI.

Заключение

Угрозы UEFI могут быть чрезвычайно скрытными и опасными. Они выполняются в начале процесса загрузки, перед передачей управления операционной системе, что означает, что они могут обойти почти все меры безопасности и смягчения последствий выше в стеке, которые могут помешать выполнению полезной нагрузки их ОС.Итак, как же UEFI-угрозы преодолевают все средства защиты, созданные для предотвращения развертывания или запуска самих UEFI-угроз?

Все реальные угрозы UEFI, обнаруженные за последние годы ( LoJax , MosaicRegressor , MoonBounce , ESPecter , FinSpy ), необходимо каким-либо образом обойти или отключить механизмы безопасности, чтобы их можно было развернуть. и казнен. Однако только в случае LoJax , первого в дикой природе руткита UEFI (обнаруженного ESET Research в 2018 году), мы имеем представление о том, как это было сделано — с помощью ReWriter_binary, способного использовать Speed ​​Racer. уязвимость.

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

Только за последний год мы стали свидетелями публичного раскрытия многочисленных серьезных уязвимостей встроенного ПО UEFI. Наиболее примечательны сообщения исследователей из Binarly в их блогах An In-Depth Look At The 23 High Impact Vulnerabilities и 16 High Impact Vulnerabilities Discovered In HP Devices , а также исследователей из SentinelOne в их блогах. Еще один кирпичик в стене: Обнаружение уязвимостей SMM в прошивке HP в блоге.

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

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

Для тех, кто использует устройства End Of Development Support (EODS), затронутые CVE-2021-3972 , без каких-либо доступных исправлений: одна вещь, которая может помочь вам защитить от нежелательного изменения состояния безопасной загрузки UEFI, — это использование TPM-aware. решение для полного шифрования диска, способное сделать данные на диске недоступными при изменении конфигурации безопасной загрузки UEFI.

Поиск продукта

× Ошибка: Ой, извините! Что-то пошло не так, и выбранный вами товар НЕ был добавлен в вашу корзину. Посмотреть корзину

Предупреждение

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

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

Пожалуйста, обратите внимание, что может быть задержка с доставкой этого товара.

Товар возврату не подлежит

Воспользуйтесь последними оставшимися юнитами.
Товар снят с производства и не будет пополняться после распродажи.

Пожалуйста, выберите ставку, чтобы продолжить

Конечный покупатель Номер заявки Диапазон дат Количество Цена предложения
{{/если}} {{номер ставки}}

Ставка заканчивается {{daysRemaining}} дней

Начало: {{startDateShortDateString}}

Окончание: {{expirationDateShortDateString}}

{{#if priceProtectionExpiryDateString}}

Дата окончания ценовой защиты: {{priceProtectionExpiryDateString}}

{{/если}}

Мин.: {{minQuantityString}}

Максимум: {{maxQuantityString}}

Осталось: {{remainingQuantityString}}

{{/каждый}}

Предупреждение.

Артикул, который вы заказываете, не соответствует минимальному лимиту количества для этой ставки. Ваш заказ будет рассмотрен, и вам сообщат, если какие-либо изменения потребуются.

Превышено максимальное количество

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

Оставшееся количество превышено

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

Введено неверное количество.

ВНИМАНИЕ: Дополнительные данные конечного пользователя потребуются во время оформления заказа.

ВНИМАНИЕ: Дополнительные данные конечного пользователя потребуются во время оформления заказа.

Дополнительные параметры поиска см. на странице Предложения поставщиков .{{#if showAdditionalItems}} {{/если}} {{specialBidSkuInfo.description}}

VPN: {{specialBidSkuInfo.vpn}} Артикул: {{specialBidSkuInfo.displaySku}} {{#if specialBidSkuInfo.upcEan}} СКП: {{specialBidSkuInfo.upcEan}} {{/если}}

Ставка заканчивается {{daysRemaining}} дней

Начало: {{startDateShortDateString}}

Окончание: {{expirationDateShortDateString}}

{{#if priceProtectionExpiryDateString}}

Дата окончания ценовой защиты: {{priceProtectionExpiryDateString}}

{{/если}}

Мин.: {{minQuantityString}}

Максимум: {{maxQuantityString}}

Осталось: {{remainingQuantityString}}

  • {{#if specialBidSkuInfo.isDirectShip}} Только прямая доставка {{#if addtoBasketValidation.isDisableAddToCart}}

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

    {{еще}}

    Прямая доставка: этот товар доставляется напрямую от поставщика.

    {{/если}} {{еще}} {{#if isStockAvailable}} {{запас.currentStockString}} В наличии {{еще}} Распродано {{/если}} {{#если в наличии}} {{#если сток.складСкладДетали}} {{#каждый stock.warehouseStockDetails}} {{#if расположение хранения}} {{еще}} {{/если}} {{/каждый}}{{/if}} {{еще}} {{/если}}
    Склад Склад По заказу Время выполнения заказа/ETA*
    {{место хранения}} {{Описание склада}} {{currentStockString}} {{totalQuantityOnOrder}} {{leadTimeEta}}
    Нет складской информации

    Время выполнения*: Заказ будет размещен у Продавца, как только мы получим заказ.

    ETA*: Заказ размещен у поставщика. Рекомендованная дата – это время, необходимое для доставки заказа на наш склад.

    {{/если}}

{{ценовая строка}} {{#if showBidPrice}} Цена {{/если}} {{#if specialBidSkuInfo.isSkuAuthorize}} {{#if showOriginalPrice}} {{originalPriceString}} Исходная цена {{еще}} {{originalPriceString}} {{/если}} {{еще}} {{#if showOriginalPrice}} {{msrpString}} рекомендованная производителем розничная цена {{еще}} {{msrpString}} {{/если}} {{/если}}

{{specialBidSkuInfo.

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован.