تقنية

يتجاوز الهجوم الجديد آليات دفاع الأجهزة ضد ثقب Spectre في معالجات Intel و ARM

يتجاوز الهجوم الجديد آليات دفاع الأجهزة ضد ثقب Spectre في معالجات Intel و ARM

 

في حين أنه ليس من السهل استغلاله ، يُظهر إثبات المفهوم هذا أن بعض معالجات Intel و ARM لا تزال عرضة لهجمات القناة الجانبية


ثقب Spectre

 

الإجراءات المضادة للأجهزة التي تم وضعها على معالجات Intel و ARM في السنوات القليلة الماضية لإزالة عيب رئيسي يسمى Specter ليست قوية كما كان يعتقد. طور العلماء طريقة هجوم جديدة يمكنها التغلب على آليات الدفاع ، لكن استخدامها ليس سهلاً مثل الثقب الأصلي.

يُطلق على الهجوم الجديد ، الذي اكتشفه باحثون من Systems and Network Security Group في VU Amsterdam (VUSec) ، اسم Specter-BHI (حقن تاريخ الفرع) أو Specter-BHB (مخزن تاريخ الفرع) لأن Intel و ARM أعطته أسماء مختلفة. وفقًا لفريق البحث ، يعد هذا امتدادًا لهجوم 2017 الإصدار 2 من Spectre ، والمعروف أيضًا باسم Specter-BTI (فرع الهدف حقن) ، ومثل Specter v2 ، يمكنه تسريب معلومات حساسة من مساحة ذاكرة kernel المميزة.

تحقق أيضًا من:

استغلال إثبات المفهوم من قبل باحثي VUSec هو تسريب تجزئة كلمة مرور الجذر من / etc / shadow باستخدام حساب غير مميز. ملف / etc / shadow هو ملف نظام على Linux لا يمكن الوصول إليه إلا عن طريق حساب الجذر الإداري. بشكل أساسي ، يجبر الاستغلال النواة على تحميل ملف في الذاكرة حيث يكون عادةً محميًا من الوصول بواسطة عمليات غير مميزة ، ولكن بعد ذلك يستخدم هجوم Specter-BHI للوصول إلى محتوياته وتسريبها. يعد هذا خرقًا خطيرًا لحدود الأمان الأساسية في أنظمة التشغيل الحديثة التي تفصل تطبيقات وضع المستخدم ومساحة الذاكرة عن مساحة ذاكرة kernel المميزة.

ما هو سبيكتر؟

Specter هي فئة من نقاط الضعف ، تم الكشف عنها في الأصل في يناير 2017 ، والتي تنشأ من ميزة أداء وحدات المعالجة المركزية الحديثة تسمى التنفيذ التخميني ، حيث تحاول وحدة المعالجة المركزية التنبؤ مسبقًا بالمسار الذي سيتخذه البرنامج عندما يصل إلى فرع شرطي وتنفيذ التعليمات على طول هذا المسار في وقت مبكر. إذا تبين أن التنبؤات ، المستندة إلى الخوارزميات الداخلية ، خاطئة ، فسيتم تجاهل النتائج المخزنة في ذاكرة التخزين المؤقت للمعالج. تستخدم هجمات التنفيذ التخميني مثل Specter والعديد من الهجمات الأخرى التي تلت ذلك هذه الآلية لتسريب المعلومات من مخابئ مؤقتة تعمل كقنوات جانبية.

يوضح باحثو VUSec: “في الوقت الذي تم فيه اكتشاف Spectre ، كان من السهل استخدام Branch Target Injection (BTI أو Specter-v2) ، وهو أخطر نوع من Specter ، على جميع مستويات الأذونات”. “على سبيل المثال ، يمكن لمهاجم userland غير المتميز تمرير أي هدف فرعي إلى متنبئ وسيط لفرع userland وإجبار النواة على القفز بشكل تخميني إلى هدف الشفرة المحقونة وتنفيذ أي كود موجود هناك.”

لتقليل المخاطر ، قام بائعو البرامج مثل Google وصانعي Linux kernel بتطوير حلول برمجية مثل retpoline. على الرغم من أنها كانت فعالة ، إلا أنها تسببت في انخفاض كبير في الأداء ، لذلك طور مصنعو المعالجات لاحقًا أمان الأجهزة. حل Intel يسمى EIBRS و ARM هو CSV2.

“هذه الحلول معقدة – مقالة البحث الأصلية متاحة على هذا الرابط – لكن جوهرها هو أن المتنبئ” بطريقة ما “يتتبع مستوى الإذن (المستخدم / النواة) الذي يتم تنفيذ الهدف عنده ،” يشرح باحثو VUSec. “وكما تتوقع ، إذا كان الهدف ينتمي إلى مستوى امتياز أقل ، فلن تستخدمه النواة (على سبيل المثال ، لن يكون هناك المزيد من مواقع التعليمات البرمجية العشوائية التي يوفرها المهاجم والتي يمكن الاستيلاء عليها بشكل تخميني لتدفق التحكم في kernel).”

ومع ذلك ، تكمن المشكلة في أن متنبئ وحدة المعالجة المركزية يعتمد على التاريخ العالمي لتحديد إدخالات الهدف للتنفيذ التخميني ، وكما أثبت باحثو VUSec ، فإن هذا التاريخ العالمي يمكن أن يفسد. بعبارة أخرى ، في حين أن Specter v2 الأصلي سمح للمهاجمين بحقن موقع الكود المستهدف فعليًا ثم تنفيذ هذا الرمز خلسة بواسطة النواة ، فإن هجوم Specter-BHI / BHB الجديد يمكن أن يجبر النواة على إساءة التنبؤ وتنفيذ أمر مثير للاهتمام. الأدوات الذكية أو مقتطفات التعليمات البرمجية الموجودة بالفعل. موجودة في السجل وتم إجراؤها في الماضي ، ولكنها قد تؤدي إلى تسرب البيانات.

“هل تالف Intel eIBRS و Arm CSV2؟ كما لو. هذا يعني أن الإجراءات الأمنية تعمل على النحو المنشود ، لكن سطح الهجوم المتبقي أكثر أهمية مما يفترضه المصنعون في الأصل. […] ومع ذلك ، فإن العثور على الأدوات التي يمكن استخدامها أصبح أكثر صعوبة من ذي قبل لأن المهاجم لا يمكنه حقن أهداف توقع مباشرة عبر حدود الأذونات “.

التخفيف من خطأ Specter-BHI الجديد

حددت Intel Specter-BHI الجديد باعتباره CVE-2022-0001 للمتغير متعدد الامتيازات و CVE-2022-0002 للمتغير متعدد الامتيازات. يصفه ARM بأنه CVE- 2022-23960 لكلا المتغيرين.

وفقًا لشركة Intel ، فإن معظم معالجات الشركة تتأثر ، باستثناء تلك الموجودة في عائلة Atom. بالنسبة إلى ARM ، وحدات المعالجة المركزية الضعيفة هي Cortex-A15 و Cortex-A57 و Cortex-A72 و Cortex-A73 و Cortex-A75 و Cortex-A76 و Cortex-A76AE و Cortex-A77 و Cortex-A78 و Cortex-A78AE و Cortex-A78C Cortex-X1 و Cortex-X2 و Cortex-A710 و Neoverse N1 و Neoverse N2 و Neoverse V1.

قدمت كلتا الشركتين توصيات وتقدمان إجراءات برمجية مضادة في الوقت الحالي. لدى ARM خمسة حلول تخفيف مختلفة حسب النظام.

في استغلال Linux الخاص بهم ، استخدم باحثو VUSec eBPF ، وهي تقنية متاحة منذ الإصدار 4.4 من النواة التي تسمح للبرامج بأن تكون في وضع الحماية في نواة نظام التشغيل. في حين أن eBPF ليس جزءًا من المشكلة الأساسية ويمكن العثور على أدوات الكود الأخرى التي يمكنها تسريب البيانات ، فإن وجود eBPF غير المتميز “يسهل إلى حد كبير الهجمات التخمينية (وغيرها) ،” قال الباحثون. لهذا السبب ، يوصون بتعطيله ، وبدأت بعض توزيعات Linux في تعطيله افتراضيًا.

المصدر: CSO

شاهد ايضا

.

Related Articles

技术

新的攻击绕过了针对 Intel 和 ARM 处理器中 Spectre 漏洞的硬件防御机制

新的攻击绕过了针对 Intel 和 ARM 处理器中 Spectre 漏洞的硬件防御机制

 

虽然不容易被利用,但这个概念证明表明,一些 Intel 和 ARM 处理器仍然容易受到侧信道攻击。


幽灵洞

 

过去几年在英特尔和 ARM 处理器上为消除名为 Spectre 的重大缺陷而采取的硬件对策并不像想象的那么强大。科学家们开发了一种新的攻击方法,可以克服防御机制,但它的使用并不像原来的虫洞那么容易。

