「EC-CUBEの脆弱性対策をもっと簡単にする方法はないの?」
「EC-CUBEの脆弱性による被害を未然に防ぐ方法はある?」
EC-CUBEの脆弱性により、クレジットカード情報などが盗まれるなどの被害が発生しています。個人情報の漏えいは企業とユーザーの双方に大きな被害をもたらすため、攻撃を防ぐ対策の実施が重要です。
本記事では、以下の内容を詳しく解説します。
- EC-CUBEへの攻撃が発生する理由
- EC-CUBEの代表的な脆弱性と攻撃手法
- 被害を防ぐための対策
- 最新情報や対策方法を簡単に取得する方法
本記事を読むことで、実際にあったEC-CUBEの被害事例や、被害を未然に防ぐ方法が分かります。EC-CUBEのセキュリティを強化したいと考えている企業の方は、ぜひご一読ください。
ECサイトなどオンラインサービスを提供している企業の方、必見!
CSRFの対策は、何から取り組むべき?
Webシステムの脆弱性をチェックし、最適な対策を実施することが大切です。 まずは、サービス紹介資料をご覧ください。
EC-CUBEをはじめとしたECサイトへの攻撃によるクレジットカードの被害
日本クレジット協会によると、クレジットカード不正利用の被害額は年々増加傾向にあり、2014年に115億円だった被害額は2022年には437億円にも上りました。
2022年の年間不正利用被害総額のうち、9割強がクレジットカードの番号盗用による被害です。
ECサイトへのサイバー攻撃やフィッシング等によって、クレジットカード情報を不正に入手していることが分かります。
EC-CUBEも他のECサイト同様、クレジットカード情報が盗まれる被害が発生しています。実際に発生した2つの事例をご紹介します。
1つ目は、2021年5月にIPAの「重要なセキュリティ情報」にて報告された、クロスサイトスクリプティングの脆弱性(JVN#97554111)です。脆弱性を悪用した攻撃によるクレジットカード情報の漏えいが複数確認されたため、アップデートやパッチの適用を早急に行う必要があり、緊急度「高」として報告されました。
2つ目は、2019年12月にも、経済産業省よりEC-CUBEにクレジットカード情報漏えいの脆弱性があることが発表されました。この件では約14万件のクレジットカード情報が漏えいしていることが確認されています。
クレジットカード不正利用の被害額からも見て取れるように、ECサイトに対する攻撃が増加していることがわかります。
EC-CUBEなどのECサイトには多くの個人情報が保管されているため、このような被害にあうとユーザーからの信頼を失うことになります。企業のイメージが低下すれば金銭的な損失を被ることにもつながるため、十分な脆弱性対策が必要です。
EC-CUBEへの攻撃が発生する理由
なぜ、EC-CUBEが狙われ、被害が発生してしまうのでしょうか。
主な理由は、次の3つです。
- EC-CUBEはOSSであるため
- セキュリティ対策が不十分なまま運用されているため
- EC-CUBEを適切にインストールしていないため
1. EC-CUBEはOSSであるため
EC-CUBEは無料で使えるOSS(オープンソースソフトウェア)のECサイト構築システムであるため、他のOSSと同様に以下の点が攻撃を受けやすい要因の一つになります。
- ユーザー数が多い
- プログラムのソースコードが公表されている
EC-CUBEはユーザーが多く積極的にデバッグされていることから、比較的安全性は高いと言えるでしょう。ただし、OSSは組織的にソフトウェアの安全性を高めることはしないため、プログラム全体を見たときに不具合が発生する可能性があります。
1カ所でも不具合があれば、攻撃者はその隙を突いて攻撃を仕掛けてきます。
2. セキュリティ対策が不十分なまま運用しているため
脆弱性を突いた攻撃手法は年々多様化しているため、セキュリティ対策をまったく行わないのは非常に危険です。
脆弱性に対応した修正版のEC-CUBEが配信されてもアップデートを行わずに利用し続けると、攻撃を受ける可能性が格段に高まります。
3. EC-CUBEを適切にインストールしていないため
EC-CUBEがサーバーへ適切にインストールされていないことも、EC-CUBEが狙われやすい原因の一つです。
EC-CUBEはカスタマイズなどの自由度が高い分、サーバーの準備・設定が必要になります。設定が不適切だと、公開するべきではないファイルが露呈してしまい、改ざんのリスクが発生します。
EC-CUBEへの代表的な3つの攻撃手法
EC-CUBEへの代表的な攻撃手法は、次の3つです。
- クロスサイトスクリプティング
- ディレクトリトラバーサル
- フォームジャッキング
本章では、EC-CUBEの代表的な脆弱性と攻撃手法について解説します。
1. 個人情報を盗む「クロスサイトスクリプティング」
クロスサイトスクリプティングとは、入力フォームなどに悪質な簡易プログラムを仕掛けることができてしまう脆弱性です。攻撃者は、クロスサイトスクリプティングの脆弱性を悪用して、ユーザーの個人情報などを盗みます。
以下のような手法で攻撃が仕掛けられます。
- 攻撃者が罠ページを作成し、そこには脆弱性のあるECサイトへのリンクがある。リンクに悪意のあるスクリプトが仕込まれることで攻撃準備が完了する。
- ユーザーが罠ページを閲覧し、脆弱性のあるECサイトへのリンクを踏む。
- ユーザーが脆弱性のあるECサイトへ遷移する。この時に、攻撃者が仕込んだ悪意のあるスクリプトを持って遷移するため、脆弱性のあるECサイトにスクリプトが渡る。
- ユーザーが脆弱性のあるECサイトを閲覧するときに、ページが表示されるタイミングで悪意のあるスクリプトが出力され、実行される。
- 攻撃者はユーザの個人情報を定期的に盗み出すことが可能になる。
クロスサイトスクリプティングの脆弱性は、脆弱性の中でも最も件数の多い脆弱性です。また、対策が必要な箇所が多く漏れが生じやすいという問題があります。
「クロスサイトスクリプティング(XSS)|影響と対策をわかりやすく解説」では、クロスサイトスクリプティングのしくみや、脆弱性の対策方法を解説しています。
EC-CUBEにしばしば発生してしまう脆弱性ですので、お読みいただきどのような脆弱性か理解しておくことをおすすめします。
2. 非公開ファイルに不正アクセスする「ディレクトリトラバーサル」
ディレクトリトラバーサルは、EC-CUBEの管理者権限でしかアクセスできないファイルを不正に取得できてしまう脆弱性です。
不正アクセスが成功すると、攻撃者はファイルへのアクセス、ファイルの閲覧・書き換え・削除が行えるようになります。
- 管理画面のURLがデフォルトのまま
- アクセス制限をかけていない
など、セキュリティ対策が不十分だと攻撃を受けやすくなります。
ファイルに不正アクセスされると、以下の被害を受ける可能性があります。
個人情報漏えい
ファイルの不正アクセスによって個人情報がダウンロードされ、攻撃者以外にも広く拡散される危険があります。
データの改ざん
ファイルの書き換えが可能となるため、アカウント情報の変更やサービス提供に必要なデータの削除などが行われる可能性があります。
乗っ取り
不正アクセスによって管理情報を勝手に変更され、アカウントを乗っ取られることがあります。アカウントを別のサービスと連携させていた場合、そのサービスまで乗っ取られる危険もあります。
3. カード情報を盗む「フォームジャッキング」
フォームジャッキングとは、Webサイトを改ざんして情報入力フォームに悪意あるコードを仕掛け、決済ページからクレジットカード情報を盗む手法です。偽サイトに誘導する方法と、正規の入力フォームに不正なコードを仕掛けて攻撃者に情報を送信する方法があります。
偽サイトに誘導する方法では、ユーザーに偽の決済画面でカード情報等を入力させて情報を盗みます。ユーザーが偽の決済画面上で決済を済ませようとすると「再度入力をお願いします」のようなエラーメッセージを表示させ、正規のサイトに戻すという流れです。正規のサイトでは正常に決済を完了できて商品も発送されるため、情報を盗まれたことに気付くのが難しくなります。
正規の入力フォームに不正なコードを仕掛ける方法は、入力したカード情報等が正規のサイトやカード会社だけでなく攻撃者にも送信されるというものです。ユーザーがカード情報等を入力して決済ボタンを押下すると、不正な処理が作動します。
EC-CUBEの脆弱性に対する3つの基本的な対策
EC-CUBEの脆弱性に対する基本的かつ重要な対策は、次の3つです。
- EC-CUBEをバージョンアップする
- パッチを適用する
- EC-CUBEをサーバーへ適切にインストールする
1. EC-CUBEをバージョンアップする
脆弱性が原因の攻撃を受けないために有効な対策は、EC-CUBEをバージョンアップすることです。EC-CUBEの最新バージョンは、EC-CUBE公式サイトの「EC-CUBE2・3・4系ダウンロード」からダウンロードできます。
バージョンアップするとセキュリティ対策ができるだけでなく、新機能の追加なども行われます。新バージョンが配信されていないか定期的に確認し、常に最新に保つようにしましょう。
2. パッチを適用する
脆弱性が見つかったら、いち早く修正プログラムのパッチをあてることが重要です。該当する脆弱性のパッチファイルは、EC-CUBEの公式サイトにある「脆弱性リスト」から確認できます。
3. EC-CUBEをサーバーへ適切にインストールする
EC-CUBEはOSSであるため、サーバーの準備・設定をユーザー側で行う必要があります。設定が不適切だと、公開するべきではないファイルが露呈してしまい、攻撃のターゲットにされてしまうリスクが発生します。
設定は「設定ファイルの変更」など比較的簡単な作業で行えます。
サーバーへのインストール方法など、以下に記載されているので、今一度ご確認いただき、EC-CUBEが適切にサーバーにインストールされているか、設定を見直しておきましょう。
- EC-CUBEのインストール方法(EC-CUBE公式サイト)
- サーバーへインストールする(EC-CUBE 4 開発者向けドキュメント)
- システム要件はこちら(EC-CUBE 4 開発者向けドキュメント)
EC-CUBE 4のシステム要件としてWebサーバーにApacheがありますが、ApacheもEC-CUBEと同様にOSSのため、脆弱性に対するアップデートをユーザー側で行う必要があります。
脆弱性対応が遅れてしまうと不正アクセスやサーバーダウンなどの被害を受ける可能性があるため、EC-CUBEと同じく、被害を防ぐにはバージョンを最新に保ち続けることが大切です。
Apacheの場合はメーリングリストに登録しておくと、バージョンアップ情報を配信してくれるサービスがあります。アップデート漏れを防ぐためにも登録をしておくことをおすすめします。
登録方法については「Apacheの脆弱性|最新情報の入手から検知までを自動化する方法」に記載されているので、ぜひ参考にしてください。
EC-CUBEのセキュリティ対策で実施したい3つの強化方法
セキュリティをより万全にするには、脆弱性診断、WAF、改ざん検知を取り入れるのがおすすめです。
1. 脆弱性診断を実施する
脆弱性診断とは、ECサイトの設計ミスやバグなどの欠陥により攻撃を受けるリスクがないか検知するセキュリティ対策です。診断を実施すると自社のECサイトに脆弱性が潜んでいるかいち早く気付くことができ、実施すべき具体的なセキュリティ対策がわかります。
脆弱性診断について詳しく知りたい方は、「脆弱性診断(セキュリティ診断)とは|必要性からやり方まで、すべて解説」をご覧ください。
2. WAFを導入する
WAFとは、不正アクセスなどの攻撃からECサイトを守るセキュリティシステムのことです。ECサイトそのものではなくネットワーク上に配置し、通信内容をチェックすることで攻撃を遮断します。
ECサイトを最新に保っていても脆弱性を完璧になくすことは難しいですが、WAFを導入すればEC-CUBEの脆弱性に対応できていない状態でも攻撃を防げます。ECサイトを狙ったクロスサイトスクリプティングやディレクトリトラバーサルの攻撃にも有効です。
3. 改ざん検知を実施する
クレジットカード情報の漏えいはECサイトからの決済画面の改ざんが主な原因のため、改ざん検知を実施するのが有効です。改ざん検知はECサイトのコンテンツが第三者によって改ざんされていないか常に監視し、改ざんされていれば通知します。
改ざん検知を実施するとクレジットカード番号等の情報漏えいを未然に高確率で防ぐことができます。
脆弱性診断やWAFに加え、改ざん検知を実施すれば情報漏えいのリスクを大幅に減らせます。セキュリティをより強固にしたい場合は、改ざん検知の実施も検討しましょう。
脆弱性診断ツールでEC-CUBEのセキュリティリスクを最小限に
脆弱性診断ツールとは、疑似的な攻撃を行ってWebシステムやアプリのセキュリティ上の問題点を検査するツールのことです。ツールのメリットは、Webシステムやアプリをいつでも診断できることです。
ツールを使うと、EC-CUBE自体やEC-CUBEで作成したECサイトを自社で何度も診断できるため、脆弱性を素早く知ることができるようになります。
ツールがEC-CUBEの脆弱性を検出するしくみを以下に例として記載します。
- EC-CUBEの脆弱性が発見される
- JVNやCVEなどで既知の脆弱性として登録される
- 脆弱性を検出するためのシグネチャが作成される
- 作成されたシグネチャにより自動でEC-CUBEの脆弱性を検知する
注意)上記は一例です。脆弱性の影響度に応じてシグネチャが作成されるため、即時登録されないものもあります。
脆弱性診断ツールを使うことによって、EC-CUBEの脆弱性情報をユーザーが自ら取りにいく手間が省けるうえに、Webアプリケーションに存在する既知の脆弱性も検出し、報告してくれます。
ただし、上記は一例であり、ツールにはさまざまなタイプがあるので、具体的に導入を検討される方はぜひ「脆弱性診断ツール(サービス)|有料・無料の違いと5つの選定ポイント」を読んでいただき、ツールについて知っていただいてから導入することをおすすめします。
まとめ|こまめにセキュリティチェックを行いEC-CUBEを安全に活用しよう
EC-CUBEの脆弱性により、クレジットカード情報などが盗まれる被害が発生しています。脆弱性の放置は不正アクセスや情報漏えいのリスクを招くため、いち早く対策を実施することが重要です。
EC-CUBEの脆弱性を早期発見し攻撃を防ぐための対策は、以下の5つです。
- EC-CUBEをバージョンアップする
- パッチを適用する
- 脆弱性診断を実施する
- WAFを導入する
- 改ざん検知を実施する
脆弱性を修正したパッチを適用し、常に最新の状態を維持すれば、被害を受けるリスクを大幅に減らせます。
更新漏れを防ぐためには、脆弱性診断ツールの導入を検討するとよいでしょう。
個人情報を取り扱うECサイトでは、万が一の際の被害拡大を防ぐために確実なセキュリティ対策が求められます。
自社のEC-CUBEとECサイトを安心して使い続けるためにも脆弱性対策を実施しましょう。