欧米で主流に!? ホワイトリスト型のコンピュータセキュリティに迫る!!

コンピュータは難しい!?

2015/3/20  1/1ページ

 私たちはコンピュータを高度で複雑なものだと誤解しています。しかし、中の動きは、ひとつずつ命令を取り出して実行しているだけなのです。ただ、驚くほど高速に実行していますけど。

 また、ユーザの誤解を誘うものに言葉があります。コンピュータはハードもソフトもほとんど海外で作られているため、その用語は英語という私たちにとって馴染みのない言葉であふれています。

 セキュリティ関連から例をあげれば
「サンドボックス sand box」
「ヒューリスティクス heuristics」
「ジェネリック検知」
「ふるまい検知」
等々。英語コンプレックスのある私たちは言葉だけでスゴイものだと勘違いしてしまいます。

 さて、スゴイものの謎解きをしてみましょう。

サンドボックス

 最初に「サンドボックス」です。さも凄そうですが、なんのことはない「砂場」です。公園で子どもを遊ばせる時に、親が離れて見ていても安全なのが砂場でしょう。コンピュータのプログラムも砂場のような監視可能な隔離エリアで動かすことができれば安全だろう、という考えに立っているようで、主にセキュリティ関連の会社でウイルスやマルウエアを発見するために行っている方法です。では、どのように監視するのか。ネットワークを含めた仮想的な環境を作り、そこで未知のプログラムを動かし、何をするのか調べます。

 しかし、長期潜伏して動き出さなければ捕まえることはできません。また、自分自身を消し去るものもあります。その上、自分を消し去る前に命令を他のプログラムに埋め込むことをします。これを「コードインジェクション」と呼びます。何を行った時に危険なのかを決定するデータを登録しておかなくてはなりません。

 いたちごっこ、ですから終わりも見えず投資も半端ないものになります。

ヒューリスティクスあるいはふるまい検知

 論理学では仮説形成法というようです。経験的知識とも言われています。結局、あたらずといえども遠からず。や、火のないところに煙は立たず、的な方法のようです。

 目の前に漫画『ゴルゴ13』に出てくるデューク東郷のようなイカツイ人が立ちはだかってスーツの胸に右手を入れたら、これはマグナムが出てくるかもしれない、という前提に立つみたいな話です。

言葉は悪いのですが、方法として決め手が無いときに、カッコいい名前をつけといて、あてずっぽうでやる手法のようです。

 数学の問題で、解けない問題にぶつかったときに、私たちが試す方法がヒューリスティクスではないでしょうか。解いているという満足感があり、正解に至る可能性も否定できませんが、時間の無駄ってこともままありますよね。

 悪いことをするプログラムは、たいていプロパティを書き換えたり、認証されたプログラムのふりをしたりして、未知の外部への通信や勝手にメールを送信しまくることをします。ヒューリスティクスでは、書き換え、外部との通信、メール発信などを監視して、危なそうなプログラムを排除します。これだって危ない動作のデータを前もって登録しなくてはなりません。

 ヒューリスティクス、かっこ良さげでしょ。でも、悪いことしようとする人は、そんなこと重々承知で、手を変え品を変えで迫ってきます。

 否定的に書いてきました。だって、セキュリティソフトって、直感的に理解しづらく、日常生活からも遠いものです。結局、今のセキュリティソフトって「サンドボックス」も「ヒューリスティクス」も「ジェネリック検知」も「ふるまい検知」も根本にあるのは、危ない動作などを前もって登録するというブラックリスト型だったのです。

ホワイトリスト

 たとえば日常生活でよくあるシーンをあげてみましょう。自宅でくつろいでいるときに電話が鳴ったとします。ナンバー表示に出た番号が故郷の両親の番号でした。これは安心して出ますよね。では、知らない番号だったら出ますか? 出ませんよね。これが日常的な感覚で、直感的に理解できます。電話に登録したリスト。つまり出てもよいリスト。私たちは、これを「ホワイトリスト」と呼んでいます。

 コンピュータプログラムも、動いてよいものリストを登録できれば、それ以外は動かさないことができ、安全に使うことができます。しかし、ほとんどのセキュリティプログラムは、悪者リスト、つまりブラックリストを基にしています。それにブラックリストは更新が必要で、ディスク全体を調べる必要があるのです。

 これは直感的でも日常的でもありませんし、時間を要する作業になります。だから使いにくいのです。

結論めいたもの

 ブラックリストは名前からしてカッコいいのですが、リストがどれくらいの長さになるのか、どんな悪者なのか、直感的にも日常的にも理解しにくいものでした。数学でいう極限の理解が難しいように、ブラックリストは増殖するため捉えどころがないのです。さらにリストから漏れたものはノーマークです。だから、無限に近いブラックリストではなく、ホワイトリストを基本に私たちは生活しているのだと思います。

 この観点でセキュリティを考えるプログラムがあってしかるべきだと思うのですが、今のところ私はひとつしか知りません。

 その一つのものは、ホワイトリストの考えを基に私たちが創り出したDePです。

 非日常的なコンピュータの使い方から、ホワイトリストを機能に持つDePを使って日常的で直感的なコンピュータの使い方にシフトしてはいかがでしょうか。

(石丸隆雄)

【関連カテゴリ】

セキュリティ