All programvare har feil, spesielt i dagens komplekse kode med tusenvis av linjer som bare må formuleres. Institute of Electrical and Electronics Engineers (IEEE) er klar over dette dilemmaet. Fra og med 2014 lanserte IEEE et nytt initiativ: Computer Society Center for Secure Design (CSD). Det er misjon? Å gi veiledning om gjenkjenning av programvaresystemer som er sårbare for kompromisser, og designe og bygge programvaresystemer med sterke, identifiserbare sikkerhetsegenskaper
Man kan si det er gjort før. Det er sant. CSD har imidlertid til hensikt å ta en annen tilnærming ved å flytte noe av fokuset i sikkerhet fra å finne feil til å identifisere vanlige designfeil i håp om at programvarearkitekter kan lære av hverandre.
For å få den slags informasjon søkte CSD hjelp av veteraner innen programvaresikkerhet - mer eller mindre de som enten har gjort de nevnte feilene eller hatt en hånd i å fikse dem. Etter mye overlegg samlet gruppen sine tanker i et papir, "Unngå de 10 beste feilene i programvaresikkerhetsdesign." IEEE nevnte at mange av manglene som gjorde listen har vært godt kjent i flere tiår, men fortsetter å være et problem. Her skal vi se på de manglene - og hvordan du løser dem.