検索
特集/連載

セキュリティが根本から変わる「脆弱性があっても悪用させない」技術セキュリティの概念を変えるDSbD【前編】

英UKRIはサイバーセキュリティを根本から変え、ソフトウェアに起因する脆弱性を排除しようとしている。その一端が「メモリの安全性」技術だ。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 何十年もの間、コンピュータはソフトウェアの設計ミスやバグに起因する脆弱(ぜいじゃく)性を抱え、データの侵害やランサムウェア攻撃にさらされてきた。サイバーセキュリティの世界は、コンピュータの基本的な問題をブロックあるいは排除するのではなく、攻撃のリスクと機会の低減を中心に進化してきた。

 ここには2つの根本的な問題がある。一つはパッチの適用が唯一の解決策であること。もう一つが脆弱性の結果をブロックする方法が見つからないことだ。つまり、病気を防ぐのではなく病気を治療するしかないのだ。

アーキテクチャの大改革:メモリの安全性

 その理由の一つは、ソフトウェアを実行する基本的なアーキテクチャが変わっていないことにある。


iStock.com/metamorworks

 UK Research and Innovation(UKRI)は、サイバー攻撃からコンピュータを確実に保護する方法を根本的に変えようとしている。脆弱性を設計レベルでブロックし、コンピュータの操作とデータをデフォルトで保護する全く新しいルールをもたらす技術を提供するため、UKRIは「Digital Security by Design Challenge」(DSbD)を作成した。

 ソフトウェアにおける新しいアプローチの目標は、メモリの安全性向上だ。これは通常、パフォーマンスを大きく低下させるか、ソフトウェアを極度に制約するか、数十億行のコードを根本的に書き直す必要がある。だがそんなことをすれば新たな脆弱性が生まれる可能性がさらに高くなる。

 英ケンブリッジ大学の研究プログラム「CHERI」は、基本的だが段階的に発展可能な変更を加えることができるプロセッサアーキテクチャ設計を調査した。これが実現すれば、ソフトウェア設計を過度に制約することなく、ハードウェア自体によるメモリセーフな設計を実装可能になる。

 UKRIが出資した最初のプロジェクトはArm主導のコンソーシアムだ。そこでは、メインストリームプロセッサにCHERIの概念を適用できるかどうかを「Morello」プログラムとして調査している。

 既存のプロセッサでは、OSやアプリケーションが広範囲のメモリを操作できる。CHERIの設計原則はそれとは異なり、メモリ領域を細分化する。ソフトウェアがアクセスできるのは意図的に許可されたメモリ領域に限定される。

 脆弱なコードにはコードを書き込むアクセス権が設計上ないため、コンピュータの脆弱性を利用してコードを書き込むサイバー攻撃は起こらなくなる。

後編では、「区画化」による各種コードとデータの細分化技術とそれらを実現するためのロードマップを解説する。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る