SlideShare a Scribd company logo
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

More Related Content

PDF
Building Beautiful REST APIs with ASP.NET Core
PDF
API for Beginners
PDF
Building a spa_in_30min
PPTX
Rest api and-crud-api
PPTX
RESTful API Design Best Practices Using ASP.NET Web API
PPTX
RESTful API Automation with JavaScript
PPTX
Introducing Swagger
PDF
How to Contribute to Apache Usergrid
Building Beautiful REST APIs with ASP.NET Core
API for Beginners
Building a spa_in_30min
Rest api and-crud-api
RESTful API Design Best Practices Using ASP.NET Web API
RESTful API Automation with JavaScript
Introducing Swagger
How to Contribute to Apache Usergrid

What's hot (20)

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

Viewers also liked (12)

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

Similar to In app search 1 (20)

PDF
Building APIs in an easy way using API Platform
PDF
Design & Deploy a data-driven Web API in 2 hours
PDF
PPTX
An introduction to the API for OnTime for IBM
PDF
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
PPTX
Building a scalable API with Grails
PPTX
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
PPTX
Meetup callback
PDF
SOHOpelessly Broken
PDF
16 months @ SoundCloud
PPTX
Android application analyzer
PPTX
aip_developer_overview_icar_2014
PDF
Android Malware and Machine Learning
PDF
From System Engineer to Gopher
PPTX
aip-developer-intro_pag2015
PPTX
Building Content-Rich Java Apps in the Cloud with the Alfresco API
KEY
Distributed app development with nodejs and zeromq
PDF
I Love APIs Europe 2015: Developer Sessions
PDF
初心者向けGAE/Java説明資料
PPTX
Alfresco Development Framework Basic
Building APIs in an easy way using API Platform
Design & Deploy a data-driven Web API in 2 hours
An introduction to the API for OnTime for IBM
Don Thorp & Marshall Culpepper: Advanced Titanium Development for Android
Building a scalable API with Grails
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
Meetup callback
SOHOpelessly Broken
16 months @ SoundCloud
Android application analyzer
aip_developer_overview_icar_2014
Android Malware and Machine Learning
From System Engineer to Gopher
aip-developer-intro_pag2015
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Distributed app development with nodejs and zeromq
I Love APIs Europe 2015: Developer Sessions
初心者向けGAE/Java説明資料
Alfresco Development Framework Basic

More from Xiaoping Feng (17)

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

Editor's Notes

  • #17: ----- Meeting Notes (10/12/11 14:38) -----私有文件夹Layout发现匹配度
  • #33: ----- Meeting Notes (10/12/11 14:38) -----买开发机