SCW アイコン
ヒーロー背景(区切りなし)
ブログ

安全编码技术:让我们来谈谈 Tapjacking

ピーテル・デ・クレマー
2017年10月31日 掲載
最終更新日: 2026年3月9日

タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。

まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

アプリケーションから連絡先ポップアップにアクセスできるようにする

Facebookのチャットバブルや、Google Mapsのナビゲーションが画面の隅に表示されるなど、この機能はクールで楽しいもので、ますます多くのアプリケーションで採用されています。

Secure Code Warrior 紹介ビデオ

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことをFacebookが知ることはできません。これにより、アプリがあなたを監視し、パスワードやクレジットカードのデータを盗む可能性があります。

さらに、タップジャッキングという言葉があるように、オーバーレイは他のアプリの上に何かを描き、ユーザーを騙して異なるアクションを実行させることができます。ユーザーはオーバーレイとインタラクトしていると思っていますが、実際には、ユーザーのタップは下にあるアプリのアクションを実行しています。このようにして、オーバーレイはユーザーをだまして、特定の許可を有効にしたり、危険な設定を変更したりすることができます。この古いYouTubeのビデオでは、その様子が示されています。

上のデモンストレーションビデオがYouTubeにアップロードされたのは2010年のことなので、古いバージョンのAndroidで行われています。しかし、NougatやMarshmallowなどの新しいバージョンのAndroidでタップジャックを可能にする脆弱性が明らかになったため、この攻撃は現在でも有効です。

では、どうすればいいのでしょうか?ユーザーとしては、これらのオーバーレイがもたらす結果を認識し、それを使用するアプリに注意することが重要です。APIレベル23(Android 6.0 Marshmallow)の時点で、この機能はユーザーが明示的に許可しなければならないものになりました。しかし、これではAndroidユーザーの50%がまだ脆弱であると言えます。どのアプリがこの許可を利用しているかは、設定の「他のアプリよりも表示」で確認することができます。

開発者は、ユーザーのアクションがユーザーの完全な知識と同意に基づいて行われることを確認する義務があります。Androidでは、それを実現するための設定をビューに用意しています。 filterTouchesWhenObscured. この設定を有効にすると、ビューのウィンドウが他の可視ウィンドウによって隠された場合、フレームワークは受信したタッチを破棄します。これはとても簡単なことです。 フィルタータッチズウィン・オブスキュア を true に設定すれば、アプリはタップジャッキングから安全になります。

頑張ってください。また来週お会いしましょう

時には、許可要求の承認、購入、広告のクリックなど、ある行為がユーザーの完全な知識と同意に基づいて実行されていることを、アプリケーションが確認することが不可欠な場合があります。残念ながら、悪意のあるアプリケーションは、表示の意図された目的を隠すことで、ユーザになりすまして無意識にこれらのアクションを実行させようとする可能性があります。

https://developer.android.com/reference/android/view/View.html

手里拿着手机的用户
手里拿着手机的用户
リソースを確認する
リソースを確認する

有时,应用程序必须能够在用户完全知情和同意的情况下验证操作是否正在执行

もっと知りたいですか?

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
作者
ピーテル・デ・クレマー
2017年10月31日発行

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

共有する:
リンクトインのブランドソーシャルx ロゴ
手里拿着手机的用户
手里拿着手机的用户

タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。

まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

アプリケーションから連絡先ポップアップにアクセスできるようにする

Facebookのチャットバブルや、Google Mapsのナビゲーションが画面の隅に表示されるなど、この機能はクールで楽しいもので、ますます多くのアプリケーションで採用されています。

Secure Code Warrior 紹介ビデオ

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことをFacebookが知ることはできません。これにより、アプリがあなたを監視し、パスワードやクレジットカードのデータを盗む可能性があります。

さらに、タップジャッキングという言葉があるように、オーバーレイは他のアプリの上に何かを描き、ユーザーを騙して異なるアクションを実行させることができます。ユーザーはオーバーレイとインタラクトしていると思っていますが、実際には、ユーザーのタップは下にあるアプリのアクションを実行しています。このようにして、オーバーレイはユーザーをだまして、特定の許可を有効にしたり、危険な設定を変更したりすることができます。この古いYouTubeのビデオでは、その様子が示されています。