由阿姆斯特丹自由大学 (VUSec) 系统和网络安全小组的研究人员发现的新攻击被称为 Spectre-BHI(分支历史注入)或 Spectre-BHB(分支历史存储),因为英特尔和 ARM 给它起了不同的名称。据研究团队介绍,这是 2017 Spectre v2 攻击的扩展,也称为 Spectre-BTI(分支目标注入),与 Spectre v2 一样,它可以从特权内核内存空间泄漏敏感信息。

还要检查:

VUSec 研究人员的一个概念验证漏洞利用是使用非特权帐户从 /etc/shadow 泄露 root 密码哈希。/etc/shadow 文件是 Linux 上的系统文件,只能由管理 root 帐户访问。从本质上讲,该漏洞利用强制内核将文件加载到内存中,通常会保护它免受非特权进程的访问,然后使用 Spectre-BHI 攻击来访问和泄漏其内容。这严重违反了现代操作系统中将用户模式应用程序和内存空间与特权内核内存空间分开的基本安全边界。

什么是幽灵?

Spectre 是一类漏洞,最初于 2017 年 1 月被发现,源于一种称为推测执行的现代 CPU 性能特性,其中 CPU 试图提前预测程序在访问条件分支并执行指令时将采用的路径这个Track早。如果基于内部算法的预测结果是错误的,则存储在处理器缓存中的结果将被丢弃。Spectre 等推测执行攻击以及随后的许多其他攻击都使用这种机制从充当侧通道的临时缓存中泄漏信息。

“在 Spectre 被发现时,最危险的 Spectre 类型分支目标注入(BTI 或 Spectre-v2)在所有权限级别都易于使用,”VUSec 研究人员解释说。“例如,非特权用户态攻击者可以将任何子目标传递给中间用户态分支预测器,并强制内核推测性地跳转到注入的代码目标并执行那里的任何代码。”

为了降低风险,Google 和 Linux 内核制造商等软件供应商已经开发了 retpoline 等软件解决方案。虽然有效,但导致性能大幅下降,因此后来的处理器制造商开发了硬件安全性。英特尔的解决方案称为 EIBRS,而 ARM 是 CSV2。

VUSec 研究人员解释说:“这些解决方案很复杂 – 原始研究文章可在此链接中找到 – 但其要点是预测器‘以某种方式’跟踪目标执行的权限级别(用户/内核)。” “正如你所料,如果目标属于较低的特权级别,那么内核将不会使用它(即,将不再有攻击者提供的随机代码位置可以推测性地用于内核的控制流)。 “

然而,问题在于 CPU 预测器依赖于全局历史来选择用于推测执行的目标条目,并且正如 VUSec 研究人员所证明的那样,这个全局历史可能会被破坏。换句话说,虽然最初的 Spectre v2 允许攻击者物理注入目标代码的位置,然后由内核秘密执行该代码,但新的 Spectre-BHI/BHB 攻击可能会迫使内核错误预测并执行一些有趣的事情。已经存在的小工具或代码片段。它在历史上,是在过去制造的,但它可能导致数据泄露。

“英特尔 eIBRS 和 Arm CSV2 是否已损坏?好像。这意味着安全措施正在按预期工作,但剩余的攻击面比制造商最初假设的更为重要。[…] 然而,寻找可以使用的工具正在成为越来越重要。”比以前更困难,因为攻击者无法直接跨权限限制注入目标目标。

减轻新的 Spectre-BHI 错误

英特尔将新的 Spectre-BHI 识别为多特权变体的 CVE-2022-0001 和多特权变体的 CVE-2022-0002。对于这两种变体,ARM 将其描述为 CVE-2022-23960。

据英特尔称,该公司的大多数处理器都受到影响,但 Atom 系列处理器除外。对于 ARM,较弱的 CPU 是 Cortex-A15、Cortex-A57、Cortex-A72、Cortex-A73、Cortex-A75、Cortex-A76、Cortex-A76AE、Cortex-A77、Cortex-A78、Cortex-A78AE、Cortex-A78C Cortex-X1、Cortex-X2、Cortex-A710、Neoverse N1、Neoverse N2、Neoverse V1。

两家公司都提出了建议,并正在提供软件对策。ARM 有五种不同的缓解解决方案,具体取决于系统。

在他们的 Linux 漏洞利用中,VUSec 研究人员使用了 eBPF,这是一种自 4.4 版内核开始可用的技术,允许程序在操作系统内核中被沙盒化。研究人员说,虽然 eBPF 不是潜在问题的一部分,并且可以找到其他可能泄漏数据的代码工具,但非特权 eBPF 的存在“极大地促进了投机性(和其他)攻击”。出于这个原因,他们建议禁用它,并且一些 Linux 发行版已经开始默认禁用它。

资料来源:公民社会组织

还看

.

Related Articles

Technique

The new attack bypasses hardware defense mechanisms against the Specter hole in Intel and ARM processors

The new attack bypasses hardware defense mechanisms against the Specter hole in Intel and ARM processors

 

While not easy to exploit, this proof of concept shows that some Intel and ARM processors are still vulnerable to side channel attacks.


Specter hole

 

The hardware countermeasures that have been put in place on Intel and ARM processors in the past few years to remove a major flaw called Specter are not as strong as thought. Scientists have developed a new attack method that can overcome defense mechanisms, but its use is not as easy as the original wormhole.

The new attack, discovered by researchers from Systems and Network Security Group at VU Amsterdam (VUSec), is called Specter-BHI (Branch History Injection) or Specter-BHB (Branch History Store) because Intel and ARM have given it different names. According to the research team, this is an extension of the 2017 Specter v2 attack, also known as Specter-BTI (Branch Target Injection), and like Specter v2, it can leak sensitive information from the privileged kernel memory space.

Check also:

A proof-of-concept exploit by VUSec researchers is to leak root password hashes from /etc/shadow using a non-privileged account. The /etc/shadow file is a system file on Linux that can only be accessed by the administrative root account. Essentially, the exploit forces the kernel to load a file into memory where it would normally be protected from access by unprivileged processes, but then uses a Specter-BHI attack to access and leak its contents. This is a serious breach of the basic security boundary in modern operating systems that separates user-mode applications and memory space from the privileged kernel memory space.

What is Specter?

Specter is a class of vulnerabilities, originally revealed in January 2017, that arise from a modern CPU performance feature called speculative execution, in which the CPU attempts to predict in advance the path a program will take when it accesses a conditional branch and executes instructions along this Track early. If the predictions, based on internal algorithms, turn out to be wrong, the results stored in the processor cache will be discarded. Speculative execution attacks like Specter and many others that have followed use this mechanism to leak information from temporary caches that act as side channels.

“At the time Specter was discovered, Branch Target Injection (BTI or Specter-v2), the most dangerous type of Specter, was easy to use at all permission levels,” the VUSec researchers explain. “For example, a non-privileged userland attacker could pass any child target to an intermediate userland branch predictor and force the kernel to speculatively jump to the injected code target and execute whatever code is there.”

To reduce the risk, software vendors such as Google and Linux kernel makers have developed software solutions such as retpoline. Although it was effective, it caused a significant decrease in performance, so later processor manufacturers developed hardware security. Intel’s solution is called EIBRS and ARM is CSV2.

“These solutions are complex – the original research article is available at this link – but their core is that the predictor ‘somehow’ keeps track of the permission level (user/kernel) at which the target is executed,” explain the VUSec researchers. “And as you would expect, if the target belongs to a lower privilege level, the kernel will not use it (ie there will be no more random attacker-provided code locations that can be seized speculatively for the kernel’s control flow).”

The problem, however, is that the CPU predictor relies on global history to select target entries for speculative execution, and as the VUSec researchers have demonstrated, this global history can be corrupted. In other words, while the original Specter v2 allowed attackers to physically inject the target code’s location and then stealthily execute that code by the kernel, the new Specter-BHI/BHB attack could force the kernel to mis-predict and execute something interesting. Gadgets or code snippets that already exist. It is in the history and was made in the past, but it may lead to data leakage.

“Has Intel eIBRS and Arm CSV2 corrupted? As if. This means that security measures are working as intended, but the remaining attack surface is more important than manufacturers originally assumed. […] However, finding tools that can be used is becoming more and more important.” More difficult than before because an attacker cannot inject target targets directly across permission limits.”

Mitigating the new Specter-BHI bug

Intel identified the new Specter-BHI as CVE-2022-0001 for the multi-privileged variant and CVE-2022-0002 for the multi-privileged variant. ARM describes it as CVE- 2022-23960 for both variants.

According to Intel, most of the company’s processors are affected, with the exception of those in the Atom family. For ARM, the weak CPUs are Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Both companies have made recommendations and are offering software countermeasures at this time. ARM has five different mitigation solutions depending on the system.

In their Linux exploit, the VUSec researchers used eBPF, a technology available since version 4.4 of the kernel that allows programs to be sandboxed in the operating system’s kernel. While eBPF is not part of the underlying problem and other code tools that can leak data can be found, the presence of a non-privileged eBPF “greatly facilitates speculative (and other) attacks,” the researchers said. For this reason, they recommend disabling it, and some Linux distributions have started to disable it by default.

Source: CSO

Watch also

.

Related Articles

Technique

La nouvelle attaque contourne les mécanismes de défense matérielle contre le trou Spectre dans les processeurs Intel et ARM

La nouvelle attaque contourne les mécanismes de défense matérielle contre le trou Spectre dans les processeurs Intel et ARM

 

Bien qu’elle ne soit pas facile à exploiter, cette preuve de concept montre que certains processeurs Intel et ARM sont toujours vulnérables aux attaques par canal latéral.


Trou de spectre

 

Les contre-mesures matérielles qui ont été mises en place sur les processeurs Intel et ARM au cours des dernières années pour supprimer un défaut majeur appelé Spectre ne sont pas aussi fortes que prévu. Les scientifiques ont développé une nouvelle méthode d’attaque capable de surmonter les mécanismes de défense, mais son utilisation n’est pas aussi simple que le trou de ver d’origine.

La nouvelle attaque, découverte par des chercheurs du Systems and Network Security Group de VU Amsterdam (VUSec), s’appelle Spectre-BHI (Branch History Injection) ou Spectre-BHB (Branch History Store) car Intel et ARM lui ont donné des noms différents. Selon l’équipe de recherche, il s’agit d’une extension de l’attaque Spectre v2 de 2017, également connue sous le nom de Spectre-BTI (Branch Target Injection), et comme Spectre v2, elle peut faire fuir des informations sensibles de l’espace mémoire privilégié du noyau.

Vérifiez également :

Un exploit de preuve de concept par les chercheurs de VUSec consiste à divulguer les hachages de mot de passe root de /etc/shadow à l’aide d’un compte non privilégié. Le fichier /etc/shadow est un fichier système sous Linux accessible uniquement par le compte administrateur root. Essentiellement, l’exploit force le noyau à charger un fichier en mémoire où il serait normalement protégé contre l’accès par des processus non privilégiés, mais utilise ensuite une attaque Spectre-BHI pour accéder et divulguer son contenu. Il s’agit d’une grave violation de la frontière de sécurité de base des systèmes d’exploitation modernes qui sépare les applications en mode utilisateur et l’espace mémoire de l’espace mémoire privilégié du noyau.

Qu’est-ce que Spectre ?

Spectre est une classe de vulnérabilités, révélée à l’origine en janvier 2017, qui découle d’une fonctionnalité de performance du processeur moderne appelée exécution spéculative, dans laquelle le processeur tente de prédire à l’avance le chemin qu’un programme prendra lorsqu’il accède à une branche conditionnelle et exécute des instructions le long de cette piste tôt. Si les prédictions, basées sur des algorithmes internes, s’avèrent erronées, les résultats stockés dans le cache du processeur seront rejetés. Les attaques d’exécution spéculative comme Spectre et bien d’autres qui ont suivi utilisent ce mécanisme pour divulguer des informations à partir de caches temporaires qui agissent comme des canaux secondaires.

“Au moment où Spectre a été découvert, Branch Target Injection (BTI ou Spectre-v2), le type de Spectre le plus dangereux, était facile à utiliser à tous les niveaux d’autorisation”, expliquent les chercheurs de VUSec. “Par exemple, un attaquant non privilégié de l’espace utilisateur pourrait transmettre n’importe quelle cible enfant à un prédicteur de branche intermédiaire de l’espace utilisateur et forcer le noyau à sauter de manière spéculative vers la cible de code injectée et à exécuter le code qui s’y trouve.”

Pour réduire le risque, les éditeurs de logiciels tels que Google et les fabricants de noyaux Linux ont développé des solutions logicielles telles que retpoline. Bien qu’il soit efficace, il a entraîné une baisse significative des performances, de sorte que les fabricants de processeurs ultérieurs ont développé une sécurité matérielle. La solution d’Intel s’appelle EIBRS et ARM est CSV2.

“Ces solutions sont complexes – l’article de recherche original est disponible sur ce lien – mais l’essentiel est que le prédicteur suit” d’une manière ou d’une autre “le niveau d’autorisation (utilisateur/noyau) auquel la cible est exécutée”, expliquent les chercheurs de VUSec. “Et comme vous vous en doutez, si la cible appartient à un niveau de privilège inférieur, le noyau ne l’utilisera pas (c’est-à-dire qu’il n’y aura plus d’emplacements de code aléatoires fournis par l’attaquant pouvant être saisis de manière spéculative pour le flux de contrôle du noyau). “

Le problème, cependant, est que le prédicteur de CPU s’appuie sur l’historique global pour sélectionner les entrées cibles pour une exécution spéculative, et comme les chercheurs de VUSec l’ont démontré, cet historique global peut être corrompu. En d’autres termes, alors que le Spectre v2 d’origine permettait aux attaquants d’injecter physiquement l’emplacement du code cible, puis d’exécuter furtivement ce code par le noyau, la nouvelle attaque Spectre-BHI/BHB pourrait forcer le noyau à mal prédire et à exécuter quelque chose d’intéressant. Gadgets ou extraits de code qui existent déjà. C’est dans l’histoire et a été fait dans le passé, mais cela peut entraîner une fuite de données.

“Intel eIBRS et Arm CSV2 sont-ils corrompus ? Comme si. Cela signifie que les mesures de sécurité fonctionnent comme prévu, mais la surface d’attaque restante est plus importante que ne le supposaient initialement les fabricants. […] Cependant, trouver des outils pouvant être utilisés devient de plus en plus important. » Plus difficile qu’auparavant, car un attaquant ne peut pas injecter des cibles cibles directement au-delà des limites d’autorisation. »

Atténuation du nouveau bogue Spectre-BHI

Intel a identifié le nouveau Spectre-BHI comme CVE-2022-0001 pour la variante à privilèges multiples et CVE-2022-0002 pour la variante à privilèges multiples. ARM le décrit comme CVE-2022-23960 pour les deux variantes.

Selon Intel, la plupart des processeurs de l’entreprise sont concernés, à l’exception de ceux de la famille Atom. Pour ARM, les processeurs faibles sont Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Les deux sociétés ont fait des recommandations et proposent actuellement des contre-mesures logicielles. ARM propose cinq solutions d’atténuation différentes en fonction du système.

Dans leur exploit Linux, les chercheurs de VUSec ont utilisé eBPF, une technologie disponible depuis la version 4.4 du noyau qui permet de mettre les programmes en sandbox dans le noyau du système d’exploitation. Bien que eBPF ne fasse pas partie du problème sous-jacent et que d’autres outils de code pouvant divulguer des données puissent être trouvés, la présence d’un eBPF non privilégié “facilite grandement les attaques spéculatives (et autres)”, ont déclaré les chercheurs. Pour cette raison, ils recommandent de le désactiver, et certaines distributions Linux ont commencé à le désactiver par défaut.

Source : OSC

Regardez aussi

.

Related Articles

Technik

Der neue Angriff umgeht Hardware-Abwehrmechanismen gegen die Spectre-Lücke in Intel- und ARM-Prozessoren

Der neue Angriff umgeht Hardware-Abwehrmechanismen gegen die Spectre-Lücke in Intel- und ARM-Prozessoren

 

Dieser Proof of Concept ist zwar nicht einfach auszunutzen, zeigt aber, dass einige Intel- und ARM-Prozessoren immer noch anfällig für Seitenkanalangriffe sind.


Gespensterloch

 

Die Hardware-Gegenmaßnahmen, die in den letzten Jahren auf Intel- und ARM-Prozessoren ergriffen wurden, um einen großen Fehler namens Spectre zu beseitigen, sind nicht so stark wie gedacht. Wissenschaftler haben eine neue Angriffsmethode entwickelt, die Abwehrmechanismen überwinden kann, aber ihre Verwendung ist nicht so einfach wie das ursprüngliche Wurmloch.

Der neue Angriff, der von Forschern der Systems and Network Security Group an der VU Amsterdam (VUSec) entdeckt wurde, heißt Spectre-BHI (Branch History Injection) oder Spectre-BHB (Branch History Store), weil Intel und ARM ihm unterschiedliche Namen gegeben haben. Laut dem Forschungsteam handelt es sich dabei um eine Erweiterung des Spectre v2-Angriffs von 2017, auch bekannt als Spectre-BTI (Branch Target Injection), und kann wie Spectre v2 vertrauliche Informationen aus dem privilegierten Kernel-Speicherbereich lecken.

Überprüfen Sie auch:

