JP7062581B2 - プライバシーポリシー検証装置、コンピュータプログラム及びプライバシーポリシー検証方法 - Google Patents
プライバシーポリシー検証装置、コンピュータプログラム及びプライバシーポリシー検証方法 Download PDFInfo
- Publication number
- JP7062581B2 JP7062581B2 JP2018230359A JP2018230359A JP7062581B2 JP 7062581 B2 JP7062581 B2 JP 7062581B2 JP 2018230359 A JP2018230359 A JP 2018230359A JP 2018230359 A JP2018230359 A JP 2018230359A JP 7062581 B2 JP7062581 B2 JP 7062581B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- feature
- api
- verification
- privacy policy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
非特許文献1に記載の従来技術では、実際にアプリケーションを動作させるためのコストがかかる。非特許文献2に記載の従来技術では、正規アプリケーションかマルウェアかを判定することはできるが、アプリケーションがどんな情報を外部へ送信するのかを判定することはできない。非特許文献3に記載の従来技術では、データフロー解析を利用しているが、暗黙的フロー解析が不十分であると、ある決められた条件分岐などがデータフロー間に存在する場合、個人情報取得APIと外部送信APIとのつながりの有無を判断することが難しい。
このため、上述した従来のアプリケーション解析技術では、アプリケーションが取得して外部に送信する個人情報が当該アプリケーションのプライバシーポリシーに合致しているかを判定することが難しい。
(2)本発明の一態様は、前記推定部は、アプリケーションで実行される各APIの特徴度に加えてさらに、前記アプリケーションで定義された各文字列の使用度、前記アプリケーションを構成する各ディレクトリの使用度及び前記アプリケーションで宣言された各値の使用度のうちいずれか一つ又は複数にも基づいて、前記アプリケーションが出力する個人プライバシー情報を推定し、前記特徴抽出部は、検証対象アプリケーションから、前記検証対象アプリケーションで実行される各APIの特徴度に加えてさらに、前記検証対象アプリケーションで定義された各文字列の使用度、前記検証対象アプリケーションを構成する各ディレクトリの使用度及び前記検証対象アプリケーションで宣言された各値の使用度のうちいずれか一つ又は複数をも抽出する、上記(1)のプライバシーポリシー検証装置である。
(3)本発明の一態様は、前記推定部は、学習用アプリケーション及び前記学習用アプリケーションが出力する個人プライバシー情報が定められたプライバシーポリシーを使用して機械学習されたものである、上記(1)又は(2)のいずれかのプライバシーポリシー検証装置である。
(4)本発明の一態様は、前記学習用アプリケーションについて、前記学習用アプリケーションに含まれるライブラリをアプリケーション特徴量の抽出対象外にして抽出されたアプリケーション特徴量が前記推定部の機械学習に使用され、前記検証対象アプリケーションについて、前記検証対象アプリケーションに含まれるライブラリをアプリケーション特徴量の抽出対象外にして抽出されたアプリケーション特徴量が前記推定部の推定に使用される、上記(3)のプライバシーポリシー検証装置である。
まず図2を参照して推定部12の学習段階を説明する。学習段階は、後述するプライバシーポリシー検証段階で使用される推定部12の学習を行う段階である。推定部12の学習段階は、プライバシーポリシー検証装置10により実施されてもよく、又は、プライバシーポリシー検証装置10とは異なるコンピュータにより実施されてもよい。なお、図2に示される特徴抽出部11は、図1に示されるプライバシーポリシー検証装置10の特徴抽出部11と同様の機能を有する。
本実施形態の一例として、4種類のアプリケーション特徴量について以下に説明する。なお、以下に説明する4種類のアプリケーション特徴量(APIの特徴度、文字列の使用度、ディレクトリの使用度、宣言された値の使用度)のうちいずれか一つ又は複数を抽出するものであってもよい。
特徴抽出処理の例1では、アプリケーションで実行される各APIの特徴度を抽出する。まず、特徴抽出部11は、アプリケーションのコンパイル後のコードを逆コンパイルし、コード「.dex」から「.smali」と呼ばれる中間コードに変換する。この結果、複数の「.smali」ファイルが生成される。コード「.dex」から「.smali」への変換には、例えば「インターネット<URL:https://ibotpeaches.github.io/Apktool/>、[平成30年11月28日検索]」に開示される「apk-tool」と呼ばれるツールを利用することができる。
特徴抽出処理の例2では、アプリケーションで定義された各文字列の使用度を抽出する。まず、文字列の使用度の抽出対象の文字列を決定する。これは、アプリケーション特徴量の次元を限定するためである。
特徴抽出処理の例3では、アプリケーションを構成する各ディレクトリの使用度を抽出する。まず、ディレクトリの使用度の抽出対象のディレクトリを決定する。これは、アプリケーション特徴量の次元を限定するためである。
以上が「特徴抽出処理の例3:ディレクトリの使用度の抽出処理」の説明である。
特徴抽出処理の例4では、アプリケーションで宣言された各値の使用度を抽出する。「Android」のアプリケーションでは、「.apk」ファイルに含まれる「AndroidManifest.xml」と呼ばれるマニフェスト(宣言)ファイルに、アプリケーションが利用する権限やコンポーネント名やコンポーネントが受け取る「Intent-Filter」名などが記載される。そのマニフェストファイル「AndroidManifest.xml」からアプリケーション特徴量を抽出する。なお、「.apk」ファイルに含まれる「AndroidManifest.xml」はエンコードされているので、上述した「apk-tool」や例えば「インターネット<URL:https://developer.android.com/studio/command-line/aapt2>、[平成30年11月28日検索]」に開示される「aapt2」等のツールを使用してデコードしてからアプリケーション特徴量を抽出する。
例4-1では、特徴抽出部11は、マニフェストファイル「AndroidManifest.xml」中の「<uses-permission>要素」の「android:name」属性の値(パーミッション)を取得する。特徴抽出部11は、予め、パーミッションリストを備える。パーミッションリストには、抽出対象のパーミッションが記載される。特徴抽出部11は、マニフェストファイル「AndroidManifest.xml」に対して、パーミッションリストに記載されたパーミッションの有無を判定する。この判定結果として、特徴抽出部11は、上記(6)式と同様にして、権限情報特徴リストを生成する。権限情報特徴リストは、パーミッションリストに記載される各パーミッションの有無を表す値「1:有り、0:無し」を有する。
例4-2では、特徴抽出部11は、「<uses-feature>要素」の「android:name」属性の値(「uses-feature」値)を取得する。特徴抽出部11は、予め、「uses-feature」リストを備える。「uses-feature」リストには、抽出対象の「uses-feature」値が記載される。特徴抽出部11は、マニフェストファイル「AndroidManifest.xml」に対して、「uses-feature」リストに記載された「uses-feature」値の有無を判定する。この判定結果として、特徴抽出部11は、上記(6)式と同様にして、「Uses-feature」情報特徴リストを生成する。「Uses-feature」情報特徴リストは、「uses-feature」リストに記載される各「uses-feature」値の有無を表す値「1:有り、0:無し」を有する。
例4-3では、特徴抽出部11は、「<intent-filter>要素」の値を取得する。特徴抽出部11は、予め、「intent-filter」リストを備える。「intent-filter」リストには、抽出対象の「intent-filter」値が記載される。特徴抽出部11は、マニフェストファイル「AndroidManifest.xml」に対して、「intent-filter」リストに記載された「intent-filter」値の有無を判定する。この判定結果として、特徴抽出部11は、上記(6)式と同様にして、「Intent-Filter」情報特徴リストを生成する。「Intent-Filter」情報特徴リストは、「intent-filter」リストに記載される各「intent-filter」値の有無を表す値「1:有り、0:無し」を有する。
例4-4では、特徴抽出部11は、要素情報を取得する。取得対象の要素情報の例4-4-1から例4-4-7を以下に示す。
(例4-4-1) <activity>要素の数
(例4-4-2) <service>要素の数
(例4-4-3) <receiver>要素の数
(例4-4-4) <content-provider>要素の数
(例4-4-5) <uses-permission>要素の数
(例4-4-6) <uses-feature>要素の数
(例4-4-7) <intent-filter>要素の数
特徴抽出部11は、マニフェストファイル「AndroidManifest.xml」に対して、例4-4-1から例4-4-7の各要素の個数をカウントするカウント処理を実行する。
このカウント処理結果として、特徴抽出部11は、上記(5)式と同様にして、要素情報特徴リストを生成する。要素情報特徴リストは、例4-4-1から例4-4-7の各要素のカウント値を有する。
プライバシーポリシーとして、例えば「XML」や「json」などの機械的に解釈可能な形式になっているデータを使用する。また、プライバシーポリシーに記載される出力の個人プライバシー情報は、予め定義されており、出力の有無が値「1:有り、0:無し」で記載されている。例えば、アプリケーションが出力する個人プライバシー情報の候補として、ユーザ識別情報「ID」、位置情報「Location」、連絡先情報「Contacts」、通話履歴「Calling_history」、ブラウザ閲覧履歴「Browsing_history」があり、「XML」で記述された図8の例のプライバシーポリシーの場合、当該プライバシーポリシーが定める出力の個人プライバシー情報は、ユーザ識別情報「ID」と連絡先情報「Contacts」とである。
推定部12には、機械学習アルゴリズムのモデルを使用する。例えば、SVM(Support Vector Machine)、決定木ベースのランダムフォレスト、XGBoost、ニューラルネットワークなどの機械学習アルゴリズムを適用してもよい。推定部12の機械学習では、推定部12が出力した個人プライバシー情報の推定結果とプライバシーポリシー(正解データ)が定める出力の個人プライバシー情報との照合の結果である誤差によって、推定部12の機械学習アルゴリズムのモデルのパラメータを調整する。
次に図3を参照してプライバシーポリシー検証段階を説明する。プライバシーポリシー検証段階は、上述した学習段階により学習済みの推定部12を使用して、検証対象アプリケーションのプライバシーポリシーで定められた出力の個人プライバシー情報の正当性を検証する段階である。
上述した実施形態の変形例として、学習用アプリケーション及び検証対象アプリケーションについて、アプリケーションに含まれるライブラリをアプリケーション特徴量の抽出対象外にしてアプリケーション特徴量を抽出してもよい。この点について以下に説明する。
以上が本変形例の説明である。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Claims (6)
- アプリケーションで実行される各API(Application Programming Interface)の特徴度に基づいて、前記アプリケーションが出力する個人プライバシー情報を推定する推定部と、
検証対象アプリケーションから、前記検証対象アプリケーションで実行される各APIの特徴度を抽出する特徴抽出部と、
前記推定部が前記特徴抽出部の抽出結果を使用して推定した推定結果に基づいて、前記検証対象アプリケーションのプライバシーポリシーで定められた出力の個人プライバシー情報の正当性を検証する検証部と、を備え、
前記APIの特徴度は、APIの実行を検索し、検索結果のAPIの実行をカウントし、カウント結果のカウント値に基づいた特徴度である、
プライバシーポリシー検証装置。 - 前記推定部は、アプリケーションで実行される各APIの特徴度に加えてさらに、前記アプリケーションで定義された各文字列の使用度、前記アプリケーションを構成する各ディレクトリの使用度及び前記アプリケーションで宣言された各値の使用度のうちいずれか一つ又は複数にも基づいて、前記アプリケーションが出力する個人プライバシー情報を推定し、
前記特徴抽出部は、検証対象アプリケーションから、前記検証対象アプリケーションで実行される各APIの特徴度に加えてさらに、前記検証対象アプリケーションで定義された各文字列の使用度、前記検証対象アプリケーションを構成する各ディレクトリの使用度及び前記検証対象アプリケーションで宣言された各値の使用度のうちいずれか一つ又は複数をも抽出する、
請求項1に記載のプライバシーポリシー検証装置。 - 前記推定部は、学習用アプリケーション及び前記学習用アプリケーションが出力する個人プライバシー情報が定められたプライバシーポリシーを使用して機械学習されたものである、
請求項1又は2のいずれか1項に記載のプライバシーポリシー検証装置。 - 前記学習用アプリケーションについて、前記学習用アプリケーションに含まれるライブラリをアプリケーション特徴量の抽出対象外にして抽出されたアプリケーション特徴量が前記推定部の機械学習に使用され、
前記検証対象アプリケーションについて、前記検証対象アプリケーションに含まれるライブラリをアプリケーション特徴量の抽出対象外にして抽出されたアプリケーション特徴量が前記推定部の推定に使用される、
請求項3に記載のプライバシーポリシー検証装置。 - コンピュータに、
アプリケーションで実行される各API(Application Programming Interface)の特徴度に基づいて、前記アプリケーションが出力する個人プライバシー情報を推定する推定ステップと、
検証対象アプリケーションから、前記検証対象アプリケーションで実行される各APIの特徴度を抽出する特徴抽出ステップと、
前記推定ステップが前記特徴抽出ステップの抽出結果を使用して推定した推定結果に基づいて、前記検証対象アプリケーションのプライバシーポリシーで定められた出力の個人プライバシー情報の正当性を検証する検証ステップと、
を実行させるためのコンピュータプログラムであって、
前記APIの特徴度は、APIの実行を検索し、検索結果のAPIの実行をカウントし、カウント結果のカウント値に基づいた特徴度である、
コンピュータプログラム。 - プライバシーポリシー検証装置が、検証対象アプリケーションから、前記検証対象アプリケーションで実行される各API(Application Programming Interface)の特徴度を抽出する特徴抽出ステップと、
前記プライバシーポリシー検証装置が、前記特徴抽出ステップの抽出結果を使用して、前記検証対象アプリケーションが出力する個人プライバシー情報を推定する推定ステップと、
前記プライバシーポリシー検証装置が、前記推定ステップの推定結果に基づいて、前記検証対象アプリケーションのプライバシーポリシーで定められた出力の個人プライバシー情報の正当性を検証する検証ステップと、
を含み、
前記APIの特徴度は、APIの実行を検索し、検索結果のAPIの実行をカウントし、カウント結果のカウント値に基づいた特徴度である、
プライバシーポリシー検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018230359A JP7062581B2 (ja) | 2018-12-07 | 2018-12-07 | プライバシーポリシー検証装置、コンピュータプログラム及びプライバシーポリシー検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018230359A JP7062581B2 (ja) | 2018-12-07 | 2018-12-07 | プライバシーポリシー検証装置、コンピュータプログラム及びプライバシーポリシー検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020091814A JP2020091814A (ja) | 2020-06-11 |
JP7062581B2 true JP7062581B2 (ja) | 2022-05-06 |
Family
ID=71012957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018230359A Active JP7062581B2 (ja) | 2018-12-07 | 2018-12-07 | プライバシーポリシー検証装置、コンピュータプログラム及びプライバシーポリシー検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7062581B2 (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005157904A (ja) | 2003-11-27 | 2005-06-16 | Matsushita Electric Ind Co Ltd | プログラムの不正使用監視装置およびその方法 |
JP2012084054A (ja) | 2010-10-14 | 2012-04-26 | Kddi Corp | 携帯端末およびプログラム |
JP2013065168A (ja) | 2011-09-16 | 2013-04-11 | Kddi Corp | アプリケーション解析装置およびプログラム |
JP2017004123A (ja) | 2015-06-05 | 2017-01-05 | 日本電信電話株式会社 | 判定装置、判定方法および判定プログラム |
JP2017021655A (ja) | 2015-07-13 | 2017-01-26 | 日本電信電話株式会社 | ソフトウェア解析システム、ソフトウェア解析方法およびソフトウェア解析プログラム |
JP2017068534A (ja) | 2015-09-30 | 2017-04-06 | 富士通株式会社 | 分析方法、分析装置および分析プログラム |
JP2017107470A (ja) | 2015-12-11 | 2017-06-15 | 株式会社Ffri | マルウェアの検出方法、プログラムおよび電力供給装置 |
JP2017194895A (ja) | 2016-04-22 | 2017-10-26 | 日本電信電話株式会社 | テストデータ生成プログラム及びテストデータ生成方法 |
-
2018
- 2018-12-07 JP JP2018230359A patent/JP7062581B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005157904A (ja) | 2003-11-27 | 2005-06-16 | Matsushita Electric Ind Co Ltd | プログラムの不正使用監視装置およびその方法 |
JP2012084054A (ja) | 2010-10-14 | 2012-04-26 | Kddi Corp | 携帯端末およびプログラム |
JP2013065168A (ja) | 2011-09-16 | 2013-04-11 | Kddi Corp | アプリケーション解析装置およびプログラム |
JP2017004123A (ja) | 2015-06-05 | 2017-01-05 | 日本電信電話株式会社 | 判定装置、判定方法および判定プログラム |
JP2017021655A (ja) | 2015-07-13 | 2017-01-26 | 日本電信電話株式会社 | ソフトウェア解析システム、ソフトウェア解析方法およびソフトウェア解析プログラム |
JP2017068534A (ja) | 2015-09-30 | 2017-04-06 | 富士通株式会社 | 分析方法、分析装置および分析プログラム |
JP2017107470A (ja) | 2015-12-11 | 2017-06-15 | 株式会社Ffri | マルウェアの検出方法、プログラムおよび電力供給装置 |
JP2017194895A (ja) | 2016-04-22 | 2017-10-26 | 日本電信電話株式会社 | テストデータ生成プログラム及びテストデータ生成方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2020091814A (ja) | 2020-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dang et al. | Evading classifiers by morphing in the dark | |
Suarez-Tangil et al. | Droidsieve: Fast and accurate classification of obfuscated android malware | |
Alrabaee et al. | Fossil: a resilient and efficient system for identifying foss functions in malware binaries | |
Backes et al. | Reliable third-party library detection in android and its security applications | |
Soh et al. | Detecting clones in android applications through analyzing user interfaces | |
JP7073343B2 (ja) | 難読化されたウェブサイトコンテンツ内のセキュリティ脆弱性及び侵入検出及び修復 | |
Kang et al. | Detecting and classifying android malware using static analysis along with creator information | |
Hupperich et al. | On the robustness of mobile device fingerprinting: Can mobile users escape modern web-tracking mechanisms? | |
Yerima et al. | Analysis of Bayesian classification‐based approaches for Android malware detection | |
JP6106340B2 (ja) | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム | |
JP6689283B2 (ja) | 装置指紋をインターネット装置に割り当てるための方法及び機器 | |
US20160110543A1 (en) | Apparatus and method for detecting malicious application based on visualization similarity | |
US20140150101A1 (en) | Method for recognizing malicious file | |
US11888870B2 (en) | Multitenant sharing anomaly cyberattack campaign detection | |
Bacci et al. | Detection of obfuscation techniques in android applications | |
Karbab et al. | Dysign: dynamic fingerprinting for the automatic detection of android malware | |
İbrahim et al. | A method for automatic android malware detection based on static analysis and deep learning | |
US10747657B2 (en) | Methods, systems, apparatuses and devices for facilitating execution of test cases | |
Nguyen et al. | Detecting repackaged android applications using perceptual hashing | |
Faruki et al. | Droidolytics: robust feature signature for repackaged android apps on official and third party android markets | |
Medvet et al. | Exploring the usage of topic modeling for android malware static analysis | |
JP7062581B2 (ja) | プライバシーポリシー検証装置、コンピュータプログラム及びプライバシーポリシー検証方法 | |
Shehu et al. | Towards the usage of invariant-based app behavioral fingerprinting for the detection of obfuscated versions of known malware | |
Jiang et al. | Mrdroid: A multi-act classification model for android malware risk assessment | |
De Lille et al. | Automatically combining static malware detection techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211119 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7062581 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |