クレジットカードの情報漏洩のニュースは、誰しも一度は目にしたことがあるのではないでしょうか。世間を賑わす「情報漏洩」は、あらゆる企業で発生しています。本記事ではECサイトの情報漏洩事例を紹介しつつ、脆弱性を作らない、さらには突かせないECサイトを作るための手法を3つ紹介します。
- もくじ
増加するクレジットカードの情報漏洩とその影響
2019年にECサイトから流出したクレジットカード情報は約34万件にもなり、2018年と比べ、倍以上に増加しています。クレジットカード番号が盗まれた後ECサイトなどで不正利用された被害額は、2019年上半期だけで約108億円にもなりました。
クレジットカード情報が漏洩すると、漏洩させた企業に大きな影響を及ぼします。社会的信用を失いサービス停止に追い込まれたサイトも少なくありません。
金銭面に着目すると、直接的に発生する支払費用と、間接的に発生する売上減少といった影響があります。
直接的に発生する費用としては、損害賠償費用とシステム改修費用があります。
損害賠償費用は発生した被害額のみならず、漏洩させたこと自体による過失責任として損害賠償請求されることもあります。内容や件数によっては数百億円規模になることさえあります。
システム改修費用については、情報漏洩の原因となった部分のみ対象とした改修で済むことはあまりないでしょう。情報漏洩の再発ともなると取り返しがつきませんので、アプリケーションからサーバー、ネットワーク、セキュリティソフトまで、万全を期する抜本的なシステム改修となることが少なくありません。
間接的な影響としては、一時的なサービス停止、社会的信用の低下に伴う売上減少などがあげられます。
情報漏洩の原因や影響範囲が特定されるまではサービスを停止せざるを得ませんので、その間ECでの売上はゼロとなってしまいます。食品など期限があるものを在庫に持っている場合は廃棄処分が必要になる場合もあるでしょう。
またサービス再開後も、社会的信用を失ってしまっては売上が落ち込むことがほとんどです。新規ユーザーは減り、既存ユーザーの中には退会、登録解除してしまう人もいるでしょう。
このように、情報漏洩が起こると一時的に支払わなければならない費用に加えて、将来の売上をも奪われてしまうため、資金難に陥り倒産する、といったことも起こりうるのです。
クレジットカードの情報漏洩を防ぐ仕組み3選
企業活動に多大な影響を及ぼすクレジットカードの情報漏洩を防ぐにはどうすればよいのでしょうか。
原因はさまざまで、ミドルウェアやOS、ネットワークでの対策も当然必要ですが、本記事ではどのようにアプリケーションを構築すべきかに着目して3つの仕組みを紹介します。
プログラムに脆弱性を埋め込まない
まずは、ソフトウェア開発の基本としてプログラムに脆弱性を埋め込まないことです。
SQLインジェクション、クロスサイトスクリプティング、OSコマンドインジェクションといった主要な脆弱性は必ず対策をしましょう。
SQLインジェクションは、入力フォームにSQLとして命令文を埋め込まれることでデータベースが不正に操作され、データベース内のクレジットカード情報などを取得されてしまう脆弱性のことです。対策として入力フォームの情報をエスケープ処理(SQL実行時に特別な意味を持つ記号や文字列を置換・削除)をすることで、不正なSQLが実行されることを防げます。
脆弱性対策を網羅的に行うためには、IPA(独立行政法人 情報処理推進機構)が発行する「安全なウェブサイトの作り方」が参考になります。
IPAが届け出を受けた脆弱性情報を基に、届け出件数が多いものや影響度が大きな脆弱性を取り上げ、その対策が網羅的に解説されています。失敗例やチェックリストもあるため、実装前・実装後に脆弱性対策が万全かチェックしてみましょう。
近年ECサイトはクラウドサービスなどで構築されることもありますが、その場合にもチェックリストの記入をクラウドサービス企業に依頼し、必要に応じて対策をとれば安心です。
多要素認証によるログイン機能強化
悪意のあるユーザーが他のユーザーIDになりすまして不正ログインし、クレジットカード情報を盗むケースがあります。ECサイト側から見ると一般のユーザーと見分けがつかないので、検知することが難しい攻撃手法ではあります。
不正ログインの手法として近年目立っているのが、パスワードリスト攻撃です。
パスワードリスト攻撃とは、攻撃者がどこかから入手したIDとパスワードのリストを使って、不正ログインを試みるものです。複数のサイトで共通のIDとパスワードを利用するユーザーが多いことを利用した攻撃手法です。
パスワードを使い回さないようユーザーに注意喚起する対策もありますが、ECサイト側で使い回しをチェックできるわけではなく、使い回しするかしないかはユーザー次第になってしまうので確実ではありません。
ECサイトですべき対策として、多要素認証を導入することがあげられます。
多要素認証とは、認証の3要素(知識要素・所持要素・生体要素)のうち、2要素以上を使って認証を行うものを指します。
認証の3要素のうち、知識要素はパスワードや秘密の質問などの本人が知っている情報、所持要素はスマートフォンやクレジットカードなど本人が所持しているもの、生体要素は指紋や顔貌など本人の身体的な特徴を認証することを指します。
例えば、知識要素であるパスワードと、所持要素であるスマートフォン(SMSで所持を確認)を組み合わせれば、パスワード漏洩とスマートフォンの盗難が同時に発生しなければ不正ログインされることがありません。
このように複数の異なる要素を組み合わせることで、不正ログインを防ぐことができます。
3要素すべてを組み合わせるのが最も強力な対策ではありますが、ユーザーの手間を増やしてしまうものでもあります。そこでログイン時ではなく、クレジットカード情報閲覧や、新規住所への注文など、重要な操作がされる際に導入することもあります。
クレジットカード情報の非保持化
3つ目に、クレジットカード情報の非保持化があげられます。
経済産業省やカードブランドなどが参加する「クレジット取引セキュリティ対策協議会」がクレジットカードを利用する加盟店に対し、クレジットカード情報の非保持化、またはPCI DSS準拠のいずれかの対応をとることを要請しています。
PCI DSS(Payment Card Industry Data Security Standard)はVISAやMasterCardなど国際カードブランド5社によって運用・管理されているクレジットカード情報保護のためのセキュリティ対策フレームワークです。PCI DSSの取得には訪問審査、サイトスキャンといった審査を受けることが必要で、それなりに厳しい基準があります。
中小企業の規模で展開するECサイトサービスがPCI DSSに準拠するレベルのセキュリティを実装することは簡単ではないので、クレジットカード情報の非保持化が推奨されるようになりました。
非保持化とは具体的には、自社で保有する機器・ネットワークにおいてカード情報を「保存」「処理」「通過」しないことを指します。非保持化により、ECサイトを運営する企業は厳しいセキュリティ基準を課せられることなく、代わりに決済代行会社などがPCI DSSに準拠してクレジットカード情報を守っています。
おわりに
クレジットカード情報の漏洩を防ぐ3つの対策を紹介してきましたが、どれか1つを行えばリスクがゼロになるわけではありません。また、3つすべてを行っても完璧ではありません。
企業の存続に関わる、情報漏洩を防ぐためにも幾重に、重なる多層防御が必要となります。脆弱性診断といった外部の診断サービスも活用しながら情報漏洩の可能性をできるだけ低くしていきましょう。