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
89
マルチモジュールアプリの画面遷移処理実装
nein37
0
6.2k
クックパッド Android アプリのマルチモジュール化とデモアプリの活用
nein37
1
6.7k
2020年代の WebView 実装 / saikou_no_webview_2021
nein37
2
11k
Androidアプリをいつまでも楽しく開発し続けるための取り組み
nein37
5
2.5k
minSdkVersion=21にしてから1年経った話
nein37
8
2.2k
Androidアプリエンジニアの基礎知識
nein37
16
11k
クックパッドアプリのマルチモジュール化への取り組み
nein37
11
10k
Androidアプリのデザイン整理への取り組み
nein37
1
970
Other Decks in Programming
See All in Programming
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
710
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
400
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
3
490
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
500
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
快速入門可觀測性
blueswen
0
380
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
nekko cloudにおけるProxmox VE利用事例
irumaru
3
430
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
110
useSyncExternalStoreを使いまくる
ssssota
6
1.1k
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Cost Of JavaScript in 2023
addyosmani
45
7k
A designer walks into a library…
pauljervisheath
204
24k
Unsuck your backbone
ammeep
669
57k
What's in a price? How to price your products and services
michaelherold
243
12k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
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 のセキュリティは良くなってきたけどまだ十分では ない • ユーザー補助サービスは非常に危険なので軽い気持ちで 許可しないようにしましょう