Смартфон или компьютер содержат такой объем информации о пользователе, который недоступен правительству ни одной из стран мира. Это представляет собой большой риск – потеряв телефон, можно лишиться буквально всего. А иногда его даже не нужно терять – как оказалось, существует некоторая вероятность взлома устройства. Мы разобрали, как именно защищены данные пользователей на аппаратном уровне и какие уязвимости есть у процессоров Intel и AMD.
Как устроена защита информации на аппаратном уровне
Большая часть пользователей работает с компьютерами и другой электроникой, не задумываясь о том, как устроена защита пользовательской информации. Между тем, с компьютера или смартфона можно получить доступ буквально к чему угодно – банковским счетам, профилю на «Госуслугах», личной переписке, мессенджерам и многому другому. Но проблему защиты информации решали (и нашли эффективное решение) еще очень давно.
В 1964 году в MIT, General Electric и Bell Labs приступили к разработке операционной системы Multics, первая версия которой вышла спустя год и стала прообразом современных операционных систем типа UNIX (к которым относится, например, Android).
В основе системы Multics лежала революционная концепция разделения уровней доступа – так называемые кольца защиты. Операционная система допускала к данным более низкого уровня только пользователей, имеющих на то право, тогда как пользователи с ограниченным доступом не могли пройти дальше самого высшего уровня.
Например, если система включает в себя 4 кольца защиты, они могут иметь такой вид:
Соответственно, к нулевому кольцу доступ имеют лишь самые привилегированные пользователи, тогда как с прикладными программами может работать любой. Кроме того, ОС прописывает действия, доступные на каждом из уровней, а также порядок обмена информацией между ними.
На практике, как ни странно, все это используется в ограниченном режиме – современные операционные системы ограничиваются двумя уровнями привилегий (нулевой и третий). То есть, в современных ОС есть ядро с драйверами (куда не допускаются «посторонние») и прикладные программы, доступные всем.
Но что самое главное – защита информации через систему колец и уровней доступа обычно работает в сочетании с режимами работы процессора. Другими словами, чтобы защищать информацию пользователя, аппаратная часть должна поддерживать определенные инструкции. Что еще интереснее, современные процессоры поддерживают значительно большее количество колец защиты, чем фактически использует операционная система.
Итак, чаще всего модель безопасности на уровне ОС состоит из уровня «ядра» и уровня «пользователя», но при этом процессор поддерживает два специальных режима:
Таким образом, именно архитектура процессора ограничивает способы передачи управления от одного кольца к другому – но в любом случае, защита обеспечивается связкой процессора и операционной системы. На самом деле, механизмы защиты весьма сложные, и являются базовыми функциями любого процессора. Однако между разными процессорами все же есть различия.
Чем Intel отличается от AMD по части безопасности?
После фактического ухода с рынка компании VIA Technologies, в мире осталось две основных компании-разработчика процессоров, это Intel или AMD. Изначально в AMD заняли нишу «догоняющего» с более дешевыми и эффективными процессорами, чем основной конкурент – Intel. Потом компания поглотила ATI, и теперь занимается еще и графическими процессорами (в том числе APU – процессоров с интегрированными видеоядрами). Несмотря на постоянное отставание от Intel по доле рынка, AMD регулярно представляют новые современные разработки, которые зачастую выигрывают у конкурента.
Считается, что у Intel и AMD разные подходы к модельной линейке своих процессоров:
Что же касается производительности, то процессоры за одни и те же деньги (от разных компаний) будут работать примерно на одном уровне. Но AMD более сильны в задачах, которые можно разнести на параллельные процессы (многоядерные процессоры у компании дешевле), а Intel выигрывают там, где нужны именно мощные ядра.
В вопросах безопасности разница между разными производителями процессоров определяется не столько параметрами процессоров (все же это достаточно современные и высокотехнологичные изделия, на разработку которых тратятся миллиарды долларов), сколько количеством хакеров, которые пытаются найти и использовать уязвимости в аппаратной части защиты информации.
Вряд ли можно сказать точно, у каких процессоров больше уязвимостей – потому что производители не афишируют их, а пытаются сразу закрыть. Но не так давно стало известно, что команда исследователей из Google Project Zero и другие независимые эксперты обнаружили уязвимости процессоров – их назвали Meltdown и Spectre. И в большей степени эти уязвимости затронули именно Intel:
Всего же по данным за 2019 год у процессоров AMD нашли 16 открытых уязвимостей – против 242 у Intel. Поэтому, например, THG даже называет AMD более предпочтительным выбором на ближайшие несколько лет.
Насколько серьезны риски для разных процессоров?
Самая громкая история с уязвимостью пользовательских данных – это как раз Meltdown и Spectre, о которых стало известно в начале 2018 года.
Если говорить упрощенно, то уязвимость связана с желанием повысить производительность процессоров для конечных пользователей. В обычной ситуации программы выполняются как последовательность инструкций для процессора, причем в строго определенном порядке. Но чтобы ускорить выполнение программы, производители процессоров AMD, Intel, IBM и чипов с архитектурой ARM добавляют специальные блоки, которые пытаются предугадать действия программы и заранее выполнить операцию.
Эти блоки меняют порядок исполнения инструкций, но если блок не «угадывает» дальнейшее действие программы, то результат произведенных действий удаляется. Но, как выяснили исследователи, удаляются не все действия. И злоумышленник может получить данные одной программы, пользуясь другой – ориентируясь на косвенные признаки (например, время доступа) в ходе атаки. Соответственно, злоумышленник в теории может получить доступ к критичным для пользователя данным.
В данном случае уязвимость выявили исследователи, и она говорит скорее о гипотетической возможности злоумышленника получить доступ к клиентским данным. Уязвимость Meltdown «закрыли», исправив их на программном уровне в операционных системах (полностью отделив код прикладных приложений от ядра ОС). В результате производительность процессоров снизилась – в ряде случаев до 30%. А исправить Spectre оказалось еще сложнее – для этого придется внедрять новые инструкции во все программы буквально в ручном режиме.
Пока уязвимости Meltdown и Spectre не стали причиной ни одного взлома данных пользователей злоумышленниками – но, как показывает прошлый опыт, это может быть вопросом времени. Но насколько серьезны риски того, что некий злоумышленник получит доступ к данным конкретного пользователя через уязвимости в процессорах?
В теории это возможно, рассказали нам исследователи безопасности компании Digital Security. По словам представителей компании, примером такой технологии может служить Intel AMT – она доступна на процессорах с технологией vPro. С помощью этой технологии компании экономят огромные ресурсы на обслуживании и администрировании информационных систем. В частности, технология может удаленно включать, выключать и перезагружать технику, управлять мышью и клавиатурой, получать доступ к аудио- и выдеовыходам, обновлять ПО и даже фильтровать трафик.
Что же касается вероятности взлома такой системы, в Digital Security считают ее крайне низкой – производители процессоров переживают за свою репутацию, поэтому не допустят даже намека на несанкционированный доступ к данным клиентов.
При этом подобные технологии рассчитаны преимущественно на корпоративных пользователей, говорит представитель координационного центра RIPE NCC Максим Буртиков. По словам эксперта, на Intel эта технология платная, и полный функционал получают корпоративные клиенты. С ней пользователи получают доступ к данным через хардверные (то есть, аппаратные) механизмы. Это важно, когда программа или ОС не отвечает, а на компьютере хранятся важные данные.
Чтобы защитить данные от посягательств посторонних лиц, в Intel используют TLS для обеспечения безопасности «общения» между чипсетом и консолью управления. А все попытки взломать такой механизм – лишь результат исследований специалистов по информационной безопасности.
Что делать обычному пользователю?
Как уже можно было понять, современные процессоры достаточно неплохо защищены от взлома – даже самая известная уязвимость пока не используется злоумышленниками, а открыта буквально «научным способом». При этом взлом систем на аппаратном уровне – удел лишь самых продвинутых хакеров, целью которых обычно выступают корпоративные серверы. Взламывать чей-то домашний компьютер через процессор ради воровства денег из «Сбербанк Онлайн» вряд ли кто-то будет – для этого, увы, гораздо лучше подходят методы социальной инженерии.
Тем не менее, даже среднестатистическому пользователю стоит все же иногда думать о собственной информационной безопасности. Так, получив доступ к номеру телефона, злоумышленник получит буквально все, включая доступ к счетам, электронной почте и социальным сетям.
Чтобы этого не произошло, стоит придерживаться нескольких простых правил информационной безопасности:
В целом, рекомендации простые – не игнорировать базовые правила информационной безопасности, пользоваться тем, что предлагает производитель и не поддаваться на провокации со стороны мошенников.