SlideShare ist ein Scribd-Unternehmen logo
1 von 34
in-App Search 1
Let’s talk about app
“…They want a quarter-inch hole!”




     Content in Apps !!!
WE KNOW LITTLE ABOUT APPS
Cloud apps
How cloud apps work?


        Request




        Response
Phone               Servers
How local apps work?
WHAT’S APPS REQUEST IS
WHAT CUSTOM WANT TO GET
CONTENT = API REQUEST
CONTENT = HTTP REQUEST
Map<Request,Content>?

  URLs




  Sites      Content
Map<Request,Content>?

          • http://api.renren.com
 URL      • http://search.twitter.com/search.json
          • https://api.rememberthemilk.com/services


          • http://www.renren.com
 Site     • http://www.twitter.com
          • https://www.rememberthemilk.com


          • SNS
Content   • Twitter
          • Tada list
Penetrated !


        Request




        Response
Phone                  Servers
What we will get?
• Accurate feature list for apps
   – Not self description
   – Not reviews
   – Real operations
• Web API usage (used to be a part of anti-virus co.)
   – Developers (advice, protection, copycat…)
   – Tech trends
   – Tricks (virus, Ads, hack…)
• Software quality
Start diving!
Focus on
•   ApkReader
•   URL / Crawling
•   HTTP request
•   Binder
•   API hook
•   Data flow tagging
•   API modeling

            All above are for lab env.
ApkReader
•   .dex
•   .arsc
•   AndroidManifest.xml
•   Certification
•   File last modify time
•   Native code
•   Layout (.xml)
•   Images (.icon .jpg .png)
.dex (ApkReader)
• Recognize (header: dex0)
• Decompile
• Constant strings
.arsc (ApkReader)
• Key-value
• Diff between ver.
• Similarity between apps (copycat / translation)
AndroidManifest.xml (ApkReader)
• Hidden info
  – Channel
  – Ad account
  – Malicious
• Exported component
  – Feature
  – Attack
• Trend
  – Tech
  – Business
Certification (ApkReader)
•   Black/White list
•   Certificate reputation
•   <App, Business>
•   Managed certification
    – Protection from copycat / stealer
File last modify time (ApkReader)
• Dev. activity
• Dev. cycle
Native code (ApkReader)
• ARM (compatibility)
• Find game
• Abnormal behavior
Layout / Images (ApkReader)
• User interaction
• App similarity
Focus on
•   ApkReader
•   URL / Crawling
•   HTTP request
•   Binder
•   API hook
•   Data flow tagging
•   API modeling

            All above are for lab env.
URL / Crawling
• Decompile .dex (apktool, dex2jar)
• Crawl 2-3 depths for each domain
• Find out feature claims (Traditional field for
  web search engine)
• Editors
HTTP request
• Tcpdump (even https)
• Sandbox (Droidbox)
• Compare field names, content with keywords
Binder
• Wiretap ( data = mmap(…) )
• API hook

• Intent
  – Intent fuzzer
  – Intent sniffer
API hook
• Detection: strace, dexdep…
• Action: Source code (Not even a real hook)
Data flow tagging
• Tag data in memory
William Enck, Peter Gilbert, Byung-Gon Chun. TaintDroid: An Information-
Flow Tracking System for Realtime Privacy Monitoring on Smartphones. 9th
USENIX Symposium on Operating Systems Design and Implementation
(OSDI’10)
API modeling
• Prepare: Decompile dex to source code
  (apktool)
• Cook
  – <API, feature>
  – Atom method (BASE64…)
  – Rebuild apk and monitor critical API invokation
  – API invoke speed and hotpoint (Software quality)
  – Monkey (Software quality)
Summary
• Static analyze
   – Dex2jar / apktool /dexdump…
   – Apk reader
   – API modeling
• Dynamic analyze
   –   Droidbox
   –   Tcpdump
   –   Binder monitor
   –   Api hook
   –   Automatic testing env.
   –   User’s interaction (hard)
Milestones
• URL extractor & 2 depths crawling (10-15)
  Binder monitor (11-1)
• Automatic testing env. + Tcpdump (11-1)
• Datastore (11-15)
• Sandbox env. (11-15)
• Apk signature database (12-1)
Questions?




 Next
in-App Search 2
Toward content directly

Weitere ähnliche Inhalte

Was ist angesagt?

