Я не силён в этой теме. Но считаю что человек позиционирующий себя как безопасник, должен в первую очередь уметь хорошо программировать. Т.е. заниматься тем, что привело к созданию программ, сетей, авт. систем и т.д.. Это поможет получить представление о возможных опасностях, которые могут возникнуть в чужих программах, в системах, которые следует обезопасить. Т.е. нужно осознавать то, где потенциально уязвимое место, а чтобы это осознавать, нужно "повариться" в котле разработки программ, настройки сети, проектирования БД и т.д.. Ну и конечно, как я считаю, уметь анализировать людей и их поступки. Т.к. в основном лень, жадность, глупость и безолаберность приводит к тому, что программы пишутся с ошибками, а архитектура криво. Например, узнал что у фирмы слабенький админ - копай в сторону сетевой атаки, слабые программисты - посмотри версии библиотек, используемых в программе, не очень образованный персонал - займись вопросом соц. инженерии.