Should Spectre, Meltdown Be the Death Knell for Standard x86?

Should Spectre, Meltdown Be the Death Knell for Standard x86?

Spectre і Meltdown - це два найбільш серйозних недоліків в галузі безпеки, які ми спостерігали протягом багатьох років. Поки незрозуміло, як часто ми бачимо, що вони експлуатуються в дикій природі, вони небезпечні, оскільки вони спрямовані на фундаментальну функцію постраждалих чіпів самостійно, а не покладаються на будь-які недоліки програмного забезпечення. Рішення може бути вирішено за допомогою патча, тоді як методи нападу Spectre ще аналізуються. Побудова процесорів, які не є вразливими до цих атак за будь-яких обставин, може бути неможливим, а пом'якшення деяких векторів загрози може вимагати принципово нових підходів до дизайну.

За даними ZDNet, Джейсон Перлос стверджує, що ці останні невдачі є доказом того, що сам стандарт x86 повинен бути знищений, root та гілка. Він порівнює недоліки x86 з генетичним розладом і пише:

По суті, єдине ліки, принаймні, сьогодні - це для того, щоб організм помирає, а для іншого - замість. Кровна лінія повинна повністю вимерти.

Організм із генетичним захворюванням, в даному випадку, являє собою архітектуру Intel x86-чипа, яка є переважною архітектурою системи в персональних комп'ютерах, серверах центрів обробки даних та вбудованих системах.

Перлоу продовжує обговорювати, як подібні компанії, такі як Microsoft, поводяться до хмари (яка не вимагає сумісності x86 для бекендальних служб), і, в кінцевому підсумку, закликає до появи нового апаратного забезпечення на базі апаратних стандартів з відкритим вихідним кодом, таких як RISC-V, яка повністю відкрите джерело. Після обговорення того, як OpenSPARC обіцяє, але засохло на виноградні лози після придбання Сонцем Oracle, він заявляє: "Ми повинні розробляти сучасний еквівалент OpenSPARC, який будь-який процесор-ливарний засіб може будувати без ліцензування IP, щоб знизити витрати на побудову мікропроцесорів у величезному масштабі для хмари, для мобільних і IoT ".

Це цікавий аргумент, але, я стверджую, не точний.

x86 не йде скрізь

Хоча це правда, зростання ARM розширив загальну екосистему CPU для споживачів, до цих пір дві родини процесорів живуть у різних світах. Ринок серверів ARM на даний момент практично відсутній. І хоча теоретично це можливо, якщо x86 буде витіснений переважною архітектурою процесора, існують деякі істотні перешкоди для цього.

Серед них: Емульована продуктивність x86 на пристрої, подібному до Windows 10 Snapdragon 835, ніколи не відповідає власному коду, підтримка емуляції не розповсюджується по всій спадщині застосунків Win32, існує величезна кількість застарілих коду x86 на ринку та дорогоцінні Малий інтерес від кого-небудь в оптовому перерві з минулим, особливо, коли немає ніяких доказів, така перерва призведе до суттєвого поліпшення безпеки центрального процесора (докладніше про це пізніше).

Intel зробила чотири спроби спроектувати не архітектуру x86, які були або явно призначені для її заміни, або, як мінімум, могли б його замінити, якщо x86 вичерпався, а ці інші процесори відповідали їхнім цілям проектування: iAPX 432 (1981), i960 (1984), i860 (1989) і Itanium (2001). Itanium особливо обговорювалися як довгострокова заміна x86 під час її власного запуску. На тому ж етапі, коли AMD створив x86-64, Intel вирішила, що 32-бітним буде кінець рядка для своїх чіпів x86, завдяки чому Itanium прийматиме всі 64-бітні робочі навантаження в майбутньому. Це не відбулося, але це було не через відсутність спроб на роль Санта Клари.

Продуктивність процесора продиктована дизайнерськими рішеннями значно більше, ніж ISA.
Продуктивність процесора продиктована дизайнерськими рішеннями значно більше, ніж ISA.

Крім того, порівняння ISA, що виконувалися кілька років тому, показали ефективність, архітектурні рішення CPU мають набагато більший вплив, ніж ISA. Ось чому Cortex-A15 використовує значно більше енергії, ніж стара Cortex-A9 у графіку вище, і тому споживання енергії Core i7 набагато вище, ніж Atom (мікроархітектура Боннелла) або Bobcat AMD. Звільнення від x86 все одно може бути цінним, якщо сімейство процесорів x86 було особливо або однозначно порушено, але вони не є - що призводить до нашого наступного моменту:

Ніхто не позбавляється від виконання поза законом

Недоліки, які роблять процесори Intel особливо чутливими до Meltdown, мають відношення до того, як Intel реалізує спекулятивні звернення до пам'яті виконання. Недоліки, які дозволяють Spectre функціонувати, не є специфічними для Intel або взагалі для x86. Вони впливають на процесори з ARM, AMD та Intel, в тому числі спеціальні ядра процесора Apple, які засновані на ARM, але мають набагато вищу продуктивність на один процесор, ніж будь-який інший ARM SoC, доступний на споживчому ринку.

Без занурення в надто багато деталей, ці методи нападу працюють, використовуючи певні властивості процесорного характеру, які тісно пов'язані з багатьма технічними засобами, що підвищують ефективність, розробники процесорів покладалися на десятиліття. Причина, на яку ми покладаємось на них, полягає в тому, що альтернативні рішення також не працюють. Це не означає, що архітектори чіпів не знайдуть кращих рішень, але безпека ЦП завжди буде розвиватися. Вектори атаки, які використовуються в Specter and Meltdown, не були продумані, коли технології OoOE розробляються та вдосконалюються. І ніхто не збирається будувати чіпи, які перестають використовувати їх, коли різні методи OoOE в основному відповідають за рівень продуктивності процесора, який ми зараз користуємося, і поточні патчі (поки що), здається, не вражають продуктивність настільних комп'ютерів.

