オクトシティー正直村

おかしいな?変だな?と思った事を綴った駄文

京都大学スーパーコンピュータの大量データ消失事件

2021年12月30日 | Weblog

一体何が原因でこんなことになったのかと興味があったので調べてみた。

 下記にシステムの納入会社の提出した書類の一部を記載したが、この文章を読んでいて全く意味を理解できないことに気付いた。これは誰に対して書かれているのだろう。自社の技術者達の内部文書なのか、世の専門家に対する技術資料なのか、お客に対する言い訳文書なのか、不特定多数の世間に対する説明文書なのか、いずれにしても意味が解かりずらいしどちらかと言うと私にとっては意味不明である。こんな文書を出すこと自体が問題のような気がする。問題や原因を難解な解かり難い表現にしてしまうことそのものが問題のような気がする。

私なりに理解してみると、

 要は、プログラム機能の改修作業において予期せぬ動作が発生して、重要なファイルが消失してしまったのである。予期せぬとは、機能改修したものとは別のプログラムが技術者の言う「誤動作」を起こしてしまったものである。改修したのはバックアッププログラムの不要なログファイルを削除する部分で、実行中の処理が存在するのに機能改修したために未定義のままで処理が実行され、ファイルが消失してしまったようである。本来は不要になった過去のバックアップログファイルを削除する処理が必要なファイル群を削除してしまう処理として誤動作したのである。

問題は、もともとのデータがバックアップがなされていないことである。

 バックアップのプログラムが誤動作したのであるから、バックアップデータそのものが消失したのは解かるが、それでも、そのような危険なプログラム改修をするのであれば、データのバックアップは必要であろう。今回は77TBの内28TBが消失し、49TBは幸いにもバックアップデータが存在したようである。 このようなことが今後も発生したのでは他人事ではない。私自身も個人的なデータも含めほとんどがクラウドに依存している。このクラウドに信用が置けなければ手元にバックアップデータを置いておくしかない。私の過去の記録がすべて消えてしまう。

コンピュータウィルスもあちこちで暗躍している。

 まずは、必要なのはデータのバックアップである。開放されたネットワークから遮断された機器に重要なデータは保管しておく必要があり、実用のデータとは別に管理する必要がある。データをもとの状態に復元するためのバックアップは常識でさえある。次にウィルスが侵入しても即座に検知して対応できることである。オープンシステムでウィルスの侵入を完全に遮断するのは不可能でもある。最後に一般ユーザーに対する警告と不審なファイルは開けないことの忠告である。

最初から一般ユーザーに対する警告と忠告であっては心もとない。

 警告と忠告だけではウィルスの侵入を防げる訳がない。何に注意しなければならないのか、何が不審なものなのか一般ユーザーにはわからない。当然サイバー攻撃をする側は一般ユーザーにも専門家にも技術者にもわからないように攻撃を仕掛ける。そうであれば、攻撃を受けても大丈夫なようにシステムを構築しておく必要がある。それが無理であればネットワークを遮断し、不必要なデータアクセスをなくすことである。少なくともコアの部分は厳重に管理する必要がある。

デジタルトランスフォーメーションが騒がれている。

 DXと称して、さも最新技術の塊のような誤解を生んでいるが、半分以上は間違った認識である。DXの主要な部分は、これまで築き上げてきた様々なコンピュータシステムが時代遅れとなり老朽化して将来的な発展に対応できないために、これらの膨大なシステムの換装をどのようにやってゆくかという現実的な問題提起である。デジタル社会の夢物語を追求するものではないし、さらに新しいシステムを開発し生み出すことでもない。今現在の足元を見据えて具体的な対策を講じてゆくのが求められているのである。

これからデジタル社会は新旧の転換期にある。

 その中にあって、これを担当する技術者が初歩的なミスをするようでは今後が危ぶまれる。そのミスの大元は、文脈のはっきりしない、定義の不明確な専門用語を駆使した、わかりづらい表現にあるようだ。わかったようでわかってなければ初歩的なミスも誘発する。問題点をはっきりすることと、その責任を明確にすることも必要だろう。これが有耶無耶で何だかわからないような結末であっては同じことをまた繰り返すことになるだろう。少なくとも素人でも理解できるようでなければ本質の理解は程遠い。

以下に日本ヒューレット・パッカード社による報告書の一部を記載する。よく読んでもらいたい。

3 ファイル消失が発生した原因
バックアップスクリプトには、find コマンドにより 10 日以上古いログファイルを削除する処理が含まれています。スクリプトの機能改善と合わせて、find コマンドの削除処理に渡す変数名を視認性・可読性を高めるため変更いたしましたが、この修正したスクリプトのリリース手順に考慮不足がありました。
bash は、シェルスクリプトの実行中に適時シェルスクリプトを読み込みます。この挙動による副作用を認識できておらず、実行中のスクリプトが存在している状態でスクリプトの上書きによりリリースしてしまったことで、途中から修正したシェルスクリプトの再読み込みが発生し、結果的に未定義の変数を含む find コマンドが実行されてしまいました。この結果、本来のログディレクトリに保存されたファイルの削除をする処理ではなく、/LARGE0 のファイルを削除してしまいました。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« この世から完全になくしてし... | トップ | あけましておめでとうござい... »
最新の画像もっと見る

コメントを投稿

Weblog」カテゴリの最新記事