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

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

» 2019年05月15日 16時30分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 米ミシガン大学の研究チームが、新しいコンピュータプロセッサアーキテクチャ「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のチャーン技術とは?

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。