昨年のことになりますが、ある大手小売業のECサイトで発覚したクレジットカードの不正利用をきっかけに、その企業を含む11社の小売業者が運営するECサイトから顧客情報が漏えいした可能性が発覚、それぞれ公表されるに至りました。
これらの小売業に共通していたのは、同じITベンダーが提供するECサイト構築SaaS、つまりクラウド事業者のサービスを利用していたことでした。問い合わせを受けて同ITベンダーが調査をした結果、SaaSのサーバーに対する不正アクセスの痕跡、およびサーバーに不正なプログラムが置かれていたことなどを発見したということです。
その後の分析によれば、攻撃者は、SaaSのテナントであったある小売業のECサイトを通じて不正な注文を送り、そのなかに埋め込んだ不正な命令を実行させて、SaaS内部のサーバーを乗っ取ることに成功したようです。それによって、直接攻撃されたその小売業のサイトのみならず、同SaaSを利用していた他のテナントの領域にも不正に侵入する足掛かりを獲得しました。結果、複数の企業の顧客データに不正にアクセスできたといいます。
この攻撃事例を聞いて、これまで恐れてきた事象がとうとう現実になったなと感じました。
パブリッククラウドのサービスは、巨大なシステム基盤上にサービスが構築され、それを多くの顧客が同じ条件のもとに利用する、という形態になっています。優れた機能が使い勝手の良いかたちで準備され、また初期コストのハードルがかなり低いということで、大小問わず多くの企業が利用しています。当然ながら、相乗り型のサービスとはいえ、各テナントの使い方には一定以上の自由度が確保されていますし、データも個別に蓄積できることになっています。
ただし、そうした区分けは、ソフトウェアの制御によって「論理的」に行われています。「論理的」とは「物理的」の反対です。つまり、テナントごとの区画は、戸建て住宅のように物理的に分かれているわけではなく、ソフトウェアに施された「設定」で区分けされている、ということです。
一方で、ソフトウェアには、プログラムの不具合であるバグや脆弱性が「必ず」あります。あらゆる情報システムは、バグや脆弱性は必ずあるけれど見つかってはいない、という状態で運用されているわけです。
クラウドベンダーは、顧客が利用する領域はセキュリティを確保した形で保護されていると謳っています。もし顧客にセキュリティ上の問題が発生するとしたら、それは顧客が行った設定に問題があるのだ、というのが共通した認識になっています。
そこにウソはもちろんないのですが、それはあくまで「ソフトウェアによって」成立していることです。そのソフトウェアに万が一脆弱性やバグがあれば、その保証は崩壊するかもしれません。
それが今回、実際に起こってしまったということだと思います。
注目すべきことは、顧客情報が漏えいしたことよりも、攻撃者がテナントを横断して不正を行うことができた点です。つまり、自社がどれだけ気を付けて対策を実行していたとしても、自分は知らない他の利用者を経由してサービスの大本が乗っ取られ、自社の対策は水泡と化す、というシナリオが成立してしまうということです。
今回攻撃を受けたSaaSベンダーは、決してセキュリティ対策が緩かったわけではなかったといいます。定期的なセキュリティチェックの実践、脆弱性の定期検査の受診、侵入検知サービスの利用など、一定の対策は行っていたようです。それでも今回の攻撃は防御できなかったと主張しています。
また、近年の攻撃は、アプリケーションへの攻撃から基盤ソフトウェアに対する攻撃がより増加している傾向にもあるようです。先にも記した通り、クラウドサービスは複数の利用者が共通の基盤上に構築された機能を、相乗りする形で利用します。その構造上、システム基盤で利用されるソフトウェアは利用者共通です。もし基盤ソフトウェアの脆弱性が攻撃されれば、容易に今回と同様の事象が起こりうることになるわけです。
クラウドサービスを利用するメリットは、その価値によっては非常に大きく、リスクを上回ることもあると思います。避けるよりも、うまく使うほうが賢い選択です。時代もまた、クラウドが使える前提でITを考える時代になっています。
ただし、上記のような攻撃が現実に成功していることを、経営リスクとしてよく理解しておきたいところです。預けているクラウドサービスから自社の情報が漏えいした時に、顧客に謝罪するのは、クラウドベンダーではなくてみなさん自身です。何を預けるのか。どの業務領域を依存するのか。経営にとって重要な選択です。よくわからないからIT専門の人に任せるという話ではないのです。