Эксклюзивный анализ данных из последней утечки Intel

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

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

Файл 576931-potter-city-576931-v1-0-schem.pdf

Диаграммы, электросхемы, рекомендации по разводке материнских плат с четырьмя сокетами для процессоров на ядре SandyBridge от 2010 года.

Эксклюзивный анализ данных из последней утечки Intel

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

Файл 367228-367228-rev-1-5.pdf

Документация с электросхемами для чего-то вроде отладочной/демонстрационной платы для первого поколения «атомов».

Файл 544767-intel-ethernet-connection-i219-reference-schematic-rev1-0.pdf

Типовая схема подключения гигабитного сетевого адаптера i219, 2015 год.

Файл 555388-purley-platform-power-delivery-schematic-layout-checklist-rev1-1.xlsx

Таблица для заполнения инженерами или тестировщиками плат сторонних производителей. Нужно проверить электросхему и топологию на соответствие рекомендуемым требованиям. В конце excel посчитает «очки» и выдаст результат в процентах:

Файл 621487-cml-itbmt3-ta-ww14-2020.pdf

Некоторые принципы работы технологии Turbo Boost 3.0 в свежем поколении процессоров с ядром Caby Lake. В частности, из каких регистров процессора подсистеме BIOS считывать максимальные множители буста отдельных ядер.

Файл 20170823_HDCP_EB-1.0_MEDIA_Eng_release.tar.gz

Демон и тестовая утилита для проверки работы HDCP под Arch Linux. Только бинарники и readme.

Файл BVT_Package_10.0.0.1086.exe

Утилита и документация для проверки соответствия системы требованиям Intel для маркировки компьютера логотипом Intel vPro. Утилита проводит несколько тестов, и затем отчёт можно отправить в Intel, если все тесты пройдены успешно.

Файл cmls102-prq-report-rev0.pdf

Отчёт о методиках тестирования микросхем и прогнозируемых процентах отказа для процессоров Core и Xeon от апреля 2020 года. Из этого документа можно узнать, через что проходят процессоры перед попаданием в наши компьютеры:

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

Файл prq-prq-customer-report-skl-2-2-lga-dt-rev0.pdf

Такой же отчёт для процессоров Pentium и i3 от 2015 года.

Файл c-state-test-case-intel-soc-watch-bkc-626226-rev0-5.pdf

Варианты тестирования режимов c-state и p-state процессора (оптимизация по потребляемой мощности и по частоте с напряжением). Пошаговая инструкция по настройкам BIOS и использованию специальной утилиты для тестирования.

Файл FMX.Data.Flows.Training.v1.0_2020-02-11_AVM.pdf

Какая-то плохо свёрстанная презентация на тему сетевой передачи. Наполовину состоит из аббревиатур, так что я не понял, о чём она конкретно. 2020 год.

Файл glk_platform_intel(r)_txe_4.0.25.1324_mr.pdf

Некоторое описание набора утилит для сборки и подписывания прошивок модуля Intel TXE. Например есть таблица компонентов TXE с их размерами и рекомендации по выбору ёмкости микросхемы flash для BIOS. 2020 год.

Файл how to obtain intel system debugger nda.pdf

Инструкция по получению отладочного комплекта для разработчиков систем с процессорами Intel. 2020 год.

Файл qts-qpp-5v1-17-1.pdf

Инструкция по Quartus Pro — софту для разработки под FPGA (до покупки интелом был известен, как Altera Quartus).

Файл SeamlessUpdate_CapsuleGeneration_UserGuide_v0.5.2.pdf

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

Файл SeamlessUpdate_CapsuleGenerationEnv_v0.5.2.zip

Сам набор утилит для сборки.

Файл simicsmodellibrary_eaglestream_rn_v0_6_00.pdf

Краткая инструкция по установке и использованию утилиты для эмуляции системы. Используется в разработке прошивки BIOS для ещё не вышедших процессоров.

Папка Intel ME

Содержит утилиты, документацию и бинарники для Intel ME. Абсолютно ничего полезного не обнаружено. Есть исходник примера утилиты для прошивки, но он использует сишную библиотеку FWUpdateLib.lib, которая и выполняет всю интересную работу. В коде во всех функциях своеобразный выход из функций по goto (метка End во всех функциях одинаковая), больше ничего примечательного:

static UINT32 checkUpdateType(IN const char *fileName, IN UINT32 *updateType)
{
UINT32 status;
UINT16 flashMajor = 0;
UINT16 flashMinor = 0;
UINT16 flashHotfix = 0;
UINT16 flashBuild = 0;
UINT16 fileMajor = 0;
UINT16 fileMinor = 0;
UINT16 fileHotfix = 0;
UINT16 fileBuild = 0;
INT32 comparedVersion = 0;

if (fileName == NULL || updateType == NULL)
{
status = INTERNAL_ERROR;
goto End;
}

status = FwuPartitionVersionFromFlash(FPT_PARTITION_NAME_FTPR, &flashMajor, &flashMinor, &flashHotfix, &flashBuild);
if (status != SUCCESS)
{
goto End;
}

status = FwuPartitionVersionFromFile(fileName, FPT_PARTITION_NAME_FTPR, &fileMajor, &fileMinor, &fileHotfix, &fileBuild);
if (status != SUCCESS)
{
goto End;
}

comparedVersion = versionCompare(fileMajor, fileMinor, fileHotfix, fileBuild,
flashMajor, flashMinor, flashHotfix, flashBuild);

if (comparedVersion < 0) { *updateType = DOWNGRADE; } else if (comparedVersion > 0)
{
*updateType = UPGRADE;
}
else
{
*updateType = SAME_VERSION;
}

End:
return status;
}

Папка Intel Restricted Secret

