10月の送金トラブル、何が起こったか――全銀ネット&NTTデータ、大規模障害の真相

プロジェクトオーガナイザの吉田聖書よしだみふみです。

12月1日に、一般社団法人 全国銀行資金決済ネットワーク(全銀ネット)とNTTデータが連名でプレスリリースを出しまして、今年10月に一部銀行での送金ができなくなった障害の原因と再発防止策を発表しました。

全国銀行データ通信システムの障害について(2023/12/1 一般社団法人 全国銀行資金決済ネットワーク、株式会社NTTデータ)

同日に、全銀ネットがNTTデータを同席させて記者会見を行いました。これはニュースにもなったのでご覧になった方もおられるでしょう。元々この障害については11月末までに金融庁に報告せよという指示が出ていました。そして11月30日に金融庁への報告を済ませ、記者会見に臨んだということです。

障害の原因としては、全銀システムと各金融機関をつないでいる中継コンピュータのアプリケーションの故障で、既存の中継コンピュータのOSは32bitでしたが、新しい中継コンピュータは64bitのOSに変更されました。そうしたら、アプリケーションで確保した共有メモリの領域を超えてインデックステーブル(厳密にはそれに付随する情報も含まれるようです)が展開されました。

すると確保していない領域というのは別のプログラムが使いますので、別のプログラムがその部分を上書きしたためにインデックステーブルが破損したということです。インデックステーブルには金融機関の情報が格納されていたため、それが破損してしまうと送金が行えないということなのでしょう。

プレスリリースには記載されてなく、記者会見の質疑応答で知ったのですが、障害が発生した中継コンピュータのアプリケーションはC言語で書かれているそうです。おそらくなんですが、インデックステーブルのデータ項目の中にint型のデータが含まれていたのではないかと思います。

私がC/C++言語で開発していた20年前はまだ32bit OSが主流でした。int型というのは整数型ですが、少なくとも当時のC言語の仕様として、int型のサイズ(桁数)というのはプラットフォームによって異なっていました。なので、今もあるか分かりませんけれども、int型はなるべく使わずに、16bitの整数を使いたければshort型、32bitの整数を使いたければlong型を使うように指南しているWebサイトがあったと記憶しています。

少なくとも、そのようにC言語の仕様でOSに依存する部分が、今回のOSの64bit化によって悪さをして、インデックステーブルのサイズが膨張したと考えてよろしいかと思います。ちなみに、(これも質疑応答で言われていましたが)アプリケーションのプログラムは一切変更しておらず、新しいプラットフォーム上で再コンパイルしただけなのだそうです。


※ この記事は、先日公開した以下の音声コンテンツを基に編集したものです。


プレスリリースには課題として、設計・製造工程プロセス、試験工程プロセス、復旧対応プロセスの3つのプロセスごとにまとめられていまして、それぞれに対して再発防止策が語られています。

その中で私が着目したのは試験工程、いわゆるテスト工程での課題です。これはありがちなんですが、変更した部分しかテストしなかったということです。今回、アプリケーションのプログラムは変更していないので、影響のあるインデックステーブルにばかり着目していたということになります。でも、変更していない部分、影響がないと思われている部分についても、本当に影響がないのかという「無影響確認」が(おそらくある程度はやったんだと思いますが)不充分だったということでしょう。

無影響確認というのは、基本的には何も不備は見つからないので、テストの中でもあまり楽しくない部類に入ります。一般的なテストは不備があることが前提で、それを炙り出すための活動ですが、無影響確認は逆で、不備がないことが前提となっていますから、一般的なテストよりもテストケースは簡略化されます。そうでないとコストばかりかかってしまいます。

記者会見の中では、今では金融機関の本番データを使ってテストをさせてもらっているというような発言がありました。それはまさに問題の箇所に対する無影響確認を一番効率良く実施するための方法だということでした。事前にそれをやっていれば防げたということでしたが、それがマッチするのは特定の問題だけなので、それだけで全てが満たせるというものではないようです。

これ以外に復旧対応プロセスについてもお伝えしたいところですが、長くなるのでこの続きは次回ということにしたいと思います。



関連記事

プロマネの右腕

クロスイデアでは、新サービス・新ビジネスの 立上げや計画を中心に
プロジェクトマネジメントの支援を行っています。

新サービスの企画を任されたけど どう進めていいか悩んでいる担当者、
部下に新しい企画を任せたけど このままで大丈夫か不安な管理職の方、
以下のサイトをご参照ください。
https://www.crossidea.co.jp/services/right-hand-pmo.html

YouTubeにて動画配信中!

プロジェクトマネジメントのノウハウを
YouTubeで配信しています。
ブログと併せてご活用ください。

Comments are closed.