Ein Proof-of-Concept-Exploit von VUSec-Forschern besteht darin, Root-Passwort-Hashes aus /etc/shadow unter Verwendung eines nicht privilegierten Kontos zu verlieren. Die Datei /etc/shadow ist eine Systemdatei unter Linux, auf die nur das Administrator-Root-Konto zugreifen kann. Im Wesentlichen zwingt der Exploit den Kernel dazu, eine Datei in den Speicher zu laden, wo sie normalerweise vor dem Zugriff durch unprivilegierte Prozesse geschützt wäre, verwendet dann aber einen Spectre-BHI-Angriff, um auf ihren Inhalt zuzugreifen und ihn zu verlieren. Dies ist eine schwerwiegende Verletzung der grundlegenden Sicherheitsgrenze in modernen Betriebssystemen, die Anwendungen und Speicherplatz im Benutzermodus vom privilegierten Kernel-Speicherplatz trennt.

Was ist Spectre?

Spectre ist eine Klasse von Schwachstellen, die ursprünglich im Januar 2017 aufgedeckt wurden und sich aus einer modernen CPU-Leistungsfunktion namens spekulative Ausführung ergeben, bei der die CPU versucht, den Pfad, den ein Programm nehmen wird, im Voraus vorherzusagen, wenn es auf eine bedingte Verzweigung zugreift und Anweisungen ausführt diesen Track früh. Erweisen sich die auf internen Algorithmen basierenden Vorhersagen als falsch, werden die im Prozessor-Cache gespeicherten Ergebnisse verworfen. Spekulative Ausführungsangriffe wie Spectre und viele andere, die folgten, nutzen diesen Mechanismus, um Informationen aus temporären Caches zu verlieren, die als Seitenkanäle fungieren.

„Zum Zeitpunkt der Entdeckung von Spectre war Branch Target Injection (BTI oder Spectre-v2), die gefährlichste Art von Spectre, auf allen Berechtigungsstufen einfach zu verwenden“, erklären die VUSec-Forscher. „Zum Beispiel könnte ein nicht privilegierter Userland-Angreifer jedes untergeordnete Ziel an einen Zwischen-Userland-Verzweigungsprädiktor übergeben und den Kernel zwingen, spekulativ zum Ziel des eingeschleusten Codes zu springen und den dort vorhandenen Code auszuführen.“

Um das Risiko zu verringern, haben Softwareanbieter wie Google und Hersteller von Linux-Kernels Softwarelösungen wie Retpoline entwickelt. Obwohl es effektiv war, verursachte es einen erheblichen Leistungsabfall, sodass spätere Prozessorhersteller Hardwaresicherheit entwickelten. Intels Lösung heißt EIBRS und ARM ist CSV2.

„Diese Lösungen sind komplex – der ursprüngliche Forschungsartikel ist unter diesem Link verfügbar – aber der Kern davon ist, dass der Prädiktor ‚irgendwie‘ die Berechtigungsebene (Benutzer/Kernel) verfolgt, auf der das Ziel ausgeführt wird“, erklären die VUSec-Forscher. „Und wie Sie erwarten würden, wenn das Ziel zu einer niedrigeren Berechtigungsstufe gehört, wird der Kernel es nicht verwenden (dh es gibt keine zufälligen, von Angreifern bereitgestellten Codestellen mehr, die spekulativ für den Kontrollfluss des Kernels ergriffen werden können). “

Das Problem besteht jedoch darin, dass sich der CPU-Prädiktor auf den globalen Verlauf verlässt, um Zieleinträge für die spekulative Ausführung auszuwählen, und wie die VUSec-Forscher demonstriert haben, kann dieser globale Verlauf beschädigt werden. Mit anderen Worten, während das ursprüngliche Spectre v2 es Angreifern ermöglichte, den Speicherort des Zielcodes physisch einzuschleusen und diesen Code dann heimlich vom Kernel auszuführen, könnte der neue Spectre-BHI/BHB-Angriff den Kernel dazu zwingen, etwas Interessantes falsch vorherzusagen und auszuführen. Gadgets oder Code-Snippets, die bereits vorhanden sind. Es ist in der Geschichte und wurde in der Vergangenheit gemacht, aber es kann zu Datenlecks führen.

“Hat Intel eIBRS und Arm CSV2 beschädigt? Als ob. Das bedeutet, dass die Sicherheitsmaßnahmen wie beabsichtigt funktionieren, aber die verbleibende Angriffsfläche wichtiger ist, als die Hersteller ursprünglich angenommen haben. […] Es wird jedoch immer schwieriger, Tools zu finden, die verwendet werden können immer wichtiger.“ Schwieriger als zuvor, da ein Angreifer Ziele nicht direkt über Berechtigungsgrenzen hinweg injizieren kann.“

Entschärfung des neuen Spectre-BHI-Fehlers

Intel identifizierte das neue Spectre-BHI als CVE-2022-0001 für die multiprivilegierte Variante und CVE-2022-0002 für die multiprivilegierte Variante. ARM beschreibt es als CVE-2022-23960 für beide Varianten.

Laut Intel sind mit Ausnahme der Atom-Familie die meisten Prozessoren des Unternehmens betroffen. Für ARM sind die schwachen CPUs Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Beide Unternehmen haben Empfehlungen ausgesprochen und bieten jetzt Software-Gegenmaßnahmen an. ARM verfügt je nach System über fünf verschiedene Minderungslösungen.

In ihrem Linux-Exploit nutzten die VUSec-Forscher eBPF, eine seit Version 4.4 des Kernels verfügbare Technologie, die es ermöglicht, Programme in den Kernel des Betriebssystems einzubetten. Während eBPF nicht Teil des zugrunde liegenden Problems ist und andere Code-Tools gefunden werden können, die Daten lecken können, erleichtert das Vorhandensein eines nicht privilegierten eBPF „spekulative (und andere) Angriffe erheblich“, sagten die Forscher. Aus diesem Grund empfehlen sie, es zu deaktivieren, und einige Linux-Distributionen haben damit begonnen, es standardmäßig zu deaktivieren.

Quelle: CSO

Beobachten Sie auch

.

Related Articles

Tecnica

Il nuovo attacco aggira i meccanismi di difesa hardware contro il buco dello spettro nei processori Intel e ARM

Il nuovo attacco aggira i meccanismi di difesa hardware contro il buco dello spettro nei processori Intel e ARM

 

Sebbene non sia facile da sfruttare, questo proof of concept mostra che alcuni processori Intel e ARM sono ancora vulnerabili agli attacchi del canale laterale.


Buco dello spettro

 

Le contromisure hardware che sono state messe in atto sui processori Intel e ARM negli ultimi anni per rimuovere un grave difetto chiamato Spectre non sono così forti come si pensava. Gli scienziati hanno sviluppato un nuovo metodo di attacco in grado di superare i meccanismi di difesa, ma il suo utilizzo non è facile come il wormhole originale.

Il nuovo attacco, scoperto dai ricercatori del Systems and Network Security Group del VU Amsterdam (VUSec), si chiama Spectre-BHI (Branch History Injection) o Spectre-BHB (Branch History Store) perché Intel e ARM gli hanno dato nomi diversi. Secondo il team di ricerca, questa è un’estensione dell’attacco Spectre v2 del 2017, noto anche come Spectre-BTI (Branch Target Injection), e come Spectre v2, può trapelare informazioni sensibili dallo spazio di memoria privilegiato del kernel.

Controlla anche:

Un exploit proof-of-concept dei ricercatori VUSec consiste nel far trapelare gli hash della password di root da /etc/shadow utilizzando un account non privilegiato. Il file /etc/shadow è un file di sistema su Linux a cui è possibile accedere solo dall’account di root amministrativo. In sostanza, l’exploit forza il kernel a caricare un file in memoria dove sarebbe normalmente protetto dall’accesso da processi non privilegiati, ma poi usa un attacco Spectre-BHI per accedere e divulgare il suo contenuto. Si tratta di una grave violazione del limite di sicurezza di base nei moderni sistemi operativi che separa le applicazioni in modalità utente e lo spazio di memoria dallo spazio di memoria privilegiato del kernel.

Cos’è lo spettro?

Spectre è una classe di vulnerabilità, originariamente rivelata nel gennaio 2017, che derivano da una moderna funzionalità delle prestazioni della CPU chiamata esecuzione speculativa, in cui la CPU tenta di prevedere in anticipo il percorso che un programma seguirà quando accede a un ramo condizionale ed esegue le istruzioni lungo questa traccia presto. Se le previsioni, basate su algoritmi interni, si rivelano errate, i risultati archiviati nella cache del processore verranno scartati. Attacchi di esecuzione speculativa come Spectre e molti altri che sono seguiti utilizzano questo meccanismo per far trapelare informazioni da cache temporanee che fungono da canali laterali.

“Al momento della scoperta di Spectre, Branch Target Injection (BTI o Spectre-v2), il tipo più pericoloso di Spectre, era facile da usare a tutti i livelli di autorizzazione”, spiegano i ricercatori di VUSec. “Ad esempio, un utente malintenzionato senza privilegi potrebbe passare qualsiasi target figlio a un predittore di ramo userland intermedio e costringere il kernel a saltare speculativamente al target del codice iniettato ed eseguire qualsiasi codice sia presente”.

