Kelly Patterson の仕事ぶりでわかる Talos の脆弱性調査チームが生み出す違い
Kelly Patterson が最初にコードの書き方を学んだのは高校の授業でした。小さなプログラムを作ったのですが、コードを書くときより、出来上がったプログラムを壊す方が好きでした。
ゲームを作った彼女は次に、コードの不具合を探してデバッグするのに倍の時間を費やしたのです。
今は常に、他の人が書いたコードの問題点を探しています。ワイヤレスルータ、IoT スピーカー、1991 年までさかのぼるオープンソースのソフトウェアスタック、あらゆるものが調査の対象です。
Patterson(旧姓 Leuschner)は、Talos の脆弱性検出チームを構成する研究者の 1 人です。リバースエンジニア、侵入テストを担当するペンテスター、全般をカバーする熟練コーダーからなるこのチームは、ファームウェア、ソフトウェア、ハードウェアの脆弱性を探し、問題が解決するよう作成者の支援を行っています。
Patterson はチームメイトとともに、セキュリティの脆弱性の開示とパッチの適用を支援する責任を担っており、その件数は年間 200 件以上になります。脆弱性の中には、世界中の何万何千もの家庭で使用されているデバイスに影響を与えるものもあれば、産業用制御システムから重要インフラまであらゆるものをサポートするデバイスに影響を与えるものもあります。
Patterson が特にやりがいを感じるのは、ハードウェアとそれに付属するファームウェアを調べることです。システムエンジニアとして IT のキャリアをスタートしたものの、彼女はすぐに、自分が手がけているコードをデバッグする方がずっと面白いということに気づきました。それが、コードをリバースエンジニアリングし、調査結果を公にできるプロジェクトを社外で探し始めたきっかけです。結果的に Talos に所属することになったのですが、フルタイムの研究者になれるという点が特に魅力的でした。
「皆さんにお伝えしたいのは、数々のバグがまだ存在し、日々発見されていること、つまりセキュリティ問題はまだ完全には『解決』されていないということです」と Patterson は語っています。
Patterson が Talos に入ったすぐの頃に手がけた忘れられないプロジェクトの 1 つが、WAGO 社製の一連のプログラマブル ロジックコントローラ(PLC)の調査でした。同社はオートメーション ソリューションを専門とするドイツ企業です。彼女は他の研究者とチームを組んで対象のデバイスにさまざまな角度からアプローチし、デバイスのアタックサーフェス(攻撃対象領域)を正確に分析することに努めました。チームの調査結果が公表されるまでに、WAGO の 2 つの PLC に重大な脆弱性がいくつか発見されました。認証されていないリモートの攻撃者がデバイス上で任意のコードを実行したり、細工されたパケットを送信してサービス拒否を引き起こしたりする可能性のある脆弱性です。
即興劇を演じる Patterson
Patterson が特に注目したのがソフトウェアのクラウド接続部分です。こうして彼女は、クラウドのストレージと通信に起因するアタックサーフェスに目を向けるようになりました。
「私にとっては楽しい調査でした。この調査を行ったおかげで、組み込み機器への攻撃経路の 1 つがクラウドだということを悟ったのです」と語っています。「私、Carl Hurd、Patrick DeSantis の 3 人で手分けして、さまざまな角度から取り組みました。簡単にカスタマイズできてアタックサーフェスが非常に広いデバイスだったので、調査対象としてうってつけでした」。
この調査をきっかけに、Patterson は産業用制御システムや、事実上常時稼働しネットワークと通信している IoT デバイスをもっと調べるようになりました。現在は、ICS 環境で一般的に使われているオープンソースの各種ソフトウェアスタックを調査しており、複数のファジングツールを実行してコードの潜在的な脆弱性を探しています。
Patterson が言うように、コードのすべてのバグが脆弱性であるとは限りませんが、すべての脆弱性はバグです。あるバグが攻撃者によって望ましくない行為に悪用される可能性があるかどうかの判断は Patterson にかかっています。脆弱性の存在を確認すると、チームはそのことを(すべてシスコのサードパーティ脆弱性開示ポリシーに従って)ベンダーに報告し、パッチを作成するためにベンダーと共同で取り組みます。パッチが作成されたら、きちんと機能して問題が解決されることを確認するのも彼女の仕事です。必ずしもパッチで問題が解決されるとは限らないからです。
「ベンダーは私たちが見つけるバグに何度もパッチを当てると思うのですが、これは、どういう類のバグが潜んでいて、ベンダーがうっかり実際に設計し製品に組み込んでしまっていないかを他の開発者が調べる手段になると考えています。望んでいるのは、他のベンダーのバグが出回ることのないように情報を役立ててもらうことです」と Patterson は述べています。
Patterson が特定の製品の調査を開始するとき、通常、その最終目的はファームウェアにアクセスすることです。多くの場合、ベンダーはファームウェアの脆弱性が公表されないようにできる限りのことをするので、Patterson はファームウェアのアップデートを阻止する方法を開発するか、ファームウェアに存在する脆弱性をエクスプロイトするために、デバイスの内部機構に物理的にアクセスできる方法を探すことになります。
「一般的に使用され、侵害されると大きな影響を与えるとわかっているものについて考えるようにしています。過去には、多くの ICS がそうでした」と Patterson は語っています。「もしかしたら、これまで扱ったことのない新しいアーキテクチャやフレームワークがそれに該当するのかもしれません」。
こうした調査を通じて、Patterson は平均的なユーザーと比べるとやや用心深くなりました。ホームネットワークに接続するデバイスの数を制限するために、自宅に持ち込む家電や電子機器には常に「データ処理能力のない」バージョンを選びます。とは言え、ホームアシスタントやスマートスピーカーのような特定の IoT デバイスを使用することにためらいはありません。製品のリリース前に脆弱性を探す、特定のメーカーの内部テストチームを信頼しているからです。
脆弱性の研究者としてのキャリアが 4 年以上になる Patterson ですが、この道を進み続けることに必ずしも確信があったわけではありません。
コロナ禍で子供たちが登校できなかった期間、Patterson は Talos の職務を離れ、専業主婦になる決心をしました。
「不安でした。当時は本当に大変だったのです」と Patterson は振り返ります。「それまでは、四六時中 1 人で子供たちの面倒を見たことはありませんでした。ただ、結果的には本当に良い経験になったと思います」。
Patterson は約 21 か月間仕事を離れていましたが、その間、脆弱性調査を続けるか、IT 関連の別のキャリアパスを探すか迷っていました。個人的なプロジェクトや家事を担いながらじっくり考えた上で、彼女はもう一度 Talos の募集に応募し、2022 年 9 月にパートタイムで脆弱性調査チームに再び加わりました。
現在は家事育児と仕事のバランスをとって、半分の時間を仕事に当てています。
「ワークライフバランスの答えを探すことで個人的に大きく成長できました。大変な状況になるまで仕事と生活の両立について真剣に考えることはなかったのです」と Patterson は語っています。
仕事以外にも、ロッククライミングなど複数の趣味を持つ Patterson
ファームウェアとソフトウェアの調査に使える新しいツールを作成することが現在の主な目標だと語っていた Patterson ですが、脆弱性そのものの調査より、ツールを作成するプロセスから学ぶことが多いと言います。
また、時々はルータの脆弱性の解明も行っているものの、ファジングツールやコードを調査するための他のツールを作成する仕事は、脆弱性の難問を解くという、もっと大きなチームの取り組みの一部だと考えているとのことです。
「チームで仕事をすることの大きな利点は、全員がそれぞれの得意分野を持っていることです」と彼女は言います。「行き詰まりを感じることもあるので厳しいと思えるかもしれませんが、そういうときは他の人たちが提案をしてくれたり、背中を押してくれたりします」。
本稿は 2023 年 09 月 11 日に Talos Group のブログに投稿された「You can try to hide your firmware from Kelly Patterson, but she’ll find it (and break it)」の抄訳です。