25 января 2016 г.

NSA GODSURGE(FLUXBABBITT)

Несмотря на громкий заголовок ничего такого собственно.И пишу в который раз во славу:"Возможности самому разобрать и посмотреть то, о чём прилетело в новостях с другого конца света"
Декабрь 2013 выдался плотным в рабочем плане, как в общем-то и любой другой месяц.Не ознакомиться с каталогом NSA было ну просто не невозможно.А тут ещё подвернулся noname сервер Dell Poweredge 2950 III EMS01 как раз из каталога и в последствии был ещё один.В силу определённых причин поработать с ними продолжительное время не удалось, часть выводов сделана постфактум.С брендовыми серверами "от и до" не часто сталкиваешься, потому что не в почёте они.Стоимость в основном отталкивает, а в работу идёт самосбор из проверенных временем и зарекомендовавших себя комплектующих.

Про SMM трудно писать, тема не подъёмная, посему про JTAG.Про SMM кстати у Никиты Тараканова c PhDays: http://www.slideshare.net/phdays/memory-corruption-from-sandbox-to-smm Я думаю, что после обнародования такой вещи как GODSURGE никто особо не кинулся  в сервера проверять, а что там за нахрен текстолитовый зелёный сендвич и куда он крепится.
Не претендую на первопроходца, ведь времени прошло уже аж два года!Особых публикаций на эту тему не было, в основном постятся страницы каталога да на конференция рассказываются воcпроизводимые вещи из него же.Также появляется информация такого рода, но у нас сервера. 

Общая информация
Dell PowerEdge 1950/2950
Годы выпуска: 2006
Относятся к 9 поколению серверов от Dell.
Для обоих нумераций серверов в свою очередь доступны поколения G1, G2, G3 которые отличаются процессорами, дисковыми контроллерами, поддерживаемыми дисками 2.5" и 3.5" и т.д.
Листинг поколений серверов, модели и их характеристики в удобной таблице на wikipedia

Документация
Документация на сервера неплохая, но у Supermicro мне больше нравится.Тут я на самом деле забываю, так как у Dell я смотрю документацию на сам сервер, а у Supermicro на мат.плату.
Плохость документации заключается в том, что нет реальных фотографий материнских плат, схемы взаимодействий серверных компонентов.Взаимодействие по мостам конечно понятно.Те изображения которые присутствуют, представляют собой плоские и изометрические модели, где нет ничего лишнего(пины, мосты, компоненты)
Просмотрел документацию наиболее популярных стоечных серверов Dell из серии PowerEdge 7-12 поколений.С годами ситуация не поменялась.
Документацию брал на сайте и в html на iso.
Самые интересные разделы в ней Hardware Owner's Manual это Jumpers and Connectors в которых всё очень скудно.Ну и пожалуй картинки по разбору сервера, а именно Figure 3-36. System Board Removal:
То есть всё это общая информация, а документации на саму материнскую плату нет.У Supermicro например, если идёт целиком сервер(шасси), то и присутствует упоминание, и ссылка на установленную материнскую плату.У Dell нихрена нет.

Сделаю небольшую ремарку.Сайты таких вендоров как Dell, HP, Intel и некоторые другие - это полное д......В гугле проще найти проиндексированную информацию о железе, драйвера и т.д., чем в поиске на официальном сайте.Самый лучший сайт  у Nvidia, где левый верний угол меню, каждого регионального сайта, это то зачем в большинстве люди и посещают сайт.Драйвера, всё остальное вторично.Пример ниже:

Модели материнских плат используемых в 1950/2950 с store.flagshiptech.com в нормальном адекватном виде:

Generation I
CW954, D8635 and NK937.

Generation II
DT097 and UR033.

Generation III
TT740, J555H, H723K, J243G and M788G.
2950  

Generation I
NH278, PR278 and CW954.

Generation II
CU542, NR282, JR815 and DT021.

Generation III
X999R, MX368, H268G, H603H, J250G, M332H, DP246 and G639G.

С модельным рядом определились.Определяемся с фотографиями.Маленькие разрешения нас не интересуют.Google тут особо не помощник, но опять же как и выше с модельным рядом выручает почему-то ирландский Ebay www.ebay.ie с запросами типа Dell Poweredge 1950 Motherboard и Dell Poweredge 2950 Motherboard.Причём с Ebay  мы можем получить не только более менее приличные снимки, но и частично тот самый модельный ряд выше.

