Не все хакеры взламывают системы безопасности и крадут данные с целью навредить компаниям и заработать на этом. Среди них есть и белые, или этичные хакеры, задача которых — найти все уязвимости на сайте или онлайн-сервисе для дальнейшей проработки.
Такие специалисты достаточно востребованы, среди них есть и те, кто смог заработать миллионы. Подробнее об этой профессии рассказал Йон фон Течнер, сооснователь и генеральный директор компании Vivaldi Technologies, разработчика браузера Vivaldi.
Чем занимается этичный хакер и как им стать?
Ирина Печёрская
Конкурс ВТБ – придумай имя голосовому помощнику и выиграй Iphone 12
Содержание:
-
Что такое этичный хакинг
Чем занимается этичный хакер
Кому подойдет профессия этичного хакера
Кто выполняет этичные взломы
С чего начать обучение этичному хакингу
Что нужно знать этичному хакеру
Какие курсы можно пройти по этичному хакингу
Какие книги есть по этичному хакингу
Советы начинающим этичным хакерам
Что такое этичный хакинг
Веб-сайты и онлайн-сервисы состоят из больших и сложных фрагментов программного обеспечения, и ошибки в них не исключены. Маленькие, вроде ошибки выдачи вместо правильного наполнения страницы, не являются проблемой. Но более крупные могут привести к тому, что злоумышленник получит доступ к тайной информации, к учетным записям пользователей, обнародует массивы данных, хранящихся на сайте.
Какие бы усилия владельцы сайтов ни прикладывали, абсолютную защиту для кода создать сложно, и случается так, что важные уязвимости остаются незамеченными. Например, форма для логина, разрешающая бесконечный подбор паролей для входа в учетную запись. Или более серьезная проблема: командная или SQL-инъекция в интерфейс, который не обрабатывает кавычки в строке запроса, и программа квалифицирует их как часть SQL или системной команды.
Проверка сайта или онлайн-сервиса на предмет наличия таких уязвимостей в системе безопасности для ее улучшения и называется этичным хакингом, или тестами на проникновение. Это целенаправленный поиск ошибок в коде IT-специалистом.
Чем занимается этичный хакер
Этичные хакеры, также известные как белые хакеры, или аналитики в сфере информационной безопасности, не крадут данные и не причиняют ущерб. Они обнаруживают проблему и сообщают о ней владельцу сайта, чтобы он мог исправить ошибку. Многие компании специально нанимают людей, чтобы провести такое тестирование и повысить безопасность своего ресурса.
Работа этичного хакера оплачивается, и высококвалифицированный специалист может зарабатывать себе этим на жизнь — это делают 76% опрошенных, следует из отчета The 2021 Hacker Report.
Не существует средней зарплаты этичного хакера, но в аналогичном отчете 2018 года есть цифры в $20 тыс. за год, хотя большая часть специалистов зарабатывает меньше. Крупные платформы для поиска уязвимостей имеют системы вознаграждений, в которые вступают компании и платят хакерам деньги за работу. В 2020 году Hacker One выплатила суммарно $44 млн (на платформе 800 тыс. хакеров).
Есть истории, когда белые хакеры становились миллионерами. Но возможно и такое, что у компании нет крупного бюджета и она рассчитается своим продуктом или публикацией имени аналитика на доске почета сайта в разделе с информацией о разработчиках. Это не прибыльно, но хороший способ для начинающего IT-специалиста сформировать портфель проектов, чтобы потом получить вакансию тестировщика.
Но порой случается, что этичными хакерами становятся специалисты из области контроля качества или тестирования ПО.
Кому подойдет профессия этичного хакера
Этичный хакер должен обладать несколькими чертами характера. Во-первых, терпением, потому что работа достаточно монотонная: изучать код и его уязвимости можно не один час и не один день. Человеку должно быть интересно долго и обстоятельно разбираться.
Во-вторых, нужно уметь радоваться мелочам: несколько часов или дней работы могут завершиться ничем. Оплата работы тоже не всегда такая высокая, как у условных разработчиков или графических дизайнеров. Трудиться приходится на энтузиазме, порой радоваться скромным наградам и чувству собственного успеха, чтобы не выгореть.
И не менее важны гибкость ума и пытливость. Человек должен думать как потенциальный злоумышленник: уметь видеть способы использовать ошибку для взлома системы, какие-то неучтенные моменты применять не по назначению. Например, если сценарий одной опции повернуть иначе, и это приведет к получению доступа к данным.
Кто выполняет этические взломы
Преимущественно этим занимаются или специалисты по информационной безопасности, которые ожидаемо понимают, где именно в системе или продукте могут появиться уязвимости, или разработчики с соответствующей сертификацией на проникновение. Важно, чтобы это были сторонние подрядчики, а не те же люди, которые создавали продукт: у последних замылен глаз, они могут не найти оставленные ими же уязвимости.
Этичный хакинг — это в первую очередь про желание помочь сайту, а не получить огромную прибыль. Поэтому все тесты нужно проводить с разрешения владельца сайта, особенно если они могут выглядеть как брутфорс-атака (атака методом перебора всех возможных решений/уязвимостей) или атака типа «отказ в обслуживании».
Обо всех обнаруженных ошибках следует сообщать владельцу сайта лично, не публиковать их на форумах, Facebook и в других публичных каналах.
И даже если он отказывается прислушаться к рекомендациям или месяцами не исправляет простые ошибки, хотя проблема очень важна и может привести к эксплойту (отказу в обслуживании компьютерной системы), допустимо публично озвучить только минимальные подробности. Но это должно быть крайней мерой, а не первым действием.
Прежде чем предлагать владельцу сайта свои услуги и выставлять прайс, стоит узнать, предусмотрены ли вообще здесь вознаграждения за поиск уязвимостей. Недопустимо в первом письме требовать деньги в обмен на выявление ошибок — позвольте владельцу сайта удостовериться в том, что отчет сообщает о реальной проблеме, и посмотрите, что они вам предложат.
Если проделана хорошая работа, а у сайта есть программа вознаграждений, просить деньги не придется. И недопустимо требовать вознаграждения, не предоставив информацию — это уже обычный шантаж.
С чего начать обучение этичному хакингу
Вне зависимости от способа входа в профессию (курсы или самообразование) хакеру важно обновлять знания: читать статьи о распространенных проблемах, общаться с коллегами на форумах. Например, популярный сайт, управляемый фондом OWASP, используется многими этичными хакерами в качестве руководства. Здесь белые хакеры могут делиться подробностями обнаруженных ими проблем, можно получить много ценной информации.
Но список OWASP не аксиома: внесенная в него проблема безопасности может не быть критичной для конкретного сайта. Например, есть страницы, где говорится, что раскрытие информации о марке сервера или номере версии ПО опасно, потому что информирует атакующего о том, какие проблемы искать. Но настоящая хакерская атака использует все возможные эксплойты, не проверяя марку сервера или номер версии ПО.
Полезные практические инструменты для хакера — Burp Suite и Metasploit, которые применяются для автоматизации тестирования.
Они позволяют быстро проводить множество проверок, но одно их использование не сделает человека хорошим аналитиком. У любых инструментов есть ограничения, а выдаваемые ими результаты нужно тщательно проверять.
Инструменты зачастую предупреждают о возможных проблемах, которые можно использовать в собственных целях лишь в очень конкретных обстоятельствах. Например, у сайта может не быть защиты от кликджекинга, но это неопасно, если только с помощью кликов нельзя причинить ущерб. Следует всегда проверять актуальность проблемы, прежде чем сообщать о ней владельцу сайта.
Что нужно знать этичному хакеру
Для простейшего тестирования не требуется большого объема знаний, его зачастую можно проводить с помощью автоматизированных инструментов. Навыки программирования не обязательны для этичного хакера, но могут помочь в профессии. Это даст понимание групп ошибок, которые могли допустить IT-специалисты, разрабатывающие сайт.
Например, некоторые языки программирования не имеют стандартного способа кодировать специальные символы в HTML-объекты, поэтому можно начать с поиска мест для инъекций с помощью строк запроса, которые могут позволить проведение межсайтового скриптинга.
Язык PHP для работы с базами данных, совместимыми с MySQL, обычно использует стандартные интерфейсы, которые отправляют каждый запрос как отдельное сообщение. Поэтому, даже если сайт и не вычищает введенные параметры SQL-запросов, может оказаться, что использовать символы разбивки команд для выполнения стороннего кода невозможно.
Преимуществом станет и способность разбираться в протоколах, используемых сервисом. У вас уже могут быть инструменты для проверки защиты от форсированного подбора пароля в HTML-форме для логина, но если сайт также предлагает доступ по протоколу POP3 и вы можете изучить документацию для этого протокола, у вас появится возможность запрограммировать собственный инструмент, чтобы пробить пароль для POP3-логина. Этот протокол открытый, и его изучение может дать вам полезные знания.
Какие курсы можно пройти по этичному хакингу
Чтобы добиться в хакинге реальных успехов, стоит пройти курсы. Сегодня их предлагают многие крупные образовательные платформы. Они длятся от полугода до года и дают хорошую базу в сфере кибербезопасности. Например, такое обучение предлагает Skillbox: авторы программы — российские и американские специалисты, за год ученик создает пять проектов в портфолио и защищает дипломную работу.
Также можно проходить короткие курсы на Udemy по разным направлениям хакинга и информационной безопасности. Например, по WiFi-pentesting (проникновение в WiFi-сети и проверка на уязвимость). Зачастую они представляют собой набор видеоуроков с минимальной обратной связью, но зато очень бюджетной ценой и длительностью от двух до 24 часов.
Найти их можно и на русскоязычных, и на англоязычных платформах, включая узкоспециализированные вроде Cybrary.
Какие книги есть по этичному хакингу
Книги и учебники не помогут найти современную информацию, связанную с потенциальными эксплойтами — их стоит использовать только как источник общих знаний. Технологии развиваются стремительно, и книги устаревают, еще не покинув типографию. Намного важнее постоянно заниматься собственными исследованиями: проводить больше практики, общаться с коллегами по отрасли, изучать чужие кейсы.
Тем не менее для расширения объема знаний можно ознакомиться с некоторыми книгами. Например, The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy (Syngress Basics Series) — оптимальный вариант для новичков, позволяющий получить базовую информацию о хакинге, вплоть до принципов составления отчетов о найденных уязвимостях.
BackTrack 5 Wireless Penetration Testing Beginner’s Guide — отличный набор туториалов о проникновении в беспроводные сети.
Из русскоязычных изданий внимания заслуживают «Лаборатория хакера» С. Бабина с методами и средствами хакинга, а также «Хакинг. Искусство эксплойта» Дж. Эриксона, где разъясняется принцип действия большинства эксплойтов, а вместе с этим принципы программирования на C, исследования регистров процессора.
Пока развивается цифровизация, спрос на специалистов по информационной безопасности продолжит расти: об их нехватке заявляют рекрутинговые агентства. Поэтому будут востребованы и этичные хакеры, которые делают меньше и стоят дешевле, но способны сэкономить сотни тысяч и даже миллионы рублей владельцам сайтов.
Советы начинающим этичным хакерам
Не полагайтесь слепо на инструменты: даже если они что-то нашли — это не значит, что конкретная проблема критична. Анализируйте каждую их рекомендацию.
Трезво оценивайте каждую проблему безопасности, не все они критичны. Возможность применить к сайту неверное стилевое оформление не так важна, как риск поставить под угрозу хранящиеся на сервере данные.
Помните о конфиденциальности: не публикуйте найденные ошибки в открытом доступе, не делитесь с другими аналитиками. Обговорите с владельцем сайта, через какие каналы ему передать данные: выделенная система в ПО, e-mail.
Нет необходимости сообщать об ошибках в ПО сторонней компании, если только владелец сайта не пренебрегает ими целенаправленно — со следующим обновлением уязвимости исчезнут. Искать нужно проблемы в ПО компании, а не в стороннем продукте.
Готовьте отчеты тестов в текстовом виде. Например, в случае межсайтового скриптинга достаточно прислать ссылку на URL с правильной строкой запроса. Видео используйте в сложных случаях, когда требуется контролировать сетевые запросы или видеть взаимодействие между разными учетными записями.
Источник: