発見された、Intel製のCPUの脆弱性(Meltrown と Spectre)について、「八百屋の看板娘の年齢をどうやって探り出すか」という問題に置き換えて説明してみました。エンジニアでない人でも分かるようにしたつもりなので、是非ともご覧ください。
少し前に、Intel の CPU に脆弱性が見つかり、大騒ぎになりました。脆弱性と言うと、なんだか難しそうな言葉ですが、わかりやすく言えば、セキュリティ上の弱点、のことです。
Intel はバグではない、と言っていますが、脆弱性があったことは事実で、Microsoft や Apple が慌てて OS に修正を加えました。さらに、その修正のために、パソコンの速度が遅くなる、という問題も生じ、何が起こっているのか不思議に感じている人も多いと思います。
そこで、今回は、その脆弱性とはどんなものだったのかを簡単に説明しましょう。
ここにちょっと変わった八百屋さんがあったとします。店先には小さなカウンターしかなく、後ろに大きな冷蔵庫があり、野菜の在庫はすべて冷蔵庫に保管してありました。
表には看板娘のお嬢さんがいて、お客さんから注文を受けると、注文を裏にいる親父さんに伝えて、それを親父さんが店先にまで運んで来る、というスタイルで商売をしていました。
野菜の鮮度を保つ意味ではとても良いのですが、注文してから野菜の受け取りまでに時間がかかるのが、難点でした。
そこで、来店前に、eメールで親父さんに買いたい野菜を伝えておくと、前もって店先に持って来ておいてくれる、と言うサービスを開始したのです。素早く買い物が出来るようなり、お客さんも大喜びだし、売り上げも増えました。
ある時、このお店の常連のお客さんが、看板娘に年齢を尋ねたところ、教えてくれませんでした。
そこで、ハッカーの友達に相談すると、とても良い方法を伝授してくれました。
まずは、ハッカーの助言通りに、前もって、親父さんに向けて、こんなメールを送ったのです。
「今日は、お嬢さんの年齢の数だけリンゴをください」
そして、少ししてから来店し、まずは
「リンゴを18個ください」
と言うと、リンゴはすぐに出て来ました。
「もう一つください」
と追加しても、リンゴはすぐに出てきます。
しかし、一つづつリンゴを増やしていくと、24個目のリンゴを注文した時に、看板娘は、
「ちょっと待ってください」
と言って、親父さんに追加のリンゴを冷蔵庫から取り出すように頼みました。
これで、親父さんが前もって冷蔵庫から店先に持ってきておいてくれたリンゴの数が23個だったことがわかります。つまり、看板娘の年齢は23歳なのです。
とても手の込んだ手法ですが、これと同様の手法で、Intel の CPU を搭載したパソコンからデータを盗み出すことができることを、セキュリティの専門家が発見してしまったのです。