Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOS Security - Hacking iOS Apps
Search
Bruno Rocha
June 11, 2017
Technology
21
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOS Security - Hacking iOS Apps
TDC 2017
Bruno Rocha
June 11, 2017
More Decks by Bruno Rocha
See All by Bruno Rocha
BuckOutsideValley.pdf
rockbruno
1
110
Avoiding Release Anxiety
rockbruno
0
36
Creating Scalable iOS Apps
rockbruno
0
20
Other Decks in Technology
See All in Technology
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
600
Model Studio CLI × Token Plan
maigo999
0
200
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
160
도구에서 동료까지: 10년차 AI 스타트업의 AI 적응기
inureyes
PRO
1
270
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
350
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
170
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
600
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
430
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
140
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
110
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
3.8k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
Design in an AI World
tapps
1
280
Designing for Timeless Needs
cassininazir
1
450
Abbi's Birthday
coloredviolet
3
9.4k
Leo the Paperboy
mayatellez
8
2.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Amusing Abliteration
ianozsvald
1
250
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Mind Mapping
helmedeiros
PRO
1
320
Transcript
iOS Security Bruno Rocha iOS Developer @ Movile
Bad people
Crypto keys in NSUserDefaults/Keychain Secret API Keys in the Info.plist
or hardcoded CoreData/SQLite with sensitive data var isSubscribed: Bool
NSUserDefaults - Documents folder, not encrypted CoreData - Documents folder,
not encrypted Info.plist - Exposed in your .ipa/.app Keychain - Encrypted, but exploitable NSKeyedArchiver - A plist in hex format
None
None
var isSubscribed: Bool { let subscription = getSubscription() return subscription.isExpired
== false } var swizzled__isSubscribed: Bool { return true }
None
Demo 1: Insecure Data Storages
Protecting apps from Storage Attacks • Encrypt/Encode data before saving/
hardcoding (Careful! This will not prevent attacks, only slow them down.) • Treat critical data (like secret API keys) server-side if possible • Open Source “String obfuscation" libs: Hackers have Google too.
Demo 2: Runtime Manipulation
Protecting apps from Runtime Manipulation Important logic should be treated/
checked server-side! (eg: API Tokens)
Protecting apps from Runtime Manipulation
Protecting apps from Runtime Manipulation
What about the real world?