私が勤務するエフセキュアには300人近いホワイトハットハッカーが所属しており、彼らの多くは顧客から依頼を受けて行う本来の業務に加え、自分の研究としてさまざまなリサーチを行っています。最近、彼らがボランティアとして発見した2つの脆弱性に関するストーリーを紹介します。→過去の回はこちらを参照。
韓国KeyWe社のKeyWe Smart Lockは、主に個人の住宅で使用されるリモート制御のエントリデバイスであり、スマホアプリ経由でスマホ本体をかざすなど、ワンタイムパスワードを使用してドアの開閉ができます。通信プロトコルの設計における脆弱性により、物理デバイスとモバイルアプリの間で交換されるロックを制御する秘密のパスワードが傍受されてしまうことを発見しました。その脆弱性を悪用することで、所有者に代わってアクション(ロックの開閉、サービス拒否、ロックのサイレンシングなど)を実行できます。
この脆弱性の発見は、弊社のコンサルタントであるクリストフ・マーシニアックがクラウドファンディングでこのロックを見かけ、高い関心を示したことがきっかけでした。ロックを注文し調査を進めていくと、脆弱性につながる欠陥の発見に至りました。最初はプライベートなプロジェクトでしたが、後にこれに取り組むための会社の研究時間が与えられました。
発見者のクリストフは、この脆弱性について以下のように語っています。
「スマートロックにはいくつかの保護メカニズムがありますが、設計上の不備により、これらのメカニズムをバイパスして、ロックとアプリとの間で交換されるメッセージを攻撃者が簡単に傍受でき、比較的単純と言える攻撃に対して脆弱な状態となります。しかし、これを防御する方法はないのです。そのため、スマートロックを使用する住宅に簡単に侵入することができてしまいます。何度も、簡単にです。攻撃者にとって必要なのは、わずかなノウハウ、家電量販店でたった10ドルで購入できるトラフィックをキャプチャするためのデバイス、そして誰がこのスマートロックを使用しているかを見つけるためのほんの少しの時間です」
ドミトリー・ヤヌシュケヴィッチが率いる別のチームは数カ月間にわたり、ベルギーのバルコ社製オンラインプレゼンシステムのClickShareを何度も調査し、悪用可能な複数の欠陥を発見しました。そのうち10個には共通脆弱性識別子がありました。さまざまな問題により、システムを介して共有される情報を傍受したり、システムを使用してユーザのコンピュータにバックドアやその他のマルウェアをインストールしたり、情報やパスワードを盗み取るなど、さまざまな攻撃が可能となっていました。
ClickShareを調査しようと思い立ったのは、それが中規模から大規模の企業、会議センターなど、世界中の多くの企業で広く使用されているからです。ClickShareが市場で30%のシェアを持つ理由の1つは、豊富な機能セットと使いやすさです。しかし、シンプルな外見に反して内部は非常に複雑な構造を持っており、それが攻撃者にとって格好の標的になると、ドミトリーは考えました。
ドミトリーは、調査について次のように話しています。
「テストの主な目的は、システムにバックドアを仕掛け、プレゼンターを侵害し、提示されたとおりに情報を盗むことでした。境界線をクラックすることは困難でしたが、アクセスしてから複数の脆弱性を見つけることができました。今回のケースは、スマートデバイスのセキュリティ保護の困難さを示しています。脆弱性はメーカーとユーザ両方に長期的な悪影響を及ぼし、製品に対する信頼を低下させる可能性があります。市場で大きなシェアを持つ製品を人々は無条件に信頼する傾向にありますが、導入する製品/サービスの潜在リスクについて、企業はもっと理解する必要があります」
セキュリティ業界では、発見した脆弱性をメーカー側に通知した場合、その90日後にその情報を発見者またはメーカーが開示することが慣例となっています。発表前に通知することで、修正プログラム提供前の「ゼロデイ攻撃」を避けるためです。
ブラックハットハッカーであれば脆弱性を悪用して情報を盗み、グレーハットハッカーはその脆弱性をネタにメーカーに金銭を要求したりしますが、ホワイトハットハッカーはメーカーに対して見返りなしに発見した情報を提供します。
スマートロックに関しての調査結果はエフセキュアからKeyWeへ2019年に8月に通知され、エフセキュアから同年12月に公式にプレスリリースが配信されました。バルコのケースでは通知が2019年10月、その後は両社による協力を経て同年12月に両社から個別の発表がされました。バルコはその際に更新版ファームウェアを公開しました。
これら2つのプロジェクトには共通して言えること、それは好奇心と強い信念です。ホワイトハットハッカーに必要な資質を以下にまとめます。
- 好奇心が強い。意欲を維持し、新しいことを学ぶためには好奇心が必要です。
- 物事にこだわり、継続して取り組むこと。ただし、何かを発見できる保証はありません。
- 深く掘り下げる。これは、他の何かに移る前に、利用可能なすべての選択肢を試してみます。
- 新鮮な心を保つ。壁にぶつかったと感じたら、休憩を取ってリフレッシュします。
- 失敗することを恐れない。次につながるのであれば、間違うことは決して恥ずかしいことではありません。
- 仕事でもプライベートでも、常に学習し続ける。一部のスキルは経験から得られますが、新しいテクノロジーや攻撃手法など、勉強し続ける必要のあることは山ほどあります。
連載最終回となる次回は、ホワイトハットハッカーになるためのキャリアパスについてお話します。