サイバーセキュリティ対策を行う、シノプシスのCyRC
近年、多くの領域でソフトウェアの導入やIT化が進んでいる。それに伴い、サイバーインシデントのリスクも増加している。サイバーインシデントとは、システムの情報流出や不正侵入、マルウエア感染、Webサイト改ざん、DoS(DDoS)攻撃などにより、ユーザーや組織に対して被害が発生することを指す。保険・金融サービスを提供しているAllianz Global Corporate & Specialty(AGCS)の発表によれば、サイバーインシデントによるリスクの大きさは自然災害をも上回っているというから驚きである。
サイバーインシデントを引き起こす原因の1つがシステムの脆弱性だ。これはソフトウェアの欠陥によって、本来はできないはずの操作ができたり、閲覧できるべきではない情報が第三者に見えてしまったりする不具合のこと。脆弱性が混入する場所はさまざまだ。私たちが利用するアプリケーションだけではなく、OSやデバイスドライバー、CPU、オープンソースソフトウェアなど、どのようなコンポーネントのなかにも脆弱性は潜んでいる。
「シノプシスのCyRC(Cyber Security Research Center)は、ソフトウェア脆弱性の調査・研究を行い、サイバーセキュリティへの対策をする組織です。シノプシスの保有する技術である静的解析や動的解析、ソフトウェア構成解析、ファジング、オープンソースソフトウェア開発などの知見・ノウハウを利用して、各種の調査を行っています。また、ボストンやベルファスト、カルガリー、オウルなど複数の拠点で活動しているのです」
松岡氏は、CyRCが2020年3月にレポートしたAndroid OS搭載スマートフォンの指紋認証システムの脆弱性「CVE-2020-7958: biometric data extraction in Android devices」について解説する。脆弱性が発生していたデバイスはOnePlus 7 Pro。REE(Rich Extention Envinronment)によって保護されているはずの指紋ビットマップデータを、rootユーザーが取得できてしまうというものだ。
脆弱性の原因は、出荷されたプロダクトにデバッグ・コードが残っていたことである。なぜ、この事象が発生してしまったのだろうか。松岡氏はまず、スマートフォンに搭載されているARM社のCPU機構について解説していく。
「ARM社のCPUには、Trust Zoneという仕組みが搭載されています。これはMMU(Memory Management Unit)によって、マルチコア環境でのメモリ管理・保護を行うものです。Trust Zoneは保護されたセキュアな実行環境であるSecure Worldと、保護されない実行環境であるNormal Worldとを分けて管理しています。Secure Worldへのアクセスを厳密に制御することで堅牢性を向上させているのです。また、コンテクストスイッチをしたときにパイプラインのキャッシュもすべて消去する構造になっています」
OnePlus 7 Proは、Trust Zone+QSEE(Qualcomm Secure Execution Environment)による先端的かつセキュアなアーキテクチャが用いられている。このプラットフォームでは、指紋センサーなど生体認証の処理はTEE(Trusted Execution Environment)で行う。Secure modeで動作するCPUのみ、指紋センサーへのアクセスが可能だ。root化された端末であっても、Android OS(REE)からTEEへのアクセスは不可能。つまり構造上、指紋センサーのデータを取得できないはずだったのだ。
セキュアで高品質なソフトウェア開発のためのオンラインセミナー・シリーズ
シノプシスは、セキュアで高品質なソフトウェア開発のためのさまざまなテーマを扱うオンラインセミナーを随時開催しております。すべてのコンテンツはご参加無料、Live開催後は、録画版と講演資料の公開もしているのでいつでも繰り返しご覧いただけます。
今後Live開催予定の主なテーマ (Live後は同URLで録画版として公開)
- ソースコードの品質とセキュリティを効率的に向上させる静的解析
- オンデマンドのリモート・テスト・サービスを活用したクラウド・モバイルアプリの戦略的なセキュリティ・テスト
- ソフトウェアに含まれるOSSのライセンスと脆弱性の管理
- IAST: 次世代のWebアプリケーション・セキュリティ・テスト手法
他にもさまざまな業種・内容のコンテンツを掲載しています。
シノプシスのオンライン・セミナー・ポータルはこちら。