Wenn man sich bei der Entwicklung an bestimmte Normen oder auch Gesetze halten muß, kommt man zwangsläufig zu dem Punkt, an dem Cybersecurity auf der Agenda steht und da fallen dann Begriffe wie Penetration Testing oder auch Fuzz Testing. Während ich mir unter PenTests noch einiges vorstellen kann wird es beim Fuzzing sehr schwammig (für mich).
Grundsätzlich ist ja Fuzz Testing ein Vorgang, bei dem man mehr oder weniger unsinnige dafür sehr zahlreiche Eingaben simuliert - was den älteren Begriff des Monkey Testings erklärt. Geht damit also auf den ersten Blick in Richtung UnitTests, nur eben halt am fertigen Produkt - und über die
GUI oder wenn man Glück hat über eine (Web-)
API. Letzteres ist dann schon wieder trivial, darauf will ich nicht eingehen - ist aber spannenderweise genau das was die allermeisten Tools anbieten. Mich interessiert das
GUI Fuzzing.
Was ich so gefunden habe sind alte Stories wie diese
https://www.delphitools.info/2016/03...ing-in-delphi/ ohne wirklichen Inhalt. Wenn ich die Delphi Brille ausziehe, dann stoße ich auf
WinAFL bzw
WINNIE. WINNIE ist "nur" ein Fork von WinAFL, weshalb ich beide mal Synonym verwende, auch wenn ich damit vermutlich WINNIE unrecht tue. Was die machen ist verkürzt und vereinfacht gesagt, festzustellen, wo bzw. wie Eingaben getätigt werden und dann diese Eingaben nicht über die
GUI zu schicken, sondern an die darunter liegenden DLLs, die die Eingaben verarbeiten sollen. Delphi Brille auf! DLLs? Delphi? Ja, das machen wohl viele so. Aber ich liebe monolithische Applikationen. Der WinAFL Ansatz ist damit erledigt. Wenn man dann noch FMX in den Topf wirft, wird es wohl noch etwas "lustiger" sind ja keine Standardcontrols mehr, sondern selbst gezeichnetes "Zeugs". Was nun?
TL/DR: Wie betreibt Ihr Fuzzing Eurer Delphi (FMX) Applikationen?
Sherlock