Per ridurre il rischio, i fornitori di software come Google e i produttori di kernel Linux hanno sviluppato soluzioni software come retpoline. Sebbene fosse efficace, ha causato un calo significativo delle prestazioni, quindi i produttori di processori successivi hanno sviluppato la sicurezza hardware. La soluzione di Intel si chiama EIBRS e ARM è CSV2.

“Queste soluzioni sono complesse – l’articolo di ricerca originale è disponibile a questo link – ma il succo è che il predittore ‘in qualche modo’ tiene traccia del livello di autorizzazione (utente/kernel) a cui viene eseguito il target”, spiegano i ricercatori di VUSec. “E come ci si aspetterebbe, se il target appartiene a un livello di privilegio inferiore, il kernel non lo utilizzerà (cioè, non ci saranno più posizioni di codice casuali fornite da attaccanti che possono essere sequestrate in modo speculativo per il flusso di controllo del kernel). “

Il problema, tuttavia, è che il predittore della CPU si basa sulla cronologia globale per selezionare le voci di destinazione per l’esecuzione speculativa e, come hanno dimostrato i ricercatori VUSec, questa cronologia globale può essere danneggiata. In altre parole, mentre l’originale Spectre v2 consentiva agli aggressori di iniettare fisicamente la posizione del codice di destinazione e quindi eseguire di nascosto quel codice dal kernel, il nuovo attacco Spectre-BHI/BHB potrebbe costringere il kernel a prevedere erroneamente ed eseguire qualcosa di interessante. Gadget o frammenti di codice già esistenti. È nella storia ed è stato creato in passato, ma può portare alla perdita di dati.

“Intel eIBRS e Arm CSV2 sono corrotti? Come se. Ciò significa che le misure di sicurezza funzionano come previsto, ma la superficie di attacco rimanente è più importante di quanto inizialmente ipotizzato dai produttori. […] Tuttavia, la ricerca di strumenti che possono essere utilizzati sta diventando sempre più importante. “Più difficile di prima perché un utente malintenzionato non può iniettare obiettivi target direttamente oltre i limiti di autorizzazione.”

Mitigazione del nuovo bug Spectre-BHI

Intel ha identificato il nuovo Spectre-BHI come CVE-2022-0001 per la variante multi-privilegiata e CVE-2022-0002 per la variante multi-privilegiata. ARM lo descrive come CVE-2022-23960 per entrambe le varianti.

Secondo Intel, la maggior parte dei processori dell’azienda sono interessati, ad eccezione di quelli della famiglia Atom. Per ARM, le CPU deboli sono Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Entrambe le società hanno formulato raccomandazioni e stanno offrendo contromisure software in questo momento. ARM ha cinque diverse soluzioni di mitigazione a seconda del sistema.

Nel loro exploit Linux, i ricercatori VUSec hanno utilizzato eBPF, una tecnologia disponibile dalla versione 4.4 del kernel che consente di inserire i programmi in modalità sandbox nel kernel del sistema operativo. Sebbene eBPF non faccia parte del problema sottostante e si possano trovare altri strumenti di codice che possono far trapelare dati, la presenza di un eBPF non privilegiato “facilita notevolmente gli attacchi speculativi (e altri)”, hanno affermato i ricercatori. Per questo motivo, consigliano di disabilitarlo e alcune distribuzioni Linux hanno iniziato a disabilitarlo per impostazione predefinita.

Fonte: OSC

Guarda anche

.

Related Articles

技術

新しい攻撃は、IntelおよびARMプロセッサのSpectreホールに対するハードウェア防御メカニズムをバイパスします

新しい攻撃は、IntelおよびARMプロセッサのSpectreホールに対するハードウェア防御メカニズムをバイパスします

 

悪用するのは簡単ではありませんが、この概念実証は、一部のIntelおよびARMプロセッサが依然としてサイドチャネル攻撃に対して脆弱であることを示しています。


スペクターホール

 

Spectreと呼ばれる大きな欠陥を取り除くために過去数年間にIntelおよびARMプロセッサに導入されたハードウェア対策は、思ったほど強力ではありません。科学者たちは防御機構を克服できる新しい攻撃方法を開発しましたが、その使用は元のワームホールほど簡単ではありません。

VUアムステルダム(VUSec)のシステムおよびネットワークセキュリティグループの研究者によって発見された新しい攻撃は、IntelとARMが異なる名前を付けているため、Spectre-BHI(ブランチヒストリーインジェクション)またはSpectre-BHB(ブランチヒストリーストア)と呼ばれます。調査チームによると、これは2017 Spectre v2攻撃の拡張であり、Spectre-BTI(Branch Target Injection)とも呼ばれ、Spectre v2と同様に、特権カーネルメモリスペースから機密情報を漏洩する可能性があります。

また確認してください:

VUSecの研究者による概念実証のエクスプロイトは、非特権アカウントを使用して/ etc/shadowからrootパスワードハッシュをリークすることです。/ etc / shadowファイルは、管理ルートアカウントからのみアクセスできるLinux上のシステムファイルです。基本的に、このエクスプロイトはカーネルにファイルをメモリにロードさせ、通常は非特権プロセスによるアクセスから保護されますが、Spectre-BHI攻撃を使用してそのコンテンツにアクセスしてリークします。これは、ユーザーモードアプリケーションとメモリスペースを特権カーネルメモリスペースから分離する、最新のオペレーティングシステムの基本的なセキュリティ境界の重大な違反です。

スペクターとは何ですか?

Spectreは、2017年1月に最初に明らかになった脆弱性のクラスであり、投機的実行と呼ばれる最新のCPUパフォーマンス機能から発生します。この機能では、CPUは、プログラムが条件分岐にアクセスして命令を実行するときにたどるパスを事前に予測しようとします。このトラックは早く。内部アルゴリズムに基づく予測が間違っていることが判明した場合、プロセッサキャッシュに保存されている結果は破棄されます。Spectreやそれに続く他の多くのような投機的実行攻撃は、このメカニズムを使用して、サイドチャネルとして機能する一時キャッシュから情報を漏洩します。

「スペクターが発見されたとき、最も危険なタイプのスペクターである分岐ターゲットインジェクション(BTIまたはSpectre-v2)は、すべての許可レベルで簡単に使用できました」とVUSecの研究者は説明しています。「たとえば、非特権のユーザーランド攻撃者は、任意の子ターゲットを中間ユーザーランド分岐予測子に渡し、カーネルに注入されたコードターゲットに投機的にジャンプさせ、そこにあるコードを実行させる可能性があります。」

リスクを軽減するために、GoogleやLinuxカーネルメーカーなどのソフトウェアベンダーは、retpolineなどのソフトウェアソリューションを開発しました。効果的でしたが、パフォーマンスが大幅に低下したため、後のプロセッサメーカーがハードウェアセキュリティを開発しました。IntelのソリューションはEIBRSと呼ばれ、ARMはCSV2です。

「これらのソリューションは複雑です。元の研究記事はこのリンクから入手できますが、その要点は、予測子が「何らかの形で」ターゲットが実行される許可レベル(ユーザー/カーネル)を追跡することです」とVUSecの研究者は説明します。「そして、ご想像のとおり、ターゲットがより低い特権レベルに属している場合、カーネルはそれを使用しません(つまり、カーネルの制御フローのために投機的に押収される可能性のある、攻撃者が提供したランダムなコードの場所はもうありません)。 「」

ただし、問題は、CPUプレディクターがグローバル履歴に依存して投機的実行のターゲットエントリを選択することです。VUSecの研究者が示したように、このグローバル履歴は破損する可能性があります。つまり、元のSpectre v2では、攻撃者がターゲットコードの場所を物理的に挿入し、カーネルによってそのコードをステルスに実行することができましたが、新しいSpectre-BHI / BHB攻撃により、カーネルが誤った予測を行い、何か面白いものを実行する可能性があります。すでに存在するガジェットまたはコードスニペット。過去に作成されたものですが、データ漏洩につながる可能性があります。

「InteleIBRSとArmcVS2が破損していませんか?これは、セキュリティ対策が意図したとおりに機能していることを意味しますが、残りの攻撃対象領域は、メーカーが当初想定していたよりも重要です。[…]ただし、使用できるツールを見つけることは、ますます重要になっています。」攻撃者はアクセス許可の制限を超えてターゲットターゲットを直接注入できないため、以前よりも困難になっています。」

新しいSpectre-BHIバグの軽減

Intelは、新しいSpectre-BHIを、マルチ特権バリアントの場合はCVE-2022-0001、マルチ特権バリアントの場合はCVE-2022-0002として識別しました。ARMは、両方のバリアントでCVE-2022-23960と説明しています。