А вот тут уже есть кое-что интересное. В папке KabylakePlatform_3_7_9KabylakePlatSamplePkg лежит пример BIOS для платформы Kaby Lake (это 7-ое поколение процессоров Core, вышли в 2017 году). Собирать я его не пробовал, но по виду тут есть всё необходимое.

В папке Features лежат исходники драйверов устройств. Например для SATA, с виду, вполне рабочий код поиска и инициализации устройства на PCIe.

Также в папке Intel Restricted Secret лежат исходники:

  • Кодов инициализации процессоров Kaby Lake с документацией;
  • Что-то под названием Client Silicon API package;
  • Инструкция по интеграции этого всего в свой BIOS (для разработчиков оборудования).

Файл 482486-crystal-forest-gladden-stargo-schematic-design-files-rev2-1.zip

Библиотеки Cadence для разработки под интеловскую платформу с кодовым названием Crystal Forest. Самих проектов с трассировкой плат нет.

Обычный набор библиотек. Скорее всего, из пакета поставки Cadence. Сами файлы датированы 2012 годом.

Файл 555146-kipsbay2-archive.zip

То же самое для arduino-совместимых плат Intel Galileo. Тоже без файлов трассировки.

Файл 607872-tgl-up3-up4-pdg-schchk-rev1-2.zip

Очень подробная инструкция по разработке электросхем и трассировке плат для ещё не вышедшего 11-го поколения процессоров под кодовым названием Tiger Lake.

Файл 615188-wilson-city-schematic-walkthrough-bmc.zip

Видеопрезентация с пояснениями к схеме какого-то чипсета с кодовым именем Wilson City. Указано авторство отдела IoT. Озвучено синтезатором голоса.

Файл 615704-cml-s-udimm-3200-cmp-h-rvp-tdk-rev0p7.zip

Электросхемы и проект Cadence с трассировкой типовой платы для процессоров Comet Lake S с UDIMM памятью.

Файл 618525-tigerlake-up3-tsn-aic.zip

Похоже на электросхему и описание тестовой платы с периферией для ещё не вышедшего процессора Tiger Lake.

Файл 618730-ehl-mcl-hierarchical-schematic-lp4x-0-7.zip

Библиотека компонентов Cadence для ещё не вышедших процессоров Elkhart Lake. Без файлов проекта, но есть полная электросхема для всей периферии и питания. Уже можно прикинуть, какие порты будут на плате.

Файл adk_source.2.0.11.09.standalone.snowridge_transportip.tar.gz

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

Файл aml_cfl_s_kbl_skl-vbios_9.0.1062.zip

Какой-то скрипт для утилиты редактирования VBIOS для OEM разработчиков. В текстовом виде описана структура файла прошивки VBIOS.

Файл apl-i_sic_1.1.1_v227_51_d20190502.zip

Исходники кодов инициализации процессоров Apollo Lake и документация.

Файл core 10x00k 10x00kf v 1.0.5.zip

Содержит установщик утилиты с очень перспективным названием:

У меня нет такого процессора, так что проверить не получилось.

Файл elkhartlake_silicon_and_platformsamplecode_v1.0.0.zip

Исходники кодов инициализации теперь уже для Elkhart Lake, с частью исходников для BIOS и файлами Client Silicon. Подозреваю, что можно использовать пример BIOS для Kaby Lake, чтобы собрать BIOS для этих процессоров.

Файл intel(r)pch chipset_init kit — tglpchlp_z0v5_a0v11.zip

Патч для BIOS в бинарном виде и инструкция к утилите для установки этого патча в прошивку. Сам патч исправляет какие-то ошибки в инициализации чипсета для процессоров Tiger Lake.

Файл intel(r)powerandthermaldesignstudio_ext_2.1.1.zip

Загадочная утилита Intel Thermal and Design Studio.

Файлы KBL SST FDK training session 2.1.zip — KBL SST FDK training session 4.2.zip

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

Файл main_pld_adr_engineering_release_ww19.zip

Verilog-коды для уже упомянутого чипсета Wilson City. Видимо, для тестирования в ПЛИС до изготовления в кремнии.

Файл PPSampleApp_intel123.zip

Исходники утилиты неизвестного назначения на C++ для VS2013. Пароль архива «intel123».

Файл R5MR_DT_Firmware_Release_(8C2C17_8C1C12).zip

Исходники прошивки какого-то xDSL маршрутизатора Intel. Часть кода на ASM.

Файл TGL_3175_01_282_Engineering_Release.zip

Исходники BIOS, кодов инициализации, Client Silicon и подобного для процессоров Tiger Lake.

Файл tgl_bios_ww17_2020.zip

Несколько версий бинарников для сборки BIOS Tiger Lake.

Файл TGL_V2527_10_IPCM_Sample_Code_V1.0.0.zip

Исходники драйвера IPCM Tiger Lake для интеграции в свой BIOS.

Файл ucodeupdatecapsule_0x30_0x31.zip

Обновление микрокода для неизвестного процессора. Бинарники для включения в общий пакет обновления BIOS. Исходников микрокода мы никогда не увидим.

Файл wav_fw_src_06.01.00_er7.87_20191226040022.zip

Похоже на исходники прошивки интеловского маршрутизатора.

Файл WW04’20_Ext_RKL_S_VP_PPR.zip

Библиотека моделей для эмуляции процессоров Rocket Lake S с описанием.

Файл WW11’20_Ext_TGL_H_VP_PPR.zip

То же самое для Tiger Lake H.

Файл WW18’20_Ext_ADL_S_VP_PPR.zip

То же для Alder Lake S.

Файл WW18’20_Ext_RKL_S_VP_PPR.zip

Обновление моделей для Rocket Lake S.

Вывод

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

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

 

Источник

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