「アクセシビリティを利用するとき、アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
- Haruto.KAndroid Developer at BizReach
Androidアプリ開発において、AccessibilityService(以下、a11y)は「障がい者支援のための機能」として認識され、多くの開発者にとって普段触れる機会の少ない領域です。 しかし2020年以降、バンキングトロジャンはこのa11yを攻撃の中核として悪用し続けています。 本セッションは大きく以下の4パートで構成します。 Part 1:a11y の正規機能としての役割 まずa11yが「なぜこれほど強い権限を持つ設計になっているのか」を、障がい者支援という観点から解説します。 Part 2:どう悪用されているか 実在するバンキングトロジャンの手口を、攻撃のキルチェーン(配布→権限取得→実行→検出回避)で体系化します。 加えて、私が自作した PoCアプリのデモ動画をお見せします。 Part 3:どう防衛するか 担当プロダクトがマルウェアに悪用される可能性があるか?などを翌日からすぐに調べられたりできるような防衛策などを共有します。 特に、ログイン情報など何かしらの個人情報を取り扱うプロダクトを開発されている方々にとっては有益な情報となります。 Part 4:倫理的トレードオフ a11y を完全に無効化することは、障がいをもつユーザーをアプリから排除することを意味します。 「検知したら全機能停止」という素朴な実装は、本当に必要としているユーザーへの差別となります。 これを踏まえ、どのように実用性と危険性軽減のトレードオフを行うか話していきます。 本セッションを聞くことで学べること - 現代Androidバンキングトロジャンの実際のキルチェーン - AccessibilityService API の構造と、悪用される例 - 心理学を用いたRestricted Settings(API33+)のバイパス手法 - セキュリティとアクセシビリティのトレードオフをどう設計に落とすか 補足 本セッションで使用するPoCコードは、登壇後にGitHubで公開予定です。 教育・研究目的の文脈を明示し、C2通信機構や難読化等は意図的に未実装とすることで、悪用への転用ハードルを保ちます。 攻撃手法と防御手法をセットで提供することで、セキュリティリサーチとしての社会的価値を担保します。
対象者
・セキュリティが重要なプロダクト開発に携わっている開発者 ・セキュリティ意識を高めたい開発者 ・AccessibilityService を実装する開発者 ・ 学習目的として攻撃者視点を学びたい人