summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorjvoisin2016-07-08 19:58:30 +0200
committerjvoisin2016-07-08 19:58:30 +0200
commita8a09469f5c7b62431ba5c205ec108d6a341e530 (patch)
tree1727960fc6cd352ae9db7cc982ae2411be22e865 /README.md
parent2417f4477ae56a856a154c056e95b737ad7c28f4 (diff)
Explain why PMF rocks in the README
Diffstat (limited to 'README.md')
-rw-r--r--README.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/README.md b/README.md
index 77e9357..3371ca7 100644
--- a/README.md
+++ b/README.md
@@ -51,6 +51,11 @@ Detection is performed by crawling the filesystem and testing files against a
51[set](https://github.com/nbs-system/php-malware-finder/blob/master/php-malware-finder/php.yar) 51[set](https://github.com/nbs-system/php-malware-finder/blob/master/php-malware-finder/php.yar)
52of [YARA](https://plusvic.github.io/yara/) rules. Yes, it's that simple! 52of [YARA](https://plusvic.github.io/yara/) rules. Yes, it's that simple!
53 53
54Instead of using an *hash-based* approach,
55PMF tries as much as possible to use semantic patterns, to detect things like
56"a `$_GET` variable is decoded two times, unziped,
57and then passed to some dangerous function like `system`".
58
54 59
55## How to use it? 60## How to use it?
56 61
@@ -86,6 +91,16 @@ Check the [whitelist.yar](https://github.com/nbs-system/php-malware-finder/blob/
86If you're lazy, you can generate whitelists for entire folders with the 91If you're lazy, you can generate whitelists for entire folders with the
87[generate_whitelist.py](https://github.com/nbs-system/php-malware-finder/blob/master/php-malware-finder/generate_whitelist.py) script. 92[generate_whitelist.py](https://github.com/nbs-system/php-malware-finder/blob/master/php-malware-finder/generate_whitelist.py) script.
88 93
94## Why should I use it instead of something else?
95Because:
96- It doesn't use [a single rule per sample](
97 https://github.com/Neo23x0/signature-base/blob/e264d66a8ea3be93db8482ab3d639a2ed3e9c949/yara/thor-webshells.yar
98 ), since it only cares about finding malicious patterns, not specific webshells
99- Its whitelist system doesn't rely on filenames
100- It doesn't rely on (slow) entropy calculation
101- It uses a ghetto-style static analysis, instead of relying on file hashes
102- Thanks to the aforementioned pseudo-static analysis, it works on obfuscated files too
103
89## Licensing 104## Licensing
90 105
91PHP-malware-finder is [licensed](https://github.com/nbs-system/php-malware-finder/blob/master/php-malware-finder/LICENSE) under the GNU General Public License v3. 106PHP-malware-finder is [licensed](https://github.com/nbs-system/php-malware-finder/blob/master/php-malware-finder/LICENSE) under the GNU General Public License v3.