検索
ニュース

ハッキングを未然に防ぐプロセッサ「MORPHEUS」を開発、ミシガン大暗号化とランダム化を高速実行

米ミシガン大学の研究チームが、脅威に対してプロアクティブに防御するプロセッサアーキテクチャ「MORPHEUS」を開発した。「チャーン」技術を用いた。

Share
Tweet
LINE
Hatena

 米ミシガン大学の研究チームが、新しいコンピュータプロセッサアーキテクチャ「MORPHEUS」を開発した。脅威に対してプロアクティブに防御するようになり、バグをパッチで修正する現在のセキュリティモデルが時代遅れになるかもしれない。

 MORPHEUSは1秒間に数十回、プログラムコードとデータの鍵となるビットを暗号化し、ランダムに入れ替える。これは、最も高速なハッキング技術よりも数千倍高速だ。

 ミシガン大学のコンピュータ科学工学教授で、MORPHEUSを開発したトッド・オースティン氏はこう語る。「新しいコードが作成されると、新しいバグやセキュリティ脆弱(ぜいじゃく)性が発生する。これらを1つずつ修正するのではきりがない。ハッカーに付け込まれる危険はなくならない」

 「MORPHEUSベースのコンピュータでは、ハッカーが何らかのバグを見つけても、バグの悪用に必要な情報が(例えば)50ミリ秒後には消えてしまう。これは、将来にわたって安全なシステムに最も近いものかもしれない」(オースティン氏)

 オースティン氏などの研究チームは、MORPHEUSアーキテクチャに基づくプロトタイププロセッサを試作し、「制御フロー攻撃(control flow attack)」について既知のあらゆるバリエーションを防ぐことに成功した。制御フロー攻撃は、最も危険で、最も広く使われている攻撃手法の一つだ。

 例えば機密性に関わるポインタ変数を1つ見つけて、これを上書きするようなバグを使い、ユーザープログラムの実行を乗っ取るような攻撃だ。

 オースティン氏らの論文に掲載された以下のコードは、vulnerable関数のバッファオーバーフローの脆弱性を利用して、リターンアドレスを上書きする。MORPEUSはこのような攻撃を防ぐことが可能だ。

void target() {
printf("You overflowed successfully, gg");
exit(0);
}
void vulnerable(char* str1) {
char buf[5];
strcpy(buf, str1);
}
int main() {
vulnerable("ffffffffffffffff\xf0\x03\x02\x01");
printf("This only prints in normal control flow");
}

MORPHEUSのチャーン技術とは?

 MORPHEUSで実証した技術は、ノートPCやデスクトップPCからIoTデバイスまで、さまざまな用途に使用できる。

 オースティン氏は、「MORPHEUSは、コードの既知の脆弱性をソフトウェアで修正するのではなく、ハードウェアにセキュリティを組み込む」と述べている。MORPHEUSは「チャーン(churn:かくはん機)」というプロセスにより、プログラムの重要な資産を常にランダム化することで、脆弱性の悪用をほぼ不可能にすると説明している。

 これはソフトウェア開発者やエンドユーザーにとっても朗報だ。MORPHEUSを採用したとしても動作が透過的であるために、意識しないで済むからだ。MORPHEUSは主に、“定義されないセマンティクス”と呼ばれるデータビットをランダム化する。定義されないセマンティクスは、コンピューティングアーキテクチャで広く使われており、例えば、プログラムコードの場所やフォーマットは定義されないセマンティクスの例だ。データビットのランダム化によって、例えばポインタ変数を上書きしてユーザープログラムの実行を乗っ取るような攻撃を防ぐことができる。

 定義されないセマンティクスは、プロセッサの最も基本的な機構の一部であり、プログラマーがこれらを操作することは一般にはない。だが、ハッカーは、脆弱性を見つけて攻撃を仕掛けるために、定義されないセマンティクスをリバースエンジニアの対象とすることがある。

最適なチャーンの頻度は?

 MORPHEUSプロセッサのランダム化(チャーン)の速度は目的によって変更できる。セキュリティを最大化するか、リソース消費を最小化するか、適正なバランスを選択できる。オースティン氏によると、今回はデモのために毎秒20回(50ミリ秒ごとに1回)というチャーンレートを選んだ。

 このレートは最も高速なハッキング技術よりも数千倍高速だが、パフォーマンス低下率は1%程度にすぎない。さらにMORPHEUSには、攻撃検知機能が備わっており、攻撃が差し迫っていることを検知すると、チャーンレートを上昇させて、より攻撃が難しくなるようにする。

 デモに使われたプロセッサは、研究用によく使われるオープンソースチップ設計である「RISC-Vプロセッサ」だ。オースティン氏は、スタートアップ企業のAgita Labsで、MORPHEUS技術の商用化に取り組んでいる。Agita Labsは、オースティン氏と、ミシガン大学のコンピュータ科学工学教授で論文の執筆者の1人であるバレリア・バータコ氏が共同で設立した企業だ。

 オースティン氏と研究チームは2019年4月、MORPHEUSプロセッサと研究論文のプレゼンテーションをACM International Conference on Architectural Support for Programming Languages and Operating Systemsで行った。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る