今回も安全なアプリケーションを作るためのチェック方法について説明していきたいと思う。前回から引き続き、各開発工程におけるレビューと適切なテストについてを紹介する。
コードレビュー
まずは、コードレビューでどういったことに注意して確認する必要があるか説明しよう。コードレビューのコツを理解するには、まずアプリケーションの動作について理解する必要がある。従って、最初にアプリケーションの動作について説明する。
多くのアプリケーションでは、何らかの入力(ユーザーにより入力されたデータだけでなく、ファイルや、時刻なども含む)を必要とし、入力されたデータの加工などの処理を行い、結果を出力する。出力された結果は、別のアプリケーション(ブラウザやデータベースなど)で入力データとして利用されることがある。
たとえば、あるECサイト用のアプリケーションの検索処理では、「category」というパラメータがあり、この値が「携帯電話」のとき、携帯電話関連商品の検索結果を返し、値が「PC」のときにはPC関連商品の検索結果を返すといったように、入力データの内容によって開発者が意図したとおりの処理をするといったことができる。
従って、適切な入力をアプリケーションに渡したり、適切なページにアクセスすることで、アプリケーションの処理を利用者が開発者の想定している範囲内で制御することができる。多くの脆弱性は、この入力データに想定外のデータを渡されることによって発生する。
このため、コードレビューでは、まずデータフローに注目する。データフローでは特に以下のことを確認してほしい。
- 入力データが設計段階で規定したパターンのみで構成されているかを確認する処理が適切に実装されているか?
- 設計段階で規定したエスケープ処理が出力直前に行われているか?
これらの確認を行うには、入力データと出力データを取り扱っているコードを順番にすべて追跡し、適切な処理がなされているかどうかを確認する。
これらは「第2回:“正しい”ウェブアプリのコーディングとは」で詳しく説明しているので、そちらも参考にしてほしい。
先にも述べているが、多くの脆弱性は入力データの検証と出力時のエスケープ処理を適切に行うことで防ぐことができる。適切にこれらの処理を実装するには、設計の段階で、正しい入力データの条件と、データの出力先アプリケーションの仕様を確認し、明確にしておく必要がある。
関連情報
-
Apache HTTP Serverに脆弱性:相次いでアップデート
9月7日(米国時間)、The Apache Software Foundationは、「Apache HTTP Server」のセキュリティー上の問題を解決したバージョン、「Apache 2.2.6、2.0.61、1.3.39」をそれぞれリリースした。 - Tomcatがセキュリティアップデート:XSSやセッションハイジャックの脆弱性
- シマンテック、「ノートン」 シリーズ新版を発売--パッケージ版は9月21日から
- IBM AIXにDOS攻撃など複数の脆弱性
- Apple、iTunesの脆弱性に対処
- Kerberosにバッファオーバーフローや任意のコードを実行される脆弱性
- テクマトリックス
「セキュリティ」 の新着情報
-
月額498円でノートン先生が保護--イー・モバイル、月額版ノートン 360提供
シマンテックは、イー・モバイルの月額制オプションサービス「EMセキュリティ」のユーザーを対象に、セキュリティソフト「ノ... - 日本PGP、ホワイトリスト活用するデータ保護とアプリ制御の新製品を発表
- TLSとSSLにゼロデイ脆弱性--セキュリティ研究家が明らかに
- MS、11月の月例パッチで「Windows」「Office」の脆弱性を修正すると事前通知
- 三井住友銀行、投資銀行部門のEUC基盤でセキュリティ対策強化
- セキュリティ 一覧へ »
「サイト脆弱性をチェックしよう!」 のバックナンバー
-
サイト脆弱性をチェックしよう!--第9回:AppScanによるアプリ脆弱性の自動検査
前回まで、主な脆弱性の検査方法について説明してきた。今回は、「IBM Rational AppScan」を例として、自動検査ツールについて説明しよう。 -
サイト脆弱性をチェックしよう!--第8回:セッション管理における脆弱性
-
サイト脆弱性をチェックしよう!--第7回:「ディレクトリトラバーサル」と「強制ブラウジング」
-
サイト脆弱性をチェックしよう!--第6回:SQLインジェクションの検査方法
-
サイト脆弱性をチェックしよう!--第5回:XSSの脆弱性を検査する方法
- サイト脆弱性をチェックしよう! 一覧へ »
-
日本モバイルインターネット端末市場分析 〜2008〜2012年のMID及びスマートフォン...
- 電力消費量を可視化〜!身近なPC管理から始めるグリーンIT統制〜
- 中堅企業におけるテクノロジーと成長
- 【SUN xVM portfolio】ダイナミックなデータセンターのための仮想化プラットフォーム
- 企業コスト削減の傾向と対策 〜最新アプローチのトレンド〜
- 高パフォーマンス・データベースの実現に向けたステップ
- パンデミックでも社員を守り業務継続を支援する
- 大容量ファイル、機密情報データの受渡しに! ~~ ファイルエクスプレス ~~
- インターネットセキュリティにおける今後の展望’09-’10
- データセンタとサーバルームの動的な電力変動
企画特集
-
最大32個のセンサーが電力を徹底管理!
『省エネ性能』追求HPx86サーバー徹底レビュー -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
進むストレージ環境の見直し
仮想環境に最適なiSCSIストレージLeftHandのメリット -
求めているのはSIerのエンジニア!!
連載インタビュー第1話、グリーCTO藤本氏が語る -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中 -
情報漏えいを食い止める!
証跡としての信用力を高めるメールアーカイブとは? -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション -
VMware OEMベンダー6社を独占インタビュー
IBM、HP、NEC、DELL、日立、富士通のVMwareの取り組み
-
13. ソースチェック
この4分間のビデオでは、Intel Parallel Studioの一部であるIntel C++コ... -
14. OpenMP 3.0
この3分間のビデオでは、Intel Parallel Composerで利用可能なOpeMP 3.0...
新着企業動向
-
商品数300万点!!日本最大級のオリジナルグッズ販売サイトのClubTがプロ撮影の写真を多数起用...
ClubT -
【東京会場】12/5(土)プログラミングからWeb デザインまで、高速・高機能のテキストエディ...
エムソフト -
「知って楽しむオトナのたしなみ」出張アテンダント編を公開しました!読者プレゼント企画も...
日立システムアンドサービス -
WisePointシリーズ
ファルコンシステムコンサルティング - 企業動向一覧へ»
