Содержание:
По прогнозам исследователей агентства Cybersecurity Ventures, ущерб от киберпреступлений ежегодно будет обходиться мировой экономике в 6 триллионов долларов. На рост убытков от хакерских атак повлияют не столько новые методы взлома, сколько увеличение количества устройств, подключенных к интернету. Например, к списку привычных мишеней для хакеров, вроде персональных компьютеров и мобильных приложений, уже прибавились IoT-устройства. Весной 2019 года выяснилось, что хакеры могут атаковать миллионы IoT-девайсов: камеры безопасности, радионяни, «умные» дверные замки. В них обнаружили серьезные уязвимости, через которые преступники могут установить контроль за устройствами.
Взлом гаджетов все же не так опасен, как хакерская атака на IoT-систему для промышленных предприятий или целых городов. И хотя сегодня компании серьезно относятся к своей информационной безопасности, они не могут быть полностью уверены, что их система не доступна хакерам. Оптимальный вариант в таком случае – регулярно проводить тестирование безопасности. Популярность этой IT-услуги в последние годы активно растет, поэтому появляется все больше вакансий для тестировщиков безопасности.
Из этой статьи вы узнаете, как проверяют защищенность систем от хакерских взломов, почему тестировщиков безопасности называют этичными хакерами и как стать таким специалистом без высшего образования в сфере кибербезопасности.
Тестирование безопасности включает несколько видов проверки информационной защиты отдельных приложений или целой IT-инфраструктуры:
Один из самых востребованных видов тестирования безопасности – пентестинг (penetration testing), или этичный хакинг. Пентестеры, чтобы обнаружить бреши в информационной защите, имитируют хакерские атаки. В противовес «черным» хакерам (black hat), незаконно взламывающим информационные системы, пентестеров называют «белыми» хакерами (white hat). Чтобы успешно выполнять свою работу, пентестер должен думать, как настоящий хакер, но при этом всегда действовать в рамках закона и договора с заказчиком.
Тестировщик может проверять информационную безопасность как отдельных приложений, так и в целом IT-инфраструктуру компании клиента (сетевое оборудование, серверы, информационные системы, базы данных). Обычно специалист проводит тестирование по утвержденной методологии (OWASP, OSSTMM, NIST). Например, в руководстве для тестирования безопасности веб-приложений OWASP описываются техники тестирования для наиболее распространенных уязвимостей.
Пентестер может имитировать типичный хакерский взлом через внешние ресурсы (внешнее тестирование) или атаку со стороны пользователя системы (внутреннее тестирование).
Этичный хакер обычно проводит пентестинг, придерживаясь одного из методов:
Метод черного ящика (Black box)
Этот метод предполагает внешнее тестирование безопасности. Первоначально пентестер ничего не знает об IT-инфраструктуре заказчика и самостоятельно добывает нужные сведения. Метод «черного ящика» наиболее приближен к реальной хакерской атаке. Обычно в качестве исходных данных специалисту сообщают название компании или ее сайт, а IP-адреса и точки выхода в сеть, которые использует организация клиента, выясняет сам тестировщик.
Метод белого ящика (White box)
Такой метод используется при проведении внутреннего тестирования безопасности. Тестировщик получает от заказчика нужную информация о системе, например, права администратора сети и доступ к файлам конфигурации. Метод «белого ящика» позволяет тщательнее исследовать информационную защиту тестируемого объекта.
Метод серого ящика (Grey box)
Этот метод тестирования – комбинация двух предыдущих. Пентестер начинает работу по методу «черного ящика», но может запросить какие-либо данные, если нужно сократить время тестирования или лучше проверить потенциальную угрозу найденной уязвимости.
Один из профессиональных приемов, к которым также может обращаться пентестер, – социальная инженерия. В данном случае, этичный хакер старается проникнуть в тестируемую систему через ее пользователей. Тестировщик пытается обманом выведать у сотрудников компании пароли или другие данные, которые помогут получить доступ к защищенной информации. Например, к виду социальной инженерии относится фишинг – рассылка сообщений по электронной почте со ссылками на поддельные сайты, где пользователя просят авторизоваться, чтобы заполучить его данные.
Чаще всего пентестинг проводят по методу «черного ящика», поэтому именно на этом примере мы проследим этапы работы этичного хакера.
Постановка цели тестирования
Тестирование безопасности проводится только после подписания договора с заказчиком, иначе проверку информационной безопасности могут принять за попытку взлома. Этичный хакер согласовывает с заказчиком цель пентестинга, например, ограничится ли проверка поиском уязвимостей или потребуется проникновение и захват контроля над приложением. Действия пентестера могут привести к сбоям в работе проверяемой инфраструктуры, поэтому важно предупредить клиента о возможных рисках и определить ограничения для тестирования.
Предварительный сбор информации, или разведка
Сначала пентестер собирает данные о проверяемой системе из открытых источников (официальный сайт компании, публикации в СМИ, соцсети сотрудников и т.д.). Информация, которая может пригодиться в работе этичному хакеру, – это внутренние URL сайта, IP-адреса, сведения о маршрутизации, адреса электронной почты. Чтобы найти нужные данные, пентестер может использовать специальные инструменты. Так, с помощью сервиса Wayback Machine можно просмотреть всю историю веб-приложения, включая старые версии страниц.
Сканирование уязвимостей
Тестировщик автоматизирует первый этап поиска уязвимостей с помощью программ-сканеров. Один из самых популярных инструментов – Nessus, который после сканирования автоматически формирует список обнаруженных уязвимостей. Сканеры ищут проблемы в информационной защите по определенным базам уязвимостей, например, CVE (Common Vulnerabilities and Exposures) или Vulners, поэтому тестировщики обычно используют несколько программ.
Ручная проверка уязвимостей
Пентестер дополнительно проводит ручное тестирование, потому что программы-сканеры могут пропустить некоторые уязвимости или, наоборот, обнаружить несуществующие.
Эксплуатация уязвимостей
Чтобы попытаться проникнуть в систему через уязвимость, пентестер использует эксплойты (программы или фрагменты вредоносного кода). На этом этапе работы чаще всего применяется фрейморк Metasploit, который позволяет подбирать или создавать эксплойты под разные виды уязвимостей.
Анализ результатов тестирования и составление отчета
Пентестер анализирует все этапы тестирования, чтобы оценить уровень защищенности проверяемых объектов. Результаты своей работы он отражает в отчете для заказчика. Этот документ, как правило, содержит список уязвимостей, степень их критичности и рекомендации по устранению.
Проще всего переквалифицироваться в пентестера специалисту из смежного IT-направления – системного администрирования или тестирования ПО. Хорошей базой для начала обучения будут знания операционных систем (Windows, Linux), сетевых и беспроводных (Wi-Fi) технологий, одного из скриптовых языков программирования (Bash, Perl, Python).
Обучиться этичному хакингу с нуля, без какого-либо опыта работы в IT, будет сложнее – в Беларуси ни один из образовательных центров пока не предлагает подобных тренингов. Редко встречаются и курсы по информационной безопасности. Например, такая программа обучения есть в IT-академии «Белхард», но она дает лишь базовые представления о кибербезопасности. Для знакомства со сферой можно выбрать этот вариант, а затем продолжить изучать пентестинг самостоятельно или с помощью онлайн-курсов.
Чтобы самостоятельно изучать тестирование безопасности, можно использовать дистрибутив Kali Linux. Он включает сотни программ, которые этичные хакеры используют в работе. Как установить и разобраться в инструментах Kali Linux, можно узнать из бесплатного курса от создателей дистрибутива.
Дистанционное обучение по пентестингу на русском языке регулярно проводит компания Pentestit (стоимость – около $540), а курсы на английском можно найти на Udemy. В перспективе, чтобы получить более профессиональную подготовку, лучше искать курсы, которые готовят к сдаче экзаменов на сертификаты CEH (Certified Ethical Hacker) или OSCP (Offensive Security Certified Professional).
CEH – один из самых известных сертификатов для этичных хакеров, который признается во многих странах, включая США и государства ЕС. В 2018 году сертифицированный курс по программе CEH впервые провели в Минске, а сейчас обучение возобновляют по мере набора группы. На официальном сайте CEH также представлены различные варианты дистанционного обучения, от видео-лекций до индивидуальных занятий с тренером в течение года. К тесту CEH по этичному хакингу допускаются специалисты, которые уже более двух лет работают в сфере информационной безопасности. Чтобы получить сертификат OSCP, возможно, потребуется приобрести еще больше опыта, так как этот экзамен, в отличие от CEH, состоит из практического задания, а не теста.
При приеме на работу наличие профессиональных сертификатов обычно относят к желательным, а не обязательным требованиям. Однако, даже в начале карьеры можно ориентироваться на программы подготовки к сертификационным экзаменам как общепринятые стандарты к уровню знаний тестировщиков безопасности.
Чтобы научиться проводить тестирование безопасности, необходима регулярная практика, да и опытным специалистам нужно постоянно совершенствовать свои навыки. Один из легальных и доступных даже из дома способов тренировки – участие в bug bounty программах, которые открывают различные компании, чтобы привлечь этичных хакеров к поиску уязвимостей в своем программном обеспечении. За каждую найденную проблему в информационной защите выплачивается вознаграждение. Условия таких программ публикуются на bug bounty платформах, вроде HackenProof и Hackerone.
Еще один способ прокачать свои навыки – турниры CTF (Capture the Flag). Это известный формат соревнований для «белых» хакеров, которые могут проводиться как офлайн, так и через интернет. На классических СTF-турнирах командам предоставляют специально смоделированные информационные системы или участки сети, которые они должны защитить от атак, и при этом попытаться захватить объект соперников. Например, ежегодно такие соревнования проводит «Лаборатория Касперского».
Для тренировки навыков необязательно участвовать в настоящих СTF-турнирах – можно обучаться с помощью сайтов, которые помогают готовиться к соревнованиям. Один их таких ресурсов – CTF365, где специалисты по информационной безопасности тренируются находить уязвимости через геймификацию, построенную по принципам CTF.
Чтобы выстроить надежную защиту своей IT-инфраструктуры, компаниям важно понимать, как может действовать настоящий хакер, поэтому они обращаются к хакерам, работающим на светлой стороне, – пентестерам. И хотя сегодня поиск уязвимостей происходит с помощью сканеров, автоматическая проверка не способна заменить работу этичного хакера, который понимает, может ли найденная брешь привести ко взлому. Во время эксплуатации уязвимостей тестировщик может обнаружить другие проблемные места в информационной защите, недоступные для сканеров, например, слабые пароли пользователей.
Успешный тестировщик безопасности, в первую очередь, – пытливый исследователь, способный комплексно оценить состояние информационной защиты. А для этого важно постоянно улучшать свою профессиональную форму – узнавать о новых уязвимостях и хакерских уловках, и в целом следить за тем, что сегодня происходит в сфере кибербезопасности.