Finding
bugs
in Web applications is an ongoing challenge, but a new tool from MIT
exploits some of the idiosyncrasies in the Ruby on Rails programming
framework to quickly uncover new ones.
In tests on 50 popular Web applications written using
Ruby on Rails, the system found 23 previously undiagnosed security flaws, and it took no more than 64 seconds to analyze any given program.
Ruby on Rails is distinguished from other frameworks because it defines
even its most basic operations in libraries. MIT's researchers took
advantage of that fact by rewriting those libraries so that the
operations defined in them describe their own behavior in a logical
language.
That turns the Rails interpreter, which converts high-level Rails programs into machine-readable code, into a
static-analysis tool
that describes how data flows through the program. The result is that
running a Rails program through the interpreter produces a formal,
line-by-line description of how the program handles data.
Dubbed Space, the new debugger focuses on a program’s data-access
procedures using a simple logical model that describes what operations a
user can perform on what data and under what circumstances. From the
descriptions generated by the hacked libraries, Space can automatically
determine whether the program adheres to those models; if it doesn’t,
there’s likely to be a security flaw.
The researchers will present their results next month at the International Conference on Software Engineering.
Comments
Post a Comment