SQLインジェクションとは

SQLインジェクションとは

Webアプリケーションの運営において、最も注意が必要な脆弱性(セキュリティインシデント)のひとつです。
例えば検索フォームやログイン画面など、SQLを用いたデータベース操作を行うシステムにおいて、SQL文の作成機能に問題があるとデータベースを不正に操作されてしまう可能性があります。

フォームイメージ

SQLインジェクションの脅威

Webアプリケーションからの情報漏えい事件の原因は、その多くがSQLインジェクションを利用した不正アクセスによるものです。悪意のある攻撃者によってデータベース上にあるユーザーの個人情報が盗まれたり、Webサイトを改ざんされるなどの被害につながります。
個人情報が流出した場合、Webサイト運営者が多額の賠償費用を負う必要があることは言うまでもありませんが、場合によってはそのWebサイトを制作した開発会社に賠償責任が発生することもあるため、SQLインジェクション対策はWebサイト運営者と開発会社の双方にとって必須なのです。

実際にあった被害例

  • ショッピングモールのメールマガジンサービスにおいて、2017年5月から2018年1月の間、SQLインジェクション攻撃を用いた複数回にわたる不正アクセスがあり、メールアドレスとパスワードの組み合わせ約24万件、メールアドレスのみ約3万件が流出。
  • 2017年5月にキャンペーンサイトがSQLインジェクション攻撃され、応募者の個人情報が2700件流出。
  • SQLインジェクションによってECサイトのクレジットカードデータが7000件以上流出。発注企業が開発ベンダーに1億円の損害賠償請求を提訴し、2262万円の損害賠償金支払いが命じられた。
  • 2017年2月にWebサーバがSQLインジェクション攻撃され、クレジットカード情報を含む顧客情報が最大13万件流出。

このように、最近でも本脆弱性は存在し、実際に多くの被害が出ています。

SQLインジェクションの対策にはVAddyがおすすめ!

VAddyのすべてのプランがSQLインジェクション検査に対応しています。

VAddyの検査の流れを説明した図

VAddyはお客様のテスト環境のWebサーバに対してHTTPリクエストを実際に送信し、受け取ったレスポンスデータを検証してSQLインジェクションの有無を判断しています。しかもKey - Value形式のPOST / GET / PUT / DELETEリクエストのうち、Key側(DBカラム側)とValue側の両方を検査の対象としているので、広範囲なSQLインジェクションを検出することができます。
さらに、レスポンスデータの検証だけでは判定が難しいブラインドSQLインジェクションにも対応しています。ブラインドSQLインジェクションは、レスポンスデータから直接情報を盗み出すのではなく、挿入したSQLに対するレスポンスの違いから、データベース管理システムに関する実行ユーザーやテーブル名といった情報を盗み出すものです。
FAQ :ブラインドSQLインジェクション検査とは

しかも、そうした検査の際に従来のツールのような脆弱性診断の専門知識が必要な設定項目はありませんので、お申込みから最短10分でSQLインジェクション検査ができます。

また、VAddyが提供しているAPIやコマンドラインツールも使えば、CI(Continuous Integration)ツールと連携させて自動化したり、決まった時間に定期実行させるなど、お客様の開発環境に合わせた柔軟な脆弱性診断環境の構築が可能です。

開発の初期段階からリリース直前まで、毎日の脆弱性診断をVAddyが実現します。

VAddyの思想

ユーザーフレンドリー✕高速✕自動化

セキュリティ製品の多くはセキュリティエンジニア向け

セキュリティ製品において、ユーザフレンドリー・速さ・価格と、検査の範囲や深さは、トレードオフの関係です。多くのセキュリティ製品はセキュリティエンジニア向けに設計されており、検査の範囲や項目数を競うように増やしています。それに伴って検査時間も増え、ツールの検査完了までに1日や2日かかる現場も多々あります。またリスクの大小様々な検査レポートが上がり、開発現場ではどこまで修正するのか現場で判断しなければいけません。

VAddyと他社セキュリティエンジニア向けの比較した図です。他社セキュリティエンジニア向け商品は設定項目が多く難しく、VAddyは設定項目が少なく使いやすい商品であることを示してます

セキュリティエンジニアがいない多くの現場で使われるレベルに

VAddyは、開発現場に浸透するセキュリティツールを目指し、従来の製品とは異なる視点・思想で開発しています。
セキュリティエンジニアがいない多くの現場でも、使い続けられる製品として設計しています。

私たちは、セキュリティテストにおいて人が判断している中で機械化できるところを機械化して設定を無くし、誰でも使えるレベルを目指しました。
検査は、自動化や頻繁にリリースされる環境を想定して、検査の速度を上げ、すぐに検査が終わるように検査項目を絞っています。リクスが低いもの・あまり攻撃されないパターンの検査項目を減らし、日々の検査で必ず検査すべきリスクの高い検査項目に限定しています。

これによりVAddyの検査は平均12分以内には終わり、問題を発見した場合も必ず修正すべき項目のみのため、現場での修正の有無の判断が不要になりました。

今まで脆弱性診断ができなかった多くの開発現場で喜ばれ、安全なアプリケーションがあたりまえの世の中を作りたい、VAddyは開発現場に寄り添う製品です。