山口氏は、単なる技術一辺倒も戒めている。
「例えば航空会社のシステムを見れば、1950年代からの歴史を持つクラシックなシステムが一方にあり、また一方ではマイレージカードと結び付いたICカードのシステムがある。このように、1つの会社の中で半世紀ほども歴史に差のあるシステムが同居していたりするのが実態。ここには問題しか見えていない。でも、それを何とかするのがエンジニアリングだ」
このような実態を何とかするために、新しい技術で全体を置き換えるという考え方はできない。必要とされる技術は、実態を踏まえたものだ。
「レガシーなシステムはフィールドに常に存在し、それを入れ替えることはできない。一方で、市場は最新技術も求める。そこで必要とされるのが検査技術。巨大で複雑な情報システムの中に潜む脆弱性を浮き彫りにする技術が望まれる。仮想化大流行の今の環境でもネットワークがどのように使われているかを把握する、タンジブルネットワーキング技術が望まれる」(山口氏)
システム間の連携が複雑になっていくに従い、相互依存性の危険も高まっていると同氏は指摘する。
「地下鉄の電力設備で装置のスイッチ操作を忘れたことが、大きな社会的影響を及ぼしてしまう。さらに前には、荒川でクレーン船が送電線を切ってしまった結果、広い範囲で長時間にわたって停電するという事件もあった。もちろん、電力会社や鉄道会社などでは、法令に従い、いろいろな可能性を考えて二重三重の対策を施している。だが、法的に安全性や信頼性が求められており、それを満たすための努力を怠っていないから、安全だという自己暗示に陥りがち。技術者たちの“タコつぼ”を作っているのは、実は法律という側面もある」
社会システムとして情報システムを考える上で、この相互依存性に関する技術が特に足りないのだという。
「相互依存性を見極めること、相互依存関係が起きたときにどうするかという相互依存にまつわるリスクのマネジメント、いずれも完全には確立されていない」
また、先述の大規模トラブルの例でいえば、スイッチの操作ミスなどはヒューマンエラーである。情報システム運用においても、このようなヒューマンエラーは常に発生し得るものだ。それに対する対策も求められる。
最後に、山口氏は「Socio-Engineering」という言葉を示した。社会情勢に合わせた、社会に実装できる技術が求められているというのだ。
「社会状況から切り離された技術、あるいは社会実装できない技術ではなく、より直接的な問題解決を、研究者たちも強く意識してほしい。Black Hatは、テクニカルに濃い話題が多く、技術者としてはうっとりするような内容ばかり。だが、その技術の後ろには社会があり、社会の求めるものがある。それをテクノロジーに取り入れてほしい。それをやらなくなったらエンジニアは終わり。技術の奥にあるのはどういうものなのか、ぜひ見極めてほしい」
Copyright © ITmedia, Inc. All Rights Reserved.