システムの弱点を補強するには?
Webアプリケーションの開発
Webアプリケーションに関しては、残念ながら運用されているものは、「できあがってしまって」います。
そのため、各種の開発ガイドラインに照らして、実施した記録がない作業や、考慮された形跡がない作業に関しては、脆弱性を生じさせている可能性がある、という認識をする必要があります。
[独立行政法人 情報処理推進機構(IPA) セキュリティセンター]
セキュア・プログラミング講座
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/index.html
セキュア・プログラミング講座「WEBプログラマコース」
http://www.ipa.go.jp/security/awareness/vendor/programming/a00.html
[ThinkIT]
Webアプリケーション開発者が知っておくべきセキュリティ
http://www.thinkit.co.jp/free/trend/24/1/
独立行政法人 産業技術総合研究所 高木浩光氏
『安全なウェブアプリ開発の鉄則2006』
http://www.nic.ad.jp/ja/materials/iw/2006/proceedings/
海外の代表的なWebアプリケーション開発のためのガイドラインは以下の通りです(こちらは日本語の翻訳もあります)。
[OWASP] OWASP Development Guide 2.0
http://www.owasp.org/index.php/Category:OWASP_Guide_Project
[WASC] Threat Classification
http://www.webappsec.org/projects/threat/
どこまでセキュリティー対策をするべきかに決着をつける
さて、ここまで「何を」「何から」「どのように守るか」という観点で回を重ねさせていただきましたが、さまざまな理由で、できそうなこと、できそうにないこと(もしくは、サービスとして買えそうなこと、買えそうにないこと)が、浮かんできたのではないかと思います。
大事なのは、この「できそうにないこと」を明らかにして、経営陣に確認する作業です。それらを経営陣が納得すれば、あなたの組織のセキュリティーの限界は決定されたことになります(どこまでセキュリティー対策をすべきかが、組織的にオーソライズされたことになります)。
もし、経営陣が納得しなければ、「できそうにないこと、買えそうにないこと」を「できるように」経営陣からリソースを提供してもらわなければなりません。リソースを提供できないのであれば、被害が起こることを「許容」してもらうしかないのです。
「セキュリティー」はビジネスを守る存在ですが、同時に、大飯食らいの存在でもあります。どのような管理策をどのように使うのか、手間がかかっても、リスクベースでセキュリティーの最適化をすることが、実は、セキュリティーとビジネスの適切なバランスを維持するために重要な行為になるのです。
[参考文献]
NIST、NIST Special Publication 800-64 Revision 2 Security Considerations in the System Development Life Cycle(http://csrc.nist.gov/publications/nistpubs/800-64-Rev2/SP800-64-Revision2.pdf)(アクセス:2009/02)
Gary McGraw and Brian Chess、Software [In]security: A Software Security Framework: Working Towards a Realistic Maturity Model(http://www.informit.com/articles/article.aspx?p=1271382)(アクセス:2009/02)
MITRE、Making Security Measurable(http://measurablesecurity.mitre.org/)(アクセス:2009/02)