Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

7
Team meeting Feb 16, 2012 Christophe Foket

Transcript of Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

Page 1: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

Team meetingFeb 16, 2012

Christophe Foket

Page 2: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

Class hierarchy flattening

Developer Attacker

Page 3: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

Tool flow

dacapo.jar

VMTamiFlex

input

.class

refl.log

soot

obfuscator

.classinput

Problem:transformed program usually only works for specified input as analyses are unsound.

smalldefault

Page 4: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

Tool flow

dacapo.jar

VMTamiFlex

input

refl.log

soot

obfuscator

.classinput

Analyses are sound, since all classes are considered.Soot fails to parse some classes. (7/14 bms transformed)

smalldefault

dacapo.jar

Page 5: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

TODO (past week)

• h2: soot’s type assigner fails• batik: call graph construction out of memory• xalan: bad access to protected data• tradebeans & tradesoap: work, but only small

percentage of classes transformed by soot• fop: phantom class loaded at run time• jython: make soot aware of getSuperClass

Page 6: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

TODO (past week)

• h2: soot’s type assigner fails• batik: call graph construction out of memory• xalan: bad access to protected data• tradebeans & tradesoap: work, but only small

percentage of classes transformed by soot• fop: phantom class loaded at run time• jython: make soot aware of getSuperClass

VirtualBox image: lab sessions compilers

Page 7: Team meeting Feb 16, 2012 Christophe Foket. Class hierarchy flattening DeveloperAttacker.

TODO (coming week)

• h2: use different runtime environment• tradebeans & tradesoap: huge benchmarks

(18000+ classes), transformation really slow, not finished => speed up

• jython: soot is aware of getSuperClass, but needs testing