Skip to content

Self-XSS攻撃について

あなたは恐らくLynqChatを利用していて以下のような画面が表示され、このページにたどり着いたでしょう。
あなたは攻撃者に騙されています。
メッセージの通り今すぐに☓ボタンで閉じてください。

👨‍💻開発者の方へ

これはSelf-XSSと呼ばれる攻撃方法にユーザーが騙されないようにするためのページです。
開発環境では以下のメッセージは省略されます。
また、安全のため本番環境で以下のメッセージを非表示にすることは出来ません。
開発者向けのSelf-XSSについてはこちら

Self-XSS対策のメッセージが表示されているコンソール画面

Self-XSSとは

まず、上の画像のウィンドウは開発者がウェブサイト(ウェブアプリ)の問題を探したりするための機能です。 普通の人間が生活する上ではまず必要ありません。

開発者が調査するために作られている以上なんでもできてしまい、 上の画像の入力欄は、任意のプログラムを入力するための入力欄です。

例えば、LynqChatを使っている端末の中にはアカウントにアクセスするための鍵が入っています。 もちろんこの鍵は入力欄に少しプログラムを書けば簡単に画面に表示したり、コピーさせたり、はたまた直接攻撃者に送ったりなどができます。
その鍵は前述の通りアカウントにアクセスするための鍵なので、攻撃者に送ったりするとあなたと全く同じことが出来てしまいます。
あなたのふりをしてメッセージを送ったり、パスワードを変えてあなたがアクセスできなくしたり、あなたの端末をサインアウトさせたり...

このようなユーザーを騙し正規の方法を使用して悪意のあるプログラムを実行させることをSelf-XSSと言います。

📝メモ

アカウントにアクセスするための鍵はパスワードやパスキーのデータなどではありません。
サインイン時に発行されるプログラムが操作するための鍵です。

もし言われたとおりにしてしまったなら

そのプログラムは以下のようなものかもしれません。

  • アカウントにアクセスするための鍵を攻撃者に送信
    アカウントにアクセスするための鍵を攻撃者に送信するプログラムである可能性もあります。もしこれが行われていた場合、前述の通りあなたと全く同じことが出来てしまいます。
  • チェーンメッセージの送信
    攻撃者に連絡するように仕向け、被害者を増やすメッセージをあなたに代わって送った可能性があります。
  • パスワードを直接変更する
    パスワードの変更には現在のパスワードが必要ですが、もし攻撃者にパスワードを送ってしまっていた場合はプログラムに現在のパスワードが埋め込まれているかもしれません。その場合はパスワードを直接変更している可能性があります。

そのため、サーバー管理者にすぐ連絡してください。 特に、以下の内容が必要です。

  • 誰に指示されたか
    使用しているLynqChatサーバー内でメッセージを受け取り、そのユーザーに指示された場合はすぐにそのLynqChatサーバーの管理者に連絡してください。そのユーザーの利用を制限し、さらなる被害を防げる可能性があります。
  • いつ入力したか
    いつプログラムを入力したかを記載することで、被害の調査をする際に絞り込むことができ、スムーズに進む場合があります。
  • どのアカウントにサインインしていたか
    プログラムを入力した時のアカウントを記載することが最も重要です。

また、今すぐに以下の手順で被害を抑えてください。

💡ヒント

ここではスマートフォンのPWAを使用していますが、異なる環境でも問題ありません。

1
メニューを開くお使いのLynqChatサーバーを開き、左上のメニューをタップします。
PWAのLynqChatのホーム画面
2
設定を開く下にある設定をタップします。
PWAのLynqChatのメニュー
3
サインアウトに進むサインアウトボタンをタップします。設定項目が多い場合は下に隠れている場合があるのでスクロールして探してください。必ず一番下に表示されます。
PWAのLynqChatの設定メニュー
3
サインアウトに進むサインアウトボタンをタップします。設定項目が多い場合は下に隠れている場合があるのでスクロールして探してください。必ず一番下に表示されます。
PWAのLynqChatの設定メニュー
4
サインアウトする確認モーダルが出るので、はいをタップします。
PWAのLynqChatのサインアウト確認モーダル
5
サインインするサインアウト処理が行われた後、サインイン画面になるのでもう一度サインインします。
PWAのLynqChatのサインイン画面

🤔これで何が起きるのか

ほとんどの攻撃者は恐らくアカウントにアクセスするための鍵を盗んでいきます。
本物の端末でサインアウトすることで、その鍵は無効化され、使用できなくなるので攻撃者はただの無駄な文字を盗んだことになります。
そして、サインインすると本物の端末では新しい鍵が使われるので、攻撃者が盗んだ前の鍵だけ無意味になります。

また、この対処をする前に攻撃者が何かをしていた可能性があります。
そのため、必ず上記のとおりにサーバー管理者に連絡してください。