SlideShare a Scribd company logo
1 of 36
Download to read offline
実行コード上の機能間距離に基づく
Androidアプリの個人情報送信機能の推定
CSS(Computer Security Symposium)2013
西田雅太 岩本一樹 星澤裕二
株式会社セキュアブレイン 先端技術研究所
発表概要
•
•
•
•

研究背景
提案手法
検証
まとめ

2
研究背景
Androidパーミッション
個人情報漏洩のリスク

3
Android パーミッション
• Androidアプリのセキュリティモデルの一つ
• アプリが使用する機能やリソースを制限

4
Android パーミッション
アプリのインストール時に
利用する機能の一覧を提示

いつ・どのように機能を
利用するかは分からない
5
個人情報の漏洩リスク
事例: マルウェア Android.Uranico (2012/05)

6

一見、アドレス帳情報取得パーミッションの使用は妥当
しかし、バックグラウンドでアドレス帳情報を外部に送信
個人情報の漏洩リスク
• パーミッションの限界
– 個々の機能の利用用途をユーザが確認する
手段がない
– ユーザの意図しない形で機能が利用されて
しまう可能性

• 個人情報が悪用されるリスクも

パーミッション以外の機能用途の
判断材料の必要性
7
提案手法
基本コンセプト
コールグラフ
機能間距離の定義
機能間距離の実例(マルウェア)

8
基本コンセプト
例1

アドレス帳情報を取得するAPIとHTTP通信をす
るAPIが、同一のメソッドから呼び出されている
method

Read
Contacts

HTTP

HTTP通信によるアドレス情報送信の可能性
9
基本コンセプト
例2

アドレス帳情報を取得するAPIを呼び出しているメソッ
ドが、HTTP通信をするAPIを呼び出しているメソッドを
呼び出している
method

Read
Contacts
HTTP

これも、HTTP通信によるアドレス情報の
送信の可能性が考えられる

10
基本コンセプト
コールグラフ上で近傍に位置する
2つの機能は関連がある可能性が高い
個人情報取得機能と情報送信機能の
機能間距離を算出

個人情報送信機能の推定
11
コールグラフ - parsing dex file
• アプリの実行ファイル(Dexファイル)を解析
– 実行命令コード列(bytecode)
• 各メソッドのcode_itemセクション, Insns領域

– メソッド呼び出し命令 (10種類)
• invoke-kind (virtual, super, direct, static, interface)
• invoke-kind/range

• bytecode内のinvoke-kind(/range)の呼び出し
関係からコールグラフが生成できる
12
コールグラフ - parsing bytecode

メソッド呼び出し命令
(invoke-kind)

メソッド名と引数
13
コールグラフ – drawing graph
解析したbytecodeから
コールグラフを生成

Dougalek(The Movie)のコールグラフ
※メソッド名は省略

14
機能間距離 – 定義
• 任意の2つの機能を使用しているメソッドの
コールグラフ上の距離
– グラフのエッジの重みを1とする
距離:0

距離:1

距離:2
1

1
A

B

1

A

B

A

B
15
機能間距離 – 定義
• 共通の呼び出し元(メソッド)がある場合のみ
を対象とする
– 共通の呼び出し元がない
= 同じコールスタック内で2つの機能が
呼ばれることがない

A

B

機能間距離の算出が出来ないケース

A

B

機能間距離の算出が可能なケース
16
機能間距離 – 拡張
• 非同期処理の開始メソッドと実行メソッドをコールグ
ラフ上で結合する拡張を行う
– 外部への通信処理などは非同期的な実装がされ
ることが多いため

• 対象
– Thread.start() → Thread.run()
– AsyncTask.execute() → AsyncTask.doInBackground()

17
機能間距離の実例(マルウェア)
Android.Uranico → 距離2

18
機能間距離の実例(マルウェア)

TheMovie → 距離3

19
機能間距離の実例(マルウェア)
Enesoluty → 距離0

20
検証
検証方法
検証用サンプル
機能間距離の算出
静的解析

21
検証方法
• 検証対象
– 個人情報 → アドレス帳の電話番号、アドレス
– 送信機能 → HTTP, Socketによる通信

