目次:
私たちのお気に入りのアプリケーションにはすべて、多くの可動部分があります。 Twitterでタイムラインをスクロールしたり、YouTubeでビデオを視聴したりするときは、このことを考えないかもしれませんが、これらのアプリをすべて想定どおりに機能させるために舞台裏で行われていることは、実に驚くべきことです。
LastPass、Tasker、Clipboard Actionsなどの特定のアプリは、Androidのアクセシビリティサービスを活用して、本来存在することのできなかったより深い機能を可能にしますが、Googleは最近、障害を持つ人々に直接利益をもたらすことなくそれらを使用するアプリケーションをPlayストアから削除できることを発表しました。
アクセシビリティサービスは興味深いツールです。ここで何が行われているのかをより正確に把握するには、詳しく調べる必要があります。
アクセシビリティサービスとは何ですか?
アクセシビリティサービスはAndroid内にあり、障害のある方が携帯電話やタブレットを使いやすくすることができます。 Androidデバイスの[アクセシビリティ設定]ページにアクセスすると、Googleがデフォルトで有効にしている一連のコントロールが表示されます。 ここでのアイテムには、画面上でアイテムをタップしてデバイスに読み上げさせる操作、すべてのアクションを読み上げる音声フィードバック、ディスプレイ上のアイテムのサイズを大きくする操作などが含まれます。
予想どおり、ここでの一般的なテーマは、追加の支援が必要な人がAndroidをより簡単かつ簡単に使用できるようにすることです。
デフォルトでAndroidに組み込まれているサービスに加えて、開発者は独自のアプリでアクセシビリティサービスを利用して、それらを活用する新しい機能を作成できます。 Android Developersサイトでは、アクセシビリティサービスについて次のように説明しています。
アクセシビリティサービスは、Androidデバイスとアプリの使用において障害を持つユーザーを支援するためにのみ使用する必要があります。 これらはバックグラウンドで実行され、AccessibilityEventsが発生するとシステムによってコールバックを受け取ります。 このようなイベントは、ユーザーインターフェイスの状態遷移を示します。たとえば、フォーカスが変更された、ボタンがクリックされたなどです。このようなサービスは、アクティブウィンドウのコンテンツを照会する機能をオプションで要求できます。 アクセシビリティサービスの開発には、このクラスを拡張し、その抽象メソッドを実装する必要があります。
一部のアプリがそれらを使用する理由
アクセシビリティサービスの主な目標は、開発者が障害のある個人を対象にしたツールを作成できるようにすることですが、長年にわたってこのリソースを活用して技術的に全員に利益をもたらす拡張機能を作成する多くのアプリを見てきました。
アクセシビリティサービスは合法的に使用できますが、残念ながら常にそうなるとは限りません。
たとえば、LastPassのアプリフィルでは、画面やその他のアプリの上部にオーバーレイが表示されるため、LastPassアプリケーション全体を開くことなく、ユーザー名とパスワード情報を簡単に追加できます。 クリップボードアクションは、アクセシビリティサービスも利用するため、コピーしたリンクをより簡単に管理し、完全なクリップボードアクションアプリを使用しなくてもアクションを実行できます。
これは、開発者がかなり長い間使用してきた方法であり、技術的には機能しますが、Googleが見たくない脆弱性を作成します。
新しい制限に対するGoogleの推論
合法的に使用された場合、アクセシビリティサービスは素晴らしいものになりますが、サービスが悪意を持って使用される可能性もあります。 アクセシビリティサービスを使用するアプリは、使用しないアプリよりもセキュリティ上の脅威が大きくなるため、デバイスは攻撃の危険にさらされます。
GoogleがAccessibility Servicesを使用できるアプリケーションを制限する決定を発表した直後に、セキュリティ会社 TrendMicro によって発見された「トーストオーバーレイ」攻撃に関連している可能性が高いことが発見され ました 。 基本的に、トーストオーバーレイ攻撃により、悪意のあるアプリは、個人情報を盗んだり、ユーザーをデバイスから完全にロックアウトするために、実際に表示する必要があるものの上に画像とボタンを表示できます。
その後、このトーストオーバーレイ攻撃を使用するアプリはPlayストアから削除され、9月のセキュリティ速報のパッチにより脆弱性が解決されますが、これは、アクセシビリティサービスにアクセスするアプリが深刻な損害を引き起こす可能性のある一例にすぎません。
未来はAPI
合法的な方法で障害者を支援するためにアクセシビリティサービスを使用しているアプリは引き続き存在しますが、この特定の人口統計を対象としないアプリについては、Googleにはソリューション-APIがあります。 LastPassの例では、Android Oreoの新しいAutofill APIにより、LastPassは、アクセシビリティサービスを使用せずに、Auto Fill機能と同様の機能を提供できます。
これは、ユーザーがお気に入りのタイトルのすべての機能にアクセスするために、Androidの新しいバージョンを実行する必要があることを意味しますが、最終的には、潜在的なセキュリティリスクを削減しながら、機能が残ります。
一部のユーザーがこの変更に迷惑をかけることは理解していますが、Googleの観点から見ると、これは理にかなっている動きです。 アクセシビリティサービスは、特定の開発者が利用する方法の大部分で使用されることを意図したものではなく、Googleが取り締まる必要があるものです。
結局のところ、Googleの多数のAPIをサポートするようにアプリが更新されると、攻撃からの保護が強化された同様の機能が得られます。 さらに何を求めることができますか?