Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/undo-ransomware/ransomware_detection.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMatthias Held <ilovemilk@wusa.io>2018-09-07 20:34:42 +0300
committerMatthias Held <ilovemilk@wusa.io>2018-09-07 20:34:42 +0300
commit81e4a675d3cf77e4a575d87d4953d080387a2227 (patch)
treea782fd455d9ae479e87e5bab2d3ccaa3d49ebc76 /lib
parent308547acb69f452d5a1423285d2b8c007f477fea (diff)
Add corruption results to file extension suspicion
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/ScanController.php15
-rw-r--r--lib/Monitor.php6
2 files changed, 12 insertions, 9 deletions
diff --git a/lib/Controller/ScanController.php b/lib/Controller/ScanController.php
index 009c280..984a86c 100644
--- a/lib/Controller/ScanController.php
+++ b/lib/Controller/ScanController.php
@@ -27,6 +27,7 @@ use OCA\RansomwareDetection\Analyzer\SequenceAnalyzer;
use OCA\RansomwareDetection\Analyzer\EntropyAnalyzer;
use OCA\RansomwareDetection\Analyzer\FileCorruptionAnalyzer;
use OCA\RansomwareDetection\Analyzer\FileExtensionAnalyzer;
+use OCA\RansomwareDetection\Analyzer\FileExtensionResult;
use OCA\RansomwareDetection\AppInfo\Application;
use OCA\RansomwareDetection\Db\FileOperation;
use OCA\RansomwareDetection\Exception\NotAFileException;
@@ -302,19 +303,17 @@ class ScanController extends OCSController
$fileOperation->setFileExtensionClass($fileExtensionResult->getFileExtensionClass());
$fileCorruptionResult = $this->fileCorruptionAnalyzer->analyze($node);
- $fileOperation->setCorrupted($fileCorruptionResult->isCorrupted());
+ $isCorrupted = $fileCorruptionResult->isCorrupted();
+ $fileOperation->setCorrupted($isCorrupted);
+ if ($isCorrupted) {
+ $fileOperation->setFileExtensionClass(FileExtensionResult::SUSPICIOUS);
+ }
// entropy analysis
$entropyResult = $this->entropyAnalyzer->analyze($node);
$fileOperation->setEntropy($entropyResult->getEntropy());
$fileOperation->setStandardDeviation($entropyResult->getStandardDeviation());
- if ($fileCorruptionResult->isCorrupted()) {
- $fileOperation->setFileClass($entropyResult->getFileClass());
- } else {
- if ($fileCorruptionResult->getFileClass() !== -1) {
- $fileOperation->setFileClass($fileCorruptionResult->getFileClass());
- }
- }
+ $fileOperation->setFileClass($entropyResult->getFileClass());
return $fileOperation;
}
diff --git a/lib/Monitor.php b/lib/Monitor.php
index cf07c17..5bb70de 100644
--- a/lib/Monitor.php
+++ b/lib/Monitor.php
@@ -440,7 +440,11 @@ class Monitor
$fileOperation->setFileExtensionClass($fileExtensionResult->getFileExtensionClass());
$fileCorruptionResult = $this->fileCorruptionAnalyzer->analyze($node);
- $fileOperation->setCorrupted($fileCorruptionResult->isCorrupted());
+ $isCorrupted = $fileCorruptionResult->isCorrupted();
+ $fileOperation->setCorrupted($isCorrupted);
+ if ($isCorrupted) {
+ $fileOperation->setFileExtensionClass(FileExtensionResult::SUSPICIOUS);
+ }
// entropy analysis
$entropyResult = $this->entropyAnalyzer->analyze($node);