クリックジャッキングとは何か、それを防ぐ方法
公開: 2023-01-17クリックジャッキングは、最初の Web サイトがインターネットに登場して以来、悪意のある Web エクスプロイトです。 クリックジャッカーは、ある Web ページを別の Web ページに埋め込む方法を悪用します。 不正なソーシャル エンジニアリングと組み合わせると、クリックジャッキング攻撃は途方もなく高い成功率を維持し、何百万人もの無防備な被害者を毎日標的にしています。
世界で最も人気のある Web サイト構築フレームワークである WordPress は、クリックジャッキングの大きな標的となっています。 デフォルトでは、WordPress のログイン ページと管理エリアのみ、別の Web ページに埋め込むことができません。 サイトに他の場所に埋め込まれたくない部分がある場合は、それらを保護するための措置を講じる必要があります。
クリックジャッキング、またはユーザー インターフェイス修復攻撃に関するこのガイドでは、攻撃者が WordPress Web サイトのコンテンツを使用して機密情報を盗んだり、ユーザーをだまして害を与えたり、助けたりすることを防止する方法について説明します。クリックジャッカー。
クリックジャッキングとは?
名前が示すように、クリックジャッキングはクリックやその他の Web インターフェース アクションをハイジャックします。 これにより、クリックジャッカーは疑いを持たない犠牲者に代わって、自分の目的のためにアクションを実行できます。
クリックジャッキングの技術名は「インターフェースの修正」です。 クリックジャッカーは、正規の Web ページを自分の Web サイトに埋め込むことで、そのページを「装い直して」おり、独自のコードを使用して、訪問者がページを操作したときに何が起こるかをこっそりと変更できます。 これは、犯罪者が作成した悪意のある Web ページに、正規の Web サイトやサービスのログイン ページや支払い画面などの正規のコンテンツを埋め込むことによって実現されます。 訪問者は、一見無害に見えるボタンをクリックしたり、テキスト ボックスに情報を入力したり、要素のドラッグ アンド ドロップを実行したりすることさえできます。 彼らは、攻撃者に利益をもたらす別の予期しないアクションを実行する隠しインターフェイスを認識しません。
クリックジャッカーは、あなたのコンテンツでサイトを偽装することで、サイトの訪問者をだまして、機密情報の提供やマルウェアのダウンロードなどの望ましくないアクションを実行させようとします.
クリックジャッキングの仕組み
クリックジャッキング攻撃は、 <iframe>
または<objects>
要素を使用して、ある Web サイトから別のサイトのページ内に Web ページを読み込む HTML の機能を利用します。
ほとんどの場合、ユーザー インターフェイスの改ざん攻撃は、ユーザーが特定の Web サイトにログインし、ユーザーがクリックジャッカーの「改ざんされた」サイトとやり取りしているときにそのサイトにいると信じていることに依存しています。 このようにして、悪意のある Web ページに誘導されたユーザーは、銀行や使い慣れた WordPress サイトと対話していないことに気付かずに、クリックジャッカーが望む特定のアクションを実行する可能性があります。
クリックジャッキングの主な 5 つのタイプ
攻撃者の最終的な目的に応じて、かなりの種類のクリックジャッキング戦略があります。 比較的無害な活動 (コンテンツ サイトの閲覧回数を増やしたり、投稿や動画でいいね! を獲得したりする) から、無防備な被害者からログイン情報や金銭を盗むことまで、さまざまです。
クリックジャッキングは、さまざまな悪意のある活動を実行する非常に用途の広い方法です。 クリックジャッキングはサイバー攻撃の一種と考えられていますが、XSS やクロスサイト スクリプティングなどの他の攻撃を助長する可能性もあり、XSS ペイロードを使用して XSRF やクロスサイト リクエスト フォージェリ攻撃を助長することさえあります。
クリックジャッキング攻撃の最も一般的な 5 つのタイプを以下に示します。
- 古典的なクリックジャッキング。 被害者の Web サイトまたはサービスを選択し、そのコンテンツを使用してユーザーをだまして多くの望ましくないアクションを実行させることを伴います。
- ライクジャッキング。 特定の Web ページや動画の閲覧数やいいね! を増やすことを目的とした、クリックジャッキングの古いバリエーションです。 かなり無害と見なすことができ、最近ではめったに見られません。
- カーソルジャッキング。 攻撃者が実際のカーソルを偽のカーソルに置き換えて、ユーザーをだまして悪意のある要素に気づかずにクリックさせる手法。
- クッキージャッキング。 攻撃者が使用する一般的な戦術は、被害者のブラウザに保存されている Cookie を取得することです。 ほとんどの場合、攻撃者の Web ページで無害に見えるドラッグ アンド ドロップ操作を実行するように招待されたユーザーによって実行されます。
- ファイルジャッキング。 攻撃は、ユーザーのデバイス上のファイルを開くブラウザの機能を悪用し、攻撃者がローカル ファイル システムにアクセスできるようにします。 ローカル ファイル システムに加えて、攻撃者はデバイスまたは場所のマイクにアクセスできます。
クリックジャッキングの被害者: ソーシャル メディア プラットフォームからオンライン決済システムまで
クリックジャッキングは、Facebook や Twitter などの主要なソーシャル メディア プラットフォームがクリックジャッキングのさまざまなバリエーションの犠牲になった約 10 年前に特に人気がありました。 たとえば、2000 年代後半に行われたクリックジャッキング攻撃では、攻撃者は被害者をだまして、Facebook の友達リスト全体に 1 回のクリックでスパムを送信させることができました。
過去 10 年間でユーザー インターフェイスの修復が人気を博したことで、大手テクノロジー企業は、この種の攻撃からプラットフォームを保護するための適切な措置を迅速に講じるようになりました。 ただし、セキュリティ研究者は、今日でも大規模な組織に影響を与える脆弱性を報告し続けています。
最近発見された最も顕著な脆弱性の 1 つは、Paypal に影響を与えるものでした。 2021 年、攻撃者がワンクリック送金を悪用してユーザーのアカウントからお金を盗む可能性がある、Paypal の送金サービスの脆弱性に脅威研究者が遭遇しました。 Paypal は研究者を表彰し、状況に対処する計画を発表しました。
完璧な罠: クリックジャッキング攻撃の設定
クリックジャッキング攻撃には、ターゲットまたは被害者の Web サイトの選択、悪意のある Web ページの作成、ターゲットのサイトまたはサービスの顧客を誘導するという 3 つの主な手順が含まれます。
ステップ 1. ターゲット Web サイトの選択
大多数の大企業は、攻撃者が顧客に対してクリックジャッキング攻撃を実行するのを防ぐ強力なセキュリティ対策を実施しているため、ハッカーは小規模な企業を標的にすることがよくあります。 WordPress の Web サイトは、WordPress のコンテンツが攻撃者の Web サイトに埋め込まれないようにするデフォルトのセキュリティ対策をソフトウェアが強制しないため、犯罪者にとって特に魅力的です。
WordPress のログイン ページと管理ダッシュボードは例外として機能しますが、サイトの残りの部分を保護する責任は Web サイトの所有者にあります。 次回ハッカーがあなたの Web サイトを攻撃する理由を考えたとき、その答えは簡単です — 特に WordPress ソフトウェアを最新の状態に保っていない場合は、ハッカーがあなたを標的にするのは簡単で便利です. WordPress のプラグインやテーマには常に多くの脆弱性が存在するため、何をインストールするかを適切に選択することが不可欠です。 そして、すべてのソフトウェアを最新の状態に保ちます。 そうしないと、簡単なターゲットになります。
運用している WordPress Web サイトの種類と公開しているコンテンツに応じて、攻撃者は Web サイトのさまざまな部分を標的にすることができます。 WordPress クリックジャッキングは、多くの場合、Web フォーム、WordPress 管理外のログイン ページ、およびワンクリック チェックアウトが有効になっている WooCommerce チェックアウト ページをターゲットにします。
ステップ 2. 悪意のある Web ページの作成
ターゲット Web サイトが選択され、クリックジャッキングに対して脆弱であることが判明すると、攻撃者は悪意のある Web ページを作成して、ユーザーをだまして特定のアクションを実行させます。 WordPress のクリックジャッキングは、e コマース機能を標的にする可能性が高いですが、認証情報の盗用とスパムの送信は、依然として攻撃者によって設定された一般的な目標です。
クリックジャッキングの良い例は、賞品を獲得したと主張し、それを請求するように招待するページです。 「賞品を請求する」ボタンをクリックすると、実際には個人情報を提供したり、購入や送金を確認したりします。
ステップ 3. ターゲット Web サイトのユーザーを罠におびき寄せる
クリックジャッキング攻撃が成功するには、攻撃者はユーザーに悪意のある Web ページを開かせ、それが正規の見慣れたサイトの一部であると信じ込ませる必要があります。 これは多くの方法で実現できます。たとえば、電子メールでリンクを送信したり、攻撃者が以前にハッキングした感染したサードパーティの Web サイトからユーザーをリダイレクトしたりします。
通常とは異なる、予期しない、または疑わしい電子メール、テキスト、またはチャットのリンクをクリックしなければ、攻撃者の悪意のある Web ページが完全に正当に見え、疑念を抱かなくても、クリックジャッキングの試みが成功する可能性は非常に低くなります。 最新のブラウザは、クリックジャッキングに対する幅広い保護も採用しており、警戒と現在のブラウザ技術を組み合わせることで、UI 修正攻撃の成功率を大幅に下げることができます。
クリックジャッキングの被害に遭わない方法
あらゆる種類のクリックジャッキングから身を守るには、疑わしい電子メール、広告、および Web サイトへのリンクを開かないでください。 検証されていないソースからソフトウェアをインストールしないでください。 クリックジャッキングは欺瞞的なソーシャル エンジニアリングの手法に依存しているため、それらを見つける方法を学ぶことが最善の防御策です。 さらに、すべてのブラウザーとオペレーティング システムを最新バージョンに更新しておく必要があります。 また、堅牢なブラウザー セキュリティ拡張機能をインストールし、最新のウイルス対策ソフトウェアを使用して、クリックジャッキングやその他の危険なサイバー攻撃の犠牲にならないようにすることもできます。
リンクをクリックするように誘うのを疑う
クリックジャッカーは、電子メール、SMS、およびメッセージング アプリを使用して潜在的な被害者にリンクを送信することがよくあります。 このようなメッセージを要求またはトリガーするために何もしていない場合は、その発信元を確認してください。 クリックジャッカーは、Paypal などの正当なサイトに似たドメイン、サブドメイン、およびアカウント名からメッセージを送信することがよくあります。 これらの疑わしい送信者を作る小さな違いを検出できるかどうかを確認してください。
- [メール保護]
- http://paypaI.com
最初のケースでは、「paypal」は誰でもプライマリ トップレベル ドメインに接続できるサブドメインであり、この場合は「app1.com」です。 それはペイパルではありません。
2 番目のケースでは、小文字の 'l' が大文字の 'I' に置き換えられています。これは、多くの一般的なフォントと同じです。 クリックジャッカーは、多くの場合、このようなわずかにスペルミスのあるドメインを登録して、正当な送信者からのものであると人々に信じ込ませます。
メールのヘッダーを見て、メッセージの発信元を確認することもできます。 金融機関やその他の重要なアカウントで使用されているドメインと電子メール アドレスをよく理解しておいてください。 彼らはまた、どのようにあなたに連絡するか、または連絡しないか、またどのように身元を明かすかを概説するポリシーを持っています. これらのパラメーターから外れた通信は信用しないでください。 後悔するより安全であること!
アンチ クリックジャッキング ブラウザ拡張機能をインストールする
ブラウザーに組み込まれているセキュリティ機能に加えて、アンチ クリックジャッキング ブラウザー拡張機能を使用すると、クリックジャッキングやクロスサイト スクリプティング攻撃に対するより高いレベルの保護を提供できます。 NoScript は、Google Chrome、Mozilla Firefox、および Microsoft Edge でサポートされている最も人気のあるクロスブラウザー拡張機能です。 JS Blocker は、Safari ユーザーにとって NoScript の優れた代替手段です。
クリックジャッキングから WordPress Web サイトを保護するための 3 つのステップ
WordPress は、デフォルトで管理ダッシュボードとそのログイン ページをクリックジャッキングから保護しますが、Web サイトの他のすべての領域には追加の保護が必要です。 現在、ほとんどの Web サイトに対して実行できる攻撃の数は、サイト所有者にとってセキュリティを最優先事項にしています。
幸いなことに、WordPress のクリックジャッキングから身を守る方法はたくさんあります。 、いくつかのアプローチを組み合わせて、それらがすべてのブラウザーでサポートされるようにする必要があります。 さらに、セキュリティ対策を組み合わせることで、Web サイトのコンテンツを、UI 修復攻撃が助長するあらゆる種類の悪意のある活動から確実に保護することができます。
クリックジャッキングから WordPress Web サイトを保護するために実行できる 3 つの大きなステップがあります。
- X-Frame-Options ヘッダーを設定して、信頼されていないサードパーティ リソースのフレームに Web サイトのコンテンツが読み込まれないようにします。
- コンテンツ セキュリティ ポリシー (CSP) の frame-ancestors ディレクティブを構成して、Web サイトのページをフレームに埋め込むことができる Web サイトを指定します。 (通常は「なし」で構いません。)
- Set-Cookie ヘッダーの SameSite Cookie 属性を使用して、クリックジャッキングとクロスサイト リクエスト フォージェリ (CSRF) の試みの両方から防御します。
.htaccess を使用して WordPress の HTTP 応答ヘッダーを構成する
応答ヘッダーは、サイトと訪問者のブラウザー間のクライアント サーバー通信用の特定の変数を定義するために使用される HTTP ヘッダーです。 それらは訪問者には見えません。 X-Frame-Options、Content Security Policy、および Set-Cookie はすべて、HTTP 応答ヘッダーの例です。
特定の WordPress プラグインを使用して WordPress Web サイトで HTTP 応答ヘッダーを構成できますが、最も簡単な方法は、ローカルの .htaccess ファイルを使用することです。 (これは、サーバー環境で Apache または Litespeed を使用して HTTP 要求を処理することを前提としています。) Web サイトのルート ディレクトリにある .htaccess ファイルで指定されたヘッダー構成は、Web サイトのすべてのページに適用されます。
mod_headers Apache モジュールを使用すると、 Header setステートメントとHeader appendステートメントを使用して、.htaccess で応答ヘッダーを構成できます。 特定のヘッダーは Web サーバーのグローバル構成で構成できるため、既存の構成を置き換えるのではなく、 Header appendを使用して、構成された値を既存の応答ヘッダーにマージすることをお勧めします。
ホスティング プロバイダーはデフォルトですべての Web サイトに対して特定の HTTP 応答ヘッダーを構成できるため、問題を回避するために .htaccess に変更を加える前にプロバイダーに連絡することをお勧めします。
X-Frame-Options ヘッダーを設定する
X-Frame-Options ヘッダーは、Web ページをフレーム内にレンダリングできるかどうかと、レンダリングを許可するリソースのリストを定義します。 X-Frame-Options には、DENY と SAMEORIGIN の 2 つのディレクティブがあります。 以前に使用されていた ALLOW-FROM ディレクティブは非推奨になりました。
DENY 値は、Web サイトが Web サイトのコンテンツをフレームに埋め込むことを効果的に防止します。 X-Frame-Options を SAMEORIGIN に設定すると、リクエストが Web サイトの他のページからのものである場合に、コンテンツ フレーミングが許可されます。
WordPress Web サイトで X-Frame-Options ヘッダーを構成するには、WordPress インストール ディレクトリの .htaccess ファイルに次のいずれかの行を追加します。 (set オプションが使用されていることに注意してください。)
ヘッダー セット X-Frame-Options "DENY"
ヘッダー セット X-Frame-Options "SAMEORIGIN"
最新のブラウザーには X-Frame-Options の部分的なサポートしか含まれていないか、CSP の frame-ancestors ディレクティブを優先して非推奨になっていますが、WordPress Web サイトで構成すると、古いブラウザーが保護されます。
コンテンツ セキュリティ ポリシーの Frame-Ancestors ディレクティブの構成
コンテンツ セキュリティ ポリシーの応答ヘッダーは、クリックジャッキング、クロスサイト スクリプティング、リクエスト フォージェリ、パケット スニッフィング、データ インジェクション攻撃など、さまざまな攻撃を軽減するのに役立つ強力なセキュリティ対策です。 コンテンツ セキュリティ ポリシーは、最新のすべてのブラウザーでサポートされています。
Content Security Policy の frame-ancestors ディレクティブをnoneまたはselfに設定して、コンテンツ フレーミングを拒否したり、その使用を同じ Web サイト内に制限したり、信頼できる Web サイトのリストとコンテンツ タイプのリストを指定したりできます。それぞれが額装することができます。
以下の行を .htaccess に追加すると、すべてのタイプのコンテンツのフレーミングが現在の Web サイトに制限されます。
ヘッダー セット Content-Security-Policy "frame-ancestors 'self'"
次のバリエーションでは、HTTPS を使用する必要があります。
ヘッダー セット Content-Security-Policy "frame-ancestors 'self' https://mywpsite.com"
SameSite 属性を使用して Set-Cookie ヘッダーを追加する
Set-Cookie 応答ヘッダーは、サーバーからブラウザーに Cookie を転送するために使用されます。 SameSite 属性を構成すると、Cookie の使用を現在の Web サイトに制限できます。 これにより、対象の Web サイトでユーザーの認証を必要とするクリックジャッキング攻撃や、クロスサイト リクエスト フォージェリに対する保護を確保できます。
SameSite をstrictに設定すると、ターゲット リソースでユーザーが認証されている場合でも、フレーム内でターゲット Web サイトに対して要求が行われた場合に、セッション Cookie が送信されなくなります。 対策だけでは、すべての種類のクリックジャッキングおよびクロススクリプト フォージェリ攻撃を軽減できないことに注意してください。
WordPress サイトで Set Cookie ヘッダーの SameSite 属性を実装するには、次の行を .htaccess ファイルに追加します。
ヘッダー セット Set-Cookie ^(.*)$ "$1; SameSite=Strict; Secure
簡単なクリックジャッキング テスト
簡単な HTML ページを作成することで、Web サイトのコンテンツを別のリソースからフレームにロードできるかどうかを確認できます。 OWASP が提供する以下のコードで HTML ファイルを作成し、ブラウザで開きます。 フレームに埋め込まれた Web ページが表示されない場合は、コンテンツのフレーミングが正常に制限されています。
コンテンツ フレーミングを完全に無効にしていない限り、所有している別の Web サイトにページをアップロードすることをお勧めします。 その場合、テストしているのと同じ Web サイトの 1 つを作成できます。
<html>
<head>
<title>Clickjacking Test</title>
</head>
<body>
<iframe src="https://mywpsite.com/some-page" width="500" height="500"></iframe>
</body>
</html>
iThemes Security Pro を使用して、WordPress サイトでのクリックジャッキングやその他のサイバー攻撃を防ぎます
クリックジャッキングは、ユーザー インターフェイスの修正とも呼ばれ、別の Web ページ内に Web ページを読み込む機能を悪用して、ユーザーを騙して不要なアクションを実行させます。 WordPress のクリックジャッキングは、WordPress のログイン ページと管理ダッシュボード以外の Web ページを保護する組み込みの保護機能がないため、非常に一般的になっています。
X-FRAME-OPTIONS、Content Security Policy、Set-Cookie などの HTTP 応答ヘッダーを使用して、他のユーザーが Web サイトのコンテンツをフレーム化する機能を制限することで、クリックジャッキングから身を守ります。 WordPress のインストール ディレクトリにあるローカルの .htaccess ファイルを使用すると、これらのセキュリティ ポリシーをサイト全体に簡単に適用できます。
クリックジャッキングは依然として活発なセキュリティ上の脅威であり、クロスサイト スクリプティングとリクエスト フォージェリはしばしば密接に関連しています。 WordPress ウェブサイトのセキュリティのあらゆる側面に注意を払ってアプローチすることで、このような一般的なセキュリティの脅威から身を守りましょう。
iThemes Security Pro は、WordPress サイトの最も脆弱な領域を保護する 30 以上の方法を提供し、悪意のある攻撃者が採用する最新の洗練された戦術からサイトを守ります。 強力な脆弱性スキャン、パスワードレス認証、およびファイル整合性監視により、攻撃対象領域を大幅に削減できます。
BackupBuddy と iThemes Sync Pro は、WordPress Web サイトを定期的にバックアップし、高度なアップタイム モニタリングと SEO 分析を提供するのに役立ちます。
iThemes を使用すると、WordPress コミュニティの最新のセキュリティ脅威とニュースを確実に入手できます。 WordPress を初めて使用する場合、iThemes の無料の WordPress トレーニングは、素晴らしいスタートを切るためにまさに必要なものかもしれません。
WordPress を安全に保護するための最高の WordPress セキュリティ プラグイン
WordPress は現在、すべての Web サイトの 40% 以上で使用されているため、悪意のあるハッカーにとって格好の標的となっています。 iThemes Security Pro プラグインは、WordPress のセキュリティから当て推量を取り除き、WordPress Web サイトを簡単に保護および保護できるようにします。 これは、WordPress サイトを常に監視して保護するフルタイムのセキュリティ専門家がスタッフにいるようなものです。
Kiki は情報システム管理の学士号を取得しており、Linux と WordPress で 2 年以上の経験があります。 彼女は現在、Liquid Web と Nexcess のセキュリティ スペシャリストとして働いています。 それ以前は、Kiki は Liquid Web Managed Hosting サポート チームの一員であり、何百人もの WordPress Web サイト所有者を支援し、彼らがよく遭遇する技術的な問題について学びました。 彼女の執筆への情熱により、彼女は自分の知識と経験を共有して人々を助けることができます。 テクノロジーとは別に、キキは宇宙について学んだり、真の犯罪に関するポッドキャストを聞いたりすることを楽しんでいます。