mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-02-28 21:38:21 +03:00
3.7 KiB
3.7 KiB
Hypatia
Übersicht
Hypatia ist der weltweit erste FOSS-Malwarescanner für Android. Er basiert auf Signaturdatenbanken im Stil von ClamAV.
Funktionen
- Nahezu keine Auswirkungen auf den Akku: Sie werden keinerlei Auswirkungen auf den Akku bemerken
- Extrem schnell: kleine Dateien (1MB) werden in <20ms gescannt, große Dateien (40MB) in 1000ms.
- Speichereffizient: mit den standardmäßig aktivierten Datenbanken verbraucht es weniger als 120MB.
- Regelmäßiger Scan: erlaubt die Auswahl von /system, internem Speicher, externem Speicher und installierten Apps
- Echtzeit-Scanner: kann Malware in Echtzeit beim Schreiben/Umbenennen im internen Speicher erkennen
- Vollständig offline: Das Internet wird nur zum Herunterladen von Signaturdatenbanken verwendet, die Dateien verlassen niemals Ihr Gerät
- Persistenz: automatischer Neustart beim Booten/Update
- Winzige Codebasis: mit weniger als 1000 Sloc kann sie sogar von jemandem mit grundlegenden Programmierkenntnissen geprüft werden
- Minimale Abhängigkeiten: die App verwendet nur Bibliotheken, wenn es nötig ist
- Signaturdatenbanken können auf Wunsch des Benutzers aktiviert/deaktiviert werden
Technische Details
- Signaturdatenbanken sind ClamAV .hdb (MD5-Hashes) und .hsb (SHA-1/SHA-256) Format
- Signaturdatenbanken werden nicht erneut heruntergeladen, wenn sich die Datei auf dem Server nicht geändert hat (HTTP-Code 304 -> nicht modifiziert)
- Signaturen werden mit HashMaps für O(1) Lookup gespeichert
- Dateien haben ihre MD5/SHA-1/SHA-256-Hashes in einem Durchgang berechnet
- Der Echtzeit-Scanner ist multithreaded und nutzt die Hälfte der Kernanzahl des Geräts für das asynchrone Scannen mehrerer Dateien
- Echtzeit-Scanning wird von einem rekursiven FileObserver unterstützt
- Netzwerkverbindungen werden zu Adressen nach dem Folgendem Muster hergestellt: https://divested.dev/MalwareScannerSignatures/.hb.gz
Geplante Updates
- Option zum Scannen beim Zugriff
- Option zur Quarantäne/Löschung bei Erkennung
- Scannen von Dateien über Share Intent
- Scannen neu installierter/aktualisierter Anwendungen
- Option zum Aufrufen von Scans durch Drittanbieter-Apps
- Unterstützung für benutzerdefinierte Datenbanken
- Automatische Datenbank-Updates
- Automatische Datenbankerstellung
- Client-seitige Datenbank-Generierung
- Überprüfung der Datenbanksignatur
- Datenbank-Sanity-Checks
- Prüfung
- Bessere GUI
- Übersetzungen
- Scannen des gesamten Systems mit root (niedrige Priorität)
Ziele
- Schnell sein
- Minimaler Akkuverbrauch
- Das nötige Minimum an Berechtigungen verwenden
- Bibliotheken nur bei Bedarf verwenden
Credits
- ClamAV für die Datenbanken (GPLv2)
- ESET für die zusätzlichen Datenbanken (BSD 2-Clause)
- RecursiveFileObserver.java (GPLv3): Daniel Gultsch, ownCloud Inc. und Bartek Przybylski
- Petra Mirelli (@iNtEgraIR2021) für die deutsche/spanische/italienische Übersetzung, das App-Banner/Feature-Grafik und verschiedene Optimierungen.
- Jean-Luc Tibaux und Petra Mirelli (@iNtEgraIR2021) für die französischen Übersetzungen.
- @srccrow für die italienischen Übersetzungen.
- @inkhorn für die portugiesischen Übersetzungen.
- @q1011 für die russischen Übersetzungen.
- Icons: Google/Android/AOSP, Lizenz: Apache 2.0, https://google.github.io/material-design-icons/
Hinweise
- Divested Computing Group ist nicht mit Cisco oder ESET verbunden
- Hypatia wird nicht von Cisco oder ESET gesponsert oder unterstützt