Обучение
- AI. Работа с нейросетями
- Подготовительные курсы
-
Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Fullstack
- Наука о данных
- Тестирование ПО
- Центр профессионального развития
- IT Bootcamp
- Гуманитарные и экономические дисциплины в IT
- Управление проектами и продуктами
- Бизнес- и системный анализ
- Веб-дизайн и компьютерная графика
- Системное и сетевое администрирование
- Информационная безопасность
- Маркетинг и продажи
- Английский язык для IT
Обучение
- AI. Работа с нейросетями
- Нейросети: практическое применение
- Искусственный интеллект в управлении командами и процессами
- Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Тестирование ПО
- Ручное тестирование ПО
- Мобильное тестирование приложений
- Автоматизированное тестирование на Python
- Автоматизированное тестирование на Java
- Автоматизированное тестирование на JavaScript
- Автоматизированное тестирование на C#
- Тестирование безопасности
- Гуманитарные и экономические дисциплины в IT
- Technical writing
- IT HR
- PR в IT
- Управление финансами в IT
- Управление проектами и продуктами
- Project management
- Product management: Основы управления IT-продуктом
Как стать этичным хакером. Говорим о тестировании безопасности веб-приложений
Тестирование безопасности – важный процесс, который позволяет выявить уязвимости и правильно защитить приложения. Почему это необходимо? С чего вообще стоит начать развитие в сфере security testing? Об этом в интервью рассказывает Дмитрий Николаев, Security Testing Engineer и тренер курса «Тестирование безопасности веб-приложений», который разработан компанией EPAM специально для тех, кто хочет попробовать себя в роли этичного хакера.
– Дмитрий, зачем проводится тестирование безопасности? На любом ли проекте оно необходимо?
– В современном мире, где всё больше набирает обороты цифровизация, безопасность приложений и информационных систем – одно из ключевых направлений. Так как основные активы компаний и данные пользователей довольно часто находятся в сети, их необходимо правильно защищать, а потенциальные уязвимости приложений, которые работают с этими данными, вовремя закрывать. Тестирование безопасности необходимо для своевременного обнаружения уязвимостей с целью предотвращения их использования потенциальными злоумышленниками.
Немаловажно, что потенциальная компрометация одного из приложений может по цепочке привести к компрометации рядом стоящего. И если первое из них работает только с «незначительными» данными, то второе может использоваться для работы в том числе и с конфиденциальными. Соответственно, безопасность важна в любом проекте и в любом приложении (за исключением лендинг-пейдж), а тестирование безопасности – важная составляющая, которая контролирует «действительно ли всё защищено хорошо».
– Если говорить простыми словами, то как вообще устроен процесс тестирования безопасности веб-приложений?
– Тут нет однозначного ответа. Всё зависит сугубо от целей, заказчика и условий. В каждом случае применяется разный подход. В самом упрощённом варианте это выглядит так (юридические вопросы здесь затрагивать не будем):
– Приходит заказчик и говорит: «Нам надо проверить безопасность приложения».
– Заказчику отдаётся список вопросов, некая анкета для заполнения. Это позволяет выявить «портрет» приложения и видение его заказчиком.
– Согласовывается время, среда и другие аспекты тестирования.
– Происходит тестирование, при котором параллельно составляется отчёт по мере нахождения уязвимостей.
– Отчёт финализируется, проверяется, высылается заказчику.
– Опционально: помощь команде разработчиков/тестировщиков в устранении/ретесте уязвимостей.
– На ваш взгляд, насколько перспективна профессия «тестировщик безопасности»?
– Как я уже говорил, цифровые технологии будут всё больше внедряться в нашу жизнь. Это и IoT, и мобильные устройства, и системы слежения, и много-много всего остального. Тестирование безопасности не ограничивается веб-приложениями. Но если опираться конкретно на них, то эта ниша определённо будет нуждаться в тестировщиках безопасности, пока не произойдёт какая-то глобальная трансформация принципов передачи, обработки и хранения данных.
Думаю, этого не стоит ожидать в последующие лет 50, если не больше. При этом даже если качественное изменение всё-таки произойдёт, тестировщик безопасности сможет быстро адаптироваться к новым условиям, поскольку для работы в этой профессии необходим определенный «mind set». По мере роста профессионализма, он и развивается.
– Какими знаниями и навыками тестировщику безопасности нужно обладать на старте карьеры?
– Если рассматривать тестировщиков безопасности безотносительно веб-приложений, то стоит сказать, что данный специалист должен обладать как минимум четырьмя качествами: усидчивостью, любопытством, готовностью к решению трудных задач, критическим мышлением.
На старте карьеры, как правило, требуется много специальных технических знаний. Однако порог вхождения в безопасность веб-приложений считается одним из самых низких, поэтому так любим многими, кто только собирается «зайти в безопасность».
Конечно, как и в случае с другими инженерными специальностями, в первую очередь, любой IT-компании интересен не вопрос, насколько «потенциальный тестировщик» усидчив, а насколько хорошо он понимает область технически. Для веб-безопасника самое важное – понимание уязвимостей веб-приложений и умение их находить. Если человек технически очень силён, то, как правило, на некоторые аспекты при трудоустройстве компания может «закрыть глаза» с надеждой, что кандидат освоит их по ходу работы.
– С чего стоит начать развитие в направлении веб-безопасности? Чем будет полезен в этом отношении курс от EPAM?
– Сразу отмечу, что курс по тестированию безопасности веб-приложений как раз таки и нацелен на людей, которые входят в веб-безопасность. Если вы интересуетесь этой темой, то начать, определённо, стоит с изучения основных типов уязвимостей веб-приложений. Перечень самых популярных из них можно найти в списке OWASP Top 10. Это открытый проект, созданный энтузиастами в области веб-безопасности. Они выкладывают статистику популярности уязвимостей за предыдущие 3-4 года.
Хотя OWASP не претендует на стандартизацию, однако стали неформальным стандартом тестирования веб-приложений де-факто. У них множество гайдов, самый полезный из которых для тестировщика безопасности веб-приложений – OWASP Testing Guide. Это основа основ, с которой необходимо хотя бы ознакомиться.
Курс от EPAM будет полезен тем, что слушатели получат «первый толчок» к развитию в области тестирования безопасности веб-приложений. Чаще всего на пороге «новых профессий» люди просто не знают, за что хвататься и что делать в первую очередь. На курсе мы подробно разберем большинство основных типов уязвимостей веб-приложений, их последствия и как от них защититься.
Одним из самых важных плюсов будет обратная связь от преподавателя, поскольку многие важные и непонятные нюансы нередко остаются за рамками того, что освещено в статьях. После курса (или в процессе) слушатели поймут, насколько эта профессия релевантна для них и стоит ли развиваться дальше в этом направлении.