Facebookワームは正確にどのように機能しますか?


27

私は当初、FBの友人がアプリを無邪気に受け入れて特権を与えていたため、悪意のあるリンクを拡散していると考えていましたが、そうではないと言います。交換を見る:

フレンド:「あなたが私から得たリンクをクリックしないでください!それは感染しています!私は(名前が編集されました)からそれを得ました!!!ごめんなさい!私は立ち寄らなければなりません******!」
私:「FBアプリケーションを受け入れました。あなたがしなければならないことは、アカウント->プライバシー設定->アプリとウェブサイトに行き、問題のあるアプリケーションを受け入れないことです。だから私はFBアプリをしません。
友人:アプリではありません。リストにない...それはワームです

それはどのように機能しますか?ユーザーがリンクをクリックするとJavaScriptが悲惨になりますか?

回答:


31

はい、まさにJavaScriptです。私はそのようなワームに出会い、それを解読しようとしました。

実際の問題は何ですか:

最近のFacebookワームは、ユーザーをページにアクセスさせることで機能し、JavaScriptバーコードをアドレスバーに挿入して実行します。

したがって、JavaScriptコードをアドレスバーに絶対にコピーしないでください。それが主な問題です。信頼できないリンクをクリックしないでください。または、少なくとも、プライバシーモード(Firefox)またはシークレットモード(Chrome)を使用してこれらのリンクを新しいウィンドウで開き、Facebookセッションにアクセスできないようにします。


私たちのハッカーは、人々が何をしているのか気付かないようにするために何をしましたか?

スクリプトをエスケープする

URLバーにコピーした文字列は、実行される別のJavaScriptにリンクしています。このスクリプトは実際にはエンティティにデコードされます。そのため、文字列文字を使用する代わりに、スクリプト全体を文字列に入れてエスケープし、人間が最初に読み取れないようにしました。

たとえば、非常に悪意のある機能があった場合、私はそれをエスケープし、ユーザーには次のものだけが表示されます。

function%20test%28%29%20%7B%20alert%20%28%22LOL%22%29%3B%20%7D

エスケープされていない

function test(){alert( "LOL"); }

したがって、スクリプトは実行される前に「自分自身」のエスケープを解除します。

難読化する

今ではitいものになっています:エスケープする前に、邪悪なJavaScriptコードが難読化され、関数名_____xやのような変数が使用されていaLDIWEJます。これはJavaScriptにとって依然として意味がありますが、人間にはまったく読めません。これも、Facebookハッカーの意図を隠すために行われます。

この時点で、コードは次のようになります。

ここに画像の説明を入力してください

スクリプトの機能

このスクリプトは、現在のFacebookセッションを取得します。サイトにログインしているため、あなたの名前で何でもできます。たとえば、FacebookのAPIを介してできることは次のとおりです。

  • 「OMG誰が私に忍び寄ったかわかる!」のようなイベントを作成する
  • 人とおしゃべり
  • ステータス更新の投稿

これはすべて、Facebook APIページの一部(いくつかのPHPページ、私はどちらを忘れたか)を呼び出すことで起こります。


5

要するに...それはウイルスです...他のように。自分自身を複製するために使用する方法は、他の誰かのページから実行された後、アカウントに投稿することです。使用しているブラウザやオペレーティングシステム、およびその脆弱性に応じて、何でも可能です。基本的に、スクリプトがブラウザ内で実行されると(単純なクリックから開始できます)、キャッシュされた資格情報を使用して、最初にクリックしたのと同じ/類似のリンクを含むページに投稿を作成します。

javascript / flash /を無効にする(facebookで必要とされる)こと以外では、そのようなエクスプロイトから身を守ることはできません。

他の投稿のリンクをクリックする前に、手っ取り早い回避策を...それがどこに向かっているかを見てください。ハッシュマーク(「#」)で終わるリンクや、何らかのJavaScriptリファレンスを含むリンクを避けたり、実際のリンクを持たないようにしてください。(つまり、どのURLにもアクセスしていないようです)

または、あなたはいつも私のアプローチをとることができます...そしてfacebook / twitter / etc ...を完全に避けてください。価値や重要性を割り当てるサービスについては、まだ何も見つけていません。友人や家族は、メールを送信する方法を知っています...またはもっと良い...電話を取ります。(価値があるかどうかについての私の意見)


1
本当に正確ではありません...これから身を守る方法はたくさんあります。たとえば、NoScriptなどのプラグインを使用して、javascriptを実行しないようにすることができます。プライバシーモード/シークレットモードを使用してリンクを新しいウィンドウで開くと、新しいウィンドウからFacebookセッションにアクセスできなくなります。セキュリティが疑わしいリンクの回避のみに依存している場合、あまり効果的ではありません。代わりに安全なブラウジングツールを正しく使用すれば、リンクをクリックするたびに何が潜むのかを心配する必要はありません。
ブライアンシュロス

@Brian Schroth:私の投稿で言ったように、「javascript / flash / ....を無効にすることはできません」NoScriptはまさにそれを行います。リンクのターゲットを見るだけでは多くのエクスプロイトからあなたを救うことはできません...シークレットモードなどは、ウイルスの感染からあなたを保護しません...また、セッション間のリンクをたどろうとすると問題を引き起こします。真実では...人々はリンクの向こうにあるものを恐れて生きるべきです。彼らはクリックしているものについて考える時間をとるべきです。
-TheCompWiz

1
NoScriptはJavascriptを無効にしません。javascriptが実行するものと実行しないものをきめ細かく制御します。あなたの答えは、「Javascriptを無効にする」と、Facebookを使用できなくなることを意味します。ただし、NoScriptを使用する場合は、ランダムなマルウェアサイトのJavascriptから保護しながら、facebook.comスクリプトを許可できます。
ブライアンシュロス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.