※【この記事にはプロモーションが含まれています】

Webサイトの脆弱性を狙った5つの攻撃とは 

★ご訪問ありがとうございます!
ブログ運営

Webサイトの脆弱性ってなに?

という方もいるかもしれませんね。

Webサイトの脆弱性とは、情報セキュリティ上の欠陥というふうに説明されます。

Webサイトはその脆弱性を狙った攻撃に常に晒されているといっても過言ではありません。

というわけで今回は「Webサイトの脆弱性を狙った5つの攻撃とは」についてお伝えしていきます。

それぞれの攻撃に対する対策についても解説しているので参考にしてみてくださいね。

※この記事は約7分で読めます。

Webサイトの脆弱性を狙った主な攻撃5つ

  • クロスサイトスクリプティング
  • SQLインジェクション
  • OSコマンドインジェクション
  • ディレクトリトラバーサル
  • バッファオーバーフロー
※正しい情報の掲載に努めておりますが、記事内容の正確性を保証するものではありません。また情報が古くなっている可能性があることもご承知おきくださいますようよろしくお願い申し上げます。

脆弱性とは

総務省によると、脆弱性とは以下のように説明されます。

  脆弱性(ぜいじゃくせい)とは、コンピュータのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥のことを言います。脆弱性は、セキュリティホールとも呼ばれます。脆弱性が残された状態でコンピュータを利用していると、不正アクセスに利用されたり、ウイルスに感染したりする危険性があります。

総務省 国民のための情報セキュリティサイト「脆弱性とは」

脆弱性を狙った攻撃とは、このような情報セキュリティ上の欠陥を突いた攻撃のことをいいます。

脆弱性を狙った5つの攻撃

Webサイトの脆弱性を狙った攻撃には以下のようなものがあります。

  • SQLインジェクション
  • クロスサイトスクリプティング
  • OSコマンドインジェクション
  • ディレクトリトラバーサル
  • バッファオーバーフロー

SQLインジェクション

SQLインジェクションとは、SQL文に変なコードを埋め込み意図しない動作をさせる攻撃のことです。

インジェクション(injection)とは「注入」という意味です。

SQLとは

SQLとは、データベース言語の一つです。

データベース言語とは、データベースの作成、構築、操作を行うための言語のことです。

データベースは、複数で共有、利用できて検索や蓄積ができるように整理されたデータの集まりのことです。

名簿や辞書などをイメージするとわかりやすいかな、と思います。

●関連記事

「MySQL」 WordPressやってるとよく聞くけど何?

SQLインジェクション攻撃を受けると

SQLインジェクションの攻撃を受けると、データベースに登録されたデータが閲覧されたり、勝手に書き換えられてしまったりします。最悪の場合、データベースそのものが削除されてしまうこともあります。

例えばログインフォームにある文字列を入力するとそのままSQLクエリに結合してしまい本来の意図と異なり、IDやパスワードを持たない人でもログインが可能になる、というようなことが起こってしまいます。

いわゆる乗っ取り行為が可能になってしまうんですね。

SQLクエリの改ざんが可能になると、攻撃側は以下のようなことが可能になります。

  • アカウントの乗っ取り
  • データの改ざん
  • データの削除、破壊
  • 非公開情報の閲覧、取得

SQLインジェクション攻撃を受けてしまうと、管理者だけでなくユーザーの情報まで盗まれてしまうことがあるため、被害が甚大になる可能性があります。

SQLインジェクション攻撃を受けると

  • アカウントの乗っ取り
  • データの改ざん
  • データの削除、破壊
  • 非公開情報の閲覧、取得

などの危険性がある。

SQLインジェクション攻撃の対策

●データベースサーバーのログを監視・解析する

※攻撃用に注入されたSQL文の発見 権限昇格によるシステムログへの攻撃を察知

●入力フォームに想定されている文字以外を入力禁止にする 選択式にする

●脆弱性診断をする

●セキュリティソフトの導入

などがSQLインジェクションに対する主な対策になります。

クロスサイトスクリプティング(XSS)

Webサイトの脆弱性を利用した攻撃の一つで、悪意のあるコードをそのページを閲覧した不特定多数の利用者にスクリプトとして実行させて悪質なサイトへ誘導し、個人情報など搾取する攻撃のことです。

別サイトへ誘導することからクロスサイトスクリプティング(XSS)という名前が付けられています。

クロスサイトスクリプティング攻撃を受けると

クロスサイトスクリプティング攻撃は、攻撃を受けたサイトの利用者が被害を受けます。

Webサイト上のIDやcookieを何らかの方法で入手し、サイトでのセッションを乗っ取るサイバー攻撃であるセッションハイジャックが実行される可能性があります。

セッションハイジャックが実行されると、サーバー内へ侵入されたり機密情報の搾取や、不正出金、クレジットカード不正使用などの様々な被害が起こることがあります。

フィッシング詐欺に使用されることもある

フィッシング詐欺とは、実在する企業などを装った偽サイトにユーザーを誘導し、個人情報やパスワードを入力させる詐欺手法のことです。

このフィッシング詐欺にクロスサイトスクリプティング攻撃が使用されることもあります。

クロスサイトスクリプティング攻撃を受けて改ざんされたサイトにアクセスすることで、不正なスクリプトが実行され偽サイトに誘導されてしまうケースです。

クロスサイトスクリプティングの対策

クロスサイトスクリプティングに対する、サイトの利用者側の対策としては以下のようなものがあります。

●ブラウザを最新の状態にする

●セキュリティソフトで不正なスクリプトから防御する

●以下のような機能を持ったクロスサイトスクリプティング攻撃の対策ができるウイルスソフトの導入

  • 不正なスクリプトを検出する機能
  • 正規のサイトを装った不正サイトをブロックする機能

●不審なメールをブロックする

●不正サイトへのアクセス制限 ※これはネット利用のルール(社内ルールなど)を決めるなどの対策になります。

OSコマンドインジェクション

OSコマンドインジェクションも、Webアプリケーションの脆弱性を狙った攻撃の一つです。

ユーザーからデータ入力を受け付けるサイトで、不正な入力を行うことで、サーバー上で管理者が想定していないコマンドを実行し被害を与える攻撃です。

OSコマンドインジェクション攻撃を受けると

OSコマンドインジェクション攻撃により、サーバー内のファイルの閲覧・改ざん、削除、また不正操作などの被害を受ける可能性があります。

フォームを通じて不正なコマンド(攻撃パターン)を紛れ込ませた入力データが脆弱性のあるアプリケーションだと、不正なコマンドを含んだ文字列をシェルに送ってしまいます。

この結果、不正なOSコマンドが実行されデータの改ざん、流出などが発生します。

シェルとは、ユーザーが入力したコマンドを解釈してカーネル(OSの中核的なプログラム)に処理を要求し、その結果やメッセージを表示するプログラム(インターフェイス)です。

OSコマンドインジェクションの対策

OSコマンドインジェクション攻撃に対する対策としては以下のようなものが考えられます。

●WAFサービスの導入

●シェルを利用するコマンドを使わない

●エスケープ処理 

WAF、エスケープ処理とは

●WAF

WAFワフ(Web Application Firewal):Webアプリの通信を監視するセキュリティシステムのこと。

WAFの導入が推奨されるサイト

  • オンラインショップ
  • 会員情報を取り扱っているサイト
  • Web経由でサービスの提供を行っているサイト

●エスケープ処理

エスケープ処理とは、プログラム言語において、特別な意味を持つ文字を「ただの文字(特別な意味を持たない)」として扱うときに行う処理。

ディレクトリトラバーサル

ディレクトリトラバーサルとは、Webサーバーの非公開ファイルに不正にアクセスしてファイルの閲覧、改ざん、破壊などを行う攻撃です。

ファイル名を指定できるアプリケーションに対し、相対パスでファイル名を指定することで、本来は閲覧できないファイルにアクセスする方法を使います。

相対パスとは

相対パスとは、現在の場所を基準にした目的ファイルまでの経路のことです。

ファイルの場所を示す方法は相対パスの他に絶対パスがあります。

絶対パスは階層の頂点からの目的ファイルまでを記述するのに対し、相対パスは現時点のファイルの位置からの目的ファイルまでの経路を記述します。

ディレクトリトラバーサルの対策

●外部からのパラメータでサーバー内のファイル名を直接指定するのを避ける

●サーバー内のファイルに適切な権限を付与する

●ファイル名にディレクトリが含まれていたら取り除く

バッファオーバーフロー

バッファオーバーフロー(BOF)は、バッファ(データの一時記憶領域)に許容量を超えたデータが書き込まれることで発生します。

バッファオーバーフローは「バッファがあふれる」という意味ですが、本来の上限として想定された長さ以上のデータがバッファに書き込まれることで、確保していた領域からあふれることになります。

このあふれたデータがエラーにならずに処理されてしまうことをバッファオーバーフローといいます。

バッファオーバーフローが起こるとなぜ問題なのか

これがなぜ問題化というと、データがあふれても処理されてしまうという性質を悪用して、スタック領域内のプログラムの戻り先を書き換えることが可能になるからなのです。

その戻り先を(侵入に成功している)マルウェアなどに指定されてしまうと、プログラムが終了するときにその悪意のあるソフトが起動されてしまいいろいろと問題を起こす、ということなんですね。

つまり、バッファオーバーフローが起こると、悪意のあるソフト(侵入に成功した悪意のあるソフト)が立ち上がり誤作動を起こしたり、システムが乗っ取られたり、またでつのシステムを攻撃する踏み台として利用されたりといろいろな問題が起こる可能性があるということになります。

※このメカニズムはスタック領域の仕組みとともに説明されますが、専門的になり過ぎるのでこの記事では触れません。興味のある方は調べてみてくださいね。

バッファオーバーフロー攻撃の対策

バッファオーバーフロー攻撃に対する主な対策は

  • ウイルスソフトを常に最新に保つ
  • アプリの更新プログラムは速やかに対応する
  • セキュリティ攻撃、不正アクセスを監視するツールを導入する

ということになります。

常にソフトやアプリケーションを最新の状態に保つということと、システムが攻撃されていないかを常に監視するということが重要だということですね。

セキュリティ対策関連サイト

「検出力」と「快適動作」を追求したウイルス対策ソフト

Webサイトの脆弱性を狙った5つの攻撃とは まとめ

というわけで今回は「Webサイトの脆弱性を狙った5つの攻撃とは」についてお伝えしました。

あまり耳馴染みのない用語が多かったかもしれませんが、脆弱性を狙ったサイバー攻撃の概要を掴んでいただけたらと思います。

Webサイトのセキュリティ対策を知るうえでの参考にしていただけたら幸いです。

セキュリティ対策関連のサイトもお伝えしたので、気になるサービスがあったらチェックしてみてくださいね。

というわけで、今回は以上になります。

最後までお読みいただきありがとうございました。