JINSオンラインショップへの不正アクセスの件

メガネ通販のJINSオンラインショップへの不正アクセスで、クレジットカード情報を含む個人情報が流出しました。内部では進行形の話ですが、最終報告書が公開されたので、この件について触れてみたいと思います。この記事では、下記の報告書の内容に基づいて書いていきます。

不正アクセス(JINSオンラインショップ)に関する調査結果(最終報告)

まず事件について時系列でまとめます。

日時 アクション
3/6(水) 不正プログラムを仕掛けられる(※事後調査で発覚)
3/14(木) 19:58頃 サイトに異常を発見
3/14(木) 22:50頃 不正アクセスの痕跡を発見
3/14(木) 23:06頃 サイト停止
3/15(金) 不正アクセスに関するお知らせ(第一報)を掲載
3/17(日) 不正アクセスに関するお知らせ(第二報)を掲載
3/18(月) 情報漏えい事故調査委員会設置
4/9(火) 中間報告を掲載
4/22(月) 不正アクセスに対する被害届提出
5/1(水) 最終報告を掲載


今回の事件の第一報で「クレジットカード番号が漏洩した可能性がある」という情報がありましたので、システム側でクレジットカード番号を保存していたのかという記事も流れていましたが、実際にはクレジットカード番号を保存するような機能は作りこまれておらず、不正アクセスをした犯人が仕掛けたプログラムによって、クレジットカード番号を抜き取られていたようです。利用者側から見ると、ATMのカード挿入口にスキミング装置を取り付けられたような感じですかね。

運営側の悪かった点

明確に運営側(JINSおよびシステム保守会社)が悪かった点は主に下記の2点だと思います。

1. セキュリティホールが存在するソフトウェアを使い続けたこと
2. システムが改竄されたことに気付かなかったこと

不正アクセスの主要な要因は、セキュリティホールが存在するソフトウェアを使い続けたことで、システムの内容が改竄された点にあります。おそらく、今回の不正アクセスの直接的な原因になったソフトウェア以外にも、セキュリティホールが存在しているソフトウェアを使っていた部分があるんじゃないかと思います。このあたりも含めて全面的な見直しが必要だと思いますし、これだけの事件になってしまったので見直されることを期待します。若干気になった点としては、システム保守会社に責任をふっかぶせるような印象を受ける報告書だったことです。上場企業でもあるし、大人の事情があるのかもしれませんが、「システムの保守はベンダに任せるぜ!!オレたちはそれを管理するだけだぜ!!」という気持ちを持ち続けていると、また同様の事件が起きてしまうのではないかと不安になります。「今後はシステムの保守・運用にも主体的に関わっていきます。」くらいの表明があっても良かったんじゃないかなと思います。

3/6(水)にシステムを改竄されて3/14(木)に異変に気付いているわけですけど、何がきっかけで異常を発見したのかという点は興味深いです。一般に公開されることは無いでしょうが、そのきっかけが無かったら今も改竄されたままだったり、被害に気が付かないまま新バージョンのプログラムで上書きしていた可能性もあったわけです。後者の場合には、不正アクセスの痕跡も含めて消される可能性がありますから、異常を発見できたというのは "運が良かった" のかもしれません。

運営側の良かった点

事故が発生しているので "良かった" という表現は語弊があるかもしれませんが・・・。

1. サイトに異常を発見してから、システムを停止するまでの時間が短かったこと
2. 事故発生後の対応が良い意味でシステム的に行われたこと

報告書の内容を信用するならば、19:58にサイトに異常を発見してから、およそ3時間でシステムを停止しています。この時間を長いと見るか短いと見るかは意見が分かれると思いますが、報告書に記載されている保守体制から推測すると、19:58に異常を発見した後に保守担当会社に調査を依頼しているはずです。その結果、サイトが改竄されていることが22:50に判明し、23:06にサイトを停止しています。JINSは調査結果が判明してから約16分でサイト停止(停止作業も保守担当会社が行っているはず)しています。独立した複数組織が関わっていることを考慮すると、この決断時間は早いのではないでしょうか。

異常を発見したのがECサイトの責任者であったとの記載もありますが、組織の中でのサイト停止に関する権限委譲が十分行われていたとも考えられます。事後だから言えることですが、19:58にサイトの異常を発見した段階で停止することができれば、もっと良かったと思います。


また事故発生後の対応は良い意味でシステム的に行われています。これは主に下記の点についてです。

(1) サイト改竄が判明した後のシステム停止
(2) 不正アクセスがあった事実の公表
(3) 第三者の専門調査機関を入れた調査体制の整備
(4) 調査の進捗状況の公表

こちらも推測になりますが、事故が発生した際の対応方法が、事前にマニュアル化されていたのではないかと考えられます。

今回の事件から得られる教訓

JINSと同様にECサイトを運営している企業は、今回の事件からどのような教訓を得れば良いでしょうか。

1. セキュリティホールがあるソフトウェアを利用しない

今回の事件の直接的な原因ですからね。

私が今まで関わった案件に限定して言えば、中小規模の企業が運営しているサービスよりも、自社に技術専門チームを持たない大規模企業や官公庁のほうが、セキュリティホールがあるソフトウェアを利用していることが多い印象です。セキュリティホールが修正されたバージョンを適用すると、想定していない影響が出ることがあります。そして、大企業や官公庁のほうが、このような影響が出ることを避ける傾向が強いのです。既に攻撃コードが公開されているような場合であっても、バージョンアップの決裁を取るための社内会議が2週間後ということを経験したこともあります。これを考えると、JINSの判断はとても素早かったと思います。

2. 不正アクセスが発生した際のマニュアルを整備する

今回の不正アクセスの異常に気付いたのが19:58です。おそらく営業時間外の緊急対応ですよね。
今回は平日に異常に気付きましたが、これが土日だったらどうなっていたでしょうか?またサイトを停止するために担当役員の決裁が必要な体制だったら、どうなっていたでしょうか?「週明けに上司が出社してから聞いてみよう」という意識だと、被害規模はどんどん大きくなっていきますからね。このあたりの対応品質が、担当者によってバラつきがあるというのは良くありません。

不正アクセスというのは、クレジットカード情報の漏えいだけに限らず様々な種類があります。これらの攻撃を100%防止することは事実上不可能です。そのため、不正アクセスが発生した際の対応方法を事前にマニュアル化して関係者に周知徹底するというのは、とても大切なことなのです。

3. クレジットカードを取扱うメリットとデメリットを良く考える

JINSが再発防止策として、以下の2点を挙げています。

(1) 画面遷移型のクレジットカード情報非保持サービスを採用
(2) PCI DSSへの準拠

この方法には若干疑問を感じています。

クレジットカード情報非保持サービスとは、クレジットカード決済を専門として取り扱っている会社のサービスにアクセスさせ、そこで利用者がクレジットカード番号を入力し、その後自社ECシステムで決済完了情報を取得するという方法です。確かにこの方法だと、クレジットカード番号が自社ECシステムを経由することはありませんので、今回と同じ方法での攻撃を受けることはありません。しかし、外部からシステムを改竄できるとすると、決裁サービスへアクセスさせるためのURLとして、偽のURLを仕込むことができてしまいます。「意味が無い」というわけではありませんが、クレジットカード番号が自社システムを経由しないから安心という考えでいると、同様の問題が発生してしまう可能性があります。

PCI DSSの準拠についても、セキュリティレベルを上げるという意味においては良いと思います。しかし、インターネット経由での販売をメインとして扱っているわけではないサービスの場合、コストをかけてPCI DSS準拠のシステムを構築するメリットが本当にあるのでしょうか?いっそのこと、自社サイトは集客とプロモーションに注力して、販売はAmazon楽天に任せるという方法もあります。現実的には、今回の対応も保険対応になっているでしょうから、金銭的な影響は軽微なのかもしれませんけどね。

4. 自社が担当している部分以外にも主体的に関わっていく

やっぱり、コレが大きいんじゃないかと思います。

「システムの部分は全部任せているから、常にシステムを完全な状態を保て!!」というスタンスでは、やっぱりうまくいかないと思います。システムに存在しているリスクとか費用とか時間とか、これらに関して責任を持って決定するのはサービス提供会社です。全ての運用を自社で行う必要はありませんが、システム部分に対しても主体的に関わっていく必要があると思います。

開発・保守担当会社にしても、自社で開発した部分だけ対応すれば良いというわけにはいきません。現在のWEBシステムは、第三者が開発したプログラムが大部分も占めています。第三者が開発したプログラムや、サーバやネットワーク等のインフラについても、最新の情報を収集する体制と対応能力が求められていると思います。


この手の問題って、「○○をすれば安心」という解は存在しないので、いろいろ大変だと思いますけど頑張ってくださいね。(私も頑張りますので。)