アクセス集中で会員情報が流出?負荷テストで製品の品質を守る方法とは

キャンペーンやイベントを通して集客や企業価値を高める手法は広く使われていますが、一方で大量のアクセスが原因となりシステムに予期せぬ不具合が発生するケースも見られます。

今回は、実際に起きたキャンペーン時の不具合事例を紹介しつつ、負荷テストを活用することで製品やサービスの品質を守る重要性について解説します。

本稿は、今日の10分セキュリティラジオの放送を加筆修正したものです。

キャンペーンによるセキュリティリスクの事例

Webマーケティングが広く定着した現代では、キャンペーンやイベントを通して集客やブランディングに繋がる施策に取り組むことが増えてきました。企業としては、インパクトのある施策を実行することで、手軽に新規ユーザーの獲得に繋げることが可能。顧客情報を集められるという点でも、効果的な手法といえます。

しかし、セキュリティ面に目を向けると、キャンペーンによる大量のアクセスが集中することで、思わぬ不具合が発生するケースも発生しています。

キャンペーン実施中の会員情報の閲覧問題はアクセス集中が原因

2020年12月7日、サッポロビール株式会社は同社が実施したキャンペーンにて、他の顧客の個人情報が閲覧できる状況が発生していたと発表しました。

これは、キャンペーン時に新規会員登録した一部顧客から、他の顧客の個人情報が閲覧できるとの指摘があり発覚したもの。流出したのは、サッポロ会員4名のメールアドレス、名前、性別、生年月日、住所、電話番号、アンケート内容で、新規会員登録をした顧客のうち276名が閲覧できる状態であったと判明しました。

会員情報が閲覧できる状態が発生した原因は、キャンペーンにより大量のアクセスが集中したためです。アクセスによりサイトに過負荷の状態が発生し、システムの予期しない不具合が発生してしまいました。

同社では新規応募を中止・キャンペーンを終了し、個人情報が流出した顧客に対しては電話、メール等で謝罪と経緯の説明を行うなどして対応。再発防止に努めるとしています。

アクセス集中による不具合を未然に防ぐには負荷テストが有効

キャンペーン時に大量のアクセスが集中し、サイトがダウンするといったニュースは頻繁に目にします。企業からすれば大きな機会損失に繋がる上、ブランド価値を毀損する可能性も考えられます。

こうしたリスクを未然に防ぐために重要なってくるのが負荷テストです。

負荷テストとは?

負荷テストとは、意図的に大量のアクセスを発生させて、システムが正常に動くかをテストする方法です。想定される負荷での性能評価や、過負荷時の挙動などを確認します。

想定負荷でのテストを実施する代表例が、ECサイトです。具体的には、サイトアクセスのピーク時を想定し一定の利用者の応答速度を評価するというもの。ECサイトでは応答速度が遅いとユーザーがストレスを感じてしまい、サイトから離脱する割合が高まります。機会損失に繋がりやすく、リピーターの獲得にも影響しやすいため事前に負荷テストを実施するのが一般的です。

過負荷でのテストは、イベントサイトなどで実施されます。イベント等で一度に大量のアクセスが発生した場合を想定し、イベントスタートから終了までに予想される負荷をかけサイトの挙動を計測します。イベントは大量のアクセスが集中しやすいことから、負荷テストを実施して適切に挙動するかをテストします。

負荷テストとセキュリティテストの違いは?

さて、負荷テストがサイトを適切に運営する上で重要なことは理解できましたが、サイトの脆弱性診断に用いられるセキュリティテストとの違いはどこにあるのでしょうか?

セキュリティテストでは、主にSQLインジェクションやクロスサイトスクリプティングといった異常な値をシステムに送信して対応を確認します。悪意のあるアクセスに対して行うことが目的で、分かりやすくいえばアクセスの「質」に対してのテストです。

一方の負荷テストでは、通常な値をシステムに送信して対応を確認します。あくまでも通常のアクセスが大量に発生したことを想定するもので、分かりやすくいえばアクセスの「量」に対してのテストです。

この質と量の違いが、2つのテストの大きな違いといえます。

セキュリティやパフォーマンスも製品の品質の一部

2つのテストの共通点も存在します。

情報セキュリティの分野では、機密性(Confidentiality)・完全性(Integrity)・可用性(Availability)を維持することが重要であるとISOで定義されています。英語では3つの頭文字を取ってCIAと呼ばれています。

中でも2つのテストの共通点として注目したいのが、可用性です。可用性とは「情報が必要な人が、必要なときにアクセスできる」ことを指します。負荷テストはユーザーが不具合なくサイトにアクセスできるという意味で、可用性の一部を測るものと呼ぶことができます。セキュリティテストも、可用性を満たす重要なテストです。

また、負荷テストとセキュリティテストは、どちらも「非機能テスト」と呼ばれています。想定した要件通りに機能するかを測るのが「機能テスト」と呼ばれるのに対して、非機能テストは製品の品質やパフォーマンス、ユーザビリティといった部分をテストすることが目的です。

製品やサービスの品質保証という意味では、セキュリティやパフォーマンスも品質の一部と考えることができます。どんなに便利なシステムでも、バグが多い=品質が低いサービスは利用されません。

とくに日本では製品の品質が高いことが、世界的に見ても大きな強みとなっています。こうした背景を考えても、セキュリティやパフォーマンスといった品質にこだわるために、セキュリティテストや負荷テストを取り入れていくことが大切です。

まとめ

キャンペーンやイベントといった大量のアクセスが集中する場面では、システムに負荷がかかり予期せぬ挙動やサイトがダウンするといったアクシデントが発生しがちです。こうしたアクシデントは機会損失だけでなく、サイトのブランドを毀損する恐れがあるため、事前にきちんとしたテストを行うことが大切です。

具体的には、負荷テストを行い、システムのパフォーマンスに影響がないかを調べます。セキュリティテストだけでなく、負荷テストも上手に組み合わることで、より質の高いサイトパフォーマンスを実現しましょう。