Сегодня 24 мая 2016
18+
3DNewsOffсянкаUEFI как SNAFU
Offсянка

UEFI как SNAFU

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

Когда, скажем, на рынке появилось очередное чудо инфотехнологий под названием PCMCIA, то кто-то с юмором тут же расшифровал это спотыкучее буквосочетание так: People Cannot Memorize Computer Industry Abbreviations, то есть «люди не способны запоминать аббревиатуры компьютерной индустрии». Шутка явно удалась, так что вскоре для той же самой вещи нашлось имя получше — просто PC Card.

Но в общем и целом тучи всевозможных аббревиатур здесь были, есть и наверняка будут оставаться впредь. Ибо они неотъемлемой частью входят в технический жаргон профессионалов, а значит, пока есть специалисты, живет и этот птичий язык сокращений. Куда, кстати, органично входят не только технические, но и «ситуационные», так сказать, общечеловеческие крылатые выражения — вроде знаменитого SNAFU.

Местом и датой рождения этого не очень приличного термина принято считать американскую армию в начале 1940-х годов. Когда страна еще не вступила в войну, а скучающие призывники-резервисты на одной из баз развлекались тем, что для стандартных 5-буквенных групп в шифрованной телеграфной переписке придумывали свою собственную «расшифровку». Типа того, что сочетание букв НПЯСК в шифртексте следует читать как «наш полковник Ярдли сущий козёл».

Аналогично для группы вида SNAFU придумали расшифровку Situation Normal All Fucked Up («ситуация нормальная — все пропало»). Примерно тогда же случился разгром флота США в Перл-Харборе, подходящее новое словечко стало само вертеться на языке, пошло гулять по вооруженным силам, затем попало в прессу, а оттуда и в общий лексикон...

На сегодняшний день у термина snafu имеется собственная позиция практически в любом словаре современного английского языка — в культурно завуалированном, так сказать, значении «неразбериха, путаница». Однако применительно к конкретной ситуации вокруг защиты компьютерной подсистемы BIOS и ее сравнительно новой инкарнации под названием UEFI слово SNAFU куда больше подходит в своем грубо первозданном, очищенном от окультуривания виде.

#Как дошли до жизни такой

Дабы всем и сразу стало понятнее, до какой степени неважно и запущенно обстоят ныне дела с безопасностью BIOS-UEFI, достаточно упомянуть всего лишь такие события из текущих ИТ-новостей января 2015-го.

В первых же числах нового года известный орган «быстрого реагирования» на компьютерные угрозы, CERT при университете Карнеги — Меллона, выпустил сразу три оповещения-рекомендации — о новых серьезных уязвимостях в UEFI, позволяющих злоумышленникам перезаписывать прошивку BIOS в компьютерах на широко распространенных аппаратных платформах (Intel и так далее). Что позволяет, соответственно, прятать вредоносные коды в местах, недоступных для всех антивирусов, и успешно ограждать их от любых попыток зачистки.

Новость вторая — об аналогичном исследовании и докладе на конференции от хакера-надомника Трэммела Хадсона (Trammel Hudson), продемонстрировавшего — по его собственным оценкам — «первый в истории буткит», то есть загрузочный аппаратный руткит для компьютеров платформы Apple. Иначе говоря, вредоносную программу Thunderstrike, спрятанную в кодах прошивки EFI (местный аналог BIOS) и недоступную для выявления или удаления средствами операционной системы Mac OS X.

Наконец, новость третья — это публикация в январском выпуске известного германского журнала c't, где народу, интересующемуся ИТ-безопасностью, в очередной раз напоминается, что практически во всех современных компьютерах коды прошивки BIOS-UEFI прячут в себе «противоугонную» программу Computrace. Которая по сути является «законным руткитом-шпионом» и вычистить которую из компьютера для владельца невозможно, а вот злоумышленники, в принципе, могут использовать ее как тайный ход в систему и как невидимую платформу для разнообразных атак...

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

Множество технических подробностей и развернутую хронологию того, как все мы дошли до жизни такой, можно найти в более ранних текстах «UEFI: хотели как лучше (2011)» и «BadBIOS, или Большие Проблемы (2013)». Ну а здесь, совсем вкратце, полезно рассказать о наиболее заметных событиях все той же саги, происходивших уже после этих публикаций.

#Умножая познания, умножаешь скорбь...

Точно не известно, случайно так совпало или нет, но фактически сразу же после того, как сообщество безопасности взбудоражили интернет-публикации известного канадского хакера Драгоша Руйу — о поразившей его компьютеры неискоренимой кросс-платформенной заразе под названием badBIOS, — произошла и примечательная утечка очередной порции сверхсекретных документов АНБ США именно этой тематики.

