Законно ли обучать написанию программ для тестирования безопасности?
Да.
буду учить писать программы для брутинга, ботнетов и прочего.
Обучение написанию таких программ вполне законно, а вот написание этих программ незаконно.
Но решается просто.
Пишите программы не для брутафорса и создания ботнетов, а для борьбы с брутофорсом и созданием ботнетов только и всего. Это законно.
Тут принцип какой если вы написали софт и позиционируете его как софт для взлома - это незаконно.
Если он предназначен для борьбы со взломом это уже законно. Хотя софт один и тот же.
Примерно как с ножом - если это холодное оружие, посадят, если это кухонный прибор все отлично.