コロンビア大学の研究チームは、こうした設計ミスを検出するツール「CRYLOGGER」を開発した。オープンソースの同ツールは、コードを分析するのではなくAndroidアプリを実行することで機能し、暗号化手法の不適切な使用を認識できる。
セキュリティ標準を参照して機密データの安全性を確認
CRYLOGGERは、セキュリティ標準を定義するNISTやIETFなどによって定められたルールリストを持っており、分析によりこれらに反した設計を検出する。コードを分析する代わりに、アプリが使用するパラメーターを分析し、実際に実行されるコードのみに焦点を当てているのだといいう。クローズドなアプリも分析できて、分析の際にコードを変更する必要がない。また、複数アプリ間のデータのやり取りも分析できて、データ共有の際のセキュリティリスクが検出できる。
1780個の人気アプリを分析
研究チームが、GooglePlayストアにある1780個の人気アプリを分析した結果、そのほとんどに、セキュリティ標準に準拠していないコードまたはライブラリが含まれていたとのこと。多くのアプリは壊れたアルゴリズムを使用していたか、安全でない暗号化手法を採用していた。ただ現在のところ、検出したものすべてで悪意ある攻撃が可能というわけではないようで、さらなる調査のための警告としての位置づけだという。実際研究チームは、28個のAndroidアプリのコードを手動で分析し、CRYLOGGERによって検出された違反の一部で悪用の可能性があることを発見した。
CRYLOGGERでは、開発者がアプリの設計や使用するサードパーティライブラリをチェックする目的で利用できるほか、プラットフォーム側でセキュリティ基準を満たしていないアプリを見つけ出すことも可能。引き続き研究チームは、CRYLOGGERのさらなる精度向上に取り組む意向だ。
参照元:New Tool Detects Unsafe Security Practices in Android Apps/ Columbia Engineering