PortSmash、Intel CPUのHyperThreadingをターゲットする攻撃はデータ漏洩の脆弱性

2018.11.15

投稿者 :Justin Brunnette

カテゴリ: IT News

みんな元気ですか!ブルーネットです。
 

IntelのCPUにさらに弱点が見つかりました。これはAMDのチップにも関わるかわからりませんが、Intelは結構ハッキングのターゲットになっているみたいです。

元の記事は:

https://nakedsecurity.sophos.com/2018/11/05/portsmash-attack-steals-secrets-from-intel-chips-on-the-side/

 

[日本語]


最近の研究結果で、IntelのCPUマルチスレッド・オペレーションに依存するプログラムから情報を盗まれることが発見されました。 IntelのCPUは、演算能力を高めるためにハイパースレッドアーキテクチャを採用しています。 ハイパースレッディングで使用されるポートを対象とする一種のサイドチャネリング攻撃で悪用される恐れがあります。 フィンランドのタンペレ技術大学(Tampere University of Technology)とキューバのハバナ技術大学(Technical University of Havana)を組んだチームはPortSmashと言う概念証明を開発しました。

 

PortSmashは同時マルチスレッディングと呼ばれるものをターゲットにしています。CPUは単一のCPUコアで複数のプログラムを実行できます。 この機能はほとんどの最新のCPUに搭載されておりますが、IntelのバージョンはHyperThreadingと呼んでいます。これが今回のサイドチャネリング攻撃の中心です。 サイドチャネリング攻撃は、あるプログラムが別のプログラムからのデータを見たり盗んだりすることを可能とします。 サイドチャネリング攻撃は、プログラムデータを直接監視するのではなく、実行中のプログラムが基礎データを明らかにするために、キーまたはデータのパターンを分析して提供します。

 

CPUコアのアーキテクチャは、クロスコア攻撃よりサイドチャネリング攻撃の攻撃対象が広いです。 この理由は、サイドチャネリング攻撃が個々のコアのポートを対象としてるからです。 ポートは、プログラムの実行してるコアの領域です。マルチスレッド·ワークロードは、コアの生産性と効率を向上させる機能です。 コアで実行できるプログラムまたはスレッドは普段1つのポートですが、常にそのポートを使用しているわけではありません。 追加のスレッドを実行することにより、このポートが使用されてない時を利用することで、ポート使用効率とコアの生産性が向上します。 しかし、コアが2つのスレッドを実行している場合、各スレッドは、そのポートがオープンするのを待たないといけません。

 

PortSmashは、このマルチスレッドを悪用するものです。 ターゲットポートに衝撃を与えまして、さまざまな情報が表示され際に、応答にどれくらいの時間がかかるかを計ります。 PortSmashの情報を実行するのにかかる時間を測定することによって、他のスレッドの実行にかかる時間を分析できます。 これにより、分析対象となるプログラムの情報を解析を行うことにより明らかにします。 研究者チームは、PortSmashがTLSサーバーからOpenSSLキーを取得できることを証明しました。

 

この脆弱性は、動画やゲームなどの一般的なコンピュータの使用ではあまり効果がありませんが、ハッカーがコンピュータにPortSmashを実行できる立場にある場合でしたら、そもそも他の簡単な方法でも情報を得ることができます 。 ですがこの攻撃は、クラウド・サーバーなどの共有環境でマルチスレッド・ワークロードを使用するユーザーにとって、大きな懸念事項です。この問題によるものかは定かはではありませんが、Intelの最新CPUはハイパースレッディングを廃止するなっております。

 
PortSmash Attacks Target Intel CPUs’ HyperThreading,  a Vulnerability in Data Leakage
 

Recent research results have found a way to steal information from programs relying on Intel CPU multi threaded operations. Intel CPUs have an architecture that employs hyperthreading to boost computing power. This can be exploited through a type of side channeling attack that targets ports used in hyperthreading. The proof of concept is called PortSmash, developed by a team from Finland’s Tampere University of Technology and the Technical University of Havana, Cuba.

 

PortSmash targets what is called simultaneous multi-threading, which allows a CPU to run multiple programs in a single CPU core. This feature is present in most modern CPUs, Intel has their own version called HyperThreading, which is the center of this side channeling attack. Side channeling attacks are when one program watching or steals data from another program. Side channeling attacks do not view a programs data directly but rather the thread that the program in running on will provide various keys or patterns that can be analyzed to reveal the underlying data.

 

The architecture of CPU cores have a wider attack surface for side channeling attacks to work with than cross-core attacks. This is because the side channeling attack targets ports of individual cores. Ports are regions of the core that the calculation of a program is taking place in. Multi threaded workloads work to increase the productivity and efficiency of a core. While just a single program or thread can run on a core, it is not using the port all the time. By utilizing the downtime for this port by running an additional thread, increases the efficiency of the port usage and the productivity of the core. But when a core is running two threads, each thread have to wait for the port to open while the other thread is running.

 

What PortSmash does is that it will exploit this multi threading. It will bombard its target port will various information to see how long it will take to respond. By measuring how long it takes to execute this information, it can analyze how long it takes to execute the other thread. This reveals the underlying programs information overtime. The researchers where able to show that PortSmash can retrieve the OpenSSL key from a TLS server.

 

Though this exploit doesn’t do much for the typical computer usage such as steaming videos or gaming, if a hacker is in the position to be able to execute PortSmash on your computer, they would be able to gain information through other simpler methods as well. This attack is more of a concern for those who employ a multi threaded workload for shared environments such as a Cloud server. But the hacker will still need to be on the same core as the program they want to attack.