おかしな夢を見ることがあるのですが、昔みたことのある夢を生成AIで作らせてみました。ぶらさがれるタケコプターみたいなもので、結構、ちゃんとしたものを作画してくれます。
少し前のことになりますが、国内における自動運転車の普及と課題を様々な側面から議論する国の委員会活動があり、聴講者として同席する機会がありました。主なメンバーは複数の関係省庁の偉いさんやOEM、Tier1メーカの役員クラス、大学教授で、詳しいことは書けませんが、いかに技術者確保が難しいかが真剣に話されていた。
自動車はISO26262の国際規格にのっとった設計・製造・メンテが要求され、航空機のような型式認証を要するのですが、近年はサイバー対応が必要なので、ISO/SAE21434というサイバーセキュリティも要求されています。他方市場にはこれまで作ってきた自動車も大量にあり、求められる技術内容が大きく異なるものを同時に対処できなくてはなりません。一人の人があれもこれもできるわけでもない。
この後、コンサルの一環でとあるSES企業のDX推進に少しだけ関わる機会があり、多様な年齢層の技術者が様々な製造業の中で活動している状況を知るにつけ、考え込んでしまいました。必要としている職能と仕事につきたいという方々のギャップは大きい。自動車に限らずだが、昔のC言語でシステム設計ができる人が最近のクラウド環境でWebAPIを駆使して・・・という案件のSEやPMをするのは難しい。近年の組み込み開発はクラウド連携するシステムは多く、開発技術やツール環境もCでゴリゴリ書くようなものではなくモデルベースに作り検証しながら行うのでかなり違う。
そうした違いはありつつもなんとかプログラム作成はできても、対象物のアーキテクチャを理解し、仕様化できプログラミングまで含めてシステム全体のコントロールできるためには、eラーニングや職業訓練等での学習では容易にその域には達しない。こうした勉強が無意味とは言いませんが、今後生成AIなどの進化も視野に、業界横断的に技術者の育成、底上げをどうしてゆくのかを考えないといけない。外国人を入れれば済むような話ではない。
アメリカのサイバーセキュリティ対応でサプライチェーンを強化せよと当時のバイデンが出した大統領令により、アメリカでは急速にサプライチェーン強化が進みましたが、そのきっかけとなったSolarWinds社のOrionへの攻撃手口がすさまじかった。
Orionというのはファームやミドルウェアの修正モジュールを作成し、配布するためのプラットフォームだが、この修正モジュールの中にバックドアを潜ませ、配布後に外部から侵入し、機微な情報を盗み出すもの。
どうやるのかというと、ビルド環境に侵入後に特権を奪取すると修正版を作成するのに使用されるWindows Visual Studioの挙動を監視し、作業ディレクトリや作成に必要なライブラリやモジュールを探し、そのソースの一部を改ざんする。ソースコードファイルを置き換え中にビルドエラーが引き起こされると、Orionの開発者が気づき攻撃者の発見につながるのでこれを回避するために、ハッシュ検証チェックを盛りこむといったものをはじめあれやこれやの対策が施される。
ファイル名や拡張子の書き換えなどいくつかの対処の後、バックドアされたソースファイルは、標準プロセスの一環としてコンパイルされ、その後で一時ファイル等の痕跡を削除する。ソースコードは、一般的な変数名やあらかじめ難読化された文字列が使用され、開発者のコメントや無効化されたコードがないかなどを消すなどのサニタイズまで行う。
この手口が興味深いのは、修正モジュールを作成している作業中に侵害行為を行っている点で、こうした手順でエラーが発生したり、あるいはセキュリティツールで検知され失敗しないかどうかをOrionの動作環境と同じものを作って事前に入念な動作検証をしているものと思われる。
こういう連中に的にされると、EDRやEPPでも挙動がおかしいと反応できるかも怪しく、そんじょそこらの事業会社では防御することは非常に難しい。
後で調査したところでは、SolarWinds社は最初の侵害を受けてから1年近くもわからなかった。SBOMでソフトウェアの管理をするにしても、修正版自体が巧妙に改ざんされるとなるとどうなるのだろうかと思ってしまう。