Malware WebサイトまたはWebサイトでマルウェアを検出する手順を検出するPythonスクリプト?
-
28-10-2019 - |
質問
マルウェアの検出(GoogleのSafebrowsingのように)のテクニックがどのように機能するかを知りたいと思いますか?グーグルは私の大義を助けません。呼ばれるものを見つけました Cuckoobox そのようなことをします。
Webサイトのマルウェア検出は正確にどのように機能しますか?そのためのアルゴリズムは何ですか? Google Safebrowsingなどを使用するアルゴリズムは何ですか?
利用可能なPythonスクリプトはありますか?
解決
これは、複数のソリューションを使用して最適に提供される興味深い問題です。
Googleはおそらく悪意のあるドメインのリストを保持し、ドメインにアクセスします - ユーザーインタラクションなしで.exeを提供しようとしましたか?コンテンツは意味がないようですか?その他のそのような量子。 - 悪意を持ってマークします。別のドメインにアクセスしてください、それはあなたのリストにあるものに悪意のあるものにリダイレクトしましたか?信頼されていないものとしてマーク。次に、機械学習/回帰類似物を適用して、信頼性を高め、誤検知を減らすことができます。さらに進んで、一部のドメインのライトスキャンと他のドメインのディープスキャンを使用できます(ディープスキャンは、より多くのリソースを使用するCuckooのようなものを使用する可能性があるためです)。ドメインの名前は賢明な単語であり、WHOIS情報と一致していますか?それとも意味がありますか?
もう1つのアプローチは、Webブラウザーと一般的なプラグインの脆弱性について、既知のエクスプロイト(Thier Name and Code-Signature)のリストを保持することです。次に、Webサイトが知っているエクスプロイトを提供しようとするかどうかを確認します。既知のエクスプロイトのリストを生成するには、CVEまたは別のオープンデータベースをスキャンしてエクスプロイトを取得し、それらからハッシュを作成します。
他のヒント
基本的に、ブラウザが行うことは、問題のURL/ドメインのGoogleの巨大なデータベースの既知のマルウェアサイトの巨大なデータベースをクエリするだけです。
Googleがそのデータベースを構築する方法は別のストーリーです。彼らはおそらく、すでに既知の脅威を検出するために、さまざまな研究者やウイルス対策製品と協力しています。それとは別に、彼らはおそらく「疑わしい」URLまたはドキュメントコンテンツ(フラッシュ、PDF、Java、またはブラウザエクスプロイトトリガー、シェルコード、ROPチェーン、ヒープスプレースクリプトなど)の自動検出があるでしょう。結局のところ、彼らはすでにインデックス作成のためにすべての内容を見る必要があるため、比較的複雑な分析を簡単に実行できます。彼らはまた、彼らのメールサービスを通じてスパムとフィッシングのメールで指摘されたURLを知っています。おそらく彼らがしていないことは、サンドボクシングなどを使用した手動マルウェア分析です。これは、セキュリティ/ウイルス対策企業の仕事です。
したがって、全体として、これは非常に複雑なタスクです。いいえ、そのジョブを行う単一のPythonスクリプトはありません(ただし、これに本当に興味がある場合は、実際にはRubyのような動的言語で書かれたより多くの小さなヘルパースクリプトとより複雑なフレームワークがあることがわかります。またはpython)。あなたが始めるためにあなたが見ることができるいくつかのプロジェクト(そしてそれは実際に他のタスクにも非常に役立つほど一般的である)::
- 免疫デバッガー/ビジュアルダックス: :リバースエンジニアリングマルウェア用。
- VirtualBox: :分離された環境でマルウェアを実行するため。
- メットアム: :アセンブリ操作用
- Wireshark: :マルウェアによって引き起こされるネットワークトラフィックを見るため。
- ...