技術要素 - 11.セキュリティ - 5.セキュリティ実装技術 - 5.アプリケーションセキュリティ

Last Update : April 15 2021 15:36:45

     

a. アプリケーションセキュリティ

Webシステムのセキュリティ対策
ネットワークで通信を行うWebシステムでは、システムに対する攻撃は、プログラムのセキュリティホールを利用して悪意のあるデータを送り込み、これを利用して不正な行為を行う場合が多い。
そのため、特にWebシステムのプログラミングでは、セキュリティホールのない安全なソフトウェアを構築するセキュアプログラミングの原則に従ってプログラム開発を行うことが重要になる。

セキュアプログラミングの原則

  • 不要な複雑さを避ける
    ソフトウェアの複雑さに比例して脆弱性を持つバグが増える可能性があるので、必要以上にプログラムを複雑にしない。
  • 多重防御
    ひとつの対策が破られた場合に備えて、別の対策も用意しておく。
  • フェールセキュア
    セキュリティに問題が発生した場合、システムを停止するようにしておく。
  • 最小限の権限の使用
    利用者に必要最小限の権限を必要最低限の期間だけ適用する。
  • 保護ドメインの分割
    一つのプログラムを異なる権限を持つ複数のプロセスに分割しておく。

バッファオーバーフロー攻撃
確保したメモリ領域(バッファ)を超えてデータが入力された場合に、データがあふれてプログラムが暴走してしまうこと。バッファオーバーランともいう。
バッファオーバーフロー攻撃とは、バッファに対して許容量を超えるデータを送り付けてシステムを機能停止にしたり、意図的にバッファをオーバーフローさせ、あふれ出たデータを実行させてしまう攻撃。
バッファオーバーフローは最も代表的なセキュリティ・ホールであり、昔からさまざまなOSやアプリケーションに多く存在している問題である。現在OSで見つかっているセキュリティ・ホールの半数以上はバッファオーバーフローによるものといわれている。

クロスサイトスクリプティング攻撃
攻撃者が対象となるサイトとは異なるサイトからスクリプトを送り込み、訪問者に実行せしめることから、クロスサイト(サイトを横断した)スクリプティング(スクリプト処理)と呼ばれる。

プライバシーバイデザイン
個人情報を取り扱うシステムを構築する際、その設計段階から個人情報保護のための方策を技術面・運用面・ 物理的面から検討しておくこと。

ファジング
ソフトウェアの不具合(とくに脆弱性)を発見するためのテスト手法の一つである。 何万種類もの問題を起こしそうな入力データ(例:極端に長い文字列)を与えることで意図的に例外を発生させ、その例外の挙動(製品が異常終了する)を確認することで脆弱性を発見する方法です。


  [ 例題 ] 
  1. 平成31年度春期 問45  ファジング
  2. 平成20年度秋期 問36  セキュリティ
  3. 平成18年度秋期 問66  フィッシング


     

www.it-shikaku.jp