Вроде неплохо для разгона, но далее идут основные трудности.Обратимся к тексту описания импланта, а именно к этим строкам: Through interdiction, the JTAG scan chain must be reconnected on the target system by removing the motherboard from the chassis and attaching the depopulated parts back onto the circuit board.С переводом тоже не всё так гладко, но общая суть в извлечении платы из сервера, монтаже на плату и возвращение обратно.Отсюда два предположения имплант сверху платы или под ней:

1)Вариант сверху
Как раз для варианта сверху и были все эти движения по поводу фотографий, а также несколько глупого предположения:"Вдруг на фотографиях у кого-то обнаружится".
Удивительно раньше не находилась, но сейчас нашлась фотография так называемого XDP(JTAG) порта:
У автора блога http://www.loper-os.org/?p=1441 как раз по теме "Mechanics of FLUXBABBITT" и даже просьба завезти рабочий вариант импланта с фотографиями за 4BTC и нерабочий за 1BTC  http://www.loper-os.org/?p=1422

На самом деле приведена фотография с неизвестного сервера, возможно и DELL.Искал по фотографиям матплат 1950/2950 ориентируясь на группу из четырёх чёрных кондёров и дросселей, но таковых нигде не нашлось.

Волей случая удалось залесть в рабочий и третий по счёту 2950.Результаты ниже в full hd:
U_JTAG_T_1, U_JTAG_T_2 и J_XDP_MCH.В рамках всего сервера выглядит так:
Прям между мостами.Уже что-то более похожее на правду.В принципе, если смотреть на имплант:
Боковыми стрелками отмечены белые "шлейфы" так сказать, на недопаянные контакты.В целом и по форме и по интерфейсам мы тоже проходим.Следует отметить также, что возможно специально, а думается нет, приведенные фотографии имплантов находятся в таких ракурсах и порезаны(выпилены), что затрудняет определение их местоположения на материнских платах.
Но как бы это всё 2950, а вот с 1950 труднее и легче одновременно.Изометрической проекции нет, только плоская, компонентов больше:
Весьма интересен продолговатый шлейфообразный белый коннектор слева вверху.У плат Dell 2950 есть что-то похожее напротив гнезда CPU1.Белый разъём предназначенный для подключения floppy.Я одно время думал, что вот оно, но нет.
В процессе поиска места подключения импланта на 1950 было найдено ещё одно расположение с XDP(JTAG), которое присутствует и на 2950 напротив гнезда CPU2.На двух фото ниже Dell 1950 Gen1 NK937:
J_XDP_JTAG и U_XDP_OS.В отличие от 2950 у 1950 нет продолговатой синей планки, которая закрывает порты так, что без её демонтажа не обойтись.

2)Вариант под
Ну пожалуй наверное самый крутой что ли.Крут он тем, что если смотреть на Figure 3-36. System Board Removal выше, да и собственно на реальный сервер, то материнская плата крепится на металлическую подложку:
Вероятно, чтобы при демонтаже не повредить плату.Расстояние между металлической подложкой и платой примерно 5 мм.Там ещё чёрная наклейка, вероятно диэлектрического свойства.Место не то чтобы много, но туда вобще никто не полезет.Вынимать плату, откручивать от подложки.Хотя вот на Ebay продаются и с подложкой и без неё.Найти фотографию обратной стороны платы в нормальном качестве это нечто запредельное, только верх.

Документация на XDP Intel Debug Port Design Guide for UP/DP SystemsJune 2006 Никак не могу прокомментировать данный документ.

P.S.:Повествование выше носит оттенок или если угодно характер sophisticated.Я в общем, как и автор loper-os, считаю, что тема сильно устарела в стремительно развивающемся мире, но в своё время была актуальна.Сервера выпущены в 2006 большим тиражом, программа датирована 2008.Само понятие истории и течении времени, ограниченности доступа к оборудованию, отсутствие целенаправленного поиска, краудсорсинга, заинтересованных людей и т.д. никак не помогает ретроспективному анализу и нахождению живого PoC.

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

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

Благодарности:
За модели плат store.flagshiptech.com
За качественные фотографии другу, ebay, atmotek.com
За XDP loper-os.org
На самом деле в разработке ещё одна глобальная программа NSA с реальными рабочими даже на данный момент PoC.Тема местами настолько многогранная и неоднозначная требующая автоматизации тестирования, разработки алгоритмов и очень сильно зависимая от прошлого,настоящего и будущего, что накладывает особый отпечаток на публикование материала.Я очень надеюсь, что в течении этого года осилю.

Комментариев нет:

Отправить комментарий