RustはすでにAndroid開発のお気に入りです

Googleが発表 最近 包含 プログラミング言語 許可された言語間の錆 Android開発用。

Rustコンパイラは2019年にAndroidソースツリーに含まれていたため、言語サポートは実験的なままでした。 Androidに出荷された最初のRustコンポーネントのいくつかは、Binderプロセス間通信メカニズムとBluetoothスタックの新しい実装です。

Rustの実装 セキュリティを強化するプロジェクトの一環として実施されました、安全なコーディング手法を促進し、Androidでメモリを操作する際の問題を特定する効率を向上させます。 Androidで特定されたすべての危険な脆弱性の約70%は、メモリを操作する際のエラーが原因であることが確認されています。

Rust言語の使用、 その 安全なメモリ管理に焦点を当てています また、自動メモリ管理を提供し、解放された後のメモリ領域へのアクセスやバッファ制限のオーバーフローなど、メモリ処理中のエラーによって引き起こされる脆弱性のリスクを軽減します。

Rustでは、参照をチェックし、オブジェクトの所有権とオブジェクトの寿命(スコープ)を追跡し、実行時にメモリへのアクセスの正確さを評価することで、コンパイル時に安全なメモリ処理が保証されます。

さび オーバーフローから保護する手段も提供します 整数、使用前に変数値の必須の初期化を必要とし、標準ライブラリのエラーをより適切に処理し、デフォルトで参照と不変変数の概念を採用し、論理エラーを最小限に抑えるための強力な静的書き込みを提供します。

Androidでは、安全なメモリ管理がKotlinおよびJava言語で提供されます すでにサポートされていますが、オーバーヘッドが大きいため、システムコンポーネントの開発には適していません。

Rustを使用すると、CおよびC ++言語に近いパフォーマンスを実現できます。、ハードウェアとインターフェイスするプラットフォームおよびコンポーネントの低レベルの部分を開発するために使用できるようにします。

CおよびC ++コードのセキュリティを確保するために、Androidはサンドボックス分離、静的分析、およびファジングテストを使用します。 サンドボックス分離機能は制限されており、その機能の限界に達しています(プロセスのさらなる断片化は、リソース消費の観点からは実用的ではありません)。

サンドボックスを使用する際の制限の中で、新しいプロセスを生成する必要性によって引き起こされる高いオーバーヘッドと高いメモリ消費、およびIPCの使用に関連する追加の遅延について言及しています。

同時に、サンドボックスはコードの脆弱性を排除するのではなく、リスクを軽減し、攻撃を複雑にするだけです。これは、悪用にはXNUMXつではなく、複数の脆弱性を特定する必要があるためです。

エラーを検出するには、問題が発生するための条件を作成する必要があるため、コードのテスト方法は制限されています。 考えられるすべてのオプションを網羅することは不可能であるため、多くのエラーが見過ごされます。

Androidのシステムプロセスの場合、 Googleは「XNUMXつのルール」を順守します従った 追加されたコードは、XNUMXつの条件のうちXNUMXつを超えてはなりません。-検証されていない入力データを処理し、安全でないプログラミング言語(C / C ++)を使用し、ハードサンドボックス分離なしで(昇格された特権で)実行します。

この規則から、外部データを処理するコードは、最小特権(分離)に減らすか、安全なプログラミング言語で作成する必要があります。

Googleはコードを書き直すことを目指していません Rustに存在するC / C ++、 しかし、彼はこの言語を使用して新しいコードを開発する予定です。

統計的にほとんどのエラーは新しいコードまたは最近変更されたコードに表示されるため、新しいコードにRustを使用することは理にかなっています。 特に、Androidで検出されたメモリエラーの約50%は、XNUMX年以内に記述されたコードで検出されています。

出典 https://security.googleblog.com


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ミゲル・ロドリゲス

    皮肉なことに、あなたの最大の競争相手があなたがあなた自身の目的のために開発するのを手伝った何かを採用することになったとき…さびは増加しています。