Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android のセキュリティよくなってきた話

Android のセキュリティよくなってきた話

potatotips 42 で話した際の資料です

動画1:
https://youtu.be/UHE31IQUHHc

動画2:
https://youtu.be/b9qb5PqJotc

こやまカニ大好き

July 26, 2017
Tweet

More Decks by こやまカニ大好き

Other Decks in Programming

Transcript

  1. Androidのセキュリティ良くなってきた話
    @nein37(エヌ・イー・アイ・エヌ・サン・ナナ)

    View Slide

  2. 自己紹介
    @nein37(エヌ・イー・アイ・エヌ・サン・ナナ)
    ● クックパッド Androidアプリエンジニア
    ● カニが好き

    View Slide

  3. Androidアプリ セキュリティモデルの歴史
    ● 6.0
    ○ Runtime Permission
    ○ UIオーバーレイにユーザーの許可が必要
    ● 7.0
    ○ 一部の画面でUIオーバーレイを禁止
    ● 8.0
    ○ UIオーバーレイの仕様を大幅変更

    View Slide

  4. 戦いの歴史
    ● 5.x
    ○     : インストール時に権限許可が必要だよ
    ○     : どうせ誰も権限見てないしやりたい放題
    ● 6.0
    ○     : 権限は個別にユーザー許可が必要!
    ○     : 権限許可画面の上に別の文言を表示して許可させるぞ!
    ● 7.0
    ○     : 権限取得ダイアログではオーバーレイ禁止!
    ○     : ウッ

    View Slide

  5. 戦いの歴史
    ユーザー補助サービスを使うしかねえ

    View Slide

  6. ユーザー補助サービスとは
    ● 表示中の画面の情報を取得できる
    ○ 最前面のアプリ/Activity取得
    ○ 画面の更新タイミング検知
    ○ 画面内に描画されているView情報(idつき)
    ● 表示中の画面に対してアクションできる
    ○ クリック
    ○ チェック変更
    ○ 文字入力
    ● ユーザーの許可が必要(初回のみ)

    View Slide

  7. つまりどういうこと?
    本来ユーザー操作が必要な処理を
    アプリが勝手に行うことができます

    View Slide

  8. デモ

    View Slide

  9. ● 大人気アプリのサポートツール
    ○ と謳っているだけの悪いアプリ
    ● 他のアプリにオーバーレイで結果を
    表示する
    ○ と謳っているがユーザー補助サービスを許可
    してもらいやすくするだけの説明

    View Slide

  10. https://youtu.be/UHE31IQUHHc

    View Slide

  11. いま何が起きたの?

    View Slide

  12. https://youtu.be/b9qb5PqJotc

    View Slide

  13. やったこと
    1. ユーザー補助権限を許可してもらう
    ---ここまでユーザー操作---
    2. UIオーバーレイの許可画面に遷移し、許可させる
    3. UIオーバーレイで画面の表示内容を隠す
    4. アプリの権限設定画面に遷移し、すべて許可させる
    5. アプリに戻ってくる
    6. UIオーバーレイを非表示にする

    View Slide

  14. ちょっとだけソースコード
    地道にViewを探してアクションを繰り返していく

    View Slide

  15. まとめ
    ● Android のセキュリティは良くなってきたけどまだ十分では
    ない
    ● ユーザー補助サービスは非常に危険なので軽い気持ちで
    許可しないようにしましょう

    View Slide