Автор: Андрей Горшков, специалист команды анализа защищенности Angara Security
Обычная ситуация: за то время, пока вы изучаете уязвимости в одном фреймворке, выходит десяток новых отчетов по их исследованию. Чтобы быстро разобраться с потенциальными уязвимостями, которые несут прежде неизвестные вам фреймворки и технологии, нужно хорошо ориентироваться в источниках информации. Во время работы в команде на реальном проекте времени на вдумчивый поиск, как правило, нет. Если эти навыки накладываются на хорошее базовое образование, у вас есть перспективы в профессии.
Мои стартовые знания о предмете сформировались на курсах по анализу защищенности в Московском политехническом университете, они в дальнейшем и предопределили выбор профессии. В вузе я получил базовую подготовку по разработке в том числе веб-приложений, а практический опыт – в разработке на PHP. Благодаря самостоятельному обучению у меня появилась возможность попрактиковаться в инфраструктурном пентесте.
Первые попытки трудоустройства веб-пентестером показали, что моих знаний недостаточно. Тогда я решил поискать компании, работа в которых помогла бы восполнить пробелы в образовании и накопить опыт. Так я оказался в ИБ-техподдержке компании Angara Security. Примерно через два месяца состоялось мое первое собеседование на позицию специалиста по анализу защищенности, которое выявило все слабые места. Еще через несколько месяцев работы под руководством наставника и погружения в учебные материалы я прошел четыре собеседования и получил должность пентестера.
Выбор будущего места работы не так прост, как может показаться. В крупной известной компании вы окажетесь в среде с высоким уровнем экспертизы. Вероятно, вам дадут наставника, но по-настоящему интересных багов на реальных проектах будет немного. Дело в том, что услуги подобных организаций стоят дорого, их заказчики не склонны экономить на разработке и безопасности. Вы будете иметь дело с качественными продуктами, которые до вас уже тестировали, так что шансов получить ценный опыт будет меньше.
В небольшой компании лучше не рассчитывать на выделение наставника, завидный уровень экспертизы и зарплаты. Зато такие компании часто получают заказы на пентест самых дырявых приложений, а это бесценный опыт для новичка в профессии. С таким багажом можно со временем перейти в компанию покрупнее.
Поскольку я специализируюсь на анализе уязвимостей веб-приложений, перечислю базовые знания и умения, относящиеся именно к этой области.
Изучение максимального числа уязвимостей не сделает вас специалистом высокого класса, так как оно не нарабатывает навык их поиска. В реальных проектах самое сложное – это обнаружение уязвимости. Я рекомендую искать образы уязвимых приложений и анализировать их, не подсматривая в стек технологий и подсказки о заложенных уязвимостях. Это упражнение дает базовый опыт и представление о том, как все устроено в реальном проекте.
Тем, у кого нет базового образования в области анализа защищенности, можно попробовать платные курсы по пентесту. Хорошие курсы, увы, недешевы, но в бюджетном сегменте ничего стоящего порекомендовать не могу.
Важно понимать, что курсы не сделают из вас готового специалиста, как обещают их авторы, но вы получите достаточное представление о профессии.