はじめに
Webアプリケーションを作成するにあたり、セキュリティは重要な観点ですが、これまでしっかりとセキュリティを意識して開発をできていなかったので、まずは基本的な脆弱性の種類について調査した内容をまとめていきます。
Webアプリケーションの脆弱性の種類
Webアプリケーションで発生する5つの脆弱性について下記にまとめます。
SQLインジェクション
データベースと連携したウェブアプリケーションにおいて、データベースへの命令文を構成する入力値を送信し、データベースの不正利用を招く可能性があります。
スクリプトインジェクション
特定のコンピュータシステムやアプリケーションにおけるセキュリティの問題で、データベース、操作システム、ネットワークデバイスが含まれます。
アプリケーションに不正なスクリプト(通常はコード)を挿入し、アプリケーションがそのスクリプトを実行することで攻撃されます。
クロスサイトリクエストフォージェリ
ログインした利用者からのリクエストで、その利用者が意図したリクエストであるかどうかを識別する仕組みを持たないウェブサイトは、外部サイトを経由した悪意あるリクエストを受け入れてしまう場合がある。
利用者は、悪意ある人が用意した罠により、予期しない処理を実行させられてしまう可能性がある。
OSコマンドインジェクション
外部からの攻撃により、WebサーバのOSコマンドを不正に実行されてしまうこと。
サーバないのファイル閲覧・改ざん・削除や不正なシステム操作、不正なプログラムのダウンロード・実行などが発生する危険性があります。
ディレクトリトラバーサル
パラメータにファイル名を指定しているウェブアプリケーションでは、ファイル名指定の実装に問題がある場合、攻撃者に任意のファイルを指定され、ウェブアプリケーションが意図しない処理を行ってしまう可能性があります。
これにより、サーバ内のファイルの閲覧・改ざん・削除などが発生し、重要情報の漏洩や設定ファイル・データファイル・ソースコードの改ざんなどに繋がる可能性があります。
さいごに
どうでしたでしょうか?これらの他にも、HTTPヘッダインジェクションやクリックジャッキングなど様々な脆弱性があります。
これらの内容や対策についても引き続き別のページでまとめていきたいと思います。
コメント