Законно ли обучать написанию программ для тестирования безопасности?
Законно ли обучать написанию программ для тестирования безопасности?Да. буду учить писать программы для брутинга, ботнетов и прочего.Обучение написанию таких программ вполне законно, а вот написание этих программ незаконно.
Но решается просто.
Пишите программы не для брутафорса и создания ботнетов, а для борьбы с брутофорсом и созданием ботнетов только и всего. Это законно. 
Тут принцип какой если вы написали софт и  позиционируете его как софт для взлома - это незаконно.
Если он предназначен  для борьбы со взломом  это уже законно. Хотя софт один и тот же.
Примерно как с ножом - если это холодное оружие, посадят, если это кухонный прибор все отлично.
Создание, распространение или использование компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информацииНесанкционированное и санкционированное - разницу понимаете?!Можно, если программы пишутся заведомо для санкционированного использования: обучение, лабораторный пин-тестинг сети на безопасность, и т.д.Т.е., написав любую из них, вы не будете никого пытаться взломать с помощью такой программы!
Написал брут, потестил на своём или учебном демо-стенде (обязательно взяв расписку на предоставление санкционированного доступа у учителя!) - всё нормально. 
Потестил брут (программу) не санкционировано - применима статья 273 УК РФ.