3. When you play the game of
secure programming
You either win
Or you die.
4. PERIAATTEITA
› Koodin pitäisi olla yksinkertaista.
› Syöte on viallista. Jopa pahantahtoista.
• Huolehdi virhekäsittelystä.
• Käytä valmiita kirjastoja.
› Ohjelmoijien pitäisi opetella hakkerointia.
› Automaattitarkistimiapitäisi käyttää.
› Jos mahdollista, ohjelmointikielen pitäisi olla “turvallinen”.
› Käytä tarkistuslistoja.
5. There are two ways of
constructing a software
design:
One way is to make it so
simple that there
are obviously no
deficiencies, and the other
way is to make it so
complicated that there are
no obvious deficiencies.
The first method is far more
difficult.
C.A.R. Hoare, Turing Award lecture 1980
6. IN ORACLE JAVA WE TRUST ?
SUN.SECURITY.SSL.SUNX509KEYMANAGERIMPL
22. PERIAATTEITA
› Koodin pitäisi olla yksinkertaista.
› Syöte on viallista. Jopa pahantahtoista.
• Huolehdi virhekäsittelystä.
• Käytä valmiita kirjastoja.
› Ohjelmoijien pitäisi opetella hakkerointia.
› Automaattitarkistimiapitäisi käyttää.
› Jos mahdollista, ohjelmointikielen pitäisi olla “turvallinen”.
› Käytä tarkistuslistoja.
27. PERIAATTEITA
› Koodin pitäisi olla yksinkertaista.
› Syöte on viallista. Jopa pahantahtoista.
• Huolehdi virhekäsittelystä.
• Käytä valmiita kirjastoja.
› Ohjelmoijien pitäisi opetella hakkerointia.
› Automaattitarkistimiapitäisi käyttää.
› Jos mahdollista, ohjelmointikielen pitäisi olla “turvallinen”.
› Käytä tarkistuslistoja.
30. ”Indeed, it is becoming
increasingly clear, that for modern
programs correctness rather than
speed is the paramount concern.”
Crafting a compiler with C, 1991
34. PERIAATTEITA
› Koodin pitäisi olla yksinkertaista.
› Syöte on viallista. Jopa pahantahtoista.
• Huolehdi virhekäsittelystä.
• Käytä valmiita kirjastoja.
› Ohjelmoijien pitäisi opetella hakkerointia.
› Automaattitarkistimiapitäisi käyttää.
› Jos mahdollista, ohjelmointikielen pitäisi olla “turvallinen”.
› Käytä tarkistuslistoja.
39. KORTTITALON RAKENTAMINEN
Periaatteet: yksinkertainen, automaattitarkistettu, virhekäsittely
Oikeat työkalut
(tarvittaessa itse
tehdään lisää)
Koulutus ja ohjeet
Asenne ja halu
Jakaminen ja
kehitys
Valmiit palat
(tarvittaessa itse
tehdään lisää)
Testaus
(fuzz, hakkeritestaus, normaali testaus..