バグをなくせ、脆弱性を作るな――そんな精神論はもう飽き飽き。でもあきらめる前に、この現状でもできることを考えよう(編集部)
私は最近、多くの時間を割いてプログラムを書いています。本来の性格から来るものか、バグはゼロになりません。この原稿の場合、誤字脱字に相当するでしょうか。この原稿などは編集部でキッチリ見てもらっているので大丈夫だと思いますが、プログラムはお客さまに迷惑をかけるかもしれないので、テストを繰り返してバグをつぶしていきます。
私は性格がそもそもおっちょこちょいな上にずぼらですから、プログラマには最も向いていないのかもしれません。いや、脆弱性を考えると「プログラムを作ってはいけない」といわれそうです。
私は前職で、日本で初めて「セキュリティの脆弱性検査」を事業として立ち上げた経験があるのですが、始めた当初から「セキュアなプログラミングが普及すれば脆弱性検査の市場はなくなる」と考えていました。しかし、脆弱性検査はすっかり定着して、不況にもかかわらず、市場規模は縮小する気配がありません。
「設計時点からセキュリティに取り組めば開発コストが激減します」とか「セキュアプログラミングを行えば脆弱性がなくなります」といわれますが、最近では「それは理論的には正しいけどね……」と考えています。現実には、セキュリティ対策が開発の現場に取り込まれているケースはまれです。
確かに、日本でも最大規模のWebサイトを運営している会社では、セキュリティに対して積極的に取り組んでいて、プログラマに対してセキュアプログラミング・トレーニングの受講が課せられています。しかし、その取り組みが一般的になっているとは考えられません。もしこの取り組みが投資対効果に優れているのが明確であれば「当たり前」「みだしなみ」として多くの企業が取り組んでいるでしょう。つまり、ある程度の余裕がないとこのようなことは取り組むことができないのではないでしょうか。
私のようなセキュリティ専門家と呼ばれる者のいうこととしては「セキュリティは設計段階から必要です」であるとか「セキュアプログラミングは必須のスキルです」と声高に叫ばなければならないのですが、今回はその常識を考え直してみたいと思います。
セキュリティ対策には「お金持ちのセキュリティ」と「普通のセキュリティ」があると考えています。つまり、経営資源(費用、人材)を潤沢に投入して情報セキュリティリスクを低減できる企業と、それほどのコストをかけずにそれなりのセキュリティ対策しか行えない企業があるのです。
普通の企業が限られたコストしか投入できない状態で「設計からセキュリティをやれば安く済むらしい」という情報をもとに、本当に設計段階だけにセキュリティ対策をすれば、高価なセキュリティ機器や高度なセキュリティサービスは不要になるでしょうか? 答えはノーです。
つまり、上流工程でセキュリティ対策をやったからといって、運用段階で不要になるものはそれほどないのです。私は「上流工程でセキュリティ対策を行えば、運用段階のセキュリティコストが大幅に削減できる」という考え方は、多くの場合、正しくないと考えています。
すでに脆弱性のあるWebサイトを、脆弱性自体の修正なしに守るには、大変な技術力を要します(そして、そのアプローチはほとんどの場合、間違いです)。また、その脆弱性から侵入を許してしまい、ウイルスを配布してしまったり顧客情報が盗まれてしまったりすれば多大な経営的な損害を被りますから、少しでも脆弱性がないに越したことはありません。
ここで重要なことは、バランスです。言い換えれば「セキュリティアーキテクチャ」です。システム開発の世界ではアーキテクトと呼ばれる職種がありますが、セキュリティの世界ではセキュリティアーキテクトと呼べる職種はまだ存在しないようです。これは、人的セキュリティ、物理セキュリティ、上流工程、運用段階、関連企業などの全体を最適化する仕事ができる人材がいないという根本的な問題があるからでしょう。CISOがその任務を遂行するか、専門家を雇う必要があるのですが、これも現実とは遠くかけ離れた話です。
セキュリティを上流工程で行う考え方も、セキュリティ対策の1つです。発注から運用までを見通してコストと効果の最適解を見いだすセキュリティ最適化を行うことができるのであれば、セキュリティを設計や開発段階に組み込むことは可能ですが、全体の最適化ができない中では「やった方がいいよね」という程度を超えられません。結局、上流工程でのセキュリティ対策は、余裕のある企業が、リスクの更なる低減のためにしか行われないと考えられます。
しかし、悲しいことに「セキュリティ」はCIOやシステムアーキテクトの中ではさらに小さな一部の要素にしか過ぎません。セキュリティ専門家にとってはセキュリティ対策は一大事ですが、システム開発・運用という“大きな世界”の中では、極めて専門的な一部のジャンルです。欠かせない重要な要素ではあるのですが。
Copyright © ITmedia, Inc. All Rights Reserved.