-1

現在アプローチを評価しているプロジェクトが近づいています(PhoneGapを使用したネイティブとハイブリッド)。この評価プロセス (主に多くのグーグル検索) に関して、1 つを除いて、ほとんどの点で明確です。安全。

私が読んだ多くの記事では、ハイブリッド アプリはネイティブ アプリに比べて安全性が低いと書かれていましたが、詳細についてはあまり詳しく説明されていませんでした。正確にどのように安全性が低いかを理解したいです。

セキュリティ リスクが次のようなものである可能性があると述べて、このトピックについて掘り下げた記事は 1 つだけです。

  • アプリのソース コード
  • 保存中のデータ
  • 転送中のデータ
  • URL のセキュリティの問題

このトピックをもう少し詳しく理解したいと思います。誰かがそれについて少し詳しく説明したり、役立つリソースを教えてくれませんか?

PS: これが焦点の絞られていない/自由回答の質問であることはわかっていますが、私はこれに本当に行き詰まっており、すでに多くのグーグルを行ってきました。モデレーターの皆さん、このスレッドを閉じないでください。

4

1 に答える 1

1

純粋に憶測に過ぎませんが (iOS と Android のネイティブ、ハイブリッドの両方での経験から言えば)、ハイブリッド アプリでは、データを API に結び付け、共通のデータ形式で保存することで、データをよりアクセスしやすくする必要があります。これにより、データをハイブリッド化することで本質的にアクセスしやすくなるため、より多くの攻撃ベクトルが暗黙的に許可されます。ネイティブ アプリケーションとして、アプリと関連データは独自の形式で保存する必要があります。つまり、攻撃者またはマルウェアは、その形式のデータ アクセスに対処するように特別に構築する必要がありますが、ハイブリッド アプリでは、マルウェアまたは攻撃者は、共通の API を介して、または共通のデータ ストレージ形式でデータにアクセスする可能性があります。

また、サーバーと「有線」で対話するときはいつでも、ネイティブ アプリは低レベルの通信を使用してソケット接続を開きますが、ハイブリッド アプリでは、データは (通常) HTTP の上にカプセル化されます。これは、攻撃者がポート 80 でトラフィックをスニッフィングするだけであれば、克服すべき障害が少ないことを意味します (奇妙なプロトコルでのポート 2030 のようなスニッフィングに対して)。「ハイブリッド」通信 (通常は HTTP 経由) を使用してサーバーと対話する最も一般的な方法の 1 つは、URL を使用することです。これは、クリアテキストで送信される URL にユーザー名やパスワードなどが含まれることを意味します (ばかげた、ばかげた例として): http://www.example.com/control_me?username=foo&password=bar.

アプリのソース コードに関して言えば、これはアクセシビリティにまでさかのぼります。定義上、ハイブリッド アプリのソース コードはオープンである必要があります。複数のプラットフォームで実行する必要があり、ハイブリッド アプリのソース コードについて話すときは、通常、アプリの世界では HTML5 を意味します。つまり、デバイス上で実行するにはソースを送信する必要があるため、方法論全体をダウンロードしてリバース エンジニアリングする (または開いて見るだけ) ことができます。これは、基本的にコンパイルされたJavaまたはobjective-cであり、「逆コンパイル」が困難または不可能なネイティブアプリとは対照的です。

于 2013-02-25T11:24:19.977 に答える