Im Gegensatz zu ts-soft wollte ich aber nicht das Risiko eingehen, das Programm nativ oder virtuell auszuführen sondern habe das ganze mal in einen Disassembler geworfen. Also fangen wir mit der kleinen start.exe an, welche vom Setup installiert wird. Das Programm lädt wie zu erwarten das richtige "Antiviren" Programm von http://pavo-guard.de/guard/update.php?md5=. Eigentlich wäre da nichts besonderes dran, wenn da nicht diese mysteriösen HTTP Anfragen an http://www.google.de, http://www.faceobook.de (!sic), http://www.ebay.de und http://www.youtube.com drin wären. Ich gehe mal davon aus das diese Anfragen lediglich der Überprüfung der Verbindung dienen, jedoch wirkt es alles andere als professionell eine Verbindung zu http://www.face(o)book.de aufbauen zu wollen. Hier gibt es noch einen Screenshot von dem Umstand, inklusive dem kleinen Tippfehler.
So nun kommen wir aber mal zu dem Hauptprogramm. Wieder einmal findet man die nette Linksammlung, aber eigentlich interessiert uns ja mehr dieser revolutionäre Schutz! Also schauen wir doch mal an was das Programm so macht. Es wird mit CreateToolhelp32Snapshot die Prozessliste durchgegangen und dann für jeden Prozess die Daten an den Server übertragen. Hier mal ein kleiner Auszug aus dem Code zur Kommunikation:
Code: Alles auswählen
.code:00404404 mov edx, offset aPath ; "path="
[...]
.code:0040445C mov edx, offset aStart ; "&start="
[...]
.code:00404498 mov edx, offset aSize ; "&size="
[...]
.code:004044D4 mov edx, offset aIcon ; "&icon="
[...]
.code:0040454C mov edx, offset aDate ; "&date="
[...]
.code:004045BB mov edx, offset aCompany ; "&company="
[...]
.code:004045EE mov edx, offset aUser ; "&user="
[...]
.code:0040461D mov edx, offset aOs ; "&os="
[...]
.code:0040464C mov edx, offset asc_42C8DE ; "&"
[...]
.code:00404669 mov edx, offset aPavoguard_exe ; "PavoGuard.exe"
[...]
.code:00404700 mov edx, offset aHttpPavoGuard_ ; "http://pavo-guard.de/guard/guard.php?"
Also was haben wir nun aus unserer Analyse erfahren? Das Programm überträgt alle Daten über die ausgeführten Programme unverschlüsselt per HTTP an den Server. Dies ist schon mal ein riesen Sicherheitsproblem. Jeder der es schafft meinen Traffic mitzulesen, weiß dann genau welche Programme ich ausführe und hat netterweise auch eine md5 um die genau Version festzustellen. Der Angreifer muss im Ideafall nur noch einen passenden Exploit aus einer Datenbank raussuchen um in meinen Rechner einzudringen. Desweiteren findet auch keinerlei Überprüfung statt ob die "Antivirensoftware" nun mit dem richtigen Server kommuniziert, also kann jedes Programm die Kommunikation manipulieren und vorgaukeln das alle ausgeführten Programme in Ordnung sind. Ein SSL Zertifikat wäre hier also dringend anzuraten.
Da kommen wir auch direkt zum nächsten Punkt, die Software verwendet md5 Checksummen um die Programme zu identifizieren. Alles andere wie z.B. ein Icon kann das Programm ja selbst auswählen. Nun gibt es aber bekannterweise Schwachstellen im md5 Algorithmus, die ausgenutzt werden können um zwei sehr ähnliche Programme zu erstellen, die die selbe md5 Checksumme zu haben. Ich kann also hingehen einen Trojaner programmieren, dann erzeuge ich mit Tools aus dem Internet ein harmloses Programm mit der selben md5, schicke dies ein um es in die whiteliste aufnehmen zu lassen und schon ist mein Trojaner sicher vor der Software. Also md5 sollte heutzutage nicht mehr für Sicherheitskritische dinge genutzt werden!
Schlussendlich kommen wir aber zu dem KO Kriterium der Software. Sie überprüft die Programme nach dem sie gestartet wurden und im schlimmsten Falle mein System schon infiziert haben. Dies führt nicht zu 100% Schutz, sondern eher so 0%.
Aber da war ja noch die eine Sache! Das besondere an dem Programm soll ja die Cloud sein. Dann schauen wir doch mal, welche "Cloud" da zu Einsatz kommt, vll. Amazon EC2? Nun ja lösen wir die DNS mal auf: pravo-guard.de -> 78.138.89.29 und nun noch einen Reverse DNS Lookup: srv20.sysproserver.de. Hmm? Scheint wohl eher eine selbstgebastelte Cloud aus vServern oder Root Servern zu sein. Googlen wir mal schnell nach der Addresse https://www.google.de/#hl=de&q=srv20.sysproserver.de. Die DNS wird für shared Webhosting Pakete genutzt und die IP wird damit zwischen mehreren Benutzern geteilt. Die Cloud ist also lediglich ein Webhosting Paket.
Dark