私はウェブホストで働いており、私の仕事はハッキングされたアカウントを見つけてクリーンアップすることです. shells\malware\injections の 90% を見つける方法は、「場違いな」ファイルを探すことです。たとえば、eval(base64_decode(.......))
" .....
" は、通常は決して適切ではない base64 化されたテキストの集まりです。キー文字列のファイルを grep していると、奇妙に見えるファイルが飛び出します。
これらのファイルが人間として私に飛び出した場合、Python である種のプロファイラーを構築して、統計的に「場違い」なものを探し、手動で確認するためにフラグを立てることができると確信しています。まず、キー文字列 ( eval
、base64_decode
、exec
、gunzip
、gzinflate
、など) を含む php ファイルの行の長さを比較しfwrite
、preg_replace
平均から 2 標準偏差離れている行を探すことができると考えました。
行の長さは大きく異なり、これが使用するのに適した統計になるかどうかはわかりません. 別のアプローチは、加重ルールをクレチンのものに割り当てることです(しきい値を超えるまたは下回る行の長さ= Xポイント、アップロードという単語を含む= Yポイント)が、スコアで実際に何ができるか、またはそれぞれをスコアリングする方法がわかりません属性。私の統計は少しさびています。
統計プロファイリングの正しい方向 (ガイド、チュートリアル、ライブラリ) を教えてくれる人はいますか?