SlideShare a Scribd company logo
1 of 11
– Observations on Controlling Access to Mobile APIs
Using the Pokemon Go Example
Block
KEY PRESENTATION MESSAGE
• Your next app or API service may be a brilliant idea!
• Why not?
• Consider success:
• MAU (monthly active users)
numbers from your dreams
• Traffic beyond your
scale tests
• Revenue to die for
• Will you capitalize on it?
BOTs AND MOBILE APIs
• What is a bot?
• We’re talking about bad bots here
• Definition: Automated software using your API against your desires
• What: Extraction, degradation, cheating
• Why: Make money or mischief
• And why should you care?
• Increased client functionality &
API richness
• Traffic migrating from web to mobile
• No mobile protection solutions
POKEMON GO: THE LAUNCH
• Mobile game first released 6th July 2016
• Staggered geo release over 3 months
• After 8 weeks:
• >100 countries
• >500M downloads
• >4.6B miles walked
(7.3B km)
• Not bad, eh?
• (First mistake: No GPS spoofing
protection) Image: Reddit user Inkblob
POKEMON GO: REVERSING THE API
• Action -
• Simple man-in-the-middle approach revealed API protocol
• First game release used (unpinned)TLS secured communication to prevent
people looking at traffic
• Enthusiasts were keen to know what
they could do through automation,
e.g. geolocation spoofing
• Reaction -
• Niantic implemented certificate pinning
• However a lot of useful information
had already been extracted
• Pokemon proximity functionality disabled
POKEMON GO: DISABLING CERTIFICATE
PINNING
• Action -
• Enthusiasts disabled certificate pinning
• For example using a Xposed module
• Recovered Pokemon proximity functionality
• Reaction -
• Niantic enables the
‘unknown6’ pre-built
checksum mechanism
• Effect is to block
IP addresses of mobile
API abusers
POKEMON: UNRAVELLING CHECKSUMS
• Action -
• The community mobilized itself and cracked ‘unknown6’ in 4 days
• This circumvents the checksum protection in the app
• This effectively returns API access to
to the enthusiasts
• Reaction -
• Legal action
• Root checks
• CAPTCHAs
POKEMON GO: THE IMPACT
• Brand image
• Unhappy players
• Significant unplanned
engineering effort
• Revenue
• Would the chart have been
different if the engineering
resources focused on new
feature development instead?
CRITICALBLUE?
• Dynamic
Insight
Technology
www.approov.io
KEY TAKEAWAYS
• When it’s easy to do, it pays to plan for success
• Control use of your server resources and APIs
• Keep your development focused on delivering your roadmap
• Software authentication delivers this peace of mind
• Consumers are fickle and easily
spooked
• Is it worth the risk?
• Prepare for the bot onslaught
when you win!
(28.3g)
(454 g)
Tack så mycket!
info@approov.io @critblue

More Related Content

What's hot

API First: Going Beyond SOA, ESBs, and Integration
API First: Going Beyond SOA, ESBs, and Integration API First: Going Beyond SOA, ESBs, and Integration
API First: Going Beyond SOA, ESBs, and Integration Apigee | Google Cloud
 
Transition from SOA to APIs for the App Economy - Bending the Spoon
Transition from SOA to APIs for the App Economy  - Bending the SpoonTransition from SOA to APIs for the App Economy  - Bending the Spoon
Transition from SOA to APIs for the App Economy - Bending the SpoonApigee | Google Cloud
 
Why APIs are Different Than Integration
Why APIs are Different Than IntegrationWhy APIs are Different Than Integration
Why APIs are Different Than IntegrationApigee | Google Cloud
 
Redefine Omni-Channel Retailing - Harness the Power of APIs
 Redefine Omni-Channel Retailing - Harness the Power of APIs Redefine Omni-Channel Retailing - Harness the Power of APIs
Redefine Omni-Channel Retailing - Harness the Power of APIsApigee | Google Cloud
 
APIs in the Enterprise -Lessons Learned
APIs in the Enterprise -Lessons LearnedAPIs in the Enterprise -Lessons Learned
APIs in the Enterprise -Lessons LearnedApigee | Google Cloud
 
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile PlatformI Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile PlatformApigee | Google Cloud
 
Pivotal + Apigee Workshop (June 4th, 2019)
Pivotal + Apigee Workshop (June 4th, 2019)Pivotal + Apigee Workshop (June 4th, 2019)
Pivotal + Apigee Workshop (June 4th, 2019)Alexandre Roman
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop Apigee | Google Cloud
 
Evolution of API Management in the BBC
Evolution of API Management in the BBCEvolution of API Management in the BBC
Evolution of API Management in the BBCNordic APIs
 
APIs.JSON: Bootstrapping The Web of APIs
APIs.JSON: Bootstrapping The Web of APIsAPIs.JSON: Bootstrapping The Web of APIs
APIs.JSON: Bootstrapping The Web of APIs3scale
 
apidays LIVE Paris - The Business of APIs by Jed Ng
apidays LIVE Paris - The Business of APIs by Jed Ngapidays LIVE Paris - The Business of APIs by Jed Ng
apidays LIVE Paris - The Business of APIs by Jed Ngapidays
 
API Strategy & Practice Conference - API Consumption from the Hackathon Trenches
API Strategy & Practice Conference - API Consumption from the Hackathon TrenchesAPI Strategy & Practice Conference - API Consumption from the Hackathon Trenches
API Strategy & Practice Conference - API Consumption from the Hackathon TrenchesAlex Gaber
 
APIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsAPIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsLaunchAny
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterpriseCA API Management
 

What's hot (20)

API First: Going Beyond SOA, ESBs, and Integration
API First: Going Beyond SOA, ESBs, and Integration API First: Going Beyond SOA, ESBs, and Integration
API First: Going Beyond SOA, ESBs, and Integration
 
Apigee Edge Product Demo
Apigee Edge Product DemoApigee Edge Product Demo
Apigee Edge Product Demo
 
Transition from SOA to APIs for the App Economy - Bending the Spoon
Transition from SOA to APIs for the App Economy  - Bending the SpoonTransition from SOA to APIs for the App Economy  - Bending the Spoon
Transition from SOA to APIs for the App Economy - Bending the Spoon
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
 
Why APIs are Different Than Integration
Why APIs are Different Than IntegrationWhy APIs are Different Than Integration
Why APIs are Different Than Integration
 
Redefine Omni-Channel Retailing - Harness the Power of APIs
 Redefine Omni-Channel Retailing - Harness the Power of APIs Redefine Omni-Channel Retailing - Harness the Power of APIs
Redefine Omni-Channel Retailing - Harness the Power of APIs
 
APIs in the Enterprise -Lessons Learned
APIs in the Enterprise -Lessons LearnedAPIs in the Enterprise -Lessons Learned
APIs in the Enterprise -Lessons Learned
 
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile PlatformI Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
 
Pivotal + Apigee Workshop (June 4th, 2019)
Pivotal + Apigee Workshop (June 4th, 2019)Pivotal + Apigee Workshop (June 4th, 2019)
Pivotal + Apigee Workshop (June 4th, 2019)
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
 
API Design Workflows
API Design WorkflowsAPI Design Workflows
API Design Workflows
 
Evolution of API Management in the BBC
Evolution of API Management in the BBCEvolution of API Management in the BBC
Evolution of API Management in the BBC
 
APIs.JSON: Bootstrapping The Web of APIs
APIs.JSON: Bootstrapping The Web of APIsAPIs.JSON: Bootstrapping The Web of APIs
APIs.JSON: Bootstrapping The Web of APIs
 
apidays LIVE Paris - The Business of APIs by Jed Ng
apidays LIVE Paris - The Business of APIs by Jed Ngapidays LIVE Paris - The Business of APIs by Jed Ng
apidays LIVE Paris - The Business of APIs by Jed Ng
 
Demo: New open banking platform
Demo: New open banking platformDemo: New open banking platform
Demo: New open banking platform
 
API Strategy & Practice Conference - API Consumption from the Hackathon Trenches
API Strategy & Practice Conference - API Consumption from the Hackathon TrenchesAPI Strategy & Practice Conference - API Consumption from the Hackathon Trenches
API Strategy & Practice Conference - API Consumption from the Hackathon Trenches
 
APIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsAPIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIs
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
 
Webcast: Apigee Edge Product Demo
Webcast: Apigee Edge Product DemoWebcast: Apigee Edge Product Demo
Webcast: Apigee Edge Product Demo
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
 

Similar to Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using the Pokemon Go Example (David Stewart)

Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 RecapVishal Nayak
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that winDellFoglight
 
Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎Zealous System
 
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryBuilding A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryProgrammableWeb
 
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...JSFestUA
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine JavaChris Schalk
 
Option 2015- Getting Started with Optimizely for Mobile
Option 2015- Getting Started with Optimizely for MobileOption 2015- Getting Started with Optimizely for Mobile
Option 2015- Getting Started with Optimizely for MobileOptimizely
 
Desarrollo de apps multiplataforma con tecnologías web
Desarrollo de apps multiplataforma con tecnologías webDesarrollo de apps multiplataforma con tecnologías web
Desarrollo de apps multiplataforma con tecnologías webSoftware Guru
 
Sg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleySg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleyn_adam_stanley
 
Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...
Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...
Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...Razorfish
 
SplunkLive! New York Dec 2012 - SNAP Interactive
SplunkLive! New York Dec 2012 - SNAP InteractiveSplunkLive! New York Dec 2012 - SNAP Interactive
SplunkLive! New York Dec 2012 - SNAP InteractiveSplunk
 
Gdco12 kartik ayyar
Gdco12 kartik ayyarGdco12 kartik ayyar
Gdco12 kartik ayyarKartik Ayyar
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Offline-First Progressive Web Apps
Offline-First Progressive Web AppsOffline-First Progressive Web Apps
Offline-First Progressive Web AppsAditya Punjani
 
DevOps for Hackathons: DevOps without the Ops
DevOps for Hackathons: DevOps without the OpsDevOps for Hackathons: DevOps without the Ops
DevOps for Hackathons: DevOps without the OpsOr Rosenblatt
 
Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14Alex Gaber
 

Similar to Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using the Pokemon Go Example (David Stewart) (20)

Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that win
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎
 
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryBuilding A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
 
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine Java
 
Option 2015- Getting Started with Optimizely for Mobile
Option 2015- Getting Started with Optimizely for MobileOption 2015- Getting Started with Optimizely for Mobile
Option 2015- Getting Started with Optimizely for Mobile
 
App Proposal - EDDY.pptx
App Proposal - EDDY.pptxApp Proposal - EDDY.pptx
App Proposal - EDDY.pptx
 
Desarrollo de apps multiplataforma con tecnologías web
Desarrollo de apps multiplataforma con tecnologías webDesarrollo de apps multiplataforma con tecnologías web
Desarrollo de apps multiplataforma con tecnologías web
 
Sg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleySg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanley
 
Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...
Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...
Razorfish 2014 Tech Summit - Director, Social Technologies at Razorfish Rafi ...
 
SplunkLive! New York Dec 2012 - SNAP Interactive
SplunkLive! New York Dec 2012 - SNAP InteractiveSplunkLive! New York Dec 2012 - SNAP Interactive
SplunkLive! New York Dec 2012 - SNAP Interactive
 
Gdco12 kartik ayyar
Gdco12 kartik ayyarGdco12 kartik ayyar
Gdco12 kartik ayyar
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
Offline-First Progressive Web Apps
Offline-First Progressive Web AppsOffline-First Progressive Web Apps
Offline-First Progressive Web Apps
 
DevOps for Hackathons: DevOps without the Ops
DevOps for Hackathons: DevOps without the OpsDevOps for Hackathons: DevOps without the Ops
DevOps for Hackathons: DevOps without the Ops
 
Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14
 
GAUGE Google Analytics Conference: Mobile SDK
GAUGE Google Analytics Conference: Mobile SDKGAUGE Google Analytics Conference: Mobile SDK
GAUGE Google Analytics Conference: Mobile SDK
 

More from Nordic APIs

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...Nordic APIs
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureNordic APIs
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...Nordic APIs
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Nordic APIs
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...Nordic APIs
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLNordic APIs
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogNordic APIs
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifNordic APIs
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosNordic APIs
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioNordic APIs
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...Nordic APIs
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Nordic APIs
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...Nordic APIs
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyNordic APIs
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Nordic APIs
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsNordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Nordic APIs
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerNordic APIs
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...Nordic APIs
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...Nordic APIs
 

More from Nordic APIs (20)

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at Apiture
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, Graylog
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, Moseif
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.io
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
 

Recently uploaded

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 

Recently uploaded (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using the Pokemon Go Example (David Stewart)

  • 1. – Observations on Controlling Access to Mobile APIs Using the Pokemon Go Example Block
  • 2. KEY PRESENTATION MESSAGE • Your next app or API service may be a brilliant idea! • Why not? • Consider success: • MAU (monthly active users) numbers from your dreams • Traffic beyond your scale tests • Revenue to die for • Will you capitalize on it?
  • 3. BOTs AND MOBILE APIs • What is a bot? • We’re talking about bad bots here • Definition: Automated software using your API against your desires • What: Extraction, degradation, cheating • Why: Make money or mischief • And why should you care? • Increased client functionality & API richness • Traffic migrating from web to mobile • No mobile protection solutions
  • 4. POKEMON GO: THE LAUNCH • Mobile game first released 6th July 2016 • Staggered geo release over 3 months • After 8 weeks: • >100 countries • >500M downloads • >4.6B miles walked (7.3B km) • Not bad, eh? • (First mistake: No GPS spoofing protection) Image: Reddit user Inkblob
  • 5. POKEMON GO: REVERSING THE API • Action - • Simple man-in-the-middle approach revealed API protocol • First game release used (unpinned)TLS secured communication to prevent people looking at traffic • Enthusiasts were keen to know what they could do through automation, e.g. geolocation spoofing • Reaction - • Niantic implemented certificate pinning • However a lot of useful information had already been extracted • Pokemon proximity functionality disabled
  • 6. POKEMON GO: DISABLING CERTIFICATE PINNING • Action - • Enthusiasts disabled certificate pinning • For example using a Xposed module • Recovered Pokemon proximity functionality • Reaction - • Niantic enables the ‘unknown6’ pre-built checksum mechanism • Effect is to block IP addresses of mobile API abusers
  • 7. POKEMON: UNRAVELLING CHECKSUMS • Action - • The community mobilized itself and cracked ‘unknown6’ in 4 days • This circumvents the checksum protection in the app • This effectively returns API access to to the enthusiasts • Reaction - • Legal action • Root checks • CAPTCHAs
  • 8. POKEMON GO: THE IMPACT • Brand image • Unhappy players • Significant unplanned engineering effort • Revenue • Would the chart have been different if the engineering resources focused on new feature development instead?
  • 10. KEY TAKEAWAYS • When it’s easy to do, it pays to plan for success • Control use of your server resources and APIs • Keep your development focused on delivering your roadmap • Software authentication delivers this peace of mind • Consumers are fickle and easily spooked • Is it worth the risk? • Prepare for the bot onslaught when you win! (28.3g) (454 g)

Editor's Notes

  1. If you are exposing mobile APIs, you *must* plan for success (ie this isn't a doom and gloom presentation from the department of no, this is all about ensuring that you maximize the monetization of your success!).
  2. This is the summary of presentation. The case that will be made: it's much better to bake in invisible API protection rather than have to retro-fit it in the field. Intel’s statement regarding working with startups – they never plan for success. Don’t imagine that your company, your app or your APIs are not ‘interesting’ to be targeted. If you are successful, the bots will come.
  3. Bad Bot: Piece of automated software that uses your API in a way you didn't intend and don't want What do: Extract data from your servers, degrade performance (DDoS), give people an unfair advantage Why: Curiosity to see what can be done, Extract data to make Money, Mischief Mobile vs Web: Sometimes(not everyone treats mobile apps differently to web) Richer interface Perhaps worth mentioning an emerging attack vector as traffic moves away from web where some techniques exist to block them Bot behaviour: Examples of API probing, cloning game players, exfiltration of sensitive data. Mobile APIs: comparison to web APIs. Increased richness, increased client functionality, lots of API calls to be targeted, increased risks to business Don’t assume that it is only businesses which suffers from fraud that get hacked
  4. Pokemon Go definition: location based gaming, Pokemon cards coming to life. Pokemon Go: tell the story: launch statistics, staged geographic release, describe the phenomenon Note that the first slip up was not providing any GPS spoofing protection - so people outside of the launch countries were getting access and GPS spoofing to the areas where the game was lauched, so unexpected and uncontrolled load
  5. Let’s not forget that the people doing were not really bad guys. A bit over-zealous maybe, but not bad guys. Let’s call them enthusiasts! Man In The Middle: Insert yourself into a secure connection to observe secret traffic, good way of examining the API By MITMing the connection, and reverse engineering the API and data structures, it was possible to rapidly understand and use the API. Later Niantic implemented pinning of the connection to protect it, but a lot of information had already been gained at that point, and it is possible to circumvent certificate pinning because it is implemented in the client. 30/07/2016: Niantic Releases patch disabling “three footprints” functionality for finding nearby Pokemon – due to data and power issues. Enthusiasts not best pleased.  
  6. Once the API was accessed, it was possible to use it to play the game without moving around. It was also possible to generate maps of where pokemon were. This allowed players to get back and improve upon the functionality disabled by Niantic. A side effect of this was that apps and sites appeared which showed maps of pokemon near to players. This introduces a vector for malicious apps to trick their way into being installed on devices. Even for apps which provide the expected functionality, there is the side effect of increased server traffic. This has implications for the costs of Niantic and appeared to delay the release of the game in Brazil. Certificate Pinning can be disabled using a framework like Xposed which allows apps and the system to be easily modified on a rooted device. It can also be done by directly modifying the app and repackaging it. Pinning: Allows the app to check the server certificate is the one it expects. It stops MITM because if you are the man in the middle, you don't have the correct certificate because the correct cert is a signed by Niantic. It is significant that it is in the client because you have little control over the client code once it is out in the wild and can't prevent people from trying to circumvent stuff. As an aside, pinning also has problems if you have to change your certificate on the server because you then need to update your app. Not terrible, but can be annoying during the transition as you may have clients which don't update and expect the old cert. Geolocation spoofing started when the API was uncovered as it allowed people in areas with few pokemon to play in more populated areas. It also let people play in countries where the game wasn't released yet. They blocked IPs based on incorrect checksums. If you were using the API outside an app the checksum would be wrong and you could be identified.   As a response, Niantic enabled a checksum for messages that was already present in the app. This disabled any unauthorized access. By using the unknown6 checksum, Niantic were able to identify genuine app users vs those using the API to make mapping websites and apps. When they turned on those checks, so only authentic app users could access the API, they saw a massive dropin load on their servers. That is what the graph shows. Pinning is a way for the client to ensure it is talking to the correct server. It is a security mechanism to make it more difficult to snoop on traffic. For pinning, each client stores the expected certificate they should be seeing from the server (the certificate is used to set up the https connection). The client then compares what it gets when it tries to connect vs this known good value. If the values are different, it means someone with a different certificate is pretending to be the server and mounting a MITM attack. You can't do it on the server very easily because there is no way for the server to know what the client certificate is. The client certificate is also different for every client. You could retrieve the certificate for the server and send it back ot the server to check, which is what we do, but I think that is not a standard thing at all. Yes, unknown6 is the checksum. Cracked in 4 days once checks were turned on server side. Pinning prevents MITM attacks. It stops people inspecting your API which makes it more difficult to reverse engineer. Reverse engineering the API is what allowed people to use the API, if pinning had been enabled, it would have been much harder to do that to begin with.
  7. Action: Hackers circumvent HMAC protection present in Unknown 6 Reaction: Legal measures to take down sites abusing the API, Root checks enabled(v0.37) It took around 4 days for the combined efforts of the Unknown6 team to reverse-engineer and bypass the Niantic protection mechanism. A collection of enthusiasts examined and reverse engineered the protection mechanisms placed in side the app. Niantic responded to this by enabling root/jailbreak checks in side the app. This included using the google SafetyNet API to detect rooting. In addition I have seen some articles that suggest that pokemon go has added but not enabled captchas: It is also worth mentioning that the game currently still supports v0.35 of the API but normally forces you to upgrade to the latest. Not sure if unknown6 is an HMAC actually or something custom By breaking the checksum it enables people to use the API like before CAPTCHAS have now been enabled for suspicious traffic
  8. Pokemon Go: impact: brand image, unhappy users (normal ones as well as enthusiasts), unplanned engineering effort, panic At it’s peak, Pokemon was earning $10M/day for Niantic.
  9. Who is CriticalBlue? >150 man years of low level binary dynamic tracing and analysis Many mobile software performance and cryptography optimization projects completed Recent focus on software attestation and mobile API protection
  10. User authentication is not bad, or wrong, it’s just not enough, and is sometimes not needed at all. Equip yourself with the revolutionary “fire and forget” anti-bot weapon for mobile security: authenticate incoming requests to your mobile-facing API, drop illegitimate ones on the spot, forget about the problem, keep building your future. Hey, maybe there is a business opportunity for a bot proximity detector for mobile APIs