Однозначного ответа на это нет. Важно знать хотя бы один язык программирования(неважно какой) + знать криптографию + уметь работать с базами данных. Лучше пройдите курс по типу "Этический взлом " и.т.п
Думаю что просмотрев примеры последних успешных вирусов можно заключить что в большинстве случаев используется C, C++. Основные причины, это работа с низкоуровневыми вещами, адреса в различной памяти, стек исполнения итд. ОС... Читать далее
Ассемблер. Крис Касперски русско-язычный автор введет в тему. Фамилия правильная. Не Касперский. Дальше надо смотреть что будем защищать. И всегда помнить что прежде чем ловить жуликов надо самому научиться воровать!