【Pくんが教えるWAF】 SQLインジェクション攻撃、この攻撃から生き残こるための対策は?

 

SQLインジェクション攻撃、

この攻撃から生き残こるための対策は?

 

 SQL(Structured Query Language)とは、データベースを作成及び維持するために使用されるプログラミング言語の一環です。構文が分かりやすくて、導入するのにかかるコストも低いというメリットがあって、プログラマの間で最も有名なツールの一つです。

しかし、一方から見るとSQLは、いつもウェブサイトをハッキングしようとするハッカーたちにも、よく知られているプログラミング言語で間違いないでしょう。SQLインジェクションSQL Injection)は、ウェブサイトの脆弱性を探して、データベースに悪性コードを設置する、インジェクション攻撃の一つです。一回の攻撃でホームページ改ざんや、個人情報の盗難などの大事件を起こせる恐ろしい攻撃です。

 

1.SQLインジェクション攻撃は、どのようにして発生しますか?

 SQLインジェクション攻撃は、使う技術によって様々な種類があります。その中でも、エラーベース SQLインジェクションの攻撃と、ブラインドSQLインジェクション攻撃が主に行われています。

 

ハッカーがチェックされてない入力値を発見して、それを悪用する時に発生する攻撃です。検査された入力値は、入力されたデータの中から要らない部分を削除するのに使用されますが、ハッカーは意図的に間違った情報を入力します。その後、フィードバックを待つだけでも、簡単に必要な情報を横取りできます。普通の場合、名前フィールドに数値を入力するなど、間違えてフィールドに無効な値を入力すると、警告ウィンドウが開かれます。ですが、ハッカー脆弱性を利用してアクセスすると、データベースは必要以上に多い情報を提供してしまって、ハッカーはここで得た情報を基盤にして、SQLインジェクション攻撃が開始します。

 

この攻撃は、エラーベースの攻撃より進化した、最近の攻撃タイプです。データベースサーバーのエラーメッセージやフィードバックもないまま、すぐにデータベースを攻撃できる方法です。この攻撃は、実行するのがより難しいのですが、 今まで常に使われている攻撃です。

 

2.SQLインジェクション攻撃をどのように守ればいいですか?

SQLインジェクション攻撃は、最も危険性の高い攻撃です。したがって、ウェブサイトを適切に守る方法を学ぶのが大事です。以下の3つの方法が、ウェブサイトを安全に保護するのに役に立つと思います。

 

 

ウェブアプリケーションファイアウォールは、潜在的な危険やサイバー犯罪に対応して、最前線で最も急速に対応する、境界ベースのセキュリティソリューションです。ウェブアプリケーションファイアウォールは、悪意のあるHTTPとウェブサイトを狙うHTTPS要求を分析して、分離します。疑わしいウェブトラフィックなどを察するために、カスタマイズされたルールを活用することで、最終的にSQLインジェクション攻撃の発生を予防できます。

 

  • 媒介体になったクエリ

媒介体にたクエリは、アプリケーションを運営するコードから、ユーザーが追加したデータを分離して、データ同士に相互作用しないようにします。この方法は、最も簡単で効果的な方法です。

 

  • アカウントの権限縮小

データベースのアカウントにアクセスする権限を縮小することは、Webサイトの中にセーブされたデータ自体へのアクセスを最小限にするのができます。特に未承認ユーザーが管理アクセスの権限を得た時、発生できる潜在的なダメージを最小にするのができます 。

 

結論

上に述べた方法を慎重に悩んだ後に導入をすれば、知られてはいけない個人情報をSQLインジェクションから保護することができます。ハッカーは24時間、いつもウェブサイトの脆弱性を狙っていることを覚えて下さい。それに対応して、24時間、正確に警戒することが重要です。ウェブサイトのセキュリティ方法を学ぶことで、Webサイトの管理やハッカーたに対する対策も早く整えることができるなら、良いでしょう。 

 

f:id:PentaSecurity:20170707091525p:plain