BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース DidFail: 情報リークを検出するフリーのAndroidツール

DidFail: 情報リークを検出するフリーのAndroidツール

原文(投稿日:2014/07/08)へのリンク

CERT Secure CodingチームがAndroidアプリからのセンシティブな情報のリークを分析できるフリーで使えるツールをリリースした。CERTの研究者は、このツールは「Androidアプリのための最も正確な汚染フロー静的解析ツール」だとうたっている。

CERTのツールはセンシティブなソースから禁止されたシンクへ情報がリークする問題を解決する。センシティブな情報のリークというのは、たとえばユーザが、ユーザのコンタクトリスト(ソース)を許可されていないパーティ(シンク)にリークするアプリをインストールしたときに発生する可能性がある。これは情報フロー分析の典型的な問題だ。セキュリティ問題は、データフローが逆向きに発生する場合にも存在する。たとえば、許可されたソースによって送られた高い信頼性のあるデータだけを格納する場所に、信頼できないデータが送られてきて置かれるような場合だ。

こうした懸念を解決するため、CERTの研究者はDidFail (Droid Intent Data flow Analysis for Information Leakage) を設計、実装した。これはデータフロー分析のための2つの既存のAndroidツール、FlowDroid(イントラコンポーネント汚染フローを特定する)とEpicc(アクション文字列のようなインテントプロパティを特定する)を組み合わせて強化したもので、フリーでダウンロードすることができる。

CERTの研究者であるWill Kiebler氏によると、FlowDroidよりもDidFailが良いところは、FlowDroidが「アプリの単一コンポーネントに流れる情報」にしか注目していないのに対し、DidFailは「アプリ間、単一アプリ内、複数コンポーネント間の汚染される可能性のあるフローを分析する」ことだ。Kiebler氏によると、DidFailがやっているのは「オリジナルのAPKを持ってきて、コード中のAPKがインテントを送る場所にユニークな識別子を加えること」だと説明できるという。このユニークな識別子は「Epiccの出力とFlowDroidの出力とをマッチ」するのに使われる。

DidFailの取り組みはまだ完了していないとKiebler氏は語る。ツールは「アプリ間の情報フローの検出方法が粗いために誤検出する」おそれがある。もっと重要なことは、DidFailはアプリ間のデータ通信の方法として、Androidインテントにしか注目しておらず、Content Providersの直接クエリ、SDカードの読み書き、Android Linux OSによって実装されている通信チャネルの利用(たとえば、ソケットやBinder)といった他のAndroid IAPメカニズムを考慮していないことだ。

この記事に星をつける

おすすめ度
スタイル

BT