Building a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 MinutesBuilding a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 MinutesRaymond Feng
 
Usergrid Overview
Usergrid OverviewUsergrid Overview
Usergrid Overviewusergrid
 
Building Social Tools
Building Social ToolsBuilding Social Tools
Building Social ToolsAnand Hemmige
 
Developing Faster with Swagger
Developing Faster with SwaggerDeveloping Faster with Swagger
Developing Faster with SwaggerTony Tam
 
Consuming REST services with ActiveResource
Consuming REST services with ActiveResourceConsuming REST services with ActiveResource
Consuming REST services with ActiveResourceWolfram Arnold
 
Rapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRaymond Camden
 
Building Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET CoreBuilding Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET CoreNate Barbettini
 
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭台灣資料科學年會
 
REST API and CRUD
REST API and CRUDREST API and CRUD
REST API and CRUDPrem Sanil
 
Open Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraOpen Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraEd Anuff
 
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
Get Some Rest - Taking Advantage of the SharePoint 2013 REST APIGet Some Rest - Taking Advantage of the SharePoint 2013 REST API
Get Some Rest - Taking Advantage of the SharePoint 2013 REST APIEric Shupps
 
CakeFest 2013 - A-Z REST APIs
CakeFest 2013 - A-Z REST APIsCakeFest 2013 - A-Z REST APIs
CakeFest 2013 - A-Z REST APIsanthony_putignano
 
Денис Головняк - Продвинутый поиск с помощью Search API
Денис Головняк - Продвинутый поиск с помощью Search APIДенис Головняк - Продвинутый поиск с помощью Search API
Денис Головняк - Продвинутый поиск с помощью Search APILEDC 2016
 
Working with LoopBack Models
Working with LoopBack ModelsWorking with LoopBack Models
Working with LoopBack ModelsRaymond Feng
 
introduction about REST API
introduction about REST APIintroduction about REST API
introduction about REST APIAmilaSilva13
 
Exploring the JIRA 5 REST API - AtlasCamp 2011
Exploring the JIRA 5 REST API - AtlasCamp 2011Exploring the JIRA 5 REST API - AtlasCamp 2011
Exploring the JIRA 5 REST API - AtlasCamp 2011Atlassian
 
Creating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleepCreating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleepMike Anderson
 
Store RDF(API creation) to Virtuoso via PHP language and Sparql queries
Store RDF(API creation) to Virtuoso via PHP language and Sparql queriesStore RDF(API creation) to Virtuoso via PHP language and Sparql queries
Store RDF(API creation) to Virtuoso via PHP language and Sparql queriesStelios Krasadakis
 

Was ist angesagt? (20)

Building a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 MinutesBuilding a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 Minutes
 
Usergrid Overview
Usergrid OverviewUsergrid Overview
Usergrid Overview
 
Building Social Tools
Building Social ToolsBuilding Social Tools
Building Social Tools
 
Developing Faster with Swagger
Developing Faster with SwaggerDeveloping Faster with Swagger
Developing Faster with Swagger
 
Consuming REST services with ActiveResource
Consuming REST services with ActiveResourceConsuming REST services with ActiveResource
Consuming REST services with ActiveResource
 
Rapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoop
 
Building Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET CoreBuilding Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET Core
 
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
 
REST API and CRUD
REST API and CRUDREST API and CRUD
REST API and CRUD
 
Open Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraOpen Source Mobile Backend on Cassandra
Open Source Mobile Backend on Cassandra
 
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
Get Some Rest - Taking Advantage of the SharePoint 2013 REST APIGet Some Rest - Taking Advantage of the SharePoint 2013 REST API
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
 
CakeFest 2013 - A-Z REST APIs
CakeFest 2013 - A-Z REST APIsCakeFest 2013 - A-Z REST APIs
CakeFest 2013 - A-Z REST APIs
 
Денис Головняк - Продвинутый поиск с помощью Search API
Денис Головняк - Продвинутый поиск с помощью Search APIДенис Головняк - Продвинутый поиск с помощью Search API
Денис Головняк - Продвинутый поиск с помощью Search API
 
Working with LoopBack Models
Working with LoopBack ModelsWorking with LoopBack Models
Working with LoopBack Models
 
introduction about REST API
introduction about REST APIintroduction about REST API
introduction about REST API
 
