「Androidのカーネルをいじるな」グーグルがスマホメーカーに苦言

Liam Tung (Special to ZDNET.com) 翻訳校正: 編集部

2020-02-18 12:55

 Googleのセキュリティチーム「Project Zero」の研究者であるJann Horn氏は、サムスンがカーネルコードを修正して自社スマートフォンへの攻撃を防ごうとしたことは、脆弱性を増やすことになったと指摘した。

 同氏は、サムスンをはじめとするスマートフォンメーカーが、ハードウェアからAndroidのLinuxカーネルに直接アクセスするためカスタムドライバーをダウンストリームで追加していることについて、メーカーはLinuxカーネルがすでに持っているセキュリティ機能を使うべきだと主張している

 Horn氏がサムスンの「Galaxy A50」のAndroidカーネルに発見した問題は、この種のものだった。ただし、アップストリームのLinuxカーネル開発者がレビューしていないコードを、ダウンストリームでカーネルに追加するという行為は、サムスンだけでなく、多くのスマートフォンメーカーが行っていることだという。

 ダウンストリームでカスタマイズを行うのはデバイスのセキュリティを向上させるためだが、かえって脆弱性を増やしてしまう場合もある。今回の場合、サムスンがセキュリティ向上のためにカーネルを修正したことで、メモリ破損の脆弱性が導入された。Googleは、2019年11月にこの脆弱性についてサムスンに通知している。

 この脆弱性は、Galaxyシリーズのデバイス向けにリリースされた2月のアップデートですでに修正されている。この問題は、サムスンが追加したセキュリティサブシステム「PROCA」(Process Authenticator)に存在するものだ。

 サムスンの説明によれば、この脆弱性(SVE-2019-16132)は、PROCAに存在する解放済みメモリ使用の脆弱性と二重解放の脆弱性から構成される中程度の問題で、Android 9.0および10.0を使用しているGalaxyシリーズのデバイスの一部で、任意のコードが実行される可能性があるという。

 Horn氏が投稿したブログ記事では、メーカーが独自のコードをカーネルに追加していることについて、セキュリティへの影響を軽減するためのAndroidの取り組みに焦点を当てている。

 同氏は、「Androidでは、デバイスドライバーにアクセスするプロセスをロックダウンすることで、このようなコードのセキュリティに対する影響を軽減している。そのようなドライバーはメーカー独自のものであることが多い」と説明する。

 例えば、最近のAndroidスマートフォンでは、専用の補助プロセス経由でハードウェアにアクセスするようになっている。この種のプロセスは、「ハードウェア抽象化レイヤー」(HAL)と総称されている。Horn氏は、スマートフォンメーカーがLinuxのカーネルをコア部分を修正すると、「攻撃対象をロックダウンする」ための努力が空洞化すると述べている。

 Horn氏によれば、メーカーはLinuxのカーネルコードをカスタマイズするのではなく、Linuxでサポートされているハードウェアに直接アクセスするための機能を使用すべきだという。

 「特定のデバイス向けに行ったカーネルの修正は、アップストリームに反映するか、ユーザー空間のドライバーに移すべきだ。ユーザー空間であれば、より安全なプログラミング言語での実装や、サンドボックス化が可能になり、新たにリリースされたカーネルに対するアップデートも容易になる」と同氏は述べている。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]