サイバー攻撃は新旧が交錯
情報セキュリティの専門家やこの分野に関心を持つ人の多くは、今はランサムウェアをもっとも注視していると言っていいでしょう。特に医療施設や著名企業の被害が続いたここ2~3年は、一般のメディアもよく採り上げ、この攻撃の手口と脅威も広く知られるようになりました。
ランサムウェアに加えて、サプライチェーンを形成する企業の弱点を探し、ネットワークに侵入していくサプライチェーン攻撃、組織の内情を調べ上げ、巧妙な攻撃を仕掛ける標的型攻撃に対しても、企業社会の危機感は高まっています。
企業の関心は被害が多発している犯罪に向きがちですが、「SQLインジェクション」や「クロスサイト・スクリプティング(XSS)*」など、昔からあるサイバー攻撃が鎮静化したわけではありません。ランサムウェアへの対策が進む一方、Webセキュリティの弱点を突かれ、情報が漏えいする事件が一定の頻度で起きている点は注意が必要です。
*XSS:以前は「CSS(Cross Sight Scripting)」と略していたが、Webページの形式を指定する「Cascade Style Sheets」と混同しやすいため、現在はXSSと表すことが多い。
脆弱性を突く攻撃は無くならない
SQLインジェクションやXSSは、Webに使われるOSやアプリケーションなど、ソフトウェアの脆弱性を突く攻撃です。企業のデータベースを不正操作したり、サイトを利用するユーザーのPCから情報を窃取したりする手口で、特に2000年代から2010年代にかけては、深刻な被害が多発していました。
まず、攻撃の手口を簡単に復習しておきましょう。
◇SQLインジェクション
SQLはデータベースを操作する言語です。SQLインジェクションは、アプリケーションがDBと通信を交わす際の脆弱性を利用し、検索ボックスや入力フォームから、意図的に不正なSQL文を挿入(インジェクション)する行為です。この攻撃を受けると、DBの改ざんやデータの削除、機密情報の漏えいなどの被害が生じます。

SQLインジェクションの攻撃の流れ
出典:「安全なウェブサイトの作り方」(IPA)
◇クロスサイト・スクリプティング
攻撃者は脆弱性を内包するサイトに、悪意あるスクリプト*を仕込みます。これを起点に、例えば、不正なリンクをユーザーがクリックすると、スクリプトが起動してブラウザから入力データや通信状態を記録するセションIDを窃取したり、不正なプログラムを仕込むサイトへ誘導したりします。攻撃が行われる際は、脆弱性があるサイトを介して(クロスして)スクリプトが実行されるため、この名が付いています。
*スクリプト:特定の処理を自動化するために記述された簡易なプログラム

クロスサイト・スクリプティングの攻撃パターンの例
出典:「安全なウェブサイトの作り方」(IPA)
◇その他の攻撃
Webサイトの脆弱性を突くこれ以外の攻撃では、ユーザーがログイン中のサイトに対して、攻撃者がユーザーの意図しないリクエストを送信させ、不正なサービス利用やサイトの改ざんなどを行う「クロスサイト・リクエスト・フォージェリ」、ユーザーの入力を適切に処理せず、HTTP(Web通信に使われるプロトコル)のデータを操作して、不正な動作を引き起こす「HTTPヘッダ・インジェクション」などが知られていて、現在も被害が発生しています。
旧来の攻撃の実態は?
脆弱性を狙う攻撃は、IPA(情報処理推進機構)が発表している「情報セキュリティ10大脅威」でも、毎年のように注意喚起されています(2024年は7位)。IPAでは脆弱性に関する情報を「ソフトウェア等の脆弱性関連情報に関する届出状況」として定期的に公開していますが、直近のデータ(2024年第2四半期)では、XSS(57%)とSQLインジェクション(11%)が、脆弱性の影響が及ぶ攻撃の種別として、多くを占めました。

届出があった脆弱性の影響が及ぶ攻撃の割合
出典:「ソフトウェア等の脆弱性関連情報に関する届出状況」(IPA)
脆弱性を突く攻撃は深刻な被害に結びつきます。
この数年で大きく報道された事件だけを見ても、SQLインジェクションでは、大手玩具メーカーのグループ企業が運営する会員制サイトが狙われ、数万件のメールアドレスが流出しました。また、一般企業より高いレベルでセキュリティを確保している決済代行事業者もSQLインジェクションを含む複合的な攻撃を受け、700万件を超える決済データが漏えいするという深刻な被害が起きています。
XSSでは、クラウド事業者のSaaS*サーバーが攻撃を受け、数十万件の顧客情報が流出。この他にも、アパレル分野の大手事業者が発行したアプリにXSSが起きる脆弱性が発見された一件や、著名なeコマースサイトにアクセスしたユーザーが、フィッシングサイトに誘導された事件なども報告されています。
*SaaS(Software as a Service):各種ソフトウェアの機能をクラウドから提供するサービス
古典的な対策を新しい眼で実践
Webサイトに使われるOSやミドルウエア、サーバーアプリなどは、リリース時にテストを繰り返しますが、あらゆるユースケースを想定したテストは現実的には難しく、稼働後に発見されたミスを修正していきます。一般企業にできるソフトウェアの品質管理には限界があり、業界団体やベンダーから発表される脆弱性情報をフォローしていくしかありません。
大手企業を含め、レガシーと呼ばれる長年使われているシステムが稼働を続けているケースは珍しくありませんが、こうした環境は特に注意が必要です。新しいサーバーOSやアプリケーションなども脆弱性はときどき報告されますので、IPAのサイト「脆弱性対策情報(JVN)」などで、常に最新の情報をフォローするようにしましょう。

最新の情報を伝えるサイト 「脆弱性対策情報(JVN)」の一部
出典:IPA
レガシーな知識は継承を
SQLインジェクションやXSSは、もともと高度な専門知識とチーム力は必要とせず、個人でもにわか仕込みの知識で実行できる攻撃です。情報共有のメディアが進歩した現在は、脆弱性が残るサイトはダークウェブで検出でき、ここで売買される「攻撃ツール」を使えば、攻撃者が思い立ったその日に実行に移せると構えておいた方がいいでしょう。
具体的な対策として、まずはセキュリティ教育と啓発です。例えば、多くの企業にレガシーシステムが残っている現状や、一般企業ではソフトウェアの品質管理に限界がある点を周知します。特に中小企業では、人員と予算の関係で十分なフォローが難しいケースも多いのですが、放置された脆弱性は恰好の標的になってしまう点を繰り返し伝えていきましょう。
また最近のシステム部門では、ランサムウェアなどの攻撃に対する教育は行き届いていても、XSSのような昔からの手口へのフォローが足りていない点が指摘されています。特に新しい世代を中心に組織したチームでは、旧い攻撃を前提としたセキュアなコーティングが徹底されない懸念も残りますので、この点は留意したいものです。
脅威情報をモニタリングする機能も生かす
当然ですが、脆弱性に対する攻撃も前提にしたセキュリティツール、サービスも稼働しています。例えば、WAF(Web Application Firewall)は、Webアプリケーションのレイヤで不審な動きを察知して被害を防止するシステムです。こうしたソリューションの導入に加えて、Webサイトの脆弱性診断を定期的に実施することも有効でしょう。
サイバー攻撃の8割から9割は、ソフトウェアの更新を怠らない、通信ログを定期的にチェックする、システムを利用する権限の設定を正しく行うなど、基本の徹底で阻止できます。日頃からセキュリティ対策の基本をおさえて脅威に対抗していきましょう。