進化するフィッシング:PWAを使ってパスワードを盗む方法

プログレッシブウェブアプリ(PWA)を使用して、簡単に見分けがつかないようなデザインの偽ブラウザーウィンドウを表示しパスワードを窃取する、新たなフィッシングの手口について、セキュリティのリサーチャーが自身のブログで明らかにしました。

mr.d0xとして知られるセキュリティのリサーチャーが、フィッシングやその他の悪意のある活動に使用できる新たな手法を詳しく説明した記事を公開しました。この手法は、いわゆるプログレッシブウェブアプリ(PWA)を悪用するものです。今回は、これらのアプリケーションは何なのか、なぜ危険なのか、攻撃者が自身の目的にそれらをどのように使用するのか、そしてこの脅威から身を守る方法について説明します。

プログレッシブウェブアプリとは

PWAは、Webテクノロジーを使用して開発されたアプリケーションです。本質的には、OSにインストールされたネイティブアプリケーションとまったく同じ外観と機能を持つWebサイトです。

基本的な考え方は、Electronフレームワーク上に構築されたアプリケーションと似ていますが、重要な違いが1つあります。Electronアプリは、Webサイト(中身)とそのサイトの実行専用のブラウザー(パン)の「サンドイッチ」のようなものです。つまり、各Electronアプリケーションは組み込みのブラウザーを持ちます。対照的に、PWAは、ユーザーのシステムに既にインストールされているブラウザーのエンジンを利用して、パンのないサンドイッチのように同じWebサイトを表示します。

最新のブラウザーはすべてPWAをサポートしており、Google ChromeおよびChromiumベースのブラウザー(Windowsに付属するMicrosoft Edgeブラウザーを含む)では、特に包括的な実装が提供されています。

PWAのインストール(それぞれのWebサイトがサポートしている場合)は非常に簡単です。ブラウザーのアドレスバーにある目立たないボタンをクリックして、インストールを確定するだけです。GoogleドライブのPWAを例として、その方法を次に示します。

PWAのインストールはたった2回のクリックで完了します

完了すると、PWAがすぐにシステム上に表示されます。本格的なプログラムのアイコン、独自のウィンドウ、およびその他のすべての属性を備えた実際のアプリケーションのようです。PWAウィンドウからは、それがWebサイトを表示する実際のブラウザーであるかを見分けるのは容易ではありません。

GoogleドライブのPWAは実際のネイティブアプリケーションのように見えます

PWAベースのフィッシング

PWAとブラウザーで開いた同じWebサイトとの重要な違いの1つは、上のスクリーンショットで明らかです。PWAウィンドウにはアドレスバーがありません。この特徴こそが、この記事で説明するフィッシング手法の土台となっています。

ウィンドウにアドレスバーがないため、攻撃者はフィッシングの目的に合ったURLを表示することができます。例えば、下の画像はlogin.microsoft.comを模倣したPWAです。

PWAを使用すると、Microsoftアカウントのログインページなど、あらゆるサイトを巧妙に模倣することができます。出典

攻撃者は、PWAに馴染みのあるアイコンを表示させることで、正規のページだと信じ込ませるほど精巧な偽サイトになります。

残る唯一の課題は、被害者に対してPWAをインストールするよう誘導することです。この目的は、説得力のある言葉と巧みに設計されたインターフェイスを使用すれば、簡単に達成することができます。

PWAのインストールダイアログで表示されるアプリ名は、攻撃者が意図する内容にすることができる点に注意することが重要です。実際の提供元は、あまり目立たない2行目のWebサイトアドレスにしか表示されません。

悪意のあるPWAのインストールダイアログには、攻撃者の目的を後押しする名前が表示されます。出典

PWAを使用してパスワードを盗むプロセスは、一般的に次のように展開されます。

  • 被害者が悪意のあるWebサイトを開きます。
  • Webサイトで、被害者にPWAをインストールするよう誘導します。
  • すぐにインストールが行われ、PWAウィンドウが開きます。
  • 正規のものに酷似したURLが表示された偽のアドレスバーを持つフィッシングページが、PWAウィンドウに開きます。
  • 被害者がフォームにログイン情報を入力し、その情報が直接的に攻撃者の手に渡ります。

悪意のあるPWAを使用したフィッシングの手口。出典

ネイティブアプリケーションをインストールするよう被害者を誘導するのは、言うまでもなく容易に行われます。ただし、いくつかの微妙な違いがあります。PWAのインストールは、従来のアプリケーションのインストールに比べて格段に速く、ユーザーの操作も大幅に少なくなります。

また、PWAは基本的にフィッシングサイトにわずかな機能拡張を加えたものであるため、開発も簡単です。これらの要因により、悪意のあるPWAはサイバー犯罪者の強力なツールとなっています。

PWAフィッシングから身を守る方法

ちなみに、このフィッシング手法を明らかにしたmr.d0x氏は、私たちが数年前の記事で紹介した「Browser in the Browser」のフィッシング手法を考案したことで以前から注目されていました。それ以降、アカウントのパスワードを盗むだけでなく、ランサムウェアを拡散させる目的でこの手法を攻撃者が使用した事例がいくつか報告されています。

このような前例があることから、サイバー犯罪者が悪意のあるPWAを採用して新しい手口を考案し、フィッシング以外にもこの手法を使用する可能性は非常に高いです。

この脅威から身を守るためにできること

  • PWAに遭遇した場合は注意し、疑わしいWebサイトからのインストールは控えるようにしましょう。
  • システムにインストールされているPWAのリストを定期的に確認するようにしましょう。たとえば、Google Chromeではアドレスバーにchrome://apps と入力すると、インストールされているPWAを表示して管理することができます。

Google ChromeにインストールされているPWAを表示または削除するには、アドレスバーにchrome://appsと入力します

ヒント