上のデモンストレーションビデオがYouTubeにアップロードされたのは2010年のことなので、古いバージョンのAndroidで行われています。しかし、NougatやMarshmallowなどの新しいバージョンのAndroidでタップジャックを可能にする脆弱性が明らかになったため、この攻撃は現在でも有効です。

では、どうすればいいのでしょうか?ユーザーとしては、これらのオーバーレイがもたらす結果を認識し、それを使用するアプリに注意することが重要です。APIレベル23(Android 6.0 Marshmallow)の時点で、この機能はユーザーが明示的に許可しなければならないものになりました。しかし、これではAndroidユーザーの50%がまだ脆弱であると言えます。どのアプリがこの許可を利用しているかは、設定の「他のアプリよりも表示」で確認することができます。

開発者は、ユーザーのアクションがユーザーの完全な知識と同意に基づいて行われることを確認する義務があります。Androidでは、それを実現するための設定をビューに用意しています。 filterTouchesWhenObscured. この設定を有効にすると、ビューのウィンドウが他の可視ウィンドウによって隠された場合、フレームワークは受信したタッチを破棄します。これはとても簡単なことです。 フィルタータッチズウィン・オブスキュア を true に設定すれば、アプリはタップジャッキングから安全になります。

頑張ってください。また来週お会いしましょう

時には、許可要求の承認、購入、広告のクリックなど、ある行為がユーザーの完全な知識と同意に基づいて実行されていることを、アプリケーションが確認することが不可欠な場合があります。残念ながら、悪意のあるアプリケーションは、表示の意図された目的を隠すことで、ユーザになりすまして無意識にこれらのアクションを実行させようとする可能性があります。

https://developer.android.com/reference/android/view/View.html

リソースを確認する
リソースを確認する

以下のフォームに記入してレポートをダウンロードしてください

当社は、当社の製品および/または関連するセキュリティコードに関する情報を送信するため、お客様の許可を得たいと考えております。お客様の個人情報は常に慎重に取り扱い、マーケティング目的で他社に販売することは決してありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「分析」Cookieを有効にしてください。完了後、いつでも再度無効にできます。
手里拿着手机的用户

タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。

まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

アプリケーションから連絡先ポップアップにアクセスできるようにする

Facebookのチャットバブルや、Google Mapsのナビゲーションが画面の隅に表示されるなど、この機能はクールで楽しいもので、ますます多くのアプリケーションで採用されています。

Secure Code Warrior 紹介ビデオ

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことをFacebookが知ることはできません。これにより、アプリがあなたを監視し、パスワードやクレジットカードのデータを盗む可能性があります。

さらに、タップジャッキングという言葉があるように、オーバーレイは他のアプリの上に何かを描き、ユーザーを騙して異なるアクションを実行させることができます。ユーザーはオーバーレイとインタラクトしていると思っていますが、実際には、ユーザーのタップは下にあるアプリのアクションを実行しています。このようにして、オーバーレイはユーザーをだまして、特定の許可を有効にしたり、危険な設定を変更したりすることができます。この古いYouTubeのビデオでは、その様子が示されています。

上のデモンストレーションビデオがYouTubeにアップロードされたのは2010年のことなので、古いバージョンのAndroidで行われています。しかし、NougatやMarshmallowなどの新しいバージョンのAndroidでタップジャックを可能にする脆弱性が明らかになったため、この攻撃は現在でも有効です。

では、どうすればいいのでしょうか?ユーザーとしては、これらのオーバーレイがもたらす結果を認識し、それを使用するアプリに注意することが重要です。APIレベル23(Android 6.0 Marshmallow)の時点で、この機能はユーザーが明示的に許可しなければならないものになりました。しかし、これではAndroidユーザーの50%がまだ脆弱であると言えます。どのアプリがこの許可を利用しているかは、設定の「他のアプリよりも表示」で確認することができます。

開発者は、ユーザーのアクションがユーザーの完全な知識と同意に基づいて行われることを確認する義務があります。Androidでは、それを実現するための設定をビューに用意しています。 filterTouchesWhenObscured. この設定を有効にすると、ビューのウィンドウが他の可視ウィンドウによって隠された場合、フレームワークは受信したタッチを破棄します。これはとても簡単なことです。 フィルタータッチズウィン・オブスキュア を true に設定すれば、アプリはタップジャッキングから安全になります。

頑張ってください。また来週お会いしましょう

時には、許可要求の承認、購入、広告のクリックなど、ある行為がユーザーの完全な知識と同意に基づいて実行されていることを、アプリケーションが確認することが不可欠な場合があります。残念ながら、悪意のあるアプリケーションは、表示の意図された目的を隠すことで、ユーザになりすまして無意識にこれらのアクションを実行させようとする可能性があります。

https://developer.android.com/reference/android/view/View.html

ウェビナーを視聴する
始めましょう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。

レポートを確認するデモを予約する
PDFをダウンロード
リソースを確認する
共有する:
リンクトインのブランドソーシャルx ロゴ
もっと知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
作者
ピーテル・デ・クレマー
2017年10月31日発行

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

共有する:
リンクトインのブランドソーシャルx ロゴ

タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。

まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

アプリケーションから連絡先ポップアップにアクセスできるようにする

Facebookのチャットバブルや、Google Mapsのナビゲーションが画面の隅に表示されるなど、この機能はクールで楽しいもので、ますます多くのアプリケーションで採用されています。

Secure Code Warrior 紹介ビデオ

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことをFacebookが知ることはできません。これにより、アプリがあなたを監視し、パスワードやクレジットカードのデータを盗む可能性があります。

さらに、タップジャッキングという言葉があるように、オーバーレイは他のアプリの上に何かを描き、ユーザーを騙して異なるアクションを実行させることができます。ユーザーはオーバーレイとインタラクトしていると思っていますが、実際には、ユーザーのタップは下にあるアプリのアクションを実行しています。このようにして、オーバーレイはユーザーをだまして、特定の許可を有効にしたり、危険な設定を変更したりすることができます。この古いYouTubeのビデオでは、その様子が示されています。

上のデモンストレーションビデオがYouTubeにアップロードされたのは2010年のことなので、古いバージョンのAndroidで行われています。しかし、NougatやMarshmallowなどの新しいバージョンのAndroidでタップジャックを可能にする脆弱性が明らかになったため、この攻撃は現在でも有効です。

では、どうすればいいのでしょうか?ユーザーとしては、これらのオーバーレイがもたらす結果を認識し、それを使用するアプリに注意することが重要です。APIレベル23(Android 6.0 Marshmallow)の時点で、この機能はユーザーが明示的に許可しなければならないものになりました。しかし、これではAndroidユーザーの50%がまだ脆弱であると言えます。どのアプリがこの許可を利用しているかは、設定の「他のアプリよりも表示」で確認することができます。

開発者は、ユーザーのアクションがユーザーの完全な知識と同意に基づいて行われることを確認する義務があります。Androidでは、それを実現するための設定をビューに用意しています。 filterTouchesWhenObscured. この設定を有効にすると、ビューのウィンドウが他の可視ウィンドウによって隠された場合、フレームワークは受信したタッチを破棄します。これはとても簡単なことです。 フィルタータッチズウィン・オブスキュア を true に設定すれば、アプリはタップジャッキングから安全になります。

頑張ってください。また来週お会いしましょう

時には、許可要求の承認、購入、広告のクリックなど、ある行為がユーザーの完全な知識と同意に基づいて実行されていることを、アプリケーションが確認することが不可欠な場合があります。残念ながら、悪意のあるアプリケーションは、表示の意図された目的を隠すことで、ユーザになりすまして無意識にこれらのアクションを実行させようとする可能性があります。

https://developer.android.com/reference/android/view/View.html

目次

PDFをダウンロード
リソースを確認する
もっと知りたいですか?

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースセンター

入門に役立つリソース

さらに多くの投稿
リソースセンター

入門に役立つリソース

さらに多くの投稿