Intelによると、Atomファミリのプロセッサを除いて、同社のプロセッサのほとんどが影響を受けています。ARMの場合、弱いCPUはCortex-A15、Cortex-A57、Cortex-A72、Cortex-A73、Cortex-A75、Cortex-A76、Cortex-A76AE、Cortex-A77、Cortex-A78、Cortex-A78AE、Cortex-A78Cです。 Cortex-X1、Cortex-X2、Cortex-A710、Neoverse N1、Neoverse N2、NeoverseV1。

両社は現在、推奨事項を作成し、ソフトウェア対策を提供しています。ARMには、システムに応じて5つの異なる緩和ソリューションがあります。

Linuxのエクスプロイトでは、VUSecの研究者はeBPFを使用しました。これは、カーネルのバージョン4.4以降で利用可能なテクノロジであり、オペレーティングシステムのカーネルでプログラムをサンドボックス化できます。eBPFは根本的な問題の一部ではなく、データを漏洩する可能性のある他のコードツールを見つけることができますが、非特権eBPFの存在は、「投機的(および他の)攻撃を大幅に促進します」と研究者は述べています。このため、無効にすることをお勧めします。一部のLinuxディストリビューションでは、デフォルトで無効になっています。

出典:CSO

こちらもご覧ください

Related Articles

Técnica

O novo ataque ignora os mecanismos de defesa de hardware contra o buraco Spectre nos processadores Intel e ARM

O novo ataque ignora os mecanismos de defesa de hardware contra o buraco Spectre nos processadores Intel e ARM

 

Embora não seja fácil de explorar, essa prova de conceito mostra que alguns processadores Intel e ARM ainda são vulneráveis ​​a ataques de canal lateral.


Buraco do espectro

 

As contramedidas de hardware que foram implementadas nos processadores Intel e ARM nos últimos anos para remover uma grande falha chamada Spectre não são tão fortes quanto se pensava. Os cientistas desenvolveram um novo método de ataque que pode superar os mecanismos de defesa, mas seu uso não é tão fácil quanto o buraco de minhoca original.

O novo ataque, descoberto por pesquisadores do Grupo de Segurança de Sistemas e Redes da VU Amsterdam (VUSec), é chamado Specter-BHI (Branch History Injection) ou Spectre-BHB (Branch History Store) porque Intel e ARM deram nomes diferentes. De acordo com a equipe de pesquisa, esta é uma extensão do ataque Spectre v2 de 2017, também conhecido como Spectre-BTI (Branch Target Injection) e, como o Spectre v2, pode vazar informações confidenciais do espaço de memória do kernel privilegiado.

Confira também:

Uma exploração de prova de conceito por pesquisadores do VUSec é vazar hashes de senha de root de /etc/shadow usando uma conta não privilegiada. O arquivo /etc/shadow é um arquivo de sistema no Linux que só pode ser acessado pela conta raiz administrativa. Essencialmente, a exploração força o kernel a carregar um arquivo na memória onde normalmente estaria protegido do acesso por processos sem privilégios, mas depois usa um ataque Spectre-BHI para acessar e vazar seu conteúdo. Esta é uma violação séria do limite básico de segurança em sistemas operacionais modernos que separam aplicativos de modo de usuário e espaço de memória do espaço de memória do kernel privilegiado.

O que é Espectro?

Spectre é uma classe de vulnerabilidades, originalmente revelada em janeiro de 2017, que surge de um moderno recurso de desempenho de CPU chamado execução especulativa, no qual a CPU tenta prever antecipadamente o caminho que um programa seguirá ao acessar um branch condicional e executar instruções ao longo do esta faixa cedo. Se as previsões, baseadas em algoritmos internos, estiverem erradas, os resultados armazenados no cache do processador serão descartados. Ataques de execução especulativa como Spectre e muitos outros que se seguiram usam esse mecanismo para vazar informações de caches temporários que atuam como canais secundários.

“Na época em que o Spectre foi descoberto, o Branch Target Injection (BTI ou Spectre-v2), o tipo mais perigoso de Spectre, era fácil de usar em todos os níveis de permissão”, explicam os pesquisadores do VUSec. “Por exemplo, um invasor de userland sem privilégios pode passar qualquer alvo filho para um preditor de ramificação de userland intermediário e forçar o kernel a pular especulativamente para o alvo de código injetado e executar qualquer código que esteja lá.”

Para reduzir o risco, fornecedores de software como Google e fabricantes de kernel Linux desenvolveram soluções de software como o retpoline. Embora tenha sido eficaz, causou uma diminuição significativa no desempenho, de modo que os fabricantes de processadores posteriores desenvolveram a segurança do hardware. A solução da Intel é chamada EIBRS e ARM é CSV2.

“Essas soluções são complexas – o artigo de pesquisa original está disponível neste link – mas a essência disso é que o preditor ‘de alguma forma’ rastreia o nível de permissão (usuário/kernel) no qual o alvo é executado”, explicam os pesquisadores do VUSec. “E, como seria de esperar, se o alvo pertencer a um nível de privilégio mais baixo, o kernel não o usará (ou seja, não haverá mais locais de código aleatórios fornecidos pelo invasor que possam ser apreendidos especulativamente para o fluxo de controle do kernel). “

O problema, no entanto, é que o preditor da CPU depende do histórico global para selecionar entradas de destino para execução especulativa e, como os pesquisadores do VUSec demonstraram, esse histórico global pode ser corrompido. Em outras palavras, enquanto o Spectre v2 original permitia que invasores injetassem fisicamente a localização do código de destino e, em seguida, executassem furtivamente esse código pelo kernel, o novo ataque Spectre-BHI/BHB poderia forçar o kernel a prever incorretamente e executar algo interessante. Gadgets ou snippets de código que já existem. Está na história e foi feito no passado, mas pode levar ao vazamento de dados.

“O Intel eIBRS e o Arm CSV2 foram corrompidos? Como se. Isso significa que as medidas de segurança estão funcionando conforme o esperado, mas a superfície de ataque restante é mais importante do que os fabricantes originalmente supunham. […] No entanto, encontrar ferramentas que possam ser usadas está se tornando cada vez mais importante.” Mais difícil do que antes porque um invasor não pode injetar alvos diretamente nos limites de permissão.”

Atenuando o novo bug Spectre-BHI

A Intel identificou o novo Spectre-BHI como CVE-2022-0001 para a variante com vários privilégios e CVE-2022-0002 para a variante com vários privilégios. ARM descreve-o como CVE-2022-23960 para ambas as variantes.

Segundo a Intel, a maioria dos processadores da empresa são afetados, com exceção dos da família Atom. Para ARM, as CPUs fracas são Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Ambas as empresas fizeram recomendações e estão oferecendo contramedidas de software no momento. O ARM possui cinco soluções de mitigação diferentes, dependendo do sistema.

Em sua exploração do Linux, os pesquisadores do VUSec usaram eBPF, uma tecnologia disponível desde a versão 4.4 do kernel que permite que os programas sejam colocados em sandbox no kernel do sistema operacional. Embora o eBPF não faça parte do problema subjacente e outras ferramentas de código que podem vazar dados possam ser encontradas, a presença de um eBPF não privilegiado “facilita muito ataques especulativos (e outros)”, disseram os pesquisadores. Por esse motivo, eles recomendam desativá-lo, e algumas distribuições Linux começaram a desativá-lo por padrão.

Fonte: CSO

Assista também

.

Related Articles

Техника

Новая атака обходит механизмы аппаратной защиты от дыры Spectre в процессорах Intel и ARM.

Новая атака обходит механизмы аппаратной защиты от дыры Spectre в процессорах Intel и ARM.

 

Это доказательство концепции, которое нелегко использовать, показывает, что некоторые процессоры Intel и ARM по-прежнему уязвимы для атак по сторонним каналам.


Призрачная дыра

 

Аппаратные меры противодействия, которые были предприняты в отношении процессоров Intel и ARM за последние несколько лет для устранения крупного недостатка под названием Spectre, не так сильны, как предполагалось. Ученые разработали новый метод атаки, способный преодолевать защитные механизмы, но его использование не так просто, как использование оригинальной червоточины.

Новая атака, обнаруженная исследователями из группы систем и сетевой безопасности VU Amsterdam (VUSec), называется Spectre-BHI (внедрение истории веток) или Spectre-BHB (хранилище истории веток), потому что Intel и ARM дали ей разные имена. По словам исследовательской группы, это расширение атаки Spectre v2 2017 года, также известной как Spectre-BTI (Branch Target Injection), и, как и Spectre v2, может привести к утечке конфиденциальной информации из привилегированного пространства памяти ядра.

Проверьте также:

