障害起こるとドミノ倒し式に影響

自然災害とサイバー攻撃への対応は事案対応という観点からは同じ部分もあるが、サイバー攻撃が自然災害と異なるのは、可視化されにくい(気づかれにくい)、地理的なつながりは関係ない、意図的な要素が大きく対応側に動きで続く攻撃が変わる、ヒューマンファクターがより重要になる、といったことになるが本セッションではどのような特徴になるのか具体的に提示してみたい。

現在の企業活動はIT依存が進み、情報システムが止まると業務がほぼ止まってしまう。情報システムはデータや取引の高速大量処理を、24時間365日止まらず続ける。人間の認識を超える超高速で行い、さらにネットワーク経由の分散処理もクラウド・コンピューティングなどにより進んできている。ユーザーには便利だが止まったら一大事。もはや手作業でリカバリーできないレベルに達している。

さらに、ネットワーク経由でシステム同士がつながっているので、障害が発生した瞬間に、ドミノ倒しのように広い範囲に影響が波及してしまう。さらに厄介なことに、どのシステムやプログラムが原因かを特定しにくい。ひと昔前は、顧客とベンダーがほぼ一緒にシステムを作り上げていたので、何か不具合が発生してもどこに問題があるかお互いにわかっていて、電話1本で連携・対応することができた。

今日のようなマルチベンダー体制では老朽化されたモジュールの上に、いろんなアプリケーションが「たこ足配線」のように上乗せされているようなことも多い。さらには設計・開発した人達はとうに引退してしまっており、システム運用・保守に関するスキルの空洞化が発生している。

一般的に、情報システムには、安定性、安全性、堅牢性、可用性、拡張性、柔軟性、信頼性が求められるが、経営効率化(コスト削減、アウトソーシングなど)に伴い全ての機能を維持するのは困難だ。そして1つでも欠けたところから問題が拡散してしまう。

障害は攻撃者にとってお手本

2010年に、ニューヨーク証券取引所で、システムの意図しない連鎖障害によって、高速取引による大量の売り注文が発生し、過去最大の下落幅を記録したケース(フラッシュ・クラッシュ)がある。ダウ平均指数は一挙に前日比マイナス9.2%とブラックマンデー以来の大暴落を記録した。15分ほどで回復したが、原因究明は長期化し、その間、①証券会社の誤発注、②プログラム・ミスなどが原因として報道された。いずれにしても、何らかの理由で売買の需給バランスが瞬間的に崩れたことが引き金となり、HFT(高頻度プログラム取引)や、個別銘柄のボラティリティを制御する仕組みが機能しなくなり、さらに、同一銘柄が複数の市場で取引される市場構造が、問題を増幅させたといえる。

このことは個別最適を求めるシステム群が接続されたシステム(system of systems)は、その集合体が全体最適を実現できるとは限らないということを示しており、また、この現象は意図的に再現可能、つまりサイバー攻撃によっても引き起こすことが可能であるということがわかる。

もう1つの例は、翌年、2011年3月の東日本大震災直後に、大手金融機関の義援金振込受付用の口座設定ミスにより、大規模な振込・ATMサービス障害が発生した事故である。都内2支店の複数の口座にあらかじめ設定されていた上限件数を超える大量の振り込みが集中したことが発端となった。

銀行の口座というのは、いつどこで、いくらおろしたのか、誰から振り込みがあったかログを通帳に記帳印字したり、ウェブ表示できるように保存したりしておく仕組みになっているが、義援金では、短時間に多くの小口を含めて大量のデータが入ってくるので、そういった記帳ができるような形でのデータのログは残さない。その設定を間違えただけで、データがオーバーフローしてシステム障害を発生させ、振込・ATM障害が3日間にわたり発生した。

この問題を起こしたシステムのモジュールにはPL/1という1980年代に金融機関の勘定系システムにつかわれていた開発言語で開発されたプログラムも含まれており、このセキュリティレベルの低いプログラムがまだ大手金融機関で使われていることがわかったことで、意図的にそこを攻撃して上記のような状況が再現可能、すなわちサイバー攻撃によって引き起こすことが可能であることがわかる。