Hacker Noon のこの興味深い記事は、どれだけ多くのアプリケーションが他のサービスの秘密を公開しているかを明らかにしています。「秘密」とは、最も技術的で最も謎の少ない言葉の定義として理解されています。つまり、アプリケーションが他のサービスと通信するためのパスワードのようなものです。
API シークレットや共有シークレットなどはその名前が示していますが、実際には秘密として保管されているのではなく、多くの開発者は、誰もそれらを見つけるのに時間も手間もかからないと信じて、アプリケーションのコード行にそれらを追加しています。 。 Fallible.co が16,000 以上の APKを分析した結果、それらは間違っていることが判明しました。
リバースエンジニアリング + APK = パスワード
おそらく平均的なユーザーは、アプリケーションによって一部のサービスの秘密のパスワードが公開されても気にしないでしょう。しかし実際のところ、APK を調べて情報を入手するのにハッカーである必要はありません。実際、必要なのは、この Fallible.co エクストラクターのようなオンライン アプリを使用するだけで、数秒でこれを実現できます。

このシークレット ファインダーでは、APK をアップロードするか、Google Play でアプリケーションを検索してコードをリバース エンジニアリングし、解析して、その内容を自動的に検索して重要な秘密を探すだけです。
Fallible.co の調査結果によると、分析された16,000 個の APKのうち、約2,500 個にサードパーティ サービスからの何らかのキー (約 15%) が含まれており、これらのキーの一部はそれほど重要ではありませんが、少なくとも304個にはいかなる場合でも共有されるべきではなかった秘密。
これはあなたにどのような影響を与えますか?
おそらくこの時点で、これほど多くの秘密について話した後で、一部の開発者がアプリケーションをプログラミングする際に多少不注意であることが自分にどのような影響を与えるのか疑問に思っているでしょう。皮肉なことに、これらのパスワードを公開したままにすると、開いたままになっているドアの鍵は、自宅、つまりアプリケーションの鍵ではなく、他のサービスの鍵になることになります。具体的には、これは、分析されたさまざまな APK でアクセス キーが最も多く漏洩したサービスの表です。

これらのキーが公開されることの影響は、その API で何が達成できるか、そしてこの情報を利用したい人の熱意の程度によって異なりますが、Fallible.co は例として、Uber API によって通知の送信が可能になると述べています。 Uber アプリから。
もちろん、誰かがこれらのキーのいずれかを利用して、他人のアクセスを使用することを保護して「悪事を働く」場合、サービスはアカウントを削除する可能性が非常に高くなりますが、だからといって、次のことを含めるという考えがなくなるわけではありません。誰も読まないという誤った認識のもと、アプリケーションのソース コードにパスワードやその他の機密情報を含めるのは、ひどい考えです。
レポートで言及されているもう 1 つの例は、無数のアプリケーションの基盤となるクラウド サービスであるAmazon AWSキーです。十分な権限を持つキーがあれば、インスタンスを完全に削除できます。
要するに、これらすべてから何が学べるでしょうか?まず、秘密であるべきものを守ることにほとんど関心を持たない開発者が何人かいます。次に、退屈な午後がある場合は、トレジャー ハンターのように、このセキュリティ検索エンジンでアプリケーションを検索して秘密を探すことに費やすことができます。これらはおそらくあまり役に立ちませんが、その過程で、API を介して他のサービスと通信する際のプログラミングと資格情報について多くを学ぶことになります。
経由 | ハッカーヌーン
ザタカ Android | セキュリティにとって Android アップデートの重要性