Exploring the JIRA 5 REST API - AtlasCamp 2011
Exploring the JIRA 5 REST API - AtlasCamp 2011Exploring the JIRA 5 REST API - AtlasCamp 2011
Exploring the JIRA 5 REST API - AtlasCamp 2011
 
Creating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleepCreating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleep
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
Store RDF(API creation) to Virtuoso via PHP language and Sparql queries
Store RDF(API creation) to Virtuoso via PHP language and Sparql queriesStore RDF(API creation) to Virtuoso via PHP language and Sparql queries
Store RDF(API creation) to Virtuoso via PHP language and Sparql queries
 

Andere mochten auch

hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...Area41
 
Mobile privacysurvey presentation
Mobile privacysurvey presentationMobile privacysurvey presentation
Mobile privacysurvey presentationJiang Zhu
 
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...jon_bell
 
Phosphor: Illuminating Dynamic Data Flow in Commodity JVMs
Phosphor: Illuminating Dynamic Data Flow in Commodity JVMsPhosphor: Illuminating Dynamic Data Flow in Commodity JVMs
Phosphor: Illuminating Dynamic Data Flow in Commodity JVMsjon_bell
 
Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...
Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...
Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...Thanasis Petsas
 
Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...
Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...
Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...Cheng-Yi Yu
 
Introduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android ApplicationIntroduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android ApplicationKelwin Yang
 
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...Ajin Abraham
 
2015.04.24 Updated > Android Security Development - Part 1: App Development
2015.04.24 Updated > Android Security Development - Part 1: App Development 2015.04.24 Updated > Android Security Development - Part 1: App Development
2015.04.24 Updated > Android Security Development - Part 1: App Development Cheng-Yi Yu
 
Improving DroidBox
Improving DroidBoxImproving DroidBox
Improving DroidBoxKelwin Yang
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Ajin Abraham
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 

Andere mochten auch (12)

hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
 
Mobile privacysurvey presentation
Mobile privacysurvey presentationMobile privacysurvey presentation
Mobile privacysurvey presentation
 
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
Chronicler: Lightweight Recording to Reproduce Field Failures (Presented at I...
 
Phosphor: Illuminating Dynamic Data Flow in Commodity JVMs
Phosphor: Illuminating Dynamic Data Flow in Commodity JVMsPhosphor: Illuminating Dynamic Data Flow in Commodity JVMs
Phosphor: Illuminating Dynamic Data Flow in Commodity JVMs
 
Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...
Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...
Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malwa...
 
Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...
Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...
Android Security Development - Part 2: Malicious Android App Dynamic Analyzi...
 
Introduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android ApplicationIntroduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android Application
 
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
 
2015.04.24 Updated > Android Security Development - Part 1: App Development
2015.04.24 Updated > Android Security Development - Part 1: App Development 2015.04.24 Updated > Android Security Development - Part 1: App Development
2015.04.24 Updated > Android Security Development - Part 1: App Development
 
Improving DroidBox
Improving DroidBoxImproving DroidBox
Improving DroidBox
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 

Ähnlich wie In app search 1

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursRestlet
 
An introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBMAn introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBMontimesuite
 
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for AndroidDon Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for AndroidAxway Appcelerator
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with GrailsTanausu Cerdeña
 
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAPI Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAnil Sagar
 
16 months @ SoundCloud
16 months @ SoundCloud16 months @ SoundCloud
16 months @ SoundCloudTobias Schmidt
 
Android application analyzer
Android application analyzerAndroid application analyzer
Android application analyzerSanjay Gondaliya
 
aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014Matthew Vaughn
 
Android Malware and Machine Learning
Android Malware and Machine LearningAndroid Malware and Machine Learning
Android Malware and Machine Learningcaleb194331
 
From System Engineer to Gopher
From System Engineer to GopherFrom System Engineer to Gopher
From System Engineer to GopherI-Fan Wang
 
aip-developer-intro_pag2015
aip-developer-intro_pag2015aip-developer-intro_pag2015
aip-developer-intro_pag2015Matthew Vaughn
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Distributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromqDistributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromqRuben Tan
 
I Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsI Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsApigee | Google Cloud
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料Shinichi Ogawa
 

Ähnlich wie In app search 1 (20)

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
REST APIs
REST APIsREST APIs
REST APIs
 
An introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBMAn introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBM
 
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for AndroidDon Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with Grails
 
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAPI Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
 
Meetup callback
Meetup callbackMeetup callback
Meetup callback
 
SOHOpelessly Broken
SOHOpelessly BrokenSOHOpelessly Broken
SOHOpelessly Broken
 
16 months @ SoundCloud
16 months @ SoundCloud16 months @ SoundCloud
16 months @ SoundCloud
 
Android application analyzer
Android application analyzerAndroid application analyzer
Android application analyzer
 
aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014
 
Android Malware and Machine Learning
Android Malware and Machine LearningAndroid Malware and Machine Learning
Android Malware and Machine Learning
 
From System Engineer to Gopher
From System Engineer to GopherFrom System Engineer to Gopher
From System Engineer to Gopher
 
aip-developer-intro_pag2015
aip-developer-intro_pag2015aip-developer-intro_pag2015
aip-developer-intro_pag2015
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Operating your Production API
Operating your Production APIOperating your Production API
Operating your Production API
 
Distributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromqDistributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromq
 
I Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsI Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer Sessions
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
 

Mehr von Xiaoping Feng

ibeacon changes museum
ibeacon changes museumibeacon changes museum
ibeacon changes museumXiaoping Feng
 
Ibeacon 是什么 能做什么
Ibeacon 是什么 能做什么Ibeacon 是什么 能做什么
Ibeacon 是什么 能做什么Xiaoping Feng
 
Senz+ contextual application solution
Senz+ contextual application solutionSenz+ contextual application solution
Senz+ contextual application solutionXiaoping Feng
 
Web App 调试基础 (1)
Web App 调试基础 (1)Web App 调试基础 (1)
Web App 调试基础 (1)Xiaoping Feng
 
Ibeacon 101 基本常识
Ibeacon 101 基本常识Ibeacon 101 基本常识
Ibeacon 101 基本常识Xiaoping Feng
 
阳光书屋技术架构介绍
阳光书屋技术架构介绍阳光书屋技术架构介绍
阳光书屋技术架构介绍Xiaoping Feng
 
Biogenous 中学生的linkedin
Biogenous 中学生的linkedinBiogenous 中学生的linkedin
Biogenous 中学生的linkedinXiaoping Feng
 
当我们谈论WebApp - Openparty
当我们谈论WebApp - Openparty当我们谈论WebApp - Openparty
当我们谈论WebApp - OpenpartyXiaoping Feng
 
Android apk证书安全机制
Android apk证书安全机制Android apk证书安全机制
Android apk证书安全机制Xiaoping Feng
 
连通器出行分享平台
连通器出行分享平台连通器出行分享平台
连通器出行分享平台Xiaoping Feng
 

Mehr von Xiaoping Feng (17)

Idea4hack
Idea4hackIdea4hack
Idea4hack
 
ibeacon changes museum
ibeacon changes museumibeacon changes museum
ibeacon changes museum
 
Ibeacon 是什么 能做什么
Ibeacon 是什么 能做什么Ibeacon 是什么 能做什么
Ibeacon 是什么 能做什么
 
Senz+ contextual application solution
Senz+ contextual application solutionSenz+ contextual application solution
Senz+ contextual application solution
 
Ibeacon basic (1)
Ibeacon basic (1)Ibeacon basic (1)
Ibeacon basic (1)
 
Web App 调试基础 (1)
Web App 调试基础 (1)Web App 调试基础 (1)
Web App 调试基础 (1)
 
Ibeacon 101 基本常识
Ibeacon 101 基本常识Ibeacon 101 基本常识
Ibeacon 101 基本常识
 
阳光书屋技术架构介绍
阳光书屋技术架构介绍阳光书屋技术架构介绍
阳光书屋技术架构介绍
 
Biogenous 中学生的linkedin
Biogenous 中学生的linkedinBiogenous 中学生的linkedin
Biogenous 中学生的linkedin
 
当我们谈论WebApp - Openparty
当我们谈论WebApp - Openparty当我们谈论WebApp - Openparty
当我们谈论WebApp - Openparty
 
In app search 2
In app search 2In app search 2
In app search 2
 
App+ 1
App+ 1App+ 1
App+ 1
 
Apk explorer2
Apk explorer2Apk explorer2
Apk explorer2
 
Apk explorer1
Apk explorer1Apk explorer1
Apk explorer1
 
Android apk证书安全机制
Android apk证书安全机制Android apk证书安全机制
Android apk证书安全机制
 
Ppt功能演示
Ppt功能演示Ppt功能演示
Ppt功能演示
 
连通器出行分享平台
连通器出行分享平台连通器出行分享平台
连通器出行分享平台
 

In app search 1

  • 1. in-App Search 1 Let’s talk about app
  • 2. “…They want a quarter-inch hole!” Content in Apps !!!
  • 3. WE KNOW LITTLE ABOUT APPS
  • 5. How cloud apps work? Request Response Phone Servers
  • 7. WHAT’S APPS REQUEST IS WHAT CUSTOM WANT TO GET
  • 8. CONTENT = API REQUEST
  • 9. CONTENT = HTTP REQUEST
  • 10. Map<Request,Content>? URLs Sites Content
  • 11. Map<Request,Content>? • http://api.renren.com URL • http://search.twitter.com/search.json • https://api.rememberthemilk.com/services • http://www.renren.com Site • http://www.twitter.com • https://www.rememberthemilk.com • SNS Content • Twitter • Tada list
  • 12. Penetrated ! Request Response Phone Servers
  • 13. What we will get? • Accurate feature list for apps – Not self description – Not reviews – Real operations • Web API usage (used to be a part of anti-virus co.) – Developers (advice, protection, copycat…) – Tech trends – Tricks (virus, Ads, hack…) • Software quality
  • 15. Focus on • ApkReader • URL / Crawling • HTTP request • Binder • API hook • Data flow tagging • API modeling All above are for lab env.
  • 16. ApkReader • .dex • .arsc • AndroidManifest.xml • Certification • File last modify time • Native code • Layout (.xml) • Images (.icon .jpg .png)
  • 17. .dex (ApkReader) • Recognize (header: dex0) • Decompile • Constant strings
  • 18. .arsc (ApkReader) • Key-value • Diff between ver. • Similarity between apps (copycat / translation)
  • 19. AndroidManifest.xml (ApkReader) • Hidden info – Channel – Ad account – Malicious • Exported component – Feature – Attack • Trend – Tech – Business
  • 20. Certification (ApkReader) • Black/White list • Certificate reputation • <App, Business> • Managed certification – Protection from copycat / stealer
  • 21. File last modify time (ApkReader) • Dev. activity • Dev. cycle
  • 22. Native code (ApkReader) • ARM (compatibility) • Find game • Abnormal behavior
  • 23. Layout / Images (ApkReader) • User interaction • App similarity
  • 24. Focus on • ApkReader • URL / Crawling • HTTP request • Binder • API hook • Data flow tagging • API modeling All above are for lab env.
  • 25. URL / Crawling • Decompile .dex (apktool, dex2jar) • Crawl 2-3 depths for each domain • Find out feature claims (Traditional field for web search engine) • Editors
  • 26. HTTP request • Tcpdump (even https) • Sandbox (Droidbox) • Compare field names, content with keywords
  • 27. Binder • Wiretap ( data = mmap(…) ) • API hook • Intent – Intent fuzzer – Intent sniffer
  • 28. API hook • Detection: strace, dexdep… • Action: Source code (Not even a real hook)
  • 29. Data flow tagging • Tag data in memory William Enck, Peter Gilbert, Byung-Gon Chun. TaintDroid: An Information- Flow Tracking System for Realtime Privacy Monitoring on Smartphones. 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI’10)
  • 30. API modeling • Prepare: Decompile dex to source code (apktool) • Cook – <API, feature> – Atom method (BASE64…) – Rebuild apk and monitor critical API invokation – API invoke speed and hotpoint (Software quality) – Monkey (Software quality)
  • 31. Summary • Static analyze – Dex2jar / apktool /dexdump… – Apk reader – API modeling • Dynamic analyze – Droidbox – Tcpdump – Binder monitor – Api hook – Automatic testing env. – User’s interaction (hard)
  • 32. Milestones • URL extractor & 2 depths crawling (10-15) Binder monitor (11-1) • Automatic testing env. + Tcpdump (11-1) • Datastore (11-15) • Sandbox env. (11-15) • Apk signature database (12-1)
  • 34. in-App Search 2 Toward content directly

Hinweis der Redaktion

  1. ----- Meeting Notes (10/12/11 14:38) -----私有文件夹Layout发现匹配度
  2. ----- Meeting Notes (10/12/11 14:38) -----买开发机