Relaxed Flash: Blitzableiter Checks for Malicious Flash Files
On stimulus from the German Federal Agency for Information Security (BSI), Felix "FX" Lindner of the Phenoelit hacker group investigated the security of Flash object code. The result is a free protection program with the name Blitzableiter ("lightning rod").
Lindner checked into the security model for Adobe's Rich Application Platform and found out that the interpreted Flash object code leaves open many security holes that could lead to problems for users and hosts having Flash content. He discovered that the Flash Player has indeed two virtual machines. The more commonly used older Adobe Virtual Machine (AVM1) actually provides attackers the greatest opportunity because of its multitude of supported, backwards-compatible version formats. The second VM, AVM2, Adobe released as open source under the codename Tamarin, but not too many content providers are currently using it. At least according to Lindner's public presentation at the 26th Congress of the Chaos Computer Club in Berlin.
Lindner, who is a regular attendee at the Chaos congresses, found this two-VM solution a problem in that it leads to complex code that in special cases may lead to errors in the Flash compiler. To protect Flash users from such problems, Lindner, under the Blitzableiter project name, wrote a kind of recompiler that analyzes existing SWF files for embedded ActionScript code and cleans them up, to prevent problem cases with possible vulnerabilities from occurring. The tool may double the code size, but could detect all problem cases in the test set. It let through over 80% of the problem-free code. Because 20% were false positives, Lindner sees room for improvement and set up a subproject for reporting such cases, apologizing for his "limited developer qualifications." Nonetheless, he's offering the software for download under GPLv3.