Экспериментальный эксплойт исследователей VUSec заключается в утечке хэшей корневого пароля из /etc/shadow с использованием непривилегированной учетной записи. Файл /etc/shadow — это системный файл в Linux, доступ к которому возможен только с учетной записи администратора root. По сути, эксплойт заставляет ядро ​​загрузить файл в память, где он обычно защищен от доступа непривилегированными процессами, но затем использует атаку Spectre-BHI для доступа и утечки его содержимого. Это серьезное нарушение базовой границы безопасности в современных операционных системах, которая отделяет приложения пользовательского режима и пространство памяти от привилегированного пространства памяти ядра.

Что такое Спектр?

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

«В то время, когда был обнаружен Spectre, Branch Target Injection (BTI или Spectre-v2), самый опасный тип Spectre, было легко использовать на всех уровнях разрешений», — объясняют исследователи VUSec. «Например, злоумышленник непривилегированного пользовательского пространства может передать любую дочернюю цель предсказателю ветвления промежуточного пользовательского пространства и заставить ядро ​​спекулятивно перейти к цели внедренного кода и выполнить любой код, который там есть».

Чтобы снизить риск, поставщики программного обеспечения, такие как Google и производители ядра Linux, разработали программные решения, такие как retpoline. Хотя это было эффективно, оно вызывало значительное снижение производительности, поэтому позже производители процессоров разработали аппаратную защиту. Решение Intel называется EIBRS, а ARM — CSV2.

«Эти решения сложны — оригинальная исследовательская статья доступна по этой ссылке, — но суть их в том, что предиктор «каким-то образом» отслеживает уровень разрешений (пользователь/ядро), на котором выполняется цель», — объясняют исследователи VUSec. «И, как и следовало ожидать, если цель принадлежит к более низкому уровню привилегий, то ядро ​​не будет ее использовать (т. е. больше не будет предоставленных злоумышленником случайных участков кода, которые можно спекулятивно захватить для потока управления ядром). “

Проблема, однако, заключается в том, что предсказатель ЦП полагается на глобальную историю для выбора целевых записей для спекулятивного выполнения, и, как продемонстрировали исследователи VUSec, эта глобальная история может быть повреждена. Другими словами, в то время как первоначальная версия Spectre v2 позволяла злоумышленникам физически внедрить местоположение целевого кода, а затем скрытно выполнить этот код ядром, новая атака Spectre-BHI/BHB может заставить ядро ​​неправильно предсказать и выполнить что-то интересное. Гаджеты или фрагменты кода, которые уже существуют. Это в истории и было сделано в прошлом, но это может привести к утечке данных.

“Не повреждены ли Intel eIBRS и Arm CSV2? Как будто. Это означает, что меры безопасности работают, как предполагалось, но оставшаяся поверхность атаки важнее, чем первоначально предполагали производители. […] Однако поиск инструментов, которые можно использовать, становится становится все более и более важным.» Сложнее, чем раньше, потому что злоумышленник не может внедрить целевые объекты напрямую через ограничения разрешений».

Устранение новой ошибки Spectre-BHI

Intel определила новый Spectre-BHI как CVE-2022-0001 для многопривилегированного варианта и CVE-2022-0002 для многопривилегированного варианта. ARM описывает его как CVE-2022-23960 для обоих вариантов.

По данным Intel, затронуто большинство процессоров компании, за исключением процессоров семейства Atom. Для ARM слабыми процессорами являются Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex-A78C. Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Обе компании дали рекомендации и прямо сейчас предлагают программные контрмеры. ARM предлагает пять различных решений по смягчению последствий в зависимости от системы.

В своем эксплойте для Linux исследователи VUSec использовали eBPF, технологию, доступную, начиная с версии 4.4 ядра, которая позволяет помещать программы в песочницу в ядре операционной системы. Хотя eBPF не является частью основной проблемы, и можно найти другие инструменты кода, которые могут привести к утечке данных, наличие непривилегированного eBPF «значительно облегчает спекулятивные (и другие) атаки», — говорят исследователи. По этой причине его рекомендуют отключать, и некоторые дистрибутивы Linux начали отключать его по умолчанию.

Источник: ОГО

Смотрите также

.

Related Articles

Técnica

El nuevo ataque pasa por alto los mecanismos de defensa del hardware contra el agujero de Spectre en los procesadores Intel y ARM

El nuevo ataque pasa por alto los mecanismos de defensa del hardware contra el agujero de Spectre en los procesadores Intel y ARM

 

Si bien no es fácil de explotar, esta prueba de concepto muestra que algunos procesadores Intel y ARM aún son vulnerables a los ataques de canal lateral.


Agujero de espectro

 

Las contramedidas de hardware que se han implementado en los procesadores Intel y ARM en los últimos años para eliminar una falla importante llamada Spectre no son tan sólidas como se pensaba. Los científicos han desarrollado un nuevo método de ataque que puede superar los mecanismos de defensa, pero su uso no es tan fácil como el agujero de gusano original.

El nuevo ataque, descubierto por investigadores de Systems and Network Security Group en VU Amsterdam (VUSec), se llama Specter-BHI (Branch History Injection) o Specter-BHB (Branch History Store) porque Intel y ARM le han dado nombres diferentes. Según el equipo de investigación, esta es una extensión del ataque Spectre v2 de 2017, también conocido como Spectre-BTI (Branch Target Injection), y al igual que Spectre v2, puede filtrar información confidencial del espacio de memoria privilegiado del kernel.

Compruebe también:

Un exploit de prueba de concepto por parte de los investigadores de VUSec es filtrar hashes de contraseña raíz de /etc/shadow utilizando una cuenta sin privilegios. El archivo /etc/shadow es un archivo de sistema en Linux al que solo puede acceder la cuenta raíz administrativa. Esencialmente, el exploit obliga al kernel a cargar un archivo en la memoria donde normalmente estaría protegido contra el acceso de procesos sin privilegios, pero luego usa un ataque Spectre-BHI para acceder y filtrar su contenido. Esta es una violación grave del límite de seguridad básico en los sistemas operativos modernos que separa las aplicaciones en modo usuario y el espacio de memoria del espacio de memoria privilegiado del núcleo.

¿Qué es Espectro?

Spectre es una clase de vulnerabilidades, reveladas originalmente en enero de 2017, que surgen de una característica de rendimiento de la CPU moderna llamada ejecución especulativa, en la que la CPU intenta predecir de antemano la ruta que tomará un programa cuando acceda a una rama condicional y ejecute instrucciones a lo largo. esta pista temprano. Si las predicciones, basadas en algoritmos internos, resultan incorrectas, los resultados almacenados en la memoria caché del procesador se descartarán. Los ataques de ejecución especulativa como Spectre y muchos otros que le han seguido utilizan este mecanismo para filtrar información de cachés temporales que actúan como canales secundarios.

“En el momento en que se descubrió Spectre, Branch Target Injection (BTI o Spectre-v2), el tipo más peligroso de Spectre, era fácil de usar en todos los niveles de permiso”, explican los investigadores de VUSec. “Por ejemplo, un atacante sin privilegios en el espacio del usuario podría pasar cualquier objetivo secundario a un predictor de rama del espacio del usuario intermedio y obligar al kernel a saltar especulativamente al objetivo del código inyectado y ejecutar cualquier código que esté allí”.

Para reducir el riesgo, los proveedores de software como Google y los fabricantes de kernel de Linux han desarrollado soluciones de software como retpoline. Aunque fue efectivo, provocó una disminución significativa en el rendimiento, por lo que los fabricantes de procesadores posteriores desarrollaron seguridad de hardware. La solución de Intel se llama EIBRS y ARM es CSV2.

“Estas soluciones son complejas, el artículo de investigación original está disponible en este enlace, pero la esencia es que el predictor ‘de alguna manera’ rastrea el nivel de permiso (usuario/núcleo) en el que se ejecuta el objetivo”, explican los investigadores de VUSec. “Y como era de esperar, si el objetivo pertenece a un nivel de privilegio más bajo, entonces el kernel no lo usará (es decir, no habrá más ubicaciones de código proporcionadas por el atacante al azar que puedan aprovecharse especulativamente para el flujo de control del kernel). “

Sin embargo, el problema es que el predictor de la CPU se basa en el historial global para seleccionar las entradas de destino para la ejecución especulativa y, como han demostrado los investigadores de VUSec, este historial global puede corromperse. En otras palabras, mientras que el Spectre v2 original permitía a los atacantes inyectar físicamente la ubicación del código objetivo y luego ejecutar sigilosamente ese código mediante el kernel, el nuevo ataque Spectre-BHI/BHB podría obligar al kernel a predecir erróneamente y ejecutar algo interesante. Gadgets o fragmentos de código que ya existen. Está en la historia y se hizo en el pasado, pero puede provocar una fuga de datos.

“¿Intel eIBRS y Arm CSV2 se corrompieron? Como si. Esto significa que las medidas de seguridad están funcionando según lo previsto, pero la superficie de ataque restante es más importante de lo que los fabricantes supusieron originalmente. […] Sin embargo, encontrar herramientas que se puedan usar es cada vez más cada vez más importante”. Más difícil que antes porque un atacante no puede inyectar objetivos directamente a través de los límites de permiso”.

Mitigar el nuevo error Spectre-BHI

Intel identificó el nuevo Spectre-BHI como CVE-2022-0001 para la variante con múltiples privilegios y CVE-2022-0002 para la variante con múltiples privilegios. ARM lo describe como CVE-2022-23960 para ambas variantes.

Según Intel, la mayoría de los procesadores de la compañía están afectados, a excepción de los de la familia Atom. Para ARM, las CPU débiles son Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Ambas compañías han hecho recomendaciones y están ofreciendo contramedidas de software en este momento. ARM tiene cinco soluciones de mitigación diferentes según el sistema.

En su explotación de Linux, los investigadores de VUSec utilizaron eBPF, una tecnología disponible desde la versión 4.4 del kernel que permite que los programas se aíslen en el kernel del sistema operativo. Si bien eBPF no es parte del problema subyacente y se pueden encontrar otras herramientas de código que pueden filtrar datos, la presencia de un eBPF no privilegiado “facilita en gran medida los ataques especulativos (y otros)”, dijeron los investigadores. Por eso recomiendan desactivarlo, y algunas distribuciones de Linux han comenzado a desactivarlo por defecto.

Fuente: OSC

Mira también

.

Related Articles

teknik

Yeni saldırı, Intel ve ARM işlemcilerdeki Spectre deliğine karşı donanım savunma mekanizmalarını atlıyor

Yeni saldırı, Intel ve ARM işlemcilerdeki Spectre deliğine karşı donanım savunma mekanizmalarını atlıyor

 

Sömürülmesi kolay olmasa da, bu kavram kanıtı, bazı Intel ve ARM işlemcilerinin yan kanal saldırılarına karşı hala savunmasız olduğunu gösteriyor.


hayalet deliği

 

Spectre adı verilen büyük bir kusuru ortadan kaldırmak için son birkaç yılda Intel ve ARM işlemcilerinde alınan donanım önlemleri sanıldığı kadar güçlü değil. Bilim adamları, savunma mekanizmalarını aşabilecek yeni bir saldırı yöntemi geliştirdiler ancak kullanımı orijinal solucan deliği kadar kolay değil.

VU Amsterdam’daki (VUSec) Sistemler ve Ağ Güvenliği Grubundan araştırmacılar tarafından keşfedilen yeni saldırı, Intel ve ARM’nin farklı isimler vermesi nedeniyle Spectre-BHI (Dal Geçmişi Enjeksiyonu) veya Spectre-BHB (Dal Geçmişi Mağazası) olarak adlandırılıyor. Araştırma ekibine göre bu, Spectre-BTI (Branch Target Injection) olarak da bilinen 2017 Spectre v2 saldırısının bir uzantısıdır ve Spectre v2 gibi ayrıcalıklı çekirdek bellek alanından hassas bilgiler sızdırabilir.

Ayrıca kontrol edin:

VUSec araştırmacıları tarafından kullanılan bir kavram kanıtı, ayrıcalıklı olmayan bir hesap kullanarak /etc/shadow’dan kök parola karmalarını sızdırmaktır. /etc/shadow dosyası, Linux’ta yalnızca yönetici kök hesabı tarafından erişilebilen bir sistem dosyasıdır. Esasen, istismar, çekirdeği, normalde ayrıcalıksız işlemler tarafından erişime karşı korunacağı bir dosyayı belleğe yüklemeye zorlar, ancak daha sonra içeriğine erişmek ve sızdırmak için bir Spectre-BHI saldırısı kullanır. Bu, modern işletim sistemlerinde kullanıcı modu uygulamaları ve bellek alanını ayrıcalıklı çekirdek bellek alanından ayıran temel güvenlik sınırının ciddi bir ihlalidir.

Spectre nedir?

Spectre, ilk olarak Ocak 2017’de ortaya çıkan ve spekülatif yürütme adı verilen modern bir CPU performans özelliğinden kaynaklanan ve CPU’nun bir programın koşullu bir şubeye eriştiğinde izleyeceği yolu önceden tahmin etmeye çalıştığı ve talimatları yürüttüğü bir güvenlik açıkları sınıfıdır. bu Parça erken. Dahili algoritmalara dayalı tahminler yanlış çıkarsa, işlemci önbelleğinde saklanan sonuçlar atılacaktır. Spectre gibi spekülatif yürütme saldırıları ve bunu takip eden diğerleri, yan kanallar olarak hareket eden geçici önbelleklerden bilgi sızdırmak için bu mekanizmayı kullanır.

VUSec araştırmacıları, “Spectre keşfedildiği zaman, en tehlikeli Spectre türü olan Branch Target Injection (BTI veya Spectre-v2), tüm izin seviyelerinde kullanımı kolaydı” diye açıklıyor. “Örneğin, ayrıcalıklı olmayan bir kullanıcı alanı saldırganı, herhangi bir alt hedefi bir ara kullanıcı alanı şube tahmincisine iletebilir ve çekirdeği, spekülatif olarak enjekte edilen kod hedefine atlamaya ve oradaki kodu çalıştırmaya zorlayabilir.”

Riski azaltmak için Google ve Linux çekirdek üreticileri gibi yazılım satıcıları retpoline gibi yazılım çözümleri geliştirmiştir. Etkili olmasına rağmen, performansta önemli bir düşüşe neden oldu, bu nedenle daha sonraki işlemci üreticileri donanım güvenliğini geliştirdi. Intel’in çözümüne EIBRS denir ve ARM, CSV2’dir.

VUSec araştırmacıları, “Bu çözümler karmaşıktır – orijinal araştırma makalesi bu bağlantıda mevcuttur – ancak bunun özü, ‘bir şekilde’ öngörücünün hedefin yürütüldüğü izin seviyesini (kullanıcı/çekirdek) izlemesidir” diye açıklıyor. “Ve beklediğiniz gibi, hedef daha düşük bir ayrıcalık düzeyine aitse, çekirdek bunu kullanmayacaktır (yani, çekirdeğin kontrol akışı için spekülatif olarak ele geçirilebilecek, saldırgan tarafından sağlanan rastgele kod konumları olmayacaktır). “

Ancak sorun, CPU tahmincisinin spekülatif yürütme için hedef girişleri seçmek için küresel geçmişe dayanmasıdır ve VUSec araştırmacılarının gösterdiği gibi, bu küresel geçmiş bozulabilir. Başka bir deyişle, orijinal Spectre v2, saldırganların hedef kodun konumunu fiziksel olarak enjekte etmesine ve ardından bu kodu çekirdek tarafından gizlice yürütmesine izin verirken, yeni Spectre-BHI/BHB saldırısı, çekirdeği yanlış tahmin etmeye ve ilginç bir şey yürütmeye zorlayabilir. Zaten var olan gadget’lar veya kod parçacıkları. Tarihte ve geçmişte yapıldı, ancak veri sızıntısına neden olabilir.

“Intel eIBRS ve Arm CSV2 bozuldu mu? Sanki. Bu, güvenlik önlemlerinin amaçlandığı gibi çalıştığı, ancak kalan saldırı yüzeyinin üreticilerin başlangıçta varsaydığından daha önemli olduğu anlamına geliyor. […] Ancak, kullanılabilecek araçlar bulmak giderek artıyor. daha da önemli.” Eskisinden daha zor çünkü bir saldırgan hedef hedefleri izin sınırlarının ötesine doğrudan enjekte edemez.”

Yeni Spectre-BHI hatasını azaltma

Intel, yeni Spectre-BHI’yi çoklu ayrıcalıklı varyant için CVE-2022-0001 ve çok ayrıcalıklı varyant için CVE-2022-0002 olarak tanımladı. ARM, her iki varyant için de CVE- 2022-23960 olarak tanımlar.

Intel’e göre, Atom ailesindekiler hariç, şirketin işlemcilerinin çoğu etkileniyor. ARM için zayıf CPU’lar Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Her iki şirket de önerilerde bulundu ve şu anda yazılım karşı önlemleri sunuyor. ARM, sisteme bağlı olarak beş farklı azaltma çözümüne sahiptir.

VUSec araştırmacıları, Linux açıklarında, programların işletim sisteminin çekirdeğinde sandbox’a alınmasına izin veren, çekirdeğin 4.4 sürümünden beri mevcut olan bir teknoloji olan eBPF’yi kullandılar. Araştırmacılar, eBPF’nin altta yatan sorunun bir parçası olmamasına ve veri sızdırabilecek diğer kod araçlarının bulunabilmesine rağmen, ayrıcalığı olmayan bir eBPF’nin varlığının “spekülatif (ve diğer) saldırıları büyük ölçüde kolaylaştırdığını” söyledi. Bu nedenle devre dışı bırakılmasını öneriyorlar ve bazı Linux dağıtımları varsayılan olarak devre dışı bırakmaya başladı.

Kaynak: STK

Ayrıca izle

.

Related Articles

Back to top button