Magentoコードをスキャンして悪意のあるコンテンツを検出するツール


8

サードパーティのモジュール、特にMagento Connect(または無料のモジュール)から提供されるモジュールに悪意のあるコードが導入されることに非常に関心があるクライアントがいるハッカーがMagentoサイトのさまざまな部分にアクセスできるようにするコードを含まない。

私の質問はこれです:コードのコンテンツをスキャンするために使用できるツールはありますか?このようなものですが、おそらくもっと深いです。

function check($contents,$file) {
        $this->scanned_files[] = $file;
        if(preg_match('/eval\((base64|eval|\$_|\$\$|\$[A-Za-z_0-9\{]*(\(|\{|\[))/i',$contents)) {
            $this->infected_files[] = $file;
        }
}

Webサーバー上で実行できるサービスです。

理想的には、コードがレポに入る前に各コミットをスキャンするサービスがあれば理想的です。


すばらしい質問です。私は生まれつきパラノイアなので、新しいモジュールをインストールするときに、コードに移動して疑わしいものがないかどうかを確認します。私が推測する問題は、彼らが何を探しているのか分からない人たちのためのものです。スマートフォンのカメラやマイクにアクセスする懐中電灯アプリのようなものです。手遅れになるか、インストールしているものを真剣に検討するまでわかりません。そうは言っても、誰かが解決策を考え出すことができるか、またはMagento Connectが許可するモジュールではるかに精力的になることを願っています。
SR_Magento 2015

1
Connectを使用せずに販売者サイトにアップロードする前に、ダウンロードしてコードレビューを支払うだけでいいのではないですか?
クリストフ、フーマンで2015

回答:


3

clamavの実行について考えましたか?- https://www.clamav.net/index.html -私はMagentoのを実行しているクライアントのUbuntuサーバー上で、最近、これを実行し、それが2つの感染ファイルに戻ってきた-スキャンの速度が印象的だったが、あなたはSSHアクセスを持っている場合は、容易に実行されます-Cronジョブを介して定期的に実行することもできます。

Ubuntuでclam AVを実行するには

ClamAVをインストールするには、次のコマンドを実行します

apt-get update
apt-get install clamav

ウイルスデータベースを手動で更新する

freshclam

ClamAVの更新プロセスが開始されます。ファイル/フォルダーを手動でスキャンしてウイルスを検出するには

clamscan -r --bell -i /

Ubuntuを使用していない場合の詳細な手順については、https://www.clamav.net/doc/install.htmlを参照してください。


これをLinux Malware Detectに追加して、1レベルのスキャンを実行し、ClamAVと連携して、phpアプリケーションの厄介な問題を洗い流す試みを完了します。
Fiasco Labs、

FYI Clamは最新のMagentoマルウェアのほとんどを検出しません。また、ほとんどのマルウェアはデータベース、特にこれらのテーブル(core_config_data、cms_blocks、cms_pages)に隠されています。したがって、これらをファイルにダンプしてスキャンする必要があります。
ウィレム

3

コードを難読化するには多くの方法があるため、このような単純なソリューションはIMOのソリューションではありません。システムをロックダウンして悪意のあるコードを防止したい場合は、以下をお勧めします。

  1. Connectを介したモジュールのインストールを許可しません。gitリポジトリを使用して、最初にステージングサーバーにインストールし、徹底的なテストと検査の後でgitを介してプロダクションを更新するだけです。

  2. 開発者が誰であるかに関わらず、難読化されたコードでモジュールの使用を決して許可しないでください。難読化されていないコピーを要求するか、他の場所を探します。著作権侵害を防止したい拡張機能の開発者に同情しますが、セキュリティについて懸念している場合、それは契約違反です。

  3. 可能であれば、iptablesを介して送信トラフィックを制限します。統合するサードパーティのAPIが非常に多く、いつでもIPを変更できるため、これは困難ですが、悪意のあるコード(Magentoなど)が到達するのを防ぐ最も確実な方法です。

  4. ファイルの変更についてWebルートを監視するツールをインストールします。たとえば、ConfigServerファイアウォールとOSSECには、もちろん適切に構成した後、これを適切に行うコンポーネントがあります。

DNSレコードが更新されたときにiptablesエントリまたはAWSセキュリティグループを更新するシステムをご存じの場合は、まだ自分で作成または構築していないため、お知らせください。


Colinに感謝します。実際には質問に答えていません。1と2を使用します。3番目は事実の後であり、コードのスキャンを処理しません。#4は、既存のコードの単なる比較です。Sophusと同様にclamAVがありますが、2つのファイルがありませんでした。
brentwpeterson 2015

2

公開されているマルウェアシグネチャの最大のコレクションが含まれているMagento Malware Scannerをお試しください。最新の署名をダウンロードし、ホワイトリストを処理し、状態を維持します。

Magentoによって推奨され、Magento Marketplace、国土安全保障局、VISAなどで使用されています。


1

私はMB_ Callinghomeと呼ばれるモジュールを作成して、まさにそれを行いました。拡張機能は非常にシンプルで、管理者のログインイベントを監視し、findとgrepで構成可能な文字列を検索します。エクステンションはexec()を使用します。これは、prodで使用するとサイトを攻撃にさらす可能性があるため、ステージング環境でのみ使用可能になります。


1

PHP_CodeSnifferまたは同様のコーディング標準ツールの使用を検討することもできます。もちろん、安全と見なすべきものの内部の仕組みを十分に理解している必要がありますが、コードスニファが問題のあるファイルにフラグを付けるように設定できます。

このモジュールで使用されている標準(https://github.com/magento-ecg/coding-standard)がfopenやその他のファイルI / O操作などの問題に非常に敏感である理由に関して、ここで質問があったことを思い出します。

これを使用すると、少なくとも危険なコードと見なしたいものを特定できます。ただし、最終的にはコードベースのレビューが必要になります。そこにフラグが立てられるものはすべて、モジュール操作の目的で正当なコードである可能性があります。そのため、残念ながら、このような性質の自動テストだけに頼ることはできません。


0

Magentoインストールをリモートでスキャンするために使用できる無料のオンラインツールがあります。これらは、クレジットカードのスワイパー、悪意のあるペイロード、中間ドメイン、およびその他のセキュリティ問題を特定するのに役立ちます。

https://sitecheck.sucuri.net/

https://www.magereport.com/

http://www.unmaskparasites.com/

http://webscan.foregenix.com/

https://github.com/gwillem/magento-malware-scanner/

https://magescan.com/

https://www.virustotal.com/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.