В декабре 2013-го, в рамках знаменитого — 30-го по счету — съезда германских хакеров Chaos Communication Congress, аудитории и миру был представлен один весьма любопытный «каталог» АНБ пятилетней давности. Аналогично тому, как это делается в стандартных коммерческих каталогах, в этом строго секретном документе спецслужбы методично собрано и описано великое множество аппаратных и программных имплантатов-закладок, уже тогда, в 2008-м, имевшихся в арсенале шпионов и заточенных для внедрения в те или иные конкретные условия компьютерной среды. Среди прочего, немало там оказалось и закладок для разных BIOS...

Первой серьезной реакцией сообщества на «новую-старую» угрозу со стороны вредоносных кодов в прошивках стала очередная ежегодная конференция хакеров CanSecWest 2014, проводимая каждую весну в Ванкувере, Канада, при непосредственном участии того же Драгоша Руйу. В качестве же экспертов, действительно понимающих всю глубину и опасность проблемы, выступили исследователи солидной корпорации MITRE (Corey Kallenberg, Xeno Kovah, John Butterworth) и хакеры из «Команды по изучению продвинутых угроз» в структуре еще более известной фирмы Intel (Yuriy Bulygin, Andrew Furtak, Oleksander Bazhaniuk).

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

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

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

Наглядный реальный пример — из докладов CanSecWest — с компрометацией платформ на основе UEFI и Windows 8 вполне дает представление о том, насколько атакующая сторона имеет здесь более выгодные позиции, чем обороняющаяся.

Общеизвестно, что вместе с выпуском на рынок новой ОС Windows 8 в 2012 году корпорация Microsoft потребовала, чтобы на всех компьютерах под эту систему непременно имелся чип безопасности ТРМ (или «модуль доверяемой платформы»). Защищенный чип ТРМ при загрузке отслеживает действия BIOS и UEFI, а если выявляет в работе их кодов любые изменения (которые потенциально могли бы быть вызваны вредоносом), то тогда вместо текущей используется чистая версия прошивки. По крайней мере в теории.

На практике, однако, хакеры MITRE продемонстрировали, что ТРМ уязвим к атакам типа REPLAY, то есть «повторное воспроизведение». Иначе говоря, злоумышленник имеет возможность предъявлять на контроль заранее записанные и достоверно хорошие хеши, попутно устанавливая в систему буткит и оставляя у чипа ТРМ уверенность в том, что все в полном порядке.

И если для успеха атакующих тут вполне достаточно обмануть TPM, то для защищающей стороны это означает целую кучу проблем. Мало того, что эффективных детекторов атак против TPM нет, но зато есть масса сложностей с правильной интерпретацией «проверочного» содержимого в ТРМ PCR, то есть в регистре конфигурации платформы. Имеется здесь, в частности, следующая серьезнейшая проблема.

У каждой конкретной компьютерной платформы наборы значений в регистре PCR, естественно, являются уникальными. Но при этом у изготовителей данных конкретных компьютеров почему-то не принято предоставлять своим клиентам-покупателям столь важные наборы эталонных или, как еще их называют, «золотых »значений PCR. А это означает, что владельцы машин на самом деле не имеют ни малейшего понятия о том, какими именно должны быть действительно верные характеристики для чистоты машины. В таких условиях даже для экспертов выявлять присутствие неприятеля, затаившегося в BIOS-UEFI, оказывается чрезвычайно непросто...

#Новые дыры к новому году

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

По этой причине квалифицированные хакеры, не имея физической возможности разработать универсальный щит от BIOS-UEFI-атак, продолжают настырно заниматься выявлением и обнародованием дыр в защите критичных кодов «железа» у наиболее распространенных на рынке платформ. Чтобы хотя бы таким вот образом растормошить и всерьез озаботить индустрию.

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

Так, скажем, в 2009 году Рафал Войчук и Александр Терешкин, на тот период выступавшие от лица фирмы Invisible Things Lab, не только продемонстрировали BIOS-руткиты, работающие на системных платах Intel, но и обнаружили способ для их установки в «боевых условиях». Иначе говоря, устроили перепрошивку BIOS в обход процедуры проверки цифровых подписей.

Несколько лет спустя, в 2013-м, уже упоминавшийся выше Кори Кэлленберг из MITRE представил аналогичную атаку против того же класса BIOS-уязвимостей — но теперь нацеленную на платформу DELL. Ну а совсем недавно, в конце декабря 2014-го, Рафал Войчук (ныне работающий в Bromium) и Кори Кэлленберг сделали совместное выступление на 31-м германском конгрессе CCC, где представили уже целый букет новых серьезнейших, широкого спектра атак против BIOS-UEFI, разработанных их объединенными усилиями (Attacks on UEFI security...).

Упомянутые в самом начале обзора три сигнала тревоги от CERT, в январе 2015-го предупреждающие сообщество безопасности о комплексе новых BIOS-уязвимостей, — это, собственно, наиболее важные из результатов Войчука и Кэлленберга, представленных на 31C3. Среди же тяжких последствий, потенциально порождаемых этими уязвимостями, упоминаются, в частности, компрометация гипервизора системы, «окирпичивание» (необратимый вывод из строя) аппаратной платформы жертвы, встраивание мощных и невидимых руткитов-шпионов, компрометация Secure Boot (безопасной загрузки)... Не говоря уже о прочих, не столь фатальных опасностях от вредоносов.

#Невидимые каналы доставки

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

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

Хотя в действительности ситуация с этим делом обстоит гораздо более серьезно и давно уже носит отнюдь не теоретический характер. Реальные дистанционные манипуляции с перепрошивкой BIOS и прочих кодов микросхем выявил и много лет наблюдает в своих компьютерах, к примеру, все тот же Драгош Руйу. А в феврале 2014-го специалисты Kaspersky Lab Виталий Камлюк и Сергей Белов на конференции Security Analyst Summit устроили публичную демонстрацию того, сколь опасный и невидимый для всех антивирусов «чёрный ход» таит в себе программа Computrace — «законный противоугонный руткит», неискоренимо зашитый ныне в BIOS-UEFI практически всех современных компьютеров.

Подробности об этом исследовании можно найти в материале «Угрозы на три буквы (2014)», ну а здесь будет очень к месту рассказать, что обнаружилось впоследствии, когда Камлюк и Белов объединили силы с Аннибалом Сакко из фирмы Cubica Labs. Исследования этого аргентинского хакера прославились еще в 2009 году, когда он в команде с Альфредо Ортегой сделал обратное восстановление кода Computrace в BIOS и показал, сколь мощная угроза может исходить от этой программы, если управление ею перехватывают злоумышленники.

Теперь же, когда корпорация Absolute Software, создавшая Computrace и делающая на нем бизнес, по уже известной (отработанной на Сакко и Ортеге) схеме вновь отвергла все «новые-старые» открытия Kaspersky Lab как «необоснованные», российские хакеры объединили силы с аргентинцем. И с его помощью восстановили загадочную механику того, почему агент-шпион Computrace должен, по идее, караулить лишь на тех машинах, где его по собственной воле активировали владельцы, а на самом деле он невидимо работает (и ждет команд извне) на многих миллионах компьютеров, хозяева которых вообще не подозревают о существовании у них такого непрошенного «жильца» с очень опасными способностями.

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

Там же и тогда же, на конференции BlackHat в августе 2014-го, наряду с докладом о BIOS-сюрпризах от Computrace была сделана и еще одна презентация на тему о нетрадиционных каналах заражения компьютеров через аппаратные коды прошивки. Германские хакеры Карстен Ноль и Якоб Лелль из фирмы инфобезопасности Security Research Labs продемонстрировали кросс-платформенную технологию BadUSB — для проникновения и захвата управления компьютером через заражение контроллеров универсального интерфейса USB.

Подробности на данный счет можно найти в тексте «Чума на ваши USB (2014)». А тут, чуть иными словами подытоживая все продемонстрированное хакерами за последний год, можно констатировать следующее. Коды вредоносных программ, которые пробрались в компьютер по невидимым для антивирусов и файерволов аппаратным каналам, обеспечиваемым технологиями APT-Computrace или badUSB, имеют все возможности повышать свои привилегии до «локального аутентифицированного» хакера — и дальше делать с компьютером по сути все, на что способен квалифицированный специалист с физическим доступом к машине...

#Что в сухом остатке

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

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

Лишь после этого можно начинать разговор о реальной защите системы.

Ну а пока — тут полное SNAFU...

Источники на языке оригинала

Комплекс файлов к докладу Войчука и Кэлленберга на 31С3:

Презентация Камлюка, Белова и Сакко на BlackHat 2014:

Доклад Т. Хадсона на 31С3 о «первом бутките» для EFI Apple:

Дополнительное чтение на русском:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение.
Все комментарии премодерируются.