全銀ネットとNTTデータ、全銀システム障害の詳細原因と再発防止策を発表
今回は「全銀ネットとNTTデータ、全銀システム障害の詳細原因と再発防止策を発表」についてご紹介します。
関連ワード (CIO/経営等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
全国銀行資金決済ネットワーク(全銀ネット)とNTTデータは12月1日、10月10~11日に発生した「全国銀行データ通信システム」(全銀システム)での障害に関する記者会見を行った。両社は同事案に関する報告書を11月30日に金融庁に提出。会見で報告書の内容を説明した。
この障害は、全銀ネットとNTTデータが10月7~9日に実施した全銀システムと金融機関の接続を中継するリレーコンピューター(RC)の更改の直後となる10日午前8時35分頃に発生した。この更改は14の金融機関の旧RC(RC17シリーズ)を新RC(RC23シリーズ)に移行するもので、障害は、RCでの「内国為替制度運営費付加・チェック処理」機能にエラーが起き、まず同機能を利用する9機関でRCがダウン、さらに同日午前9時43分頃には1機関でのRCがダウンし、計10機関で「テレ為替業務」が不能に陥った。障害は11日までの2日間発生し、合計で約566万件の処理が当日中に完了しないなどの影響が生じた。
障害について両社は、テレ為替業務において金融機関の電文内容を確認する際に使用するインデックステーブルを生成するためのプログラムで、作業のためのメモリー領域に不足が発生し、これによってインデックステーブルのデータ全体の2%が破損したことが直接の原因だと発表した。破損状態のインデックステーブルがディスクエリアにロードされ、それが本番環境の共有メモリーに展開された。10日に本番環境のRCの「内国為替制度運営費付加・チェック処理」のアプリケーションが共有メモリー上の破損状態のインデックステーブルにアクセスしても正常な値を取得することができずに異常終了したとしている。
電文内容のチェックに使うインデックステーブルは、「金融機関名テーブル」「正読金融機関名インデックステーブル」「略読金融機関名インデックステーブル」「金融機関コードインデックステーブル」の4種類で構成されるという。これは、電文での振り込み先などの記載にさまざまなパターンがあり、正確かつ高速に処理を完了させるために、この4種類のインデックステーブルを用いているという。
今回のRCの更改では、RC17で採用していた32ビットのLinux系OSをRC23シリーズでは64ビットOSに変更した。OSのバージョン変更に伴う非互換性の対応で、上記の4種類のインデックステーブルのうち金融機関名テーブルだけサイズが拡張し、それ以外の3つのインデックステーブルではサイズ変更がなかった。インデックステーブルを作成するプログラム自体は変更しなかったという。
NTTデータによれば、本来は金融機関名テーブルでのサイズの拡張を考慮し、4種類のインデックステーブル全体のサイズに合わせて、インデックステーブルを作成するプログラムの作業領域も拡張するなどの対応が必要だった。これは詳細設計でも考慮していたという。しかし、非互換性の対応時に影響調査では、金融機関名テーブルのみを認識しており、金融機関名テーブルのサイズの拡張分がインデックステーブルを作成するプログラムの従来の作業領域に収まったため、製造関係者が作業領域の拡張は不要だと判断したという。
実際には、サイズ拡張がない3つのインデックステーブルを加えた4種類のインデックステーブル全体のサイズとしては作業領域を超えてしまい、インデックステーブルの破損に至った。この後の試験工程でも、インデックステーブルが破損するリスクを検知することができないまま、結果として本番環境でRC本体が異常終了してしまったという。