[cap-talk] Language-based safety - notes and meat)
Mark Miller
markm at cs.jhu.edu
Sun Nov 14 13:42:07 EST 2004
Hal Finney wrote:
> I lurk on the e-lang list, and it seems that Kevin Reid finds bugs in
> E pretty regularly.
Yes, Kevin is doing an extraordinary job of finding bugs in E. I just can't
praise his efforts enough. Much of my confidence in E's current state and its
ongoing evolution is due to his efforts.
> They are usually extremely technical and I have
> little understanding of what they mean. Are any of these security bugs?
> Or are they all pretty much just flaws in functionality that don't affect
> the security guarantees?
Several have been security bugs. At least one was huge enough to drive a truck
through.
<https://bugs.sieve.net/bugs/?func=detailbug&bug_id=125579&group_id=16380>
It was a complete surprise and took us a long time to close.
> I'm trying to get an understanding of how secure you think E is right
> now given the inevitability of bugs in a program of the complexity of E.
I think the best guide for answering this starts by looking at our bug
database -- the frequency over time, the severity, etc... Regarding the bugs
we classified as security bugs, earlier I wrote:
The known-open security bugs in any of [E, CapDesk, DarpaBroswer] can be found at
<http://bugs.sieve.net/bugs/index.php?group_id=16380&set=custom&_assigned_to=0&_status=1&_category=100&_bug_group=2803&SUBMIT=Browse>
The thought-closed security bugs can be found at
<http://bugs.sieve.net/bugs/index.php?group_id=16380&set=custom&_assigned_to=0&_status=3&_category=100&_bug_group=2803&SUBMIT=Browse>
Although you should also scan the other bugs to see if we misclassified any.
If you see any, please let me know. If you know of bugs that aren't captured
in this database, please let me know.
I expect this past to be a fairly good predictor of the future, but there's
always the possibility of an even nastier surprise lurking. I leave it to each
of you to judge how much confidence you can have in E-on-Java given this
history. But I make no apologies. To my mind, this kind of history is how one
incrementally improves real systems under use. I expect E-on-Squeak to follow
a similar process. It'll be better in some ways because it'll be simpler and
cleaner, it'll be building to a language spec that is now mostly settled, and
it can learn from E-on-Java's mistakes. But until it matures, it'll also start
with a high incidence of new mistakes.
If the past is indeed a good indicator, I expect most of our remaining
security holes are taming bugs, and most of these are in taming the guis.
Given this, perhaps the most important outstanding bug to fix is
<https://bugs.sieve.net/bugs/?func=detailbug&bug_id=125636&group_id=16380>
as that'll take the gui taming out of the attack surface for some uses.
However, it won't affect the attack surface CapDesk presents to the caplet
writer, as caplets are given access to the tamed gui regardless.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the cap-talk
mailing list