前ページへ 次ページへ 概要へ 表紙へ


コンピュータ・クライシス



 

ソフトウェアに潜む虫(バグ)



このセクションの内容は、
  情報技術−反抗するコンピュータ
と重複するので省略します。


 

中華航空機墜落事故


 映画史上の傑作といわれる『2001年宇宙の旅』(S.キューブリック監督;1968年)では、宇宙ロケットに搭載されたコンピュータHAL9000が自我に目覚めて(?)人間に反抗し、乗組員を次々と殺していく過程が描かれていた。幸か不幸か、これほどの高性能コンピュータはいまだ設計すらされていないが、コンピュータが人間の言うことをきかなくなってしまう事態は、いまや日常的に発生している。多くの場合は、「なんて融通の利かない機械だ」とユーザーを慨嘆させるだけで終わるが、稀に大惨事を引き起こすこともある。ここでは、その代表的な事例として、中華航空機の墜落事故を取り上げたい。


■事故の概要

 1994年4月26日午後8時15分、台北発名古屋行きの中華航空(台湾)140便エアバスA300-600型機(乗員15人、乗客256人)が着陸直前に名古屋空港の滑走路近くに墜落、乗客・乗員264人が死亡するというわが国航空史上2番目の大惨事となった。96年7月19日に運輸省航空事故調査委員会が事故原因などをまとめ、これに基づき、愛知県警は死亡した機長と副操縦士、および中華航空の副社長ら計6人を業務上過失致死傷で書類送検したが、エアバス社の責任については立件を見送った。

【注】1999年3月19日、名古屋地検は、愛知県警から業務上過失致死傷などの容疑で書類送検されていた事故機の機長と副操縦士を「被疑者死亡」で、当時の中華航空の担当幹部4人を「嫌疑不十分」で、それぞれ不起訴処分にした。また、同機の製造元であるエアバス・インダストリー社の関係者についても、刑事処分を見送った。

 運輸省航空事故調査委員会の最終報告書などに基づいて飛行状況を再現すると、次のようになる。

L5_fig8.gif
  1. 事故機では、やや経験の浅い副操縦士(26歳、総飛行時間1624時間)が操縦桿を握り、経験豊富な機長(42歳、総飛行時間8340時間、うちエアバスの同型機飛行時間1350時間)はナビゲーションを行っていた。このやり方は、飛行条件が厳しくない場合は、ごくふつうに行われる方式で、特に批判すべきものではない。ただし、ボイスレコーダに記録されているように副操縦士は機長を「教官」と呼んで服従の意を示しており、後に、機長の指示に従って無理に操縦桿を押し続ける操作を行う素地があったと考えられる。また、機長は空軍上がりで、腕に自信はあるがハイテク機は必ずしも使い慣れていないというタイプだった。
  2. 手動操縦で名古屋空港への進行は当初は順調に行われていたが、高度300mを切ったところで、副操縦士が、着陸やり直し(ゴーアラウンド)モードに切り替えるゴーレバーを誤って作動させてしまう。このとき、ボイスレコーダーには、機長が副操縦士に注意する次のようなやりとりが記録されている:
     機  長「君、君はそのゴーレバーを引っ掛けたぞ」
     副操縦士「はい、はい、はい、少し触りました」
     機  長「それ(=着陸やり直しモード)を解除して」
     副操縦士「ええ」
     機  長「それ」
    L5_fig7.gif ゴーレバーは、滑走路上に物体が落ちているなど緊急事態にも対応して再上昇することができるように、推力調整レバー(スロットルレバー)に手を掛けたまま指で軽く操作できる位置にあるため、経験の浅い副操縦士がうっかり触れてしまったと考えられる。ただし、通常は、この程度の操作ミスだけで深刻な事態に至ることはない。問題は、着陸やり直しモードを解除できないまま、着陸を強行しようとしたことにある。
  3. モードが切り替わったために、機体のコンピュータは、機首を上げ推力を増大して再上昇しようとする。一方、パイロット(副操縦士)は、操縦桿による機首下げと推力を抑える操作をして下降を続けようとした。2つの相反する指令が出された結果、機体は上昇も下降もできずに進入航路の上方で水平飛行状態になった。機長は、通常の進入航路より高度が高いので推力を抑えるように指示している:
     機  長「君、それを…スロットルを切って」
     副操縦士「ええ、高すぎる」
  4. 機長と副操縦士は、着陸やり直しモードを解除して着陸モードへ変更しようとするが、どうしてもうまくいかなかった。変更作業がうまくいかなかったのは、エアバス社がコンピュータ重視の設計思想を取り入れていたためと考えられる。航空機業界で最大のシェアを持つボーイング社の場合、パイロットが操縦桿を(ある程度以上の力で)操作するだけで手動操縦に切り替わって人間の意志が機体の動作に反映されるようになる。しかし、エアバス社製の飛行機は、人間よりもコンピュータの方が信頼できるという発想に基づいて、ひとたび特定のモードになった場合は、操縦桿を操作するだけでは手動操縦に切り替わらず、コンピュータの指令が優先されるようになっている。パイロットがモードを切り替えるためには、単に「着陸モード」のスイッチを押すだけでなく、モード変更のための一連の手続きとして複数のスイッチを正しい手順で押していかなければならない。事故機の二人のパイロットには、この手順を十数秒間のうちに思い出すことが要求された訳だが、人間優先のボーイングの機体に慣れていたためか、それができなかったのである。ボイスレコーダーには、モード変更がなかなかできないことにいらだつ機長の言葉が記録されている:
     機  長「君はゴーアラウンドモードを使っているぞ」
     機  長「いいから、ゆっくり、また解除して、手を添えて」
  5. 機体が水平飛行をしているとき、自動操縦のスイッチが入れられたため、コンピュータによって水平尾翼の前半分の水平安定板が動かされた。自動操縦を入れたのは機長か副操縦士か、副操縦士ならば機長の指示でか機長に無断でかは、判明していない。
  6. 副操縦士は、着陸を遂行しようとする機長の指示に従って、操縦桿が重い状態にもかかわらず無理に押し下げ、降下を始めることに成功した。コンピュータは、再上昇しようとしていることを示すために操縦桿を戻そうとする力を油圧で加えており、経験豊富なパイロットならば操縦桿の押し下げに無理があることに気がついたはずだが、まだ若い副操縦士は、機長の指示に素直に従った。ボイスレコーダーの記録は、機長が口頭で操縦桿の押し下げを指示していることを示している:
     機  長「もっと押して、もっと押して、もっと押して」
     副操縦士「はい」
     機  長「もっと押し下げて」
    L5_fig9.gif この操作により、水平尾翼の後半分を占める昇降舵は、後ろ下がりの状態になって機首を下げる力を生み出した。一方、着陸やり直しモードになっているコンピュータは、再上昇するために水平安定板を機首上げいっぱいの位置まで動かした。こうして、正常時には6度しかない水平安定板の(機首上げ方向の)角度が12.3度近くに前下がり、昇降舵の(機首下げ方向の)角度は8.5度となり、水平尾翼がほとんど「へ」の字の形に折れ曲がった状態になってしまう。この結果、「へ」の字の尾翼の下で乱流が渦巻く形になり、機体は姿勢の安定が損なわれた不安定状態に陥った。しかし、そのことを示す警報はなく、コックピットにいる二人のパイロットは、機体が危険な状態にあることを知らないまま操縦を続けることになる。
  7. 副操縦士が操縦桿を通じて昇降舵を操作している際に、一時的に機首が上がったため、自動失速防止機能が作動し、機首上げ方向へのさらに大きな力が発生した。これも、コンピュータの指令を優先した設計が裏目に出たものである。
  8. 副操縦士の操縦桿押し下げによって高度100m近くまで降下したものの、正常な進入航路に乗せることができなかったため、機長は着陸を断念した。ベテランの機長は、副操縦士の未熟な操縦がうまく着陸できない原因だと感じていたようで、自分で操縦桿を握って着陸やり直しを行おうとした。副操縦士が、失速防止機能が作動して推力を絞れなくなったことを報告した直後に、機長は、「OK、私がやる、私がやる、私がやる」といらだたしげに口にしている。
    ところが、自分で操縦桿を押し下げたりスロットルレバーを調整しても、機体は着陸に必要な機首下げを行わない。機長が思わず口にした言葉は、彼の困惑ぶりを明瞭に示している。
     機  長「いったいどうなってるんだ、これは」
  9. 機体が思うように反応しないため、機長は着陸を断念し、再上昇して着陸をやり直そうとする。ところが、副操縦士が無理に操縦桿を押し下げることによってかろうじて機首下げの力を生み出していた状態から、いきなりに推力を増大しフラップを上げる操作をしたため、水平尾翼が「ヘ」の字となって不安定状態にあった機体は、急激に機首を上げていく。これに驚いた機長がののしり声を上げる:
     機  長「ちくしょう、どうしてこうなるんだ」
  10. 機首を大きく上向きにした機体は、そのまま400mほど急上昇したところで、ほとんど棒立ち状態になってしまう。航空機は、前方に進む際に主翼の周り生じる気流が翼面に対して垂直な揚力を生み出すことによって空中に浮かんでいるのであり、進行速度が遅くなったり機体が水平から大きく傾いたりすると、浮く力が失われて飛行が続けられなくなる。機体が棒立ちになったことの意味を知悉している機長は、異常な上昇中に、
     機  長「えっ、これじゃ失速するぞ」
    と叫び、その数秒後に、
     機  長「終わりだ」
    と言っている。この言葉通り、機体は一気に失速して500m近い高さから滑走路に叩きつけられ大破する。こうして、264人の命が一瞬のうちに失われたのである。

 事故調査委の報告書では、事故に到る要因として、パイロット、中華航空、エアバスそれぞれの問題点が指摘されている。

 この悲惨な事故の原因は何だったのだろうか。

 事故が起きた直後、中華航空とエアバスが互いに相手に責任をなすりつけるかのごとき発言をして、良識ある人の顰蹙を買う一幕も見られた。特に、エアバス社は、ハイテク立国を押し進めるフランスの象徴として国家の威信を担った存在である(エアバス社はヨーロッパ4国からの共同出資による会社だが、本社はフランスにあり、アリアン・ロケットや超高速鉄道などとともにフランス人の誇りとなっている)だけに、フランス航空局がわざわざ操縦ミス説を言明するなど、国際的ないがみあいも生み出した。しかし、その後の動向は、中華航空側に不利なようである。冒頭で述べたように、刑事事件としては二人のパイロットおよび中華航空の管理職による過失致死として訴追されており(後に不起訴)、エアバスの責任は問われていない。また、損害賠償を求める民事訴訟も、主として中華航空をターゲットとして進められており、すでに中華航空から和解金をもらって訴訟を取り下げた遺族団もある。

 しかし、こうした決着のつけられ方に、私は異議がある。法律的にエアバス社の責任が追及されていないのは、裁判に持ち込んだ場合、設計ミスの立証にあたって高度に専門的な知識が必要となるため、多数の技術者を抱えたエアバス社と争っても公判を維持できないとの判断があったためだろう。純粋に技術論的な観点からは、人間とコンピュータが相反した命令を出したことが最も重要なポイントであり、コンピュータ優先の設計を行ったエアバス社の責任は、きわめて(中華航空と同程度に)大きいと考えざるを得ない。

 事故調査委の報告書では、複数の要因が連鎖または複合して事故に到ったとし、それらを列挙している。ここでは、その要旨を引用しながら、短いコメント(《》内)を附けていきたい。

  1. 副操縦士が誤ってゴーレバーを作動させたこと。《これは、うっかりミスの範疇に属するが、エアバスが適切な設計をしていた場合には簡単に修正できる程度のミスであり、必ずしも重大なものではない》
  2. 着陸やり直しモードが解除されていない状態で、自動操縦をオンにし進入を継続したこと。《機長はボーイング機の場合と同様に即座にモード解除ができると考えていたのであり、モード解除の操作を行いながら進入を続けたのは、決して無謀な行為を強行した訳ではない》
  3. 進入継続のため操縦桿の操舵が重い状態にもかかわらず、機長の指示の下で副操縦士が操縦桿の押し下げ操作を続けたこと。《これは副操縦士の未熟さの現れであり過失と言えなくもないが、次の2つの条件が重ならなければ事故には到らなかったはずである》
  4. 水平安定板と昇降舵が整合することなく作動し、異常な不安定状態になったこと。《これは、パイロットが相反する操縦をしているにもかかわらず、コンピュータの指令をそのまま実行するような仕様になっていたためで、エアバス社の基本的な設計ミスであり、事故の主たる原因になったと考えられる》
  5. 同機に、異常な不安定状態に至る動きを直接的・積極的に操縦士に知らせる警報・認識機能がなかったこと。《これも機体の重大な欠陥であり、当初の設計を改めたエアバス社の責任は大きい》
  6. 機長と副操縦士に自動操縦の理解に欠ける点があったこと。このことについては、運航マニュアルの自動操縦システムに関する記述がわかりにくいことが寄与したと考えられる。《モード変更手順の複雑さを考えれば機長と副操縦士の自動操縦についての理解が他のパイロットに比べて著しく劣っていたとは言いにくく、むしろ、ボーイング機と異なるインターフェースになっていたことが混乱を生んだと推測される》
  7. 機長の進入継続中の飛行状況の判断が適切でなく、操縦の交代の時期が遅れ、適切な措置が講じられなかったこと。《その通りではあるが、危険性を知らせる警報もないのにどうやって判断すれば良かったのか》
  8. 自動失速防止機能が不安定状態と適切に整合することなく作動、大きな機首上げの力を発生させたため、回復操作の選択の幅と時間的余裕を狭めたこと。
  9. 機長と副操縦士がそれぞれ、操縦交代後の飛行状況の把握、異常な飛行状態からの回復操作に適切さを欠いたこと。
  10. 機長と副操縦士間の連携が適切に行われなかったこと。
  11. 同機に技術通報A300-22-6021による改修が行われていなかったこと。
  12. この技術通報をエアバス社が最も優先度の高い「必須項目」として発行しなかったこと。《すでに複数のインシデント(アクシデントには到らない軽微なトラブル)が報告されていたにもかかわらず必須としなかった点で、エアバス社の責任が問われるべきである》


 

ネットワーク社会の脆弱性


■情報ネットワークの発展と弊害

 現在では、コンピュータを単体として使うよりも、情報情報ネットワークの1要素として利用するのが一般的になっている。ホワイトカラーの生産性が低いことが指摘されている日本の企業も、事務処理の効率を高めるため、電子メールやグループウェアを導入するところが増えてきている。さらに、電話回線網を利用したインターネットは、一般家庭にあるパソコンをもネットワークに組み込みつつある。ネット上でやりとりされる情報も、単なる文書データだけではなく、一般人にも馴染めるように画像や音声を含んだ豊かなものになり、将来的には、現在は全く異なるメディアを介して実現されている放送や通信が、コンピュータを端末とするネットワークの中に取り込まれていくことも予想される。

 しかし、その実体が人々の目から隠された「見えざる巨大システム」として情報ネットワークが発展するにつれて、新しいタイプの危機が顕在化してきた。拠点となるコンピュータが持つさまざまな欠点が、そのままネットワーク全体に拡大されることになったのである。例えば、ネットを運営するプログラムにバグがあった場合、加入している全ての端末が影響を受けてしまう。それだけではない。特定の業務だけを遂行するように作られた電話交換機などとは異なり、コンピュータは、端末からコマンドを入力することによって多様な機能を実現することが可能である。こうなると、その特性を悪用して何らかの犯罪を試みようとする輩も、当然のごとく現れてくる。

 ネットを通じてのコンピュータ犯罪の増加は、先進各国の悩みの種になりつつある。重要なデータを蓄えているコンピュータがネットワークに接続されると、このデータを不正に入手したり、外部から操作しようとする犯罪が報告されるようになった。具体的には、金融機関の電子決済に介入した横領/搾取、顧客データやトレードシークレットの不正入手、交通違反や学校成績の記録の改竄(かいざん)などなどである。このほか、広報性を利用した著作権侵害、名誉棄損、猥褻図画頒布、詐欺的取引などが、最も典型的なネットワーク犯罪である。しかし、ここでは、こうしたコンピュータ・システムの脆弱性を如実に示すものとして、コンピュータ・ウィルスに注目したい。

このセクションの内容は、
  情報技術−IT社会の脆弱さ
と重複するので省略します。


《考えてみよう》

コンピュータによるシステムの制御は、プログラムのバグに起因するシステムの暴走(放射線治療機のケース)や、コンピュータと人間の衝突(中華航空機のケース)など、新しい危険性を増幅させる契機になります。しかし、その一方で、スリーマイル島原発事故のように、コンピュータが起動した安全装置を人間が停止したことによって、事態が悪化した例もあり、必ずしも人間がイニシアティブをとるべきだとは言い切れません。こうした点を元に、巨大システムにおけるコンピュータ制御のあり方について考えてみなさい。



©Nobuo YOSHIDA