Shikata Ga Nai

Private? There is no such things.

Android Insecure file storageを訳してみた

Hello there, ('ω')ノ

 

Androidの不安全なファイル保存を。

 

脆弱性:

 不安全なファイルシステム

 

記事:

 https://pallabjyoti218.medium.com/android-insecure-file-storage-e770eed9a3fa

 

今回は、Androidアプリケーション上の不安全なファイル保存の問題について。

不安全なファイルシステムの懸念は、アプリケーションのデータが

Androidデバイス上で安全に保存されていること、つまり、デバイスから

そのデータにアクセスできないことを意味して。

アプリケーションが脆弱であれば、個人データの盗難や損失が可能で。


どのように脆弱なのか:

開発者がアプリケーションにデータを保存する際にミスをすることがあり。

これにより他のユーザや攻撃者によってデータが侵害される可能性があり。

アプリケーションが脆弱であれば、このファイルは適切な許可なしに

他のアプリケーションからアクセスできて。

データは、内部ストレージ、外部ストレージとして保存されて。


内部ストレージ:

すべてのアプリケーションには、DBや共有設定などのファイルデータが

含まれていて。

内部ストレージ上に作成したファイルは、アプリケーションのみがアクセスでき。

これはAndroidによって実装された保護で。

しかし、開発者はしばしばMODE_WORLD_READABLE & MODE_WORLD_WRITABLEを

使用してミスを犯して。

脆弱なアプリケーションを探すと、そのファイルデータは他の悪意のある

アプリによって読み取り可能であり、機密データが漏洩する可能性があり。


外部ストレージ:

外部ストレージ、たとえばSDカード上にファイルを作成すると、

それは常に読み書き可能で。

外部ストレージはユーザによって取り外されることができ、

また任意のアプリケーションによって変更されるため、

外部に機密ファイルを保存しないように注意する必要があって。


不安全なファイル保存を見つける方法:

このタイプのセキュリティ問題をチェックするためには、

ターゲットとなるアプリケーションと、ターミナル上で実行される

adbシェルが必要で。

特定のアプリケーションパッケージのAndroidアプリケーションを探してみると、

データはdata/data/application-packagesの中にあるはずで。

‘ls’ -l コマンドを使用して、特定のアプリケーションのファイル許可を確認できて。

 

ナビゲートして確認するには:

    → adb shell

 

特定のアプリケーションのファイル許可を確認するには、

    → ls -l /data/data/b3nac.injuredandroid/files

 

 

lsコマンドを使用してファイルの許可を確認すると、以下の画像のように

pass.xmlファイルがユーザデータを含んでいることがわかり。

 

 

これで、不適切なファイル許可のために他のアプリケーションが

このファイルにアクセスできることがわかり。

 

次に、ターミナルを使用してadb pullを使ってそのデータを取得でき。

    → adb -s 192.168.0.0 pull /data/data/b3nac.injuredandroid/files/pass.xml /root/Desktop

 

 

上の画像のように、ローカル環境内のそのファイルを取得して。

これは、アプリケーションのデータが他のアプリケーションによって

盗難される可能性があることを意味して。

 

 

上の画像では、他のアプリケーションもユーザの資格情報を表示できることを

意味して。

この脆弱性は、アプリケーションの開発中にファイル許可が弱いこと、

およびデータが安全でないか、暗号化されていないことに起因して。

 

今回は、データが適切に保存されていない場合、アプリケーションが

不安全なファイル保存のために脆弱である方法を学び。

安全にするために、開発者はアプリの許可を確認する必要があり。

このタイプの問題に対抗するために、いくつかの暗号化アルゴリズムを

使用する必要があって。

 

Best regards, (^^ゞ