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
5k
マルチモジュールアプリの画面遷移処理実装
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
Java 24まとめ / Java 24 summary
kishida
3
500
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
210
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
150
Being an ethical software engineer
xgouchet
PRO
0
210
VitestのIn-Source Testingが便利
taro28
6
2.1k
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
2
740
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.5k
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
4
610
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
160
MCP調べてみました! / Exploring MCP
uhzz
2
2.3k
Unlock the Potential of Swift Code Generation
rockname
0
260
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
110
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
For a Future-Friendly Web
brad_frost
176
9.7k
KATA
mclloyd
29
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Gamification - CAS2011
davidbonilla
81
5.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Making Projects Easy
brettharned
116
6.1k
A designer walks into a library…
pauljervisheath
205
24k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
680
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 のセキュリティは良くなってきたけどまだ十分では ない • ユーザー補助サービスは非常に危険なので軽い気持ちで 許可しないようにしましょう