• 検証方法
– 検証用サンプル(後述)のアドレス帳情報の送信
に関する機能間距離を算出
– 静的解析の実施
• 外部にアドレス帳の情報が送信されるかを確認

22
検証用サンプル
• 検証用サンプルのベース

–10,000個のAndroidアプリケーション
• 一般アプリ配布サイトから収集
• 署名証明書ユニーク

READ_CONTACTS 及び INTERNET の
パーミッションを持ったアプリを抽出

•

731個 → 検証用サンプル
23
機能間距離の算出 – 対象
• 情報送信機能
– HTTP通信
• org.apache.http.impl.client.DefaultHttpClient.execute()
など

– Socket通信
• java.net.URLConnection.getOutputStream など

• アドレス帳アクセス
– アドレス帳DBアクセス時に使用する定数の参照
• android.provider.Contacts.Phones.CONTENT_URI など
24
機能間距離の算出
機能間距離
算出できた
算出不能
Total

Sample Rate
146 19.97%
585 80.03%
731

• 約2割の検証サンプルで機能間距離が算出
できた
25
機能間距離の算出 – 分布
30

25
20
15
10
5

0
0

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16
26
静的解析
• 解析対象
– 機能間距離が算出できたサンプル (146個)
– 機能間距離が算出できなかったサンプルの一部 (40個)

• ツール
– JEB Interactive Android Decompiler を使用

• 解析内容
– アドレス帳情報の送信機能の有無を確認

27
静的解析 – コールグラフ
個人情報送信機能が確認できた例
距離2

メソッド名
→ inviteFriends, findPeopleFromContacts, postRequest, …
28
静的解析 – コールグラフ

解析が困難な例
距離7
29
静的解析 - 結果
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
Not Upload
Upload

機能間距離
算出可能

機能間距離
算出不能

71
75

33
7

• 機能間距離が算出できたサンプルのほうが、情報
送信機能が多く認められた
30
機能間距離
30

25
20
Not Upload

15

Upload
10
5

0
0

1

2

3

4

5

6

7

8

9 10 11 12 13 14 15 16
31
機能間距離
100%
90%
80%
70%
60%
50%

Not Upload

40%

Upload

30%
20%
10%

0%
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
32
まとめ
考察
課題・検討事項
今後の発展

33
考察
• 機能間距離の算出の有効性
– 機能間距離が算出できたサンプルのほうが、情
報送信機能が多く認められた

• 機能間距離と情報送信機能の関係
– 機能間距離が小さいもののほうが、情報送信機
能が多く認められた

34
課題・検討事項
• コールグラフの改善
– Interfaceへの対応
– クラス変数を介した情報の伝播
– File、データベースなど外部への情報の出力

• 機能間距離算出の最適化
– privateメソッドや同一クラス内のコールグラフの
エッジの重みの最適化

• 静的解析の精度
– 手動による解析のため、判定ミスの可能性
35
今後の発展
• マルウェアの表層解析への適用
• 他の個人情報への応用
• 蓄積した情報による情報送信機能を有する
確率の提示

36

More Related Content

What's hot

What's hot (11)

アプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはアプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するには
 
Owasp evening : Privacy x Design with OWASP
Owasp evening : Privacy x Design with OWASPOwasp evening : Privacy x Design with OWASP
Owasp evening : Privacy x Design with OWASP
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
 
Privacy by Design with OWASP
Privacy by Design with OWASPPrivacy by Design with OWASP
Privacy by Design with OWASP
 
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
 
DXとセキュリティ / IPA Digital Symposium 2021
DXとセキュリティ / IPA Digital Symposium 2021DXとセキュリティ / IPA Digital Symposium 2021
DXとセキュリティ / IPA Digital Symposium 2021
 
20150717_リアルタイムアクセス監視で実現する抑止力 by 株式会社インサイトテクノロジー マーケティング本部長 溝上弘起
20150717_リアルタイムアクセス監視で実現する抑止力 by 株式会社インサイトテクノロジー マーケティング本部長 溝上弘起20150717_リアルタイムアクセス監視で実現する抑止力 by 株式会社インサイトテクノロジー マーケティング本部長 溝上弘起
20150717_リアルタイムアクセス監視で実現する抑止力 by 株式会社インサイトテクノロジー マーケティング本部長 溝上弘起
 
20 秋
20 秋20 秋
20 秋
 
プラットフォームセキュリティin Windows ブートタイム保護 概要編
プラットフォームセキュリティin Windows ブートタイム保護 概要編プラットフォームセキュリティin Windows ブートタイム保護 概要編
プラットフォームセキュリティin Windows ブートタイム保護 概要編
 
Webアプリケーション脆弱性診断のご紹介_コンピューターサイエンス株式会社
Webアプリケーション脆弱性診断のご紹介_コンピューターサイエンス株式会社Webアプリケーション脆弱性診断のご紹介_コンピューターサイエンス株式会社
Webアプリケーション脆弱性診断のご紹介_コンピューターサイエンス株式会社
 
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
 

Similar to Css2013 api distance

2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
Ruo Ando
 
Mr201302 mitb in_android_2
Mr201302 mitb in_android_2Mr201302 mitb in_android_2
Mr201302 mitb in_android_2
FFRI, Inc.
 
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
WebSig24/7
 
Androidにおける強制アクセス制御
Androidにおける強制アクセス制御Androidにおける強制アクセス制御
Androidにおける強制アクセス制御
Hiromu Yakura
 
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
 

Similar to Css2013 api distance (20)

”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
 
20180224 azure securitycenter
20180224 azure securitycenter20180224 azure securitycenter
20180224 azure securitycenter
 
クラウドセキュリティ
クラウドセキュリティクラウドセキュリティ
クラウドセキュリティ
 
SOFTCAMP SHIELDEX 詳細な紹介資料及び ​導入事例
SOFTCAMP SHIELDEX 詳細な紹介資料及び ​導入事例SOFTCAMP SHIELDEX 詳細な紹介資料及び ​導入事例
SOFTCAMP SHIELDEX 詳細な紹介資料及び ​導入事例
 
DXで加速するコンテナ/マイクロサービス/サーバーレス導入とセキュリティ
DXで加速するコンテナ/マイクロサービス/サーバーレス導入とセキュリティDXで加速するコンテナ/マイクロサービス/サーバーレス導入とセキュリティ
DXで加速するコンテナ/マイクロサービス/サーバーレス導入とセキュリティ
 
.NETラボ勉強会資料 Azure AD Identity Protection を知る
.NETラボ勉強会資料 Azure AD Identity Protection を知る.NETラボ勉強会資料 Azure AD Identity Protection を知る
.NETラボ勉強会資料 Azure AD Identity Protection を知る
 
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
 
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用
 
Mr201302 mitb in_android_2
Mr201302 mitb in_android_2Mr201302 mitb in_android_2
Mr201302 mitb in_android_2
 
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
 
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
 
Androidにおける強制アクセス制御
Androidにおける強制アクセス制御Androidにおける強制アクセス制御
Androidにおける強制アクセス制御
 
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティJPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
 
エンジニアのための Cloud 活用
エンジニアのための Cloud 活用エンジニアのための Cloud 活用
エンジニアのための Cloud 活用
 
クラウドセキュリティの価値と機会
クラウドセキュリティの価値と機会クラウドセキュリティの価値と機会
クラウドセキュリティの価値と機会
 
Ibm pure flex at cloudian seminar 2013
Ibm pure flex at cloudian seminar 2013Ibm pure flex at cloudian seminar 2013
Ibm pure flex at cloudian seminar 2013
 
AWS Cloud Design Pattern for Enterprise
AWS Cloud Design Pattern for EnterpriseAWS Cloud Design Pattern for Enterprise
AWS Cloud Design Pattern for Enterprise
 
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
 
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
 
論文紹介 - 第1回(公開用).pptx
論文紹介 - 第1回(公開用).pptx論文紹介 - 第1回(公開用).pptx
論文紹介 - 第1回(公開用).pptx
 

Css2013 api distance