Дается классификация уязвимостей программных систем, которые не выявляются на традиционных стадиях тестирования ПО, так как во многих случаях не влияют на вычисления. В то же время наличие любой из таких уязвимостей создает предпосылки для проведенияуспешной атаки на уязвимую компьютерную систему. Анализируются методы защиты от уязвимостей такого рода. Рассматривается структура электронного урока по изучению основ безопасного программирования.