Warning: Missing argument 2 for wpdb::prepare(), called in /home/stromber/public_html/kryptoblog/wp-content/plugins/wp-super-edit/wp-super-edit.core.class.php on line 109 and defined in /home/stromber/public_html/kryptoblog/wp-includes/wp-db.php on line 1222
ProgramsprÃ¥k och säkerhet » Kryptoblog

Programspråk och säkerhet

March 12th, 2009 by Joachim Strömbergson Leave a reply »

Ivan Krstić, pappan till säkerhetsplattformen Bitfrost i One Laptop Per Child (OLPC)-projektet har på sin blogg Code Culture postat en bra sammanställning om programspråk och säkerhet.

Ivan Krstić

När Ivan är ute och håller föreläsningar om säkerhet får han tydligen ofta frågor om programspråk och säkerhet, och har därför satt samman en sammanställning som, utifrån vilken angreppspunkt man har leder till olika källor att studera närmare. Ivan skriver:

If I had to grossly overgeneralize, I’d say people looking at language security fall in roughly three schools of thought:

1. The “My name is Correctness, king of kings” people say that security problems are merely one manifestation of incorrectness, which is dissonance between what the program is supposed to do and what its implementation actually does. This tends to be the group led by mathematicians, and you can recognize them because their solutions revolve around proofs and the writing and (automatic) verification thereof. 2. The “If you don’t use a bazooka, you can’t blow things up” people say that security problems are a byproduct of exposing insufficiently intelligent or well-trained programmers to dangerous language features that don’t come with a safety interlock. You can identify these guys because they tend to make new languages that no one uses, and frequently describe them as “like popular language X but safer”. 3. The “We need to change how we fundamentally build software” people say that security problems are the result of having insufficiently fine-grained methods for delegating individual bits of authority to individual parts of a running program, which traditionally results in all parts of a program having all the authority, which means the attack surface becomes a Cartesian product of every part of the program and every bit of authority which the program uses. You can spot these guys because they tend to throw around the phrase “object-capability model”.

Now, while I’m already grossly overgeneralizing, I think the first group is almost useless, the second group is almost irrelevant, and the third group is absolutely horrible at explaining what the hell they’re talking about.

Vilken kategori tror du på, och varför?

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.


Leave a Reply

You must be logged in to post a comment.