こんにちは、ソラです!
先日、タリーズコーヒーのオンラインストアで大規模な情報漏洩が起きたというニュースを聞いて、びっくりしましたよね。
情報漏洩のニュースは時々ありますが、今回はクレジットカードのセキュリティコードまで漏洩した可能性があるとのことです。
「え?私のクレカ情報も漏れちゃったの?」なんて思った人も多いのではないでしょうか。
私もつい最近、クレカの不正利用されたのでドキっとしています…
今回は、事件の原因と考えられる箇所と、初心者向けに自分のホームページを守る方法をお話ししていきます。
コーヒーでも飲んで、落ち着いてから読んでいってください。
■ タリーズ情報漏洩事件の真相:画面スライダーが改造された?
まず、タリーズの事件について簡単におさらいしましょう。
2024年10月3日。タリーズコーヒーから「オンラインストアの不正アクセスで、大規模な個人情報漏洩事件が発生した」と発表がありました。
タリーズオンラインストアで、5万件以上もの個人情報とクレジットカード情報が流出したんです。
しかも、クレジットカード情報は番号や名義だけでなく、セキュリティコードまで流出の可能性があるということで、不正利用され放題の状態ですね。
で今回、私が驚いたのが漏洩した原因です。
私は最初、「タリーズのサーバーに保存されている顧客情報が流出した?」と考えましたが、どうやら違いそうです。
入力画面でお客様が入力した情報が、そのまま攻撃者のサーバーに送信された可能性があります。
どうやら、サイト内にあったJavaScriptファイル「slick.min.js」の中に、悪意のあるコードが仕込まれていたようです。
Slickとは、画像などをスライドさせるプログラムで、Web制作界隈ではメジャーな機能です。
「えっ、画像を動かすだけのプログラムが犯人だったの?」と思いますよね。
もちろん、slick自体は悪いものではありません。
第三者による不正侵入により、slickに悪意のあるコードが埋め込まれた可能性が高いです。
■ Slickに埋め込まれたコードは、難読化されていた
この悪意のあるコードは、難読化されており、さらにそれを数段階くらい重ねていました。
これじゃあ一般人どころかプログラマーでも、気づいても原因を探るのは難しいですよね。
まるで、映画に出てくるスパイが使う暗号みたいです…
■ evalの恐怖:プログラマーの悪夢
この悪意あるコードには「eval」という関数が使われていました。
evalは、文字列をJavaScriptのコードとして実行できるため、攻撃者が任意のコードを実行し、サイトを乗っ取ってしまう可能性があります。
まるで、プログラムの中に裏口を作ってしまうようなもので、セキュリティ的に危険な代物です。
evalを見たプログラマーの反応を想像してみましょう。
プログラマーA:「eval だと!? もうダメだ…」
プログラマーB:「evalじゃなくてevilだわこれ」
プログラマーC:「eval… (あっ察し」
まるで、悪の組織のボスが現れた時の絶望感ですね!
そのくらい、何でもできてしまいます。
eval以降のコードは難読化されていますが、evalがあること自体警戒した方が良いです。
■ 解読すると…
コードはかなり難読化されていました。
解読したコード内容を見ると、以下のようなことを行っていました。
- ユーザー情報(メールアドレス・パスワード・クレジットカード)の収集
- 収集した情報を変数にまとめてクッキーへの保存
- 外部にデータ送信
■ 自分のホームページを守るには?
さて、ここからが本題です。タリーズの事件から学べることは何でしょうか?
自分のホームページを守るために、大事なポイントをまとめました!
1. Content-Security-Policy(CSP)を設定しよう
CSP(コンテンツセキュリティポリシー)は、Webサイトを外部の不正スクリプトから守る強力な仕組みです。
簡単に言うと、「このサイトでは、この場所からのデータだけを使います!」というルールをサイトに設定するものです。
例えば、こんなコードです。
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://ajax.googleapis.com;">
これにより「自分のドメインと、GoogleのCDNからのスクリプトだけを許可します」という意味になり、外部からの不正なスクリプトをブロックできます。
※ 注意
今回のように「サーバー内のソースコードが直接改ざんされた場合」、CSPだけでは解決しません。しかし、CSPは他の攻撃を防ぐために非常に重要な防御策です!
2. 外部ライブラリは慎重に選ぼう
タリーズの件では、画像スライダーのライブラリが改ざんされていました。
外部ライブラリを使う時は、信頼できるソースから取得して定期的に更新することが大切です。
自分のサーバーに配置する際は、定期的なアップデートと改ざんされていないかの確認は必要です。
「ライブラリ選びは、お見合い相手を選ぶくらい慎重に!」くらいの気持ちで臨みましょう。
「必要以上にたくさん使わない」のもポイントです。
3. 定期的なセキュリティチェックとバックアップを行おう
自分のサイトを定期的にチェックすることも重要です。無料のセキュリティスキャンツールを使うのも良いでしょう。
「毎月1日はホームページ健康診断の日!」なんて決めてみるのはどうでしょうか。
そして、定期的なバックアップもお忘れなく!
バックアップは、単に復元するための保険だけではありません。
現在の状態と前回のバックアップの中身を比較することで、思わぬ改ざんに気づく手助けにもなります。
4. サーバーにWAFやファイル改ざん検知システムを導入する
今回のケースでは特に効果的な対策と言えるでしょう。
WAF(Web Application Firewall)は、Webアプリケーションに対する攻撃を守るための「防火壁」です。攻撃の兆候を検知してアクセスをブロックする役割を果たします。
一方で、ファイル改ざん検知システムは、サーバー内のファイルがいつの間にか改ざんされていないかを見守る「番人」です。たとえば、JavaScriptやサーバーのファイルが不正に書き換えられた場合、その異変をすぐに察知して管理者に通知してくれます。
このような仕組みを導入することで、問題が大きくなる前に対処できる可能性が高まります。
5. サイトの制作費用や保守費用をケチらない
※ これは、ホームページ制作や保守を外注する時に絶対に気をつけたいポイントです。
「安く作れるからといって、安い制作会社やプランを選んでしまうのは危険!」
安価な制作や保守は、最初はお得に見えます。
でも、セキュリティ対策が甘かったり、サーバーを貸しているだけでメンテナンスが手薄だったりすると、後々の修正費用や時間が膨れ上がることがあります。
保守やバックアップをしっかりしていないと、いざという時に大きなリスクを背負うことになります。
自分のホームページは、重要な資産。
ちょっとしたコストをケチったせいで、後々大きな損害を被る…そんな事態を避けるためにも、信頼できる制作会社と安定した保守を選んでください。
実際に、「安さ」に惹かれて後悔した企業の事例もあります。
こちらの記事で、私の実体験を元に再構成した内容をご紹介しています。
6. 常に最新の情報をキャッチする
セキュリティの世界は日々進化しています。新しい脅威が次々と現れる一方で、対策方法も日々進化しています。
「ウェブサイトは、何もしなくても動いて当たり前」ではありません。放置すれば、思わぬトラブルに見舞われることもあるのです。
セキュリティ関連のニュースやブログを定期的にチェックして、どんな新しい脅威が登場しているのか、どんな対策が効果的なのかを学び続けましょう。
「セキュリティニュースは、トレンド情報と同じくらいチェックする!」くらいの気持ちで。
セキュリティに関しては、「後で対応しよう」と後回しにしていると、気づいた時にはすでに手遅れ…なケースが多いのです。
■ 最後に ホームページ運営者も利用者もパニックにならないで!
ここまで読んで、
「うわ〜、怖すぎる!もうインターネットから永久に離れる!」なんて思った人はいませんか?
大丈夫、そこまでする必要はありませんよ。
セキュリティ対策は、家の鍵をかけるのと同じです。
鍵をかけても侵入されることもあります。完璧な安全はありません。
ですが、基本的な対策をしっかりすれば大抵の危険は防げます。
また、今回のタリーズの件で学べることがあります。セキュリティに詳しい人たちが、問題が起きた後すぐにコードを解析し、原因を特定し情報も共有していました。これもインターネットのメリットですよね。
私たちにできることは、そういった専門家の助言に耳を傾け、自分のできる範囲で対策をすることです。
たとえば、「よし、明日からCSPを設定してみよう!」とか「外部ライブラリ、ちゃんとチェックしてみるか」「evalはやっぱり危ないな」と思うだけでも十分です。
一朝一夕にはいかないけど、コツコツ続けることが大切なんです。今日からでも少しずつ始めてみませんか?
さあ、恐れずにインターネットの海へ漕ぎ出しましょう。ただし、きちんとライフジャケットは着用してくださいね!
それでは、安全なウェブライフを楽しみましょう!
(ちなみに、「私のウェブサイトがおかしい、改ざんされているかも?」と感じた方は、相談を受け付けますので、お気軽にどうぞ笑。)