
セキュアコーディングの手法。タップジャッキングとは?
タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。
まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

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

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことを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、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するアプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者


タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。
まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

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

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことを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

タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。
まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

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

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことを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
タップジャッキングとは、「タップ」と「ハイジャック」を組み合わせた言葉で、まさにその意味です。攻撃者がユーザーのタップを乗っ取り、意図しないことをさせる攻撃です。では、どのような仕組みで、どのようにして防ぐことができるのでしょうか。
まず、スクリーンオーバーレイについて説明します。スクリーンオーバーレイとは、Googleでは「TYPE_APPLICATION_OVERLAY」タイプのウィンドウと呼ばれています。 これは、他のアプリの上に描画されるウィンドウで、通常は画面の一部が見えなくなるだけです。これらは、アプリが新しい許可を要求するときに(下の画像の例のように)よく使用されます。

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

しかし、これらのオーバーレイには、いくつかのセキュリティリスクがあります。アクティブなスクリーンオーバーレイは、タップの音を聞くことができ、私たちがバブルをタップしたりドラッグしたりしたことを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
始めるためのリソース
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
OpenText アプリケーションセキュリティのパワー + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
セキュアコード・トレーニングのトピックと内容
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
始めるためのリソース
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.





.png)
