ニフクラ ブログ

ニフクラやクラウドの技術について、エンジニアが語るブログです。

WEBサイト・サービスの脆弱性とWAFによるセキュリティ対策

f:id:marketing_fjct:20180731141810p:plain

たまにニュースで聞く個人情報の流出やWebページの改ざんの原因の1つとしてWEBサイト・サービスの脆弱性への攻撃があげられます。そのような被害に遭わないために知っておいて損はない代表的なセキュリティの脆弱性と攻撃手法について説明します。

WEBサイト・サービスに対する脆弱性・攻撃手法

SQLインジェクション

Webサイトで不正にSQLを実行して個人情報などが保存されているデータベース(DB)にアクセスし、情報を抜き出したりDBの内容の改ざんや破壊をしようとする攻撃や脆弱性のことをSQLインジェクションと呼びます。 SQLはDBの操作をする際に使用する言語です。それをWebサイト上で不正に実行して情報にアクセスします。SQLインジェクションが原因でクレジットカード番号や個人情報などの漏えいしたケースがあります。

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

SQLインジェクションではSQLを利用し不正な操作を行いますが、OSコマンドインジェクションはWebサイト経由でサーバ上でOSコマンドを不正に実行する攻撃や脆弱性です。OSコマンドというのはOS(オペレーションシステム)を操作するための命令のことです。 被害としては、情報の抜き出しや改ざんがされたりする他、サーバが別の攻撃の踏み台に利用されることもあります。

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

掲示板サイトなどに不正なスクリプト(処理)を含んだリンクを書き込みユーザをアクセスさせ、スクリプト実行について脆弱性のあるサイトへ転送し、転送先のサイトで不正なスクリプトを実行させる攻撃や脆弱性のことをクロスサイトスクリプティングと言います。 例えば、HTMLやJavaScriptをリンク先のアドレスに含ませ、リンクで飛んだ先で不正な処理を実行させます。クロスサイトスクリプティングへの対策としてはHTMLやJavaScriptや不正な値が入力されていないかをチェックする方法(サニタイジング)や後ほど説明するWAFを使った対策もあります。

脆弱性をついた攻撃への対策

WAF(Webアプリケーションファイアウォール)

上で説明した脆弱性に対しては、Webアプリケーション上での処理を加える他にもWAFによる対策方法があります。WAFの大きな特徴はデータの中身をアプリケーションレベルで解析できる点です。これによりWAFは通信の中身をチェックすることができます。リンク元のアドレスに不正な処理などが含まされていたりしないかを確認し、不正な内容があった場合は通信をブロックします。

例えば、ScutumであればScutumセンターを経由する形でWAFの機能を提供し攻撃をブロックします。前半で説明したようなセキュリティの脆弱性に対する攻撃対策の1つとしてWAFの導入があります。WAFによって対応可能な脆弱性に対する攻撃が違うため、導入前にどういった攻撃に対して対策を必要かを明確にしておく必要があります。

おわりに

ニフクラHP内には攻撃遮断くんScutumといったWAFの説明ページもご用意しています。詳しくはこちらをごらんください。