UNTERNEHMEN LÖSUNGEN TECHNOLOGIEN SERVICE DOWNLOAD PRESSE NEWS & EVENTS
 
Hacker´s Contest 2007

Wie laufen Angriffe gegen geschützte Anwendungen ab?

Grundprinzipien der Angriffsmethoden

    MemoryDumping
  • Dumpen einer Anwendung aus dem RAM
  • Patchen von OEP (Original Entry Point) und IAT (Import Address Table)
    Emulatoren
  • Dummy Treiber
  • Record/ Playback Treiber
  • Vollständiger Emulator / Analyse der Hardware
    ACOB (A Couple Of Bytes) Patches
  • Aufspüren und patchen von JZ, JNZ, ...

Angriffsmethoden und warum diese mit CodeMeter nicht funktionieren:

  • Memory Dumping: CodeMeter nutzt „On Demand Decryption“, d.h. zu keinem Zeitpunkt sind das komplette Programm, der Code und die Ressourcen, vollständig entschlüsselt im Hauptspeicher des PC.
  • Dummy Treiber: Durch Nutzung komplexer Verschlüsselung ist eine Simulation des CmSticks durch einen Dummy Treiber nicht möglich, da es keine begrenzte Anzahl von Antworten auf Funktionsaufrufe gibt.
  • Cracking Tools: Viele der häufig eingesetzten Cracking Tools werden von dem geschützten Programm erkannt und können die Lizenz in der Hardware sperren, was weitere Angriffsversuche unmöglich macht.
  • Record-/Playback Treiber: Die Verwendung zufällig variierender Verschlüsselungen und die Änderung des Encryption Codes zur Laufzeit machen ein vollständiges Aufzeichnen und Wiedergeben unmöglich.
  • Emulation des CmSticks: Die Verwendung starker Kryptografie und Einsatz sicherer Hardware, also eines SmartCard Controllers, machen eine vollständige Emulation fast unmöglich.
  • Patchen einiger Bytes: Keine Verwendung einfacher Abfragen sondern Verschlüsselung großer Teile und Einsatz der „automatischen Verschlüsselung“ (Envelope) machen dies unmöglich.

Das Wettbewerbsprogramm

Grafik:WettbewerbsprogrammAls Beispiel sehen Sie hier das Wettbewerbs-Programm nach Starten, Laden und Entschlüsseln mit dem passenden CmStick im Speicher des PCs. Die grün schraffierten Bereiche sind noch verschlüsselt. Die Ressourcen sind immer verschlüsselt und werden nur zur Laufzeit dynamisch entschlüsselt, die IAT (Import Address Table), die die Verbindung zu den Betriebssystem-funktionen herstellt, bleibt ebenso verschlüsselt wie einzelne individuell verschlüsselte Funktionen. Im Falle des Hacker´s Contests waren dies zwei Funktionen. Ein Memory Dump würde hier, wie jeder schnell versteht, nicht zum Erfolg führen.

 

iconPressemeldung zum Hacker´s Contest 2007