Недавние события с уязвимостями Spectre и Meltdown показали всю зыбкость фундамента, на котором зиждется современный ИТ-мир. Получившие широкую огласку погрешности в архитектуре процессоров вызвали панику в рядах не только обычных потребителей, но и казалось бы уделяющих гораздо больше внимания вопросам безопасности корпораций. Причиной сложившейся ситуации стало то, что под ударом оказались не только x86-процессоры Intel и AMD, но и чипы, лицензированные по технологии ARM. Как пишет Джейсон Перлоу из ZDNet, из-за того, что Spectre и Meltdown — это не просто программные уязвимости, а аппаратные, то их можно назвать одними из худших, если не худшими, в истории компьютерных вычислений.

Уникальности Spectre и Meltdown придает тот факт, что, по некоторым оценкам, они существуют с 1995 г., когда вышла Windows 3.1, и являются фундаментальными ошибками в процессорной архитектуре. Другими словами, они присутствуют в миллиардах процессоров по всему миру, установленных как в потребительских машинах, так и в высокопроизводительных системах и суперкомпьютерах, под управлением которых находятся атомные реакторы и межконтинентальные ракеты.

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

Исследователи передали информацию об уязвимостях Intel, AMD и ARM ещё в июне 2017 г., поэтому у компаний было время, чтобы изучить проблему и найти решение. Чтобы лучше понять ее масштабы: в настоящее время выпущено более 120 млрд. чипов, использующих тот или иной дизайн ARM. Поэтому если говорить только о CPU для смартфонов или планшетов, то процент уязвимых устройств окажется гораздо больше: в той или иной степени атакам подвержены такие популярные ядра, как Cortex-A57, A72 или A9 (наряду с менее распространёнными A8, A15, A17, A73 и A75, а также R7 и R8). Более распространённые CPU-ядра ARM вроде Cortex-A7 или Cortex-A53 не подвержены уязвимостям.

Что касается Intel, то Meltdown и Spectre подвержены все чипы производителя, кроме Itanium и Atom выпуска до 2013 г. Ситуация с AMD менее понятна. Первоначально, после публикации сведений об уязвимостях Meltdown и Spectre, эта компания заявляла, что «для процессоров AMD риск почти нулевой». Позже ее мнение по этому поводу изменилось, и она признала, что ее системы также уязвимы.

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

Для понимания того, что собой представляют Meltdown и Spectre, лучше всего провести аналогию с ДНК. Геном представляет из себя запрограммированную схему («процессор») и набор алгоритмов («программное обеспечение»), которые обеспечивают работу базовых функций человека: если строение цепочки ДНК выдержано верно — он здоров, если же нет — у него возникают наследственные болезни или отклонения. Медикаменты или различные виды лечения могут смягчить последствия, но не могут полностью исцелить его. Получается, что лучшим решением для устранения Meltdown и Spectre является отключение или уничтожение подавляющего числа процессоров, считает Перлоу. Он имеет в виду процессорную архитектуру x86, которая преобладает в компьютерных системах, серверах и встроенных устройствах.

Примечательно, что Перлоу еще десять лет назад призывал к избавлению от привязки к x86. Его рассуждения строились на том, что в то время популярность Linux набирала обороты и необходимость в повсеместной — начиная с ПК и заканчивая ЦОДами — совместимости с программным окружением Windows начала понемногу отпадать. Спустя десять лет эта тенденция усугубилась — Linux и другие открытые технологии, которые формируют экосистему FOSS, пробрались в мейнстрим и стали основой публичных облачных сервисов, а также мобильных технологий и Интернета вещей.

Вдобавок для разработки и масштабирования крупномасштабных корпоративных систем начала применяться виртуализация, которую, в свою очередь, готовится подвинуть или даже полностью сменить контейнеризация. Последняя считается более безопасной технологией и хорошо подходит для работы в многопользовательском режиме и сегментированных сетях, которые образуются вследствие применения методологии DevOps и автоматизации крупных систем. Понимая, что интеграция технологий будущего тесно завязана на Open Source, в 2008 г. Microsoft начала встречное движение — вендор помимо поддержки семейства ОС Windows ринулся развивать облачное направление Azure/Office 365. Помимо прикладного ПО для Windows компания также активно занимается написанием софта для Linux, iOS и Android.

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

Перлоу полагает, что судьба во многом устаревшей x86 предрешена и вопрос скорее состоит не в том, когда она уйдет, а в том, какая процессорная архитектура придет ей на смену и не имеет ли она каких-либо генетических отклонений. Он добавил, что пора бы в Open Source-центрическом мире отказаться от практики лицензирования архитектур микропроцессорных систем, которые «под большим секретом» разрабатываются такими мега-компаниями, как Intel, AMD и даже ARM.

А ведь в истории ИТ были случаи, когда производитель архитектуры для процессоров решил её открыть. Такое событие случилось в 2008-м. Этим производителем была Sun Microsystems, интеллектуальная собственность которой ныне принадлежит Oracle, а сама архитектура — OpenSPARC T2. Открытие архитектуры — очень значимое явление, но на практике применение оно не принесло желаемого ни Sun, ни заинтересованным в открытии сторонам.

Причина кроется в организационных изменениях, которые последовали за поглощением Sun — покупатель в любой момент мог поменять условия лицензионного соглашения на OpenSPARC T2 и начать судебные преследования за их нарушения. Достаточно вспомнить, чем чревато их нарушение, на примере Google, которая несколько лет не могла доказать, что применяла в Android технологии Java не нарушая ничьих прав.

Джейсон Перлоу находит, что пришло время разработать современный эквивалент архитектуры OpenSPARC, которую производители чипов могут применять без ограничений. Преимущества такого подхода состоят в том, что вендорам не придется отчислять средства за использование чужой интеллектуальной собственности, что автоматически снизит себестоимость чипов (это огромные суммы, учитывая в каких количествах они производятся) для облачных вычислений, мобильных и IoT-устройств. Снижение стоимости чипов отразится на стоимости смартфонов, средняя цена премиальных гаджетов опустится до 200 долл., но при этом управление их жизненным циклом или, скажем, жизненным циклом гипермасштабируемых ЦОДов станет гораздо эффективнее как в техническом плане, так и финансовом.

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

У некоторых рыночных наблюдателей может возникнуть вопрос: а как же пресловутая свобода действий разработчиков, иногда бывающая разобщающей и приводящей к ветвлению проектов? Перлоу считает, что появление форка Open Source-архитектуры благотворно повлияет на сообщество, создав благоприятную конкурентную среду между отдельными группами разработчиков и, следовательно, в итоге приведет к появлению новых индустриальных стандартов. Пока что преждевременно говорить о том, какая из существующих архитектур подойдет на роль системообразующей, но это точно будет не ARM, считает эксперт, вряд ли своей собственностью поделится и OpenSPARC.

Рассмотрев другие кандидатуры, он прочит на эту роль IBM OpenPOWER. Конечно, к таким предположениям нужно относиться скептически, потому что у IBM могут быть совсем иные идеи по поводу перспектив ее собственности, но все же некоторые предпосылки для таких мыслей имеются. Голубой гигант стоит за созданием OpenPower Foundation, объединяющей партнеров-членов с целью разработки собственной линейки продуктов на базе процессора IBM для использования в различных сегментах. Инициатива OpenPower предлагает аппаратное и программное обеспечение Power для использования в открытой разработке, а также интеллектуальную собственность для лицензирования, тем самым значительно расширяя круг разработчиков на этой платформе.

Образованный в 2013 г., консорциум предоставляет его участникам возможность задействовать программно-аппаратные средства Power, отвечающие за управление базовыми функциями чипа. Таким образом, OpenPower Foundation обеспечивает разработчиков гибкостью процесса создания новых конфигураций серверного оборудования для различных уровней вычислительной нагрузки. Ко всему, если бы IBM открыла спецификации OpenPOWER без какого-либо дополнительного лицензирования, то это помогло бы ей укрепить позиции на облачном рынке.

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