All programvara har fel, särskilt i dagens komplexa kod med tusentals rader som måste formuleras just så. Institute of Electrical and Electronics Engineers (IEEE) känner till detta dilemma. Från och med 2014 lanserade IEEE ett nytt initiativ: Computer Society Center for Secure Design (CSD). Är det uppdrag? Att ge vägledning om att känna igen programvarusystem som är sårbara för kompromisser, och utforma och bygga programvarusystem med starka, identifierbara säkerhetsegenskaper
Man kan säga att det har gjorts tidigare. Det är sant. CSD avser dock att ta ett annat tillvägagångssätt genom att flytta en del av säkerhetsfokus från att hitta buggar till att identifiera vanliga designfel i hopp om att mjukvaruarkitekter kan lära av varandra.
För att få den typen av information sökte CSD hjälp av veteraner inom programvarusäkerhet - mer eller mindre de som antingen har gjort de nämnda misstagen eller haft en hand att fixa dem. Efter mycket övervägande samlade gruppen sina tankar i ett papper, "Undvika de 10 bästa programvarusäkerhetsdesignfelarna." IEEE nämnde att många av de brister som gjorde listan har varit välkända i årtionden, men fortsätter att vara ett problem. Här ska vi ta en titt på dessa brister - och hur du åtgärdar dem.