セキュリティ研究者は、Eufyのスマートホームエコシステムの中心的なハブであるEufy HomeBase 2のファームウェアを抽出および分析するプロセスを記録しました。このデバイスのフラッシュメモリは、データダンプ用の露出したピンがなく回路基板に直接はんだ付けされているため、研究者はWinbond 25Q256JWEQチップを物理的に取り外す必要がありました。基板に装着したままチップを読み取ろうとした初期の試みは、読み取り操作に供給される電源が他のコンポーネントを起動させ、メモリに干渉するため失敗しました。ファームウェアを正常にダンプするためには、チップをはんだで取り外し、Raspberry PiのSPI0インターフェースを使用してオフボードで読み取る必要がありました。

回路基板上の、はんだ除去プロセスの接写。
研究者は、基板上の他のコンポーネントからの干渉を回避するために、Winbondフラッシュメモリチップをはんだで取り外しました。adepts.of0x.cc

この画像は、Eufy HomeBase 2からファームウェアを抽出するために必要だった物理的なハードウェア改造を説明しています。

データ読み取りのために、はんだで取り外されたメモリチップに接続されたRaspberry Pi。
はんだで取り外されたチップをRaspberry PiのSPI0インターフェースに接続し、ファームウェアのダンプに成功しました。adepts.of0x.cc

この画像は、チップをデバイスから取り外した後に使用されたオフボード読み取り方法を示しています。

抽出には成功したものの、はんだ除去の過程で生じた物理的な損傷により、64KBのデータブロックが消去されるか、あるいは読み取り不能な状態となりました。それにもかかわらず、研究者はBinwalkを使用してLinux Kernel ImageやJFFS2ファイルシステムを含む様々なコンポーネントを特定し、抽出することに成功しました。彼らは、複数のXZ圧縮データストリームを処理するために7-Zipを含む一連のツールを組み合わせ、ファームウェアのバイナリブロックからファイルを切り出しました。これにより、デバイスの動作を制御する内部スクリプトやバイナリへのアクセスが可能となりました。

データの入れ子構造の圧縮層を示す図。
ファームウェア分析中に遭遇した、入れ子構造の圧縮層の視覚的表現。adepts.of0x.cc

この画像は、展開に複数のツールを必要とした圧縮データストリームの複雑さを説明しています。

分析の主な焦点の一つは、「OCEAN_XXXXXX」管理用Wi-Fiネットワークの認証情報を生成するために使用されるアルゴリズムでした。抽出したファームウェアを調査することで、研究者は「OCEAN_」という接頭辞とデバイスのMACアドレスを連結してSSIDを作成するスクリプトを特定しました。また、Wi-Fiパスワードが特定のNVRAM変数(WPAPSK1)から取得されることも発見しました。さらにロジックを調査するため、研究者はカスタムのPythonスクリプトを使用して、ファームウェアブロックからWi-Fiパスワードの設定および管理に関連するシンボルを含む32ビットMIPS実行ファイルを切り出しました。この分析は、デバイスがローカルネットワーク認証をどのように処理しているか、また生成方法が依然として脆弱なままなのか、あるいは最近のバージョンで更新されたのかを明らかにするのに役立ちます。