Google、PixelモデムにRustベースのDNSパーサーを導入しセキュリティを強化
**Google**は、**Pixel**デバイスのモデムファームウェアに**Rust**ベースのドメインネームシステム(DNS)パーサーを統合し、デバイスセキュリティの強化に向けた重要な一歩を踏み出しました。この取り組みは、クリティカルな領域における脆弱性を軽減し、**Android**エコシステム内でのメモリセーフコードの広範な採用への道を開くことを目的としています。

### セキュリティ強化のためのRust統合
**Pixel**デバイスのセキュリティ強化に向けた継続的な取り組みの一環として、**Google**はモデムファームウェアに**Rust**ベースのDNSパーサーを統合したことを発表しました。このイニシアチブは、基盤レベルでのメモリ関連の脆弱性に対処することを目的としています。
**Google Pixel**チームのソフトウェアエンジニアである**Jiacheng Lu**氏は、「新しいRustベースのDNSパーサーは、リスクの高い領域における脆弱性のクラス全体を軽減することでセキュリティリスクを大幅に削減し、他の領域でのメモリセーフコードの広範な採用の基盤を築きます。」と述べています。
このセキュリティ強化は現在**Pixel 10**デバイスで利用可能であり、メモリセーフ言語をモデムに組み込んだ最初の**Pixel**デバイスとなります。
### 背景:ベースバンドセキュリティの強化
この動きは、潜在的な**exploit**からセルラーベースバンドモデムを強化するための以前の取り組みに基づいています。2023年末、**Google**は、プログラム実行中の未定義動作を検出する上での、Overflow Sanitizer(IntSan)やBoundsSanitizer(BoundSan)などの**Clang**サニタイザーの効果を強調しました。
さらに、2024年には、**Google**は、バッファオーバーフローなどのメモリ安全性に関する脆弱性を悪用してリモートコード実行(RCE)を達成する2G **exploit**やベースバンド攻撃から保護するために、モデムファームウェアに統合されたさまざまなセキュリティ対策について詳述しました。
これらのセキュリティの進歩は、**Android**および低レベルファームウェアにおける**Google**の継続的な**Rust**採用によって補完されています。2025年11月、同社はメモリ安全性に関する脆弱性が大幅に減少し、昨年のモバイルオペレーティングシステムで発見された脆弱性全体の20%を下回ったと報告しました。
### DNS脆弱性への対応
**Google**は、現代のセルラー通信における基本的な役割から、**Rust**実装の対象としてDNSプロトコルを選択しました。DNSの脆弱性、特にメモリセーフでない言語で実装されている場合、**CVE-2024-27227**で強調されているように、ユーザーを悪意のある攻撃にさらす可能性があります。
「セルラー技術の進化に伴い、現代のセルラー通信はデジタルデータネットワークに移行しました。その結果、コールフォワーディングなどの基本的な操作でさえDNSサービスに依存しています。」と**Google**は述べています。「DNSパーサーをRustで実装することは、メモリの非安全性に関連する攻撃対象領域を減らすことで価値を提供します。」
### 実装の詳細
この実装のために、**Google**は**Rust**ベースのDNSクライアント、サーバー、リゾルバーである「hickory-proto」クレートを選択し、ベアメタルおよび組み込み環境をサポートするように変更しました。また、「cargo-gnaw」と呼ばれるカスタムツールを使用してクレートの依存関係を管理しました。
**Google**は、DNS **Rust**クレートはメモリ制約のあるシステム向けに最適化されていないと指摘し、機能フラグを使用して必要な機能のみを選択的にコンパイルすることでコードサイズの最適化が可能になることを示唆しました。
「DNSパーサーについては、C言語でDNS応答解析APIを宣言し、その後Rustで同じAPIを実装しました。」と**Google**は説明しています。「Rust関数はエラーコードを表す整数を返します。受信したDNS応答のDNS回答は、元のC実装に結合されたインメモリデータ構造に更新する必要があります。そのため、既存のC関数を使用してそれを行います。既存のC関数は、Rust実装からディスパッチされます。」