Ліцензії на IP не є великим драйвером

Аналіз вартості напівпровідників за 2014 рік від Adapteva визнав, що ліцензійні збори та ставки роялті не є великим фактором у загальному дизайні чи виробничих витратах. Роздрібна ціна може абсолютно відрізнятися, але вони, як правило, роблять це залежно від складності та ефективності чіпа, який ви намагаєтеся побудувати.

Кредит: Адаптева
Кредит: Адаптева

Діапазон доларів США від 0 до 10 мільйонів доларів не є малим, але він невисокий завдяки платам за розробку програмного забезпечення та програмного забезпечення, що може скласти сотні мільйонів доларів. Це не означає, що виготовлення основних компонентів дешевше не допомогло б деяким потенційним розробникам, але це не є магічною платою для розкриття значно кращих структур вартості. Фаби, як TSMC, GlobalFoundries та UMC, заробляють гроші на старших вузлах процесу для чіпів, які не потребують найновіших та найвищих технологій, при порівняно низьких витратах на ліцензування.

Процесор з відкритим кодом не вирішує ці проблеми

Spectre and Meltdown - це приклади того, що трапляється, коли дослідники вважають ідею - атакувати певні області пам'яті для вилучення даних, які вони мають, - і застосувати їх у нових і цікавих способах. Наскільки нам відомо, різниця в експозиції Meltdown між AMD, Apple, ARM та Intel не має нічого спільного з конкретними зусиллями щодо створення більш безпечних процесорів. Кожен піддається впливу Specter незалежно.

Розробка дизайну чіпів з відкритим вихідним кодом не дає змоги майбутнім дослідникам знаходити методи нападу, які працюють проти процесорів, які не були розроблені для пом'якшення їх, оскільки методи нападу ще не існували. Він автоматично не забезпечує засоби для забезпечення майбутніх процесорів або навіть робить більш ймовірним, що буде виявлений сценарій для закриття вразливості без шкоди продуктивності. Кількість людей у ​​світі, які вміють робити достатньо хороший код для програмного забезпечення з відкритим кодом, є досить високим, ніж кількість людей, які мають кваліфікацію для роботи в якості досвідчених дизайнерів ЦП в партнерстві з найсучаснішими ливарними заводами.

Висновок

Ідея x86 являє собою якийсь жорнистості навколо Intel та колективної шиї AMD, грунтується на внутрішньому припущенні, що x86 є старим, а старий - поганим. Але, давайте будемо чесними тут: хоча сучасний Core i7 або Ryzen 7 1800X все ще може виконувати застарілий 32-розрядний код, який працював на 80386, у вашому настільному процесорі все ще не випало 80386 апаратного забезпечення. Навіть у сценаріях, де центральний процесор використовує той же код, він не запускає цей код через ті ж схеми. Сучасні процесори не виробляються з тими ж матеріалами чи процесами, які ми використовували 30 років тому, вони не побудовані за однаковими специфікаціями, вони не покладаються на ті ж методи, щоб максимально підвищити продуктивність, і з посиланням на вік x86 спосіб фарбування архітектури погано для риторичних цілей, а не точний спосіб отримати переваги та недоліки різних конструкцій ЦП.

Можливо, прийде день, коли ми замінить x86 на щось краще. Але це не відбудеться тільки тому, що чіпи x86, як і чіпи без x86, впливають на дизайн-рішення, спільні для високопродуктивних процесорів від кожного постачальника. Техніка з відкритим вихідним кодом є ідеальною ідеєю, і я вітаю появу RISC-V, але немає ніяких доказів того, що чіп OSS буде менш чутливим до такого типу атаки. x86, ARM і модель із центральним процесором із замкнутим джерелом нікуди не йдуть, і ці порушення безпеки не мають переконливих причин, чому вони повинні.

Читати далі

VIA Technologies, Zhaoxin зміцнюють зв'язки з процесором x86
VIA Technologies, Zhaoxin зміцнюють зв'язки з процесором x86

VIA та Zhaoxin поглиблюють своє стратегічне партнерство за допомогою додаткових передач ІР, спрямованих на пришвидшення довгострокової розробки продуктів.

ARMing for War: Новий Cortex-A78C кине виклик x86 на ринку ноутбуків
ARMing for War: Новий Cortex-A78C кине виклик x86 на ринку ноутбуків

ARM зробив ще один крок до виклику власного x86, дебютуючи Cortex-A78C цього тижня. Новий чіп містить до восьми "великих" процесорних ядер і до 8 МБ кеш-пам'яті L3.

Поточні виміри продуктивності x86 порівняно з Apple M1 неправомірні
Поточні виміри продуктивності x86 порівняно з Apple M1 неправомірні

Існує внутрішня різниця між процесорами процесорів x86 та ARM, що ускладнює порівняння продуктивності - і це не помітили в початковій хвилі покриття.

Microsoft додає 64-розрядну емуляцію x86 до Windows на ARM
Microsoft додає 64-розрядну емуляцію x86 до Windows на ARM

Корпорація Майкрософт оголосила сьогодні, що очікувана підтримка 64-розрядної емуляції x86 для Windows на пристроях ARM надійшла, за умови, що ви використовуєте Build 21277. Щоб перевірити збірку, вам потрібно бути частиною програми Microsoft Insider від Microsoft.