С точки зрения безопасности, хорошо известная таксономия ошибок в программном обеспечении (представленная широкой аудитории Гэри МакГроу в его серии книг по безопасности программного обеспечения) различает ошибку реализации и дефект дизайна ..Ошибка реализации - это низкоуровневый дефект, скрывающийся в вашей реализации.Типичным примером ошибки реализации является переполнение буфера.С другой стороны, недостаток дизайна - это «логическая» ошибка в вашей реализации, которая позволяет злоумышленнику взломать или обойти вашу систему или какой-то механизм безопасности, который вы внедрили, просто используя его так, как вы этого не ожидали.Хорошим примером этого являются недостатки в разработке API, которые позволяют злоумышленнику комбинировать определенные вызовы API, чтобы заставить систему делать то, чего не ожидали разработчики системы.