Целият софтуер има дефекти, особено в днешния сложен код с хиляди редове, които трябва да бъдат формулирани точно така. Институтът за инженери по електроника и електроника (IEEE) е наясно с тази дилема. В началото на 2014 г. IEEE стартира нова инициатива: Центърът за сигурно проектиране (CSD) на Computer Society. Това е мисия? Да предоставят насоки за разпознаване на софтуерни системи, които са уязвими за компромиси, както и проектиране и изграждане на софтуерни системи със силни, идентифицируеми свойства за защита
Може да се каже, че това е правено и преди. Това е вярно. Въпреки това, CSD възнамерява да предприеме различен подход, като измести част от фокуса в сигурността от намиране на грешки към идентифициране на общи недостатъци в дизайна с надеждата, че софтуерните архитекти могат да се научат един от друг.
За да получи такъв вид информация, CSD потърси помощта на ветерани в областта на софтуерната сигурност - повече или по-малко тези, които или са направили гореспоменатите грешки, или са имали ръка при поправянето им. След дълго обсъждане групата събра своите мисли в статия „Избягване на топ 10 недостатъци в дизайна на софтуер“. IEEE спомена, че много от недостатъците, които направиха списъка, са добре известни от десетилетия, но продължават да са проблем. Тук ще разгледаме тези недостатъци - и как да ги отстраним.