TOP
>
プロジェクト管理
> 開発者自身がセキュリティ専門家へ
プロジェクトを成功に導くキーファクター
第3回:誰が「セキュリティリスク」を考えるのか
著者:
日本総研ソリューションズ 足羽 崇
2007/5/17
前のページ
1
2
3
開発者自身がセキュリティ専門家へ
アプリケーションのセキュリティが依然として問題になり続けている現状を考えれば、開発者自身が「アプリケーション開発のセキュリティ専門家」でもあり、最初からセキュアなアプリケーション構築をしなければならない。つまりセキュリティ専門家と呼ばれている人々が持っているノウハウは、開発者こそが習得しなければならなくなってきているのだ。
そもそも「アプリケーションのセキュリティ」を確保するのだから、その「アプリケーション」の仕様や動作について熟知している開発者こそが、セキュリティ上の問題点についてもよく理解できるはずなのだ。自分たちで構築したアプリケーションのセキュリティについて、プロジェクト外のセキュリティ専門家に任せきりにするのは非効率ではないだろうか。
このため、セキュリティ専門家を単にレビュアーやテスターとしてだけではなく、開発者のノウハウ蓄積のために活用することが、大変有意義と考えられる。
メンバーがセキュリティ専門家のノウハウを積極的に取り入れられるような体制を構築することにより、開発者自身が該当アプリケーションのセキュリティ専門家となることができる(図2)。
図2:セキュリティ面からの実践的な開発者の育成
顧客の業務に詳しい開発者は、より正確にセキュリティリスクを評価することが可能となるし、アプリケーション内部の動作に詳しい開発者は、より効率的に問題点の発見・解決が可能となる。またこのような体制は、開発者の視野を単に「動くシステムを構築すればよい」から「あらゆるリスクが考慮された高品質なシステムを構築するべき」へと広げるための起爆剤にもなる。
実際、筆者の経験では、開発者に対するセキュリティ教育の効果は非常に高い。特にしっかりとした技術的基盤を備えた開発者には、数時間から1日程度の教育であっても、その後、多くのセキュリティ上の問題点を発見・解決することもあった。
セキュリティ専門家の投入を、このようなプロジェクト体制、ひいては開発者集団を構築するための初期投資と位置づけることは、投資効果の面からも十分推奨できると筆者は考える。
発注側の取り組み
これまで開発側の意識すべきこと、取り組むべきことについて述べてきたが、発注側も開発側の現状をよく知り、セキュリティの向上に取り組まなければならない。特に業務アプリケーションのように、発注側のセキュリティポリシーや業務内容が構築するアプリケーションに色濃く反映されるような場合、開発側の取り組みだけでは期待するセキュリティ品質を確保することは難しい。
まずは開発側のセキュリティに対する取り組みや体制などを見極める必要がある。システム全体のリスクを考えず「特定の脅威にのみに対応したから『大丈夫』と言う開発者」や「後付けで対応するから『大丈夫』という開発者」、「要素技術を用いているから『問題ない』という開発者」など、このような開発者に自組織の命運を掛けた大切なシステムを任せてはならない。
そして発注側としても、セキュリティ要件やセキュリティに関する検収条件を明確にする必要がある。できるだけ具体的に提示することが望ましいといえる。
もし検収条件やセキュリティ要件がない(に等しい)場合、開発側でセキュリティ確保のための予算も期間も確保されにくい。また仮に開発側から適切なセキュリティ確保の見積が出てきても、予算制約面での都合から個々の判断基準無しに圧縮を命ずるケースもある。
こうした背景から、実現したい機能を優先してしてしまうため、必要なセキュリティ機能の設計がおざなりになる傾向が強まるのだ。セキュリティ機能に関して設計していなければ、テストケースも作成されず、問題が発見できないままカットオーバーをむかえてしまう可能性は高くなる。
このようなリスクをよく認識して発注段階からセキュリティに留意すれば、開発側の取り組みを大きく変えることが可能である。自分達の大切なシステムである。「すべお任せ」で済まされるものではない。
発注側・受注側双方が「真のパートナーとして」協力し合い、セキュリティリスクの認識をあわせ、一丸となって「真に高品質の」システム開発に取り組むことが重要なのである。
前のページ
1
2
3
著者プロフィール
株式会社日本総研ソリューションズ 足羽 崇
2003年 慶應義塾大学大学院修了(基礎理工学専攻、物理学専修)。同年、株式会社日本総合研究所入社。プラットフォームのセキュリティ検査業務、Webアプリケーションの開発・保守業務を経て、現在は、株式会社日本総研ソリューションズにて、アプリケーション開発業務、Webアプリケーションのセキュリティ教育などに従事。
INDEX
第3回:誰が「セキュリティリスク」を考えるのか
最後に実施する「セキュリティ対策」とは
開発プロセス全体での取り組み
開発者自身がセキュリティ専門家へ