ECコラム
ネットショップに興味はあるけど何から取り組めば良いか分からない方、ネットショップで販路拡大を考えている方向けにECに関するノウハウや最新情報を発信していきます。
ECサイトにおけるセキュリティ脅威と対策
2021/10/11 最終更新日・2023/10/06
ECサイトを運営する上で避けて通れないのが「セキュリティ対策」です。顧客情報流出などの重大な問題が発生し、サイト停止に追い込まれれば業績に大きなダメージを負い、会社の信用も低下しかねません。特に防がなければいけないのは、悪意のある第三者による不正アクセスです。もしクレジットカード情報が盗まれるようなことがあれば、顧客に金銭的被害が生じる恐れがあります。ECサイト側も、第三者機関への調査費用やECサイトの改修費用が発生するだけではなく、顧客がクレジットカード番号を変更する際の費用を負担することも想定されるため、かなりのダメージとなります。
「BASE」や「STORES」のようなASPサービス(インターネット上で提供するソフトウェア)を通じてECサイトを出す場合や、ECモールを利用して出店する場合は、セキュリティ対策は事業者側の責任となります。ただ、オープンソース(無償で使用できるソフトウェア)のECサイト構築パッケージである「EC-CUBE」などを使い、ECサイトを出店する中小企業は少なくありません。こうしたツールで制作したECサイトは、カスタマイズしやすいなど、自由度が高いからです。この場合は、セキュリティ対策はECサイト側が行わなければいけません。
従来は、自社が管理するデータベース内にクレジットカード情報を保存するECサイトが多く、第三者に侵入されて盗み出されるケースが目立ちました。こうしたことから、2018年6月には割賦販売法が改正され、ECサイトはクレジットカード情報非保持化などの対応が求められたことから、多くの企業は準拠しました。ところが、保持していないはずのクレジットカード情報を盗まれるECサイトは、運営企業の大小を問わず後をたちません。攻撃者の手法とは、そして中小規模の事業者でもできるセキュリティ対策とはどのようなものでしょうか。
不正アクセスの手口とは
ウェブアプリケーション(ウェブの技術を基盤としたアプリケーション)に関するセキュリティの第一人者である、EGセキュアソリューションズ株式会社の徳丸浩代表取締役によれば、通販サイトからクレジットカード情報を盗み出すための手法は、「Type1~5」まで5つに大別されるそうです。
「Type1」は「SQLインジェクション」によるもの。「SQL」というデータベース言語(コンピュータのデータベースを扱うためのコンピュータ言語)を使ってウェブアプリの欠陥を利用し、データベースを不正に操作する攻撃手法で、データベースに保存されたカード情報などの個人情報を盗み出します。2000年代後半から多く用いられてきた手法で、著名サイトが改ざんされるケースが目立ちました。
「Type2」は「バックドア(攻撃者が侵入するために設ける裏口)を設置し、ログファイル(情報を記録しているデータ)等からカード情報を盗む」タイプ。ログファイルにカード情報が記録されているサイトにバックドアプログラムを設置し、ログをダウンロードする手口です。
「Type3」は「バックドアを設置し、データベースからカード情報を盗む」ケース。「Type2」と同様にバックドアプログラムを設置、侵入後に「Adminer」などのデータベース管理ソフトウェアを設置し、データベースから該当データを探して盗み出します。
「Type1~3」は従来の代表的な手口ですが、ECサイトにカード情報が蓄積されていることが前提のため、カード情報の非保持化が進んだことから、現在はあまり見られなくなりました。
近年増えているのが、「Type4」と「Type5」です。両方とも、近年一般化した非保持化にも対応した手口となります。
「Type4」は「カード情報入力フォームを改ざんして、ユーザーが入力中のクレジットカード情報を盗む」というものです。ECサイトにおけるクレジットカード決済は、クレジットカード情報が加盟店のサーバーを通過しない「非通過型」が推奨されています。決済代行業者は対応策として、入力画面にJavaScript(JS)(Webサイトを動的に動かしたいときに使われるプログラミング言語)を組み込むことでクレジットカード番号を別の文字列に変換、事業者のサーバーを経由せず決済代行業者側で処理する「トークン型」を用意していますが、こちらをターゲットとしています。
攻撃者は、クレジットカード情報入力画面が改ざんできるぜい弱性がある通販サイトに対し、悪意あるJSを設置します。この状態の入力フォームでユーザーがクレジットカード情報を入れると、確認ボタンを押したタイミングで外部のサーバーにデータが送信されてしまうわけです(図1と図2参照)。決済代行業者にもクレジットカード情報は流れ、注文処理は正常に行われることから、事態が発覚しにくいのがポイントです。
決済代行業者では、もう一つの「非通過型」として、ECサイトから決済代行会社の決済画面に遷移してクレジットカード番号を入力させる「画面遷移型」も提供しており、こちらをターゲットとしたのが「Type5」となります(図3参照)。攻撃者は、正規ページのデザイン等をコピーした偽のクレジットカード決済画面を用意。ユーザーがクレジットカード情報を入力して送信ボタンを押すとエラーが表示され、本来の決済ページに転送されるという仕組みです(図3参照)。
偽の決済ページはURLが正規ページとは異なりますが、そもそも画面遷移型は別のサイトに一度飛ぶことが前提となるため、偽ページに遷移したことが気づきにくくなります。また、偽の決済ページでクレジットカード情報を入力すると、そのまま攻撃者に情報が伝わりますが「Type4」と違って決済は正常に完了しません。そこで「決済エラー」画面を表示した後に正常な入力フォームに転送し、再度入力させるのが攻撃者の手口です。決済エラーが起きたとしても、「入力ミスをしたのかな」と受け取るユーザーが多いため、不信感を抱かれにくいのも特徴となります。
「Type4」「Type5」ともに、ユーザーが入力した情報をそのまま盗むため、クレジットカード番号だけではなく、セキュリティコードを盗むことができるのも特徴です。
「改ざん検知」が有効
それでは、ECサイトはどのような対策を施せば良いのでしょうか。独立行政法人情報処理推進機構(IPA)が2021年8月に公開した、2021年上半期における「コンピュータウイルス・不正アクセスの届出事例」によれば、IDやパスワードの管理不備や強度不足により認証を突破された事例や、ぜい弱性やセキュリティ設定の不備を悪用された事例の多くは、「セキュリティ対策運用手順やセキュリティポリシーに基づいた利用規則などを確立して、管理者や利用者一人ひとりがそれに従った運用・利用を行っていれば、被害を防ぐことができた可能性が高いと考えられる」とのことです。IPAが公開している「安全なウェブサイトの作り方」(https://www.ipa.go.jp/security/vuln/websecurity.html)などを参照し、安全なECサイトづくりを心がけましょう。
とはいえ、どんなに安全なウェブサイト作りを心がけていても、不正アクセスを受けてしまうことがあります。ECサイトの開発・保守はベンダー(事業者)に委託するのが普通ですが、セキュリティを意識した運用と保守が大事です。しかし、セキュリティを重視した定期的な保守には、当然のことながら相応のコストがかかるため、中小事業者には対応しにくい部分もあります。
費用対効果が高いのは、ウェブサイトの改ざんを検知する「改ざん検知ツール」の導入です。万が一改ざんされた場合でも、被害を最小限に防げるからです。また、ウェブアプリケーションに対する攻撃を検出する「ウェブ・アプリケーション・ファイアウォール(WAF)」は、コスト的にも導入しやすいため、おすすめです。
ただ、セキュリティ対策には「万全」はありません。最新の状況を踏まえたセキュリティ対策の見直しや、定期的な確認が重要になってきます。