Webセキュリティの強度を保つ ~SQLインジェクションもXSSも過去の話ではない~

情報セキュリティの専門家やこの分野に関心を持つ人の多くは、今はランサムウェアをもっとも注視していると言っていいでしょう。特に医療施設や著名企業の被害が続いたここ2~3年は、一般のメディアもよく採り上げ、この攻撃の手口と脅威も広く知られるようになりました。

ランサムウェアに加えて、サプライチェーンを形成する企業の弱点を探し、ネットワークに侵入していくサプライチェーン攻撃、組織の内情を調べ上げ、巧妙な攻撃を仕掛ける標的型攻撃に対しても、企業社会の危機感は高まっています。

企業の関心は被害が多発している犯罪に向きがちですが、「SQLインジェクション」や「クロスサイト・スクリプティング(XSS)*」など、昔からあるサイバー攻撃が鎮静化したわけではありません。ランサムウェアへの対策が進む一方、Webセキュリティの弱点を突かれ、情報が漏えいする事件が一定の頻度で起きている点は注意が必要です。

SQLインジェクションやXSSは、Webに使われるOSやアプリケーションなど、ソフトウェアの脆弱性を突く攻撃です。企業のデータベースを不正操作したり、サイトを利用するユーザーのPCから情報を窃取したりする手口で、特に2000年代から2010年代にかけては、深刻な被害が多発していました。

まず、攻撃の手口を簡単に復習しておきましょう。

SQLはデータベースを操作する言語です。SQLインジェクションは、アプリケーションがDBと通信を交わす際の脆弱性を利用し、検索ボックスや入力フォームから、意図的に不正なSQL文を挿入(インジェクション)する行為です。この攻撃を受けると、DBの改ざんやデータの削除、機密情報の漏えいなどの被害が生じます。

脆弱性を突く攻撃は深刻な被害に結びつきます。

この数年で大きく報道された事件だけを見ても、SQLインジェクションでは、大手玩具メーカーのグループ企業が運営する会員制サイトが狙われ、数万件のメールアドレスが流出しました。また、一般企業より高いレベルでセキュリティを確保している決済代行事業者もSQLインジェクションを含む複合的な攻撃を受け、700万件を超える決済データが漏えいするという深刻な被害が起きています。

XSSでは、クラウド事業者のSaaS*サーバーが攻撃を受け、数十万件の顧客情報が流出。この他にも、アパレル分野の大手事業者が発行したアプリにXSSが起きる脆弱性が発見された一件や、著名なeコマースサイトにアクセスしたユーザーが、フィッシングサイトに誘導された事件なども報告されています。

Webサイトに使われるOSやミドルウエア、サーバーアプリなどは、リリース時にテストを繰り返しますが、あらゆるユースケースを想定したテストは現実的には難しく、稼働後に発見されたミスを修正していきます。一般企業にできるソフトウェアの品質管理には限界があり、業界団体やベンダーから発表される脆弱性情報をフォローしていくしかありません。

大手企業を含め、レガシーと呼ばれる長年使われているシステムが稼働を続けているケースは珍しくありませんが、こうした環境は特に注意が必要です。新しいサーバーOSやアプリケーションなども脆弱性はときどき報告されますので、IPAのサイト「脆弱性対策情報(JVN)」などで、常に最新の情報をフォローするようにしましょう。

SQLインジェクションやXSSは、もともと高度な専門知識とチーム力は必要とせず、個人でもにわか仕込みの知識で実行できる攻撃です。情報共有のメディアが進歩した現在は、脆弱性が残るサイトはダークウェブで検出でき、ここで売買される「攻撃ツール」を使えば、攻撃者が思い立ったその日に実行に移せると構えておいた方がいいでしょう。

具体的な対策として、まずはセキュリティ教育と啓発です。例えば、多くの企業にレガシーシステムが残っている現状や、一般企業ではソフトウェアの品質管理に限界がある点を周知します。特に中小企業では、人員と予算の関係で十分なフォローが難しいケースも多いのですが、放置された脆弱性は恰好の標的になってしまう点を繰り返し伝えていきましょう。

また最近のシステム部門では、ランサムウェアなどの攻撃に対する教育は行き届いていても、XSSのような昔からの手口へのフォローが足りていない点が指摘されています。特に新しい世代を中心に組織したチームでは、旧い攻撃を前提としたセキュアなコーティングが徹底されない懸念も残りますので、この点は留意したいものです。

当然ですが、脆弱性に対する攻撃も前提にしたセキュリティツール、サービスも稼働しています。例えば、WAF(Web Application Firewall)は、Webアプリケーションのレイヤで不審な動きを察知して被害を防止するシステムです。こうしたソリューションの導入に加えて、Webサイトの脆弱性診断を定期的に実施することも有効でしょう。

サイバー攻撃の8割から9割は、ソフトウェアの更新を怠らない、通信ログを定期的にチェックする、システムを利用する権限の設定を正しく行うなど、基本の徹底で阻止できます。日頃からセキュリティ対策の基本をおさえて脅威に対抗していきましょう。