Опасны ли вирусные атаки на PCI Express Gen4?

Опасны ли вирусные атаки на PCI Express Gen4?

Спецификация PCI Express 4.0, обеспечившая дву­крат­ный рост по­ло­сы про­пус­ка­ния ши­ны (с 8 до 16 ги­га­транз­ак­ций в се­кун­ду), сре­ди про­чих но­во­вве­де­ний, до­ба­ви­ла в лек­си­кон раз­ра­бот­чи­ков обо­ру­до­ва­ния и сис­тем­но­го про­грам­мно­го обес­пе­че­ния но­вый тер­мин — Lane Mar­gin­ing. Од­но­и­мен­ная про­це­ду­ра обес­пе­чи­ва­ет ана­ло­го­вую под­строй­ку элек­тро­фи­зи­че­ских ха­рак­те­рис­тик шин­ных со­е­ди­не­ний: ам­пли­туд и тай­мин­гов сиг­на­лов, обес­пе­чи­вая адап­тив­ность ди­зай­на к опе­ра­ци­он­ным ус­ло­ви­ям фун­к­ци­о­ни­ро­ва­ния плат­фор­мы.

Программно-аппаратные аспекты Lane Margining

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

Интересной особенностью является возможность детального низкоуровневого программного контроля над ана­ло­го­вы­ми величинами. В результате появления множества аналого-цифровых узлов в схемах хостов и устройств, про­изо­шло сво­е­об­раз­ное сближение двух «миров», различных, пожалуй, не только технологически, но и ментально: СВЧ-тех­ни­ки и системного программирования. Хотя, если быть точным, некоторые шаги в этом направлении были сделаны в пред­ыду­щих поколениях шины, в виде известной процедуры Link Training, предназначенной для согласования ши­ри­ны и полосы пропускания интерфейса в соответствии с возможностями двух соединяемых устройств и платформы.

Проблемы и решения

Как известно, спецификация PCI Express является закрытым документом, поэтому доступ к ин­фор­ма­ции о фун­к­ци­о­наль­ных осо­бен­но­стях этой шины может стать неординарной задачей. Увы, в доступных фрагментах на се­го­дня не уда­лось найти полного побитного описания регистровых полей Lane Margining Extended Capability, с по­мо­щью ко­то­рых системное программное обеспечение должно инициировать передачу тестовых паттернов по СВЧ-тракту с по­сле­ду­ю­щей коррекцией характеристик в соответствии с результатами теста. Кроме того, возможность включения ре­тай­ме­ров и ре­драй­ве­ров между взаимодействующими устройствами, сценарии, связанные с би­фур­ка­ци­ей сиг­наль­ных це­пей портов а также необходимость учета взаимного влияния сигналов не только в пределах одной фун­к­ци­о­наль­ной груп­пы (порта), но и между несколькими фун­к­ци­о­наль­ными группами, создает предпосылки для по­яв­ле­ния Vendor Spe­ci­fic и Platform Spe­ci­fic расширений базового протокола, возможность существования которых де­кла­ри­ро­ва­на в спе­ци­фи­ка­ции и достаточно обстоятельно обсуждается в документе «PCIe Gen4 Stand­ards Mar­gin As­sist­ed Out­er Lay­er Equa­li­za­tion for Cross Lane Op­ti­mi­za­tion in a 16GT/s PCIe Link».

В частности, такой дополнительный канал взаимодействия как последовательная шина System Management Bus, под­дер­жи­ва­е­мая ми­кро­схе­ма­ми ретаймеров может играть важную роль на начальных этапах старта платформы, до мо­мен­та, когда интерфейс PCI Express будет инициализирован и готов к устойчивой передаче информации.

Неожиданно

В упомянутом документе, среди прочего, допускается возможность применения процедуры Lane Margining в качестве вре­до­нос­но­го сценария. Тезис спорный. Очевидно, неверно инициализировав аналоговые характеристики сиг­наль­ных це­пей, можно ухудшить стабильность системы и даже ввести шину в длительный таймаут. Вместе с тем, регистры конфигурационного PCI-пространства относятся к числу привилегированных системных ресурсов, доступ к которым требует привилегий Kernel Mode или, другими словами, так называемого нулевого кольца защиты.

Это значит, что рассматривая такой сценарий, авторы предполагают, что вредоносный код уже получил со­от­вет­ст­ву­ю­щие при­ви­ле­гии. А это, в свою очередь означает, что в арсенале такого вредоносного кода есть более простые и в то же время более деструктивные методы, обнуление секторов диска, например. Да и нарушить работу PCIe-устройств можно весьма ординарными путями, например, банально изменив базовый адрес используемого диапазона па­мя­ти или вво­да-вы­во­да в регистре BAR.

Регистры базовых адресов [0-5] управляют выделением диапазонов для устройства согласно правилам PCI PnP

Почему Lane Margining рассматривается в специальном статусе, требующем реализации отдельных защитных ме­ха­низ­мов разработчиками платформ и UEFI? Обоснован ли такой тезис? Ответы на эти вопросы еще только пред­сто­ит по­лу­чить.

Подчеркнем, оригинальный документ не посвящен проблемам безопасности, а гипотетический сценарий атаки не ос­но­ван на каких-либо специфических свойствах PCIe v4 или передаче цифровых сигналов в СВЧ-диапазоне (пока ус­ту­пим этот аспект компьютерной вирусологии авторам художественных произведений). В документе всего лишь, ука­зы­ва­ет­ся на возможность организации таймаута шины, вследствие не­сан­к­ци­о­ни­ро­ван­но­го запуска Lane Margining. И на­до при­знать, что в этой формулировке вместо «Lane Margining» могут стоять десятки других опе­ра­ций, су­ще­ст­во­вав­ших еще в пер­вой версии PCI Express.