28. Dezember 2008

25C3: Vulnerability discovery in encrypted closed source PHP applications

Category: CCC — Christian @ 16:42

Stefan Esser ist wahrscheinlich einer der besten PHP Security Spezialisten, die es gibt. Bekannt wurde er insbesondere durch einen Month of PHP Bugs, als er jeden Tag eine neue PHP Sicherheitslücke veröffentlichte.

Übersicht der Produkte

  • ZendGuard
  • onCube PHP Encoder
  • Source Guardian (unter verschiedenen Namen)

Übersicht der Techniken

  • PHP Bytecode Encryption
  • Obfuscation
  • Anti-Fuzzing Protection

Der PHP Bytecode besteht aus: Opcode, Result(-Operand), Operand 1, Operand 2, Extension, PHP Source Code Line Number. Insbesondere vergessen einige Encrypter, die Source Code Line Number zu entfernen. Das erleichtert später eine Zuordnung und Analyse. In der ZendEngine gibt es fünf Operand-Typen: CONST, TMP (temporary variable), VAR, CV (compiled variable) und UNUSED. Der Executor führt den Bytecode aus, dabei hat jeder Opcode mit jedem Operand-Typen seinen eigenen Opcode-Handler.

Stefan Esser hat sich umfangreich mit allen Möglichkeiten beschäftigt, verschlüsselten PHP-Bytecode wieder zu decrypten. Seine verwendeten Techniken sind recht cool aber wie bei einigen anderen Vorträgen hat das für mich leider keine echte praktische Relevanz. Stefan Esser plant, seine Software im Januar zu veröffentlichen

1 Kommentar

  1. Kommentare gesperrt wegen Spam

    Comment by Christian — 6. Februar 2009 @ 00:09

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.