サイバーセキュリティが損なわれる原因(1)ー仕様そのものが脆弱であるケース
サイバーセキュリティが損なわれる原因とは
安心、安全が損なわれる、つまりサイバーセキュリティが損なわれる原因とはどういったものでしょうか。今回から数回程度の連載として、サイバーセキュリティが損なわれる原因について、あらためて解説してみたいと思います。
サイバーセキュリティを損なわないために
コンピュータやネットワークの安全性について考えるとき、脆弱性、つまりソフトウェアなりハードウェアの脆さ、について考えることが一般的です。ソフトウェアについては、理想的には、脆弱性が全くない状態、つまり、どんなでたらめな入力を与えてもソフトウェアが正しく機能する状態、が望ましいのですが、いろいろな理由からソフトウェアの脆弱性は増え続けています。なおソフトウェア脆弱性に加えて、「設定の脆弱性」「プロトコル脆弱性」「ハードウェア脆弱性」そして「人間の脆弱性」があることを前回のコラムでも触れましたが、これらについても、機会をみて解説することにしましょう。
やっかいなソフトウェア脆弱性
では、ソフトウェアを使う立場である残り大半の人たちは、どうすればいいでしょうか。ソフトウェア脆弱性の有無を検査することはもちろん必要です。これについては巷に情報が溢れているのでここでは詳しく触れません。いちばん厄介なのは、セキュリティ専門家が「これはソフトウェア脆弱性だ」と言っているのに、製造元が「いえ、これは仕様です」と言い張る場合でしょう。ソフトウェアの製造元としては「仕様です」と言わないと製品そのものの作り直しになって、膨大なコストがかかってしまう。セキュリティ専門家はコストなどおかまいなしに、現実に問題が起きているのだから「脆弱性だ」と指摘している。この場合、ソフトウェアやクラウドサービスなどを活用する立場としてはどう考えればいいでしょうか。
仕様そのものが脆弱であるケースは意外と多いが、議論されていない
例えば皆さんの個人情報を預かるデータベースのほとんどは、仕様そのものが脆弱です。データベースというのは、そもそも1970年代に考えられた技術で、データベース専門のオペレータがデータベース専用言語で入力して操作するように作られているわけです。重要なデータを預かるわけですから、データベースは入室制限された区画に鎮座しており、限られた人間だけがアクセスするのが普通でした。これをウェブの登場にともない、インターネットに繋いで商売ができるようにしてしまったのだから大変です。結果として数多くの情報漏洩事件につながり、現在もなくなる気配はありません。
データベース専用言語というのは、本来「そんな悪意のある入力をする奴が悪い」と開き直って作られています。言語を設計するときに、データベース専門のオペレータが十分な知識をもとに操作することを前提としているからです。
つまり、仕様そのものが脆弱です。
しかし、今更そんなことを蒸し返して指摘する人はほとんどいません。仕方がないので、データベースとインターネットの境界で何重にもチェックをして、情報漏洩が起きないようにするわけですが、これとて万全ではありません。
もうひとつ例を挙げるとすればプログラミング言語の脆弱性でしょう。プログラミング言語といえば JavaScript, PHP, C++ など色々ありますが、チェックが厳しいものと、チェックが甘いものがあります(厳密には、専門用語では、静的型検査や動的型検査など、色々な概念があります)。チェックが甘いプログラミング言語は、プログラムを書く時に「面倒なおまじない」が少ないのでプログラムが書きやすく、このため若い人たちが好んで使う傾向にあります。当然チェックが甘いわけですから、ソフトウェア脆弱性が発生するケースも飛躍的に多くなります[1]。しかし、ウェブでシステムを作っているときに、このあたりを蒸し返して指摘する人はほとんどいません。JavaScript を筆頭にチェックの甘いプログラミング言語が主流になっており、みな感覚が麻痺しているのだと思います。みんなで渡れば怖くない、本当でしょうか。「水飲み場攻撃」(Drive-by download attack) という種類のサイバー攻撃がありますが、本質的にはこのあたりの麻痺した感覚につけ込まれているのだということを理解すべきです。
今回はこれくらいにしておきましょう。次回のコラムでも、セキュリティ専門家でなくても知っておきたいソフトウェア脆弱性の性質について紹介したいと思います。
参考文献
[1] P. Vixie, “Go Static or Go Home”, ACM Queue 13(2), http://doi.acm.org/10.1145/2716276.2721993
■関連ページ
【アクセリアのサービス一覧】
・サービスNAVI
サービスにご興味をお持ちの方は
お気軽にお問い合わせください。
Webからお問い合わせ
お問い合わせお電話からお問い合わせ
平日09:30 〜 18:00
Free Service