攻撃を知り、守りが「自分ごと」になった。
第3回:トラブルシューターの日々と『100年使えるシステム』構想(2010-2015)
【連載記事】 この記事は全9回の連載です。📚 連載まとめ・目次はこちら
2010年〜
これまで田中は重要インフラの制御システムのネットワーク通信やミドルウェア開発、システム環境構築など、縁の下の力持ち的な開発に携わってきていた。
その中で、開発と並行し、トラブル対応で日々顧客対応に追われ疲弊している数多くの技術者を見てきた。また、周りの技術者に限らず、そのトラブルの発生から解決するまで、関係各所との調整を行う顧客側の保守担当者も見てきた。
田中自身も、トラブル調査の報告書を書く日が多かったように思う。
トラブル対応の日々
トラブルの原因を調べるために、ネットワークのパケットキャプチャをとりパケットを解析することや、異常終了したプログラムのコアダンプをデバッガで解析すること、各種ログを調べてトラブルの原因を探ることは、時間との戦いの中でもパズルを解くような感覚もあり楽しい面もあった。
ただ、週末時間を問わず電話がかかってくることを気にする日々にストレスがなかったかと言えば嘘になる。
これらの経験を経て、安定して正常にサービスを提供しつづけるシステムを作り上げることへの関心が高まっていった。
なお、これらで鍛えた諦めずに解析する胆力や論理的かつ顧客が理解しやすい文章を作成する経験は、後のテスト報告書や調査報告書の作成時に役に立ったのみならず、ブログ作成に大いに役立つものとなった。
コラム:安定して正常にサービスを提供しつづけるシステム
可用性という言葉を聞いたことがあるでしょうか?正常にサービスを提供しつづける性質のことを指します。
皆さんが日頃使用するスマホやPCのアプリケーションがおかしくなったら再起動することにそれほど違和感はないでしょう。そのときに、都度原因究明する人がどれだけいるでしょうか?電源を入れ直して何事もなかったように使い続けるのではないでしょうか。
重要な制御システムでは、このようなことは許されません。高い可用性が要求されるため、サービスが止まらないようにするために冗長性をはじめとする様々な技術が盛りこまれています。
技術だけではなく、日の当たらないところでシステムを支えている多くの人がいることにも目を向けていただくとうれしいです。例えば、重要な制御システムでは問題が起こった時に原因究明を行い再発防止に努めているものです。このような積み重ねにより高い可用性が保たれるのです。
水や空気のようにあって当たり前と思っていることも、当たり前と思える理由が裏にはあるのです。
「100年使えるシステム」構想
安定して正常にサービスを提供しつづけるシステム
これは、重要インフラにとっては、いつの時代も真理をついたテーマかもしれない。
周りの人にはほとんど興味をもたれなかったが、100年使えるシステムというスローガンを掲げたのもこの頃である。
そのエッセンスをいくつか紹介しよう。
- すべてのハードウェアは代替可能である。
- すべてのプログラムソースを保持している。
- すべての実行ファイルはプログラムソースから生成可能である。
- 時間加速シミュレーションにより未来時間での動作確認ができる。
「システムは、安定して正常に動き続けることが最重要である。そのためには何かに依存してはならない。」という原則にもとづいており、今ではシステム開発において当たり前であるOSS利用、バージョン管理やDevOps的な考え方を含んでいる。
広く言えば、ビジネスを継続するためのBCP(Business Continuity Plan)や経済安全保障の考えにも通じると言えなくも無い。
開発・保守する人、ノウハウ、リソース、どれが尽きても成し得ぬもの。
安定して正常に動き続けるシステムというテーマは、その後、田中が制御システムセキュリティを考える上での基礎となっていく考えとなった。
安定して正常に動き続けるためには、どのようにセキュリティ対策を考えればよいのか? という考え方である。
システム開発の基盤づくり
安定したシステムを構築するという考えには共感してくれる上司がいたこともあり、しばらくは、システム開発プロセスがストレスなく回るように、業務改善としての基盤づくりに取り組むことになる。
今になって振り返ると、なんとなく入った会社ではあったが環境が人を育てたのかもしれない。何か意思を持ってとりくんでいれば、誰かしらは見ている人がいて運がよかった事例ともいえる。
次回予告
次回は、2015年から2019年までのTHM時代後半を振り返ります。
Stuxnetに始まる制御システムセキュリティへの世の中の注目を背景に、大規模セキュリティプロジェクトが立ち上がります。
田中はセキュリティ開発の責任者として抜擢され、リスクアセスメント、物理対策、認可認証、ネットワーク分離、ファイアウォール、マルウェア対策など、当時としては先進的な取り組みに挑みます。
そこで出会ったセキュリティコンサルタントたち。
良いコンサル、悪いコンサル。
MACアドレス認証をめぐる議論から見えてきた、判断する力の重要性。
そして、初めてのペネトレーションテストでサイバーディフェンス研究所のペンテスターたちとの運命的な出会いを描きます。
【ご注意】 本記事は教育・啓発を目的としています。登場人物・組織は架空のものであり、記載された技術情報の悪用を推奨するものではありません。
守るだけでは腑に落ちなかった - 制御システム技術者のサイバー修行録【連載まとめ】
- 第1回:なぜ私は24年勤めた会社を辞めたのか - 4時間で決まった転職
- 第2回:TCP/IPとの出会い - 閉ざされたシステムの時代(1996-2000)
- 第3回:トラブルシューターの日々と『100年使えるシステム』構想(2010-2015)(本記事)
- 第4回:良いコンサル、悪いコンサル - MACアドレス認証が教えてくれたこと(2015-2019)(次回予定)
- 第5回以降:順次公開予定