Frage zum testen eines Programmes

Hallo liebe wer-weiss-was´ler,

leider konnte ich keinen besseren Platz für meine Frage finden, hoffe jedoch auch hier ein paar antworten zu bekommen.

Überall kann man sich heute Software downloaden, es gibt massenhaft Freeware-Programme welche die nützlichsten Dinge machen können.
Viele nützliche Programme könnten jedoch auch schädlich sein und evtl. schädliche Eigenschaften besitzen. Z.B. Nachrichten an einen Server unbemerkt senden, Informationen sammeln und so weiter.

Nun meine Frage - gibt es die Möglichkeit ein Programm (ohne offenen Quellcode) auf die Funktionen zu testen.

Sozusagen ein Programm welche sämtliche Funktionen eines anderen Programms durchführt und einen Bericht erstellt was genau diese Software eigentlich macht. Und so zum Beispiel aufzeichnet wenn dieses Programm irgendwohin e-Mails versendet.

Ich würde mich über viele Antworten freuen.

Gruß

YESTER

Sozusagen ein Programm welche sämtliche Funktionen eines
anderen Programms durchführt und einen Bericht erstellt was
genau diese Software eigentlich macht. Und so zum Beispiel
aufzeichnet wenn dieses Programm irgendwohin e-Mails
versendet.

Nein, das ist so nicht möglich, da ein Programm üblicherweise auf Eingaben reagiert. Da es aber u.U. unendlich viele Eingaben gibt, müsstest du ja auch unendliche viele Eingaben machen, um die Reaktionen des Programms festzustellen.
Beispiel: Ich schreibe ein Programm, dass nur ein Eingabefeld hat. Wenn du einen ganz bestimmten Text eingibst, verschickt es eine Mail, sonst nicht. Jetzt müsstest du alle möglichen Texte (=unendlich viele) probieren, um das festzustellen.

Wie deconstruct es schon geschrieben hat, ist ein vollständiges Testen nicht möglich ist. Eine Erkenntnis des letzten Jahrhunderts, die schon vor der Entwicklung des Computers gemacht wurde und die Mathematik revolutionierte.
http://de.wikipedia.org/wiki/Halteproblem

Im Bereich der IT-Sicherheit ist es aber eine bekannte Methode, um manche Schädlinge zu erkennen.
http://de.wikipedia.org/wiki/Honeypot

Leider aber sind die Schädling heute nicht mehr so dumm und vermehrungsfreudig wie früher, so dass die Erfolgsquote begrenzt ist.
Was eigentlich auch schon deshalb klar ist, da man nicht mal die Fehlfunktionen eines normalen Programms hinreichend verlässlich findet, die sich nicht verbergen wollen.

Aktuelle Schadprogramme haben einfach Routinen, die erkennen, dass sie sich nur in einer Testumgebung befinden oder die Schadfunktion ist so zurückhaltend, dass es die Testumgebung nicht bemerkt.

Ciao, Allesquatsch

Aufwendig und Assemler-Kenntnisse erforderlich: einen Debugger für exe-dateien verwenden.
Gruß
Klaus

Nun meine Frage - gibt es die Möglichkeit ein Programm (ohne
offenen Quellcode) auf die Funktionen zu testen.

Du kannst feststellen, welche Bibliotheksfunktionen ein Programm verwendet und darauf evtl. Rückschlüsse auf Backdoors oder unerwünschte Zugriffe ziehen. So könnte man es z. B. als verdächtig bezeichnen, wenn ein Imageviewer Funktionen zur DNS-Auflösung beinhaltet.

Es gibt je nach Betriebssystem versch. Tools dafür. Mich interessiert sowas i.d. R. nur im Zusammenhang mit Windows-Schadprogrammen; dafür werfe ich das Programm bei http://www.virustotal.com ein und bekomme u. a. eine Auflistung aller angezogenen DLLs und Funktionen.

Gruß

es gibt einen sogenannten Dependency Walker, der zeigt Dir, von welchen Bibliotheken Deine Exe-Datei alles abhängt. Mitunter zeigt er Dir auch an, welche Einstiegspunkte (also welche Prozeduren) genutzt werden. Da eigentlich die meisten Prozeduren innerhalb von Windows-DLLs recht gut durch deren Namen erkennbar sind (also was sie machen), kann man sich schon einmal einen ersten Überblick verschaffen. Kann aber mitunter eine Weile dauern …

Gruß Maddin