SlideShare a Scribd company logo
An empirical study of third party APK’s
URL using scriptable API and fast
identifier-specific filter
Ruo Ando, National Institute of Informatics, Japan
Yuuki Takano, Shinsuke Miwa, National Institute of Information
and Communications Technology, Japan
ICCSN 2017: 2017 9th IEEE International Conference on Communication
Software and Networks
Guangzhou University city Guangdong University of Technology May 6-7
Abstract: URLs of Android third party’s APK files
• With rising popularization of Android application, third party of APK market has become attractive
target of attackers. In this paper, we present a framework to inspect URL strings to which third party
APK connects using headless browser and fast URL filter. In our system, for collecting APK files,
navigation scripting with JavaScript enables more interactive web page crawling in order to fetch the
results after dynamic web page loading.
• Besides, FARIS (fast uniform resource identifier-specific filter) is applied for matching URL strings in
APK with black list in AdBlock Plus which is one of the most popular ad blockers.
http://www.cmcm.com/blog/en/security/2016-01-20/925.html
Android App Stores Become Significant Sources for Malware
System Overview: mining destination URL in APK’s
Casper JS
800,000 APK files and extracted 12,000 URLs
Phantom JS
Ablock Plus
Faris VM
AdBlock's syntax Regular Expression
* /.*/
| of the beginning of the line /^/
| of the end of the line /$/
|| of the beginning of the line /[w-]+/+/
0
50000
100000
150000
200000
250000
RANKING OF DESTINATION(TOP 40)
Enhanced APK crawler
Enhanced String Matchng
FARIS is byte code interiter for regular expressions, but
for simplicity, it provides only four instructions.
Overview of D2 (Droid Dowser)
perl
CasperJS
PhantomJS
Xpath templates
AWS Cloud Formation
Qt WebKit
Stack Templates
deploy
Loop generation
Lightweight DSL for each
Distribution sites
API invocation
Qt Metacall incovaion
Crawler deployment for parallel retriev
PhantomJS - sendEvent
Event Loop
Qt Metacall
SendEvent
void WebPage::qt_static_metacall(QObject *_o, QMetaObject::Call
_c, int _id, void **_a)
{
switch (_id) {
case 0: _t->initialized(); break;
case 31: _t->sendEvent((*reinterpret_cast< const
QString(*)>(_a[1])),(*reinterpret_cast< const
QVariant(*)>(_a[2])),(*reinterpret_cast< const
QVariant(*)>(_a[3])),(*reinterpret_cast< const
QString(*)>(_a[4])),(*reinterpret_cast< const QVariant(*)>(_a[5])));
break;
* - eventType: "keypress", "keyup" or
"keydown" (default: "keypress")
#4 0x000000000041b603 in WebPage::sendEvent (this=0x2cd5370, type=...,
arg1=..., arg2=..., mouseButton=..., modifierArg=...)
at webpage.cpp:1449
#5 0x000000000041b7a2 in WebPage::sendEvent (this=0x2cd5370, type=...,
arg1=..., arg2=..., mouseButton=..., modifierArg=...)
at webpage.cpp:1465
#6 0x0000000000467c4f in WebPage::qt_static_metacall (_o=0x2cd5370, _c=
QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fffffffd9f0)
at moc_webpage.cpp:265
#7 0x00000000004687d6 in WebPage::qt_metacall (this=0x2cd5370, _c=
QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fffffffd9f0)
at moc_webpage.cpp:361
#8 0x0000000000543b9f in JSC::Bindings::QtRuntimeMetaMethod::call(JSC::
ExecState*) ()
https://software.intel.com/zh-cn/forums/topic/289577
CasperJS – navigation scripting without callbacks
Start()
then()
run()
evaluate
Execute
function
Start() run()
callbacks
Qt Metacalls
PhantomJS
CasperJS
Query Selector
Dom Elements
Response(async)
Send event
Passing function
Return native type
Headless Browser with Scriptable
JavaScript API
casper.run(function() {test.done();});});
var x = require('casper').selectXPath;
casper.options.viewportSize = {width: 1300, height: 700};
casper.test.begin('test', 1, function(test) {
casper.start('http://www.freewarelovers.com/android', function() { });
casper.waitFor(function check() {
return
this.click(x("//*[@id="fieldset"]/table/tbody/tr[2]/td[1]/p[1]/a[1]"
))
!= 0},
casper.start(ARGV[1], function() {
this.capture('google.png');
});
Perl: Xpath templates,
loop generation and timeout this.click(x("//*[¥@id=¥"fieldset¥"]/table/tbody/tr
[2]/td[1]/p[1]/a[1]")),215
3 this.click(x("//*[¥@id=¥"fieldset¥"]/table/tbody/tr
[2]/td[1]/p[1]/a[2]")),255
for($counter=1;$counter<$item;$counter++) {
print "casper.waitFor(function␣check()␣{␣¥n";
print "return␣this.click(x(";
print "¥"";
print "//*[¥@id=";
print "¥¥";
print "¥"fieldset";
print "¥¥";
print "¥"]";
print "/table/tbody/tr[1]/td[3]/table/tbody/tr[";
print $counter."]/td/p/b/a¥"))␣!=0;␣¥n";
print "},";
print "function␣then()␣{␣¥n";
for($counter=1;$counter<$item;$counter++){
$TIMEOUT = 10;
eval {
local $SIGfALRMg = sub fdieg;
8 alarm($TIMEOUT);
$str = "/home/ubuntu/casperjs/bin/
casperjs␣test␣"
$pid = fork;
if ($pid == 0) {
exec($str);
}
else f
wait;
}
my $timeleft = alarm(0);
}
if ($@) f{
# timeoit
kill(SIGKILL, $pid);
Generating Java Scripts
FarisVM and AdBlock’s syntax
it has two registers, i.e., the string pointer (SP) and program
counter (PC), as well as a frame stack for the SP and PC.
AdBlock's syntax Regular Expression
* /.*/
| of the beginning of the line /^/
| of the end of the line /$/
|| of the beginning of the line /[w-]+/+/
URL filters can be efficiently
and practically expressed. For
example, ads.com, which is an
exact pattern, does not
distinguish between
http://ads.com/b.gif and http:
//ads.com/idx.html; however,
ads.comˆ*.gif will filter only the
former.
FARIS VM
• FARIS is based on a virtual machine
approach for regular expressions, but
for simplicity, it provides only four
instructions.
• FARIS is a bytecode interpreter. Thus,
to perform pattern matching, AdBlock
Plus’s rules are translated into its
machine instructions. FARIS interprets
the four instructions as follows: char,
skip_to, skip_scheme, match.
AdBlock's syntax Regular Expression
* /.*/
| of the beginning of the line /^/
| of the end of the line /$/
|| of the beginning of the line /[w-]+/+/
input instruction
*c skip_to c
*^ skip_to separator
c char c
^ char separator
|| + line skip_scheme
| + line char head
line + | char tail
Experiments: MATCHING URL WITH ADBLOCK
list FARIS (ms)
grep with regex
(ms)
easylist_france 62416 3079
easylist_germany 487361 50454
easylist_italy 58318 1978
easyprivacy 4745 6740
fanboy_annoyance 4760 11276
japanese 56241 6992
japanese_tohu 1090 1383
malwaredomains_full 1032 15407
FARIS should be quite suitable for Web
browsers or browser extensions. AdBlock Plus
is one of the most popular browser extensions,
but it is implemented inefficiently. Using FARIS
could increase AdBlock Plus’s performance and
reduce its large memory utilization. Thus,
embedding FARIS into Web browsers or
JavaScript engines is a good choice for
improving overall performance.
Table VI shows the comparison of processing
time in matching strings in ADBLOCK Plus. We
have measured computing time in coping with
strings in ADBLOCK Plus with basic regular
expressions and FARIS. The results are different
according to item of ADBLOCK Plus. However,
it can be concluded that proposal method with
FARIS can work with reasonable processing
time compared with conventional regular
expressions.
Conclusion: investigating URLs of Android third party’s APK files using Faris VM
With rising popularization of Android application, third party of APK
market has become attractive target of attackers. Unfortunately,
there have been very few research efforts on empirical studies of
the large number of APKs distributed by third party market. In this
paper, we present a framework to inspect URL strings to which
third party APK connects using headless browser and fast URL
filter.
In experiment, we have collected 800,000 APK files and extracted
12,000 URLs. For matching URLs with AdBlock, we have applied
FARIS for inspecting URL strings with list such as easylist, easy
privacy and malware domains full. Experiment show that FARIS can
process these strings in reasonable computing time compared with
conventional regex method.

More Related Content

Similar to Iccsn2017 slideshare

7 network programmability concepts api
7 network programmability concepts api7 network programmability concepts api
7 network programmability concepts api
SagarR24
 
7 network programmability concepts api
7 network programmability concepts api7 network programmability concepts api
7 network programmability concepts api
SagarR24
 
Standard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary CollaborationStandard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary Collaboration
Axel Reichwein
 
Web 2 0 Tools
Web 2 0 ToolsWeb 2 0 Tools
Web 2 0 Tools
ramesh kumar
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
Mosaab Ehab
 
The ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.ioThe ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.io
Blendr.io
 
7 network programmability concepts python-ansible
7 network programmability concepts python-ansible7 network programmability concepts python-ansible
7 network programmability concepts python-ansible
SagarR24
 
Api design best practice
Api design best practiceApi design best practice
Api design best practice
Red Hat
 
Colloquim Report on Crawler - 1 Dec 2014
Colloquim Report on Crawler - 1 Dec 2014Colloquim Report on Crawler - 1 Dec 2014
Colloquim Report on Crawler - 1 Dec 2014
Sunny Gupta
 
Android chapter16-web-services
Android chapter16-web-servicesAndroid chapter16-web-services
Android chapter16-web-services
Aravindharamanan S
 
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
PolarSeven Pty Ltd
 
Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...
IJECEIAES
 
SERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGSERVER SIDE SCRIPTING
SERVER SIDE SCRIPTING
Prof Ansari
 
Web Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptxWeb Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptx
PARDHIVANNABATTULA
 
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
marcocasario
 
ASP.NET Unit-4.pdf
ASP.NET Unit-4.pdfASP.NET Unit-4.pdf
ASP.NET Unit-4.pdf
abiraman7
 
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
Filip Pýrek
 
Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5
Charlin Agramonte
 
Web application technologies
Web application technologiesWeb application technologies
Web application technologies
Atul Tiwari
 
Mashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 UnconferenceMashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 Unconference
Elad Elrom
 

Similar to Iccsn2017 slideshare (20)

7 network programmability concepts api
7 network programmability concepts api7 network programmability concepts api
7 network programmability concepts api
 
7 network programmability concepts api
7 network programmability concepts api7 network programmability concepts api
7 network programmability concepts api
 
Standard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary CollaborationStandard Web APIs for Multidisciplinary Collaboration
Standard Web APIs for Multidisciplinary Collaboration
 
Web 2 0 Tools
Web 2 0 ToolsWeb 2 0 Tools
Web 2 0 Tools
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
 
The ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.ioThe ultimate api checklist by Blendr.io
The ultimate api checklist by Blendr.io
 
7 network programmability concepts python-ansible
7 network programmability concepts python-ansible7 network programmability concepts python-ansible
7 network programmability concepts python-ansible
 
Api design best practice
Api design best practiceApi design best practice
Api design best practice
 
Colloquim Report on Crawler - 1 Dec 2014
Colloquim Report on Crawler - 1 Dec 2014Colloquim Report on Crawler - 1 Dec 2014
Colloquim Report on Crawler - 1 Dec 2014
 
Android chapter16-web-services
Android chapter16-web-servicesAndroid chapter16-web-services
Android chapter16-web-services
 
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
 
Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...
 
SERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGSERVER SIDE SCRIPTING
SERVER SIDE SCRIPTING
 
Web Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptxWeb Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptx
 
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
The ActionScript Conference 08, Singapore - Developing ActionScript 3 Mash up...
 
ASP.NET Unit-4.pdf
ASP.NET Unit-4.pdfASP.NET Unit-4.pdf
ASP.NET Unit-4.pdf
 
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
 
Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5
 
Web application technologies
Web application technologiesWeb application technologies
Web application technologies
 
Mashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 UnconferenceMashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 Unconference
 

More from Ruo Ando

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdf
Ruo Ando
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Ruo Ando
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf
Ruo Ando
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
Ruo Ando
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピー
Ruo Ando
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学
Ruo Ando
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
Ruo Ando
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リスト
Ruo Ando
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信
Ruo Ando
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
Ruo Ando
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
Ruo Ando
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
Ruo Ando
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
Ruo Ando
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
Ruo Ando
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
Ruo Ando
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
Ruo Ando
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
Ruo Ando
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
Ruo Ando
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
Ruo Ando
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
Ruo Ando
 

More from Ruo Ando (20)

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdf
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピー
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リスト
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
 

Recently uploaded

学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Recycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part IIRecycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part II
Aditya Rajan Patra
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
wisnuprabawa3
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
HODECEDSIET
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
NazakatAliKhoso2
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 

Recently uploaded (20)

学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Recycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part IIRecycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part II
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 

Iccsn2017 slideshare

  • 1. An empirical study of third party APK’s URL using scriptable API and fast identifier-specific filter Ruo Ando, National Institute of Informatics, Japan Yuuki Takano, Shinsuke Miwa, National Institute of Information and Communications Technology, Japan ICCSN 2017: 2017 9th IEEE International Conference on Communication Software and Networks Guangzhou University city Guangdong University of Technology May 6-7
  • 2. Abstract: URLs of Android third party’s APK files • With rising popularization of Android application, third party of APK market has become attractive target of attackers. In this paper, we present a framework to inspect URL strings to which third party APK connects using headless browser and fast URL filter. In our system, for collecting APK files, navigation scripting with JavaScript enables more interactive web page crawling in order to fetch the results after dynamic web page loading. • Besides, FARIS (fast uniform resource identifier-specific filter) is applied for matching URL strings in APK with black list in AdBlock Plus which is one of the most popular ad blockers. http://www.cmcm.com/blog/en/security/2016-01-20/925.html Android App Stores Become Significant Sources for Malware
  • 3. System Overview: mining destination URL in APK’s Casper JS 800,000 APK files and extracted 12,000 URLs Phantom JS Ablock Plus Faris VM AdBlock's syntax Regular Expression * /.*/ | of the beginning of the line /^/ | of the end of the line /$/ || of the beginning of the line /[w-]+/+/ 0 50000 100000 150000 200000 250000 RANKING OF DESTINATION(TOP 40) Enhanced APK crawler Enhanced String Matchng FARIS is byte code interiter for regular expressions, but for simplicity, it provides only four instructions.
  • 4. Overview of D2 (Droid Dowser) perl CasperJS PhantomJS Xpath templates AWS Cloud Formation Qt WebKit Stack Templates deploy Loop generation Lightweight DSL for each Distribution sites API invocation Qt Metacall incovaion Crawler deployment for parallel retriev
  • 5. PhantomJS - sendEvent Event Loop Qt Metacall SendEvent void WebPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) { switch (_id) { case 0: _t->initialized(); break; case 31: _t->sendEvent((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QVariant(*)>(_a[2])),(*reinterpret_cast< const QVariant(*)>(_a[3])),(*reinterpret_cast< const QString(*)>(_a[4])),(*reinterpret_cast< const QVariant(*)>(_a[5]))); break; * - eventType: "keypress", "keyup" or "keydown" (default: "keypress") #4 0x000000000041b603 in WebPage::sendEvent (this=0x2cd5370, type=..., arg1=..., arg2=..., mouseButton=..., modifierArg=...) at webpage.cpp:1449 #5 0x000000000041b7a2 in WebPage::sendEvent (this=0x2cd5370, type=..., arg1=..., arg2=..., mouseButton=..., modifierArg=...) at webpage.cpp:1465 #6 0x0000000000467c4f in WebPage::qt_static_metacall (_o=0x2cd5370, _c= QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fffffffd9f0) at moc_webpage.cpp:265 #7 0x00000000004687d6 in WebPage::qt_metacall (this=0x2cd5370, _c= QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fffffffd9f0) at moc_webpage.cpp:361 #8 0x0000000000543b9f in JSC::Bindings::QtRuntimeMetaMethod::call(JSC:: ExecState*) () https://software.intel.com/zh-cn/forums/topic/289577
  • 6. CasperJS – navigation scripting without callbacks Start() then() run() evaluate Execute function Start() run() callbacks Qt Metacalls PhantomJS CasperJS Query Selector Dom Elements Response(async) Send event Passing function Return native type
  • 7. Headless Browser with Scriptable JavaScript API casper.run(function() {test.done();});}); var x = require('casper').selectXPath; casper.options.viewportSize = {width: 1300, height: 700}; casper.test.begin('test', 1, function(test) { casper.start('http://www.freewarelovers.com/android', function() { }); casper.waitFor(function check() { return this.click(x("//*[@id="fieldset"]/table/tbody/tr[2]/td[1]/p[1]/a[1]" )) != 0}, casper.start(ARGV[1], function() { this.capture('google.png'); });
  • 8. Perl: Xpath templates, loop generation and timeout this.click(x("//*[¥@id=¥"fieldset¥"]/table/tbody/tr [2]/td[1]/p[1]/a[1]")),215 3 this.click(x("//*[¥@id=¥"fieldset¥"]/table/tbody/tr [2]/td[1]/p[1]/a[2]")),255 for($counter=1;$counter<$item;$counter++) { print "casper.waitFor(function␣check()␣{␣¥n"; print "return␣this.click(x("; print "¥""; print "//*[¥@id="; print "¥¥"; print "¥"fieldset"; print "¥¥"; print "¥"]"; print "/table/tbody/tr[1]/td[3]/table/tbody/tr["; print $counter."]/td/p/b/a¥"))␣!=0;␣¥n"; print "},"; print "function␣then()␣{␣¥n"; for($counter=1;$counter<$item;$counter++){ $TIMEOUT = 10; eval { local $SIGfALRMg = sub fdieg; 8 alarm($TIMEOUT); $str = "/home/ubuntu/casperjs/bin/ casperjs␣test␣" $pid = fork; if ($pid == 0) { exec($str); } else f wait; } my $timeleft = alarm(0); } if ($@) f{ # timeoit kill(SIGKILL, $pid); Generating Java Scripts
  • 9. FarisVM and AdBlock’s syntax it has two registers, i.e., the string pointer (SP) and program counter (PC), as well as a frame stack for the SP and PC. AdBlock's syntax Regular Expression * /.*/ | of the beginning of the line /^/ | of the end of the line /$/ || of the beginning of the line /[w-]+/+/ URL filters can be efficiently and practically expressed. For example, ads.com, which is an exact pattern, does not distinguish between http://ads.com/b.gif and http: //ads.com/idx.html; however, ads.comˆ*.gif will filter only the former.
  • 10. FARIS VM • FARIS is based on a virtual machine approach for regular expressions, but for simplicity, it provides only four instructions. • FARIS is a bytecode interpreter. Thus, to perform pattern matching, AdBlock Plus’s rules are translated into its machine instructions. FARIS interprets the four instructions as follows: char, skip_to, skip_scheme, match. AdBlock's syntax Regular Expression * /.*/ | of the beginning of the line /^/ | of the end of the line /$/ || of the beginning of the line /[w-]+/+/ input instruction *c skip_to c *^ skip_to separator c char c ^ char separator || + line skip_scheme | + line char head line + | char tail
  • 11. Experiments: MATCHING URL WITH ADBLOCK list FARIS (ms) grep with regex (ms) easylist_france 62416 3079 easylist_germany 487361 50454 easylist_italy 58318 1978 easyprivacy 4745 6740 fanboy_annoyance 4760 11276 japanese 56241 6992 japanese_tohu 1090 1383 malwaredomains_full 1032 15407 FARIS should be quite suitable for Web browsers or browser extensions. AdBlock Plus is one of the most popular browser extensions, but it is implemented inefficiently. Using FARIS could increase AdBlock Plus’s performance and reduce its large memory utilization. Thus, embedding FARIS into Web browsers or JavaScript engines is a good choice for improving overall performance. Table VI shows the comparison of processing time in matching strings in ADBLOCK Plus. We have measured computing time in coping with strings in ADBLOCK Plus with basic regular expressions and FARIS. The results are different according to item of ADBLOCK Plus. However, it can be concluded that proposal method with FARIS can work with reasonable processing time compared with conventional regular expressions.
  • 12. Conclusion: investigating URLs of Android third party’s APK files using Faris VM With rising popularization of Android application, third party of APK market has become attractive target of attackers. Unfortunately, there have been very few research efforts on empirical studies of the large number of APKs distributed by third party market. In this paper, we present a framework to inspect URL strings to which third party APK connects using headless browser and fast URL filter. In experiment, we have collected 800,000 APK files and extracted 12,000 URLs. For matching URLs with AdBlock, we have applied FARIS for inspecting URL strings with list such as easylist, easy privacy and malware domains full. Experiment show that FARIS can process these strings in reasonable computing time compared with conventional regex method.