ウェブアプリケーションに潜む危険は数多くあるが、これまでのセキュリティ対策で指摘されてきたのは脆弱性の種類から見た危険性とその対策だった。
たとえば、クロスサイトスクリプティングの脆弱性とは何か、SQLインジェクションの脆弱性とは何か、そしてそれらへの対策とは……。これらについては、既に的確な解説をウェブ上で見つけることができるので、この連載では改めてその視点での解説はしない。
この連載では逆の視点から、つまり原因となる行動に焦点をあてて、ウェブアプリケーションにおける脆弱性を考えていきたいと思う。
まず、ウェブアプリケーションの脆弱性が発生する原因だが、「既製品の脆弱性」および「カスタマイズアプリケーションの脆弱性」の大きく2つに分類される。
さらに、既製品の脆弱性は「既知の脆弱性」と「市販製品の設定ミス」の2つに、カスタマイズアプリケーションの脆弱性は「設計時に発生する脆弱性」「コーディング時に発生する脆弱性」の2つに分類できる。
| 既製品の脆弱性 |
|---|
| 既知の脆弱性 市販製品の設定ミス |
| カスタマイズアプリケーションの脆弱性 |
| 設計時に発生する脆弱性 コーディング時に発生する脆弱性 |
既製品の脆弱性については無視することはできないが、これらについてはメーカーなどから正しい対応策が公開されているものがほとんど。ユーザーとして、あるいはシステム構築者としてベンダー各社からの最新情報を入手して対策を行うことが最善の方法となる。
一方、カスタマイズアプリケーションの脆弱性は開発者が修正することが基本的な対策となる。もちろん、ウェブアプリケーション用のファイアウォールを導入するといった別解もあるが、そのような製品を扱うためにも“なぜ脆弱性が生じるのか”を理解しなければ正しい設定は行えない。そのために、どのような要因から脆弱性が生み出されるのかを認識しておく必要があるだろう。
そこで今回は、紹介した脆弱性のパターンのうち、「設計時に発生する脆弱性」について解説してみたい。
開発の初期段階からセキュリティ対策を行えば、コストを抑えられると言われている。しかし、既存の対策方法の多くは、コードレベルの修正方法に終始していて、実際に設計段階で何を行えばよいか分からないのが現状だろう。
そこで、まずは設計時に作りこんでしまう脆弱性と、設計時のセキュリティ対策について考えてみたい。ここには大きく分けて2つの脆弱性が作られる可能性がある。ひとつは「画面遷移に関係する脆弱性」であり、もうひとつは「機能設計に関係する脆弱性」である。それぞれに対応する具体例は、以下のとおりだ。
| 画面遷移に関係する脆弱性 |
|---|
| 強制ブラウズ クロスサイトリクエストフォージェリ |
| 機能設計に関係する脆弱性 |
| 機能の悪用 ・メール送信機能 ・パスワードエラー通知機能 ・バックドア、デバッグオプション |
勝ち残るIT活用--中堅中小企業の現場からタレントの江口ともみさんをレポーターに、
全国さまざまな業種の企業担当者に聞く!
サイバー攻撃関連ニュースのまとめ特別企画:高度化するサイバー攻撃からビジネスを守る
~対策レポートや企業の製品動向をまとめ読み~
JP1、Hadoop、QlickView "集計・分析"
データをクラウドに集約 ”蓄積・検索"
福田和代が贈るZDNetオリジナルストーリー
見逃せない3部作の第1回が無料公開!
率直な読者のご意見を全て公開
クラウドに対する疑問や実際の効果に迫る
陥らないためのワンポイント解説&
”実証実験から読み解くセミナー”情報
日立のサーバ戦略が描く、IT活用の今後
仮想化・クラウド対応としての製品強化
ウェブ消費行動の専門家×日本ベリサイン
ネットで消費者の信頼を得るポイントとは
境界防御だけでは、もはや不十分?
大切なデータベースを守る方法とは
必要以上の容量を奨められていませんか?
→電気ガスのように使えるストレージを知る
製造業者必見
オフライン環境のセキュリティ対策
物理パッチ適用までにサーバを襲う脅威から
自動的に保護するDeep Securityエージェント
最新テクノロジ満載、「百度」の講演も!
TECHNOLOGY @WORK 東京 2012レポート
株式会社イーフロンティア
NECラーニング株式会社
ピーエムシー・シエラ・ジャパン株式会社
ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。