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
Android のセキュリティよくなってきた話
Search
こやまカニ大好き
July 26, 2017
Programming
3
2.4k
Android のセキュリティよくなってきた話
potatotips 42 で話した際の資料です
動画1:
https://youtu.be/UHE31IQUHHc
動画2:
https://youtu.be/b9qb5PqJotc
こやまカニ大好き
July 26, 2017
Tweet
Share
More Decks by こやまカニ大好き
See All by こやまカニ大好き
Androidアプリの One Experience リリース
nein37
0
5.1k
マルチモジュールアプリの画面遷移処理実装
nein37
0
6.4k
クックパッド Android アプリのマルチモジュール化とデモアプリの活用
nein37
1
6.8k
2020年代の WebView 実装 / saikou_no_webview_2021
nein37
2
11k
Androidアプリをいつまでも楽しく開発し続けるための取り組み
nein37
5
2.5k
minSdkVersion=21にしてから1年経った話
nein37
8
2.3k
Androidアプリエンジニアの基礎知識
nein37
16
11k
クックパッドアプリのマルチモジュール化への取り組み
nein37
11
11k
Androidアプリのデザイン整理への取り組み
nein37
1
1k
Other Decks in Programming
See All in Programming
Duke on CRaC with Jakarta EE
ivargrimstad
1
600
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
110
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
160
AI Coding Agent Enablement in TypeScript
yukukotani
15
6.1k
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
180
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.8k
Design Pressure
hynek
0
1.4k
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
6
1.5k
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
620
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2k
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
160
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
240
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
60
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Building Applications with DynamoDB
mza
95
6.4k
Writing Fast Ruby
sferik
628
61k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Why Our Code Smells
bkeepers
PRO
336
57k
RailsConf 2023
tenderlove
30
1.1k
Code Review Best Practice
trishagee
68
18k
BBQ
matthewcrist
88
9.6k
Transcript
Androidのセキュリティ良くなってきた話 @nein37(エヌ・イー・アイ・エヌ・サン・ナナ)
自己紹介 @nein37(エヌ・イー・アイ・エヌ・サン・ナナ) • クックパッド Androidアプリエンジニア • カニが好き
Androidアプリ セキュリティモデルの歴史 • 6.0 ◦ Runtime Permission ◦ UIオーバーレイにユーザーの許可が必要 •
7.0 ◦ 一部の画面でUIオーバーレイを禁止 • 8.0 ◦ UIオーバーレイの仕様を大幅変更
戦いの歴史 • 5.x ◦ : インストール時に権限許可が必要だよ ◦ :
どうせ誰も権限見てないしやりたい放題 • 6.0 ◦ : 権限は個別にユーザー許可が必要! ◦ : 権限許可画面の上に別の文言を表示して許可させるぞ! • 7.0 ◦ : 権限取得ダイアログではオーバーレイ禁止! ◦ : ウッ
戦いの歴史 ユーザー補助サービスを使うしかねえ
ユーザー補助サービスとは • 表示中の画面の情報を取得できる ◦ 最前面のアプリ/Activity取得 ◦ 画面の更新タイミング検知 ◦ 画面内に描画されているView情報(idつき) •
表示中の画面に対してアクションできる ◦ クリック ◦ チェック変更 ◦ 文字入力 • ユーザーの許可が必要(初回のみ)
つまりどういうこと? 本来ユーザー操作が必要な処理を アプリが勝手に行うことができます
デモ
• 大人気アプリのサポートツール ◦ と謳っているだけの悪いアプリ • 他のアプリにオーバーレイで結果を 表示する ◦ と謳っているがユーザー補助サービスを許可 してもらいやすくするだけの説明
https://youtu.be/UHE31IQUHHc
いま何が起きたの?
https://youtu.be/b9qb5PqJotc
やったこと 1. ユーザー補助権限を許可してもらう ---ここまでユーザー操作--- 2. UIオーバーレイの許可画面に遷移し、許可させる 3. UIオーバーレイで画面の表示内容を隠す 4. アプリの権限設定画面に遷移し、すべて許可させる
5. アプリに戻ってくる 6. UIオーバーレイを非表示にする
ちょっとだけソースコード 地道にViewを探してアクションを繰り返していく
まとめ • Android のセキュリティは良くなってきたけどまだ十分では ない • ユーザー補助サービスは非常に危険なので軽い気持ちで 許可しないようにしましょう