I am going to be that guy - resurrecting a dead thread :-)

I just watched the jalangi video and while I sincerely liked the overall
idea, I have several reservations that I would like to list here.

First, I am concerned about the record replay approach. I don't know how
practical it will be for us to expect web developers
to use a two step system like that. My belief is that the more difficult we
make a security tool for people to use, the less likely it is
that it's going to be used.

At some point in the talk he briefly mentioned that jalangi has issues with
ecmascript 5. More evaluation would be necessary to
determine if that would be problematic.

My other concern is that this is still an academic project. This means that
it's not going to be ready for serious use and issues will arise.
How do we resolve any problems? Can we rely on the authors to go in and fix
bugs for us? Is that going to happen in a time frame that
wouldn't add risk to our project? The upside is that this is an open source
project, so theoretically someone can go in and fix issues, but
that will most likely be a difficult endeavor. If I had to chose, I would
prefer working solely in spider monkey, so that way I know that should
I have an issue, I can run to the lovely folks on #jsapi than having to go
to a third party for help.

Jalangi does not come without a performance penalty - he cites a 20x
performance decrease. Jim has done some work on benchmarking
what I currently have. It would be interesting to see how we are fairing
right now, since the current approach doesn't take any advantage
of performance optimizations or best practices.

It currently needs a node.js server for its analysis. Technically, it can
be run in the browser instead, but for that to happen it would need
internal hooks. Supposedly the debugger API can be used, but that hasn't
been done.

However, despite all of the things above, jalangi is quite nice. I am sure
it is capable of better analysis than what we have right now.
They have put more thought and effort into it than us and as nbp pointed
out, this can be used not only for tainting but also for a wide range
of other applications. It's basically PIN for javascript.

Please let me know if I missed, or misrepresented something from the video.

Ivan





On Tue, Aug 20, 2013 at 9:15 AM, Jason Orendorff <[email protected]>wrote:

> On 8/20/13 6:20 AM, Jan de Mooij wrote:
>
>> If we go ahead with this, I think we should (at least initially)
>> disable the JITs when taint analysis is turned on. Should avoid some
>> complexity and on most websites the difference won't be noticeable at
>> all.
>>
>
> Maybe. It depends on how much complexity it really saves and whether the
> difference is noticeable. If this is for use in an automated tool I imagine
> the difference (i.e. forcing all JS code to run in the interpreter) would
> be very noticeable.
>
>
> -j
> ______________________________**_________________
> dev-tech-js-engine-internals mailing list
> dev-tech-js-engine-internals@**lists.mozilla.org<[email protected]>
> https://lists.mozilla.org/**listinfo/dev-tech-js-engine-**internals<https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals>
>
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to