Кто такие этичные хакеры
Этичный хакинг: как заработать денег, а не проблемы с законом
Поиск уязвимостей напоминает лотерею, в которой можно как сорвать джекпот с кругленькой суммой, так и потерять все, включая свободу. И это вопрос не везения, а четкого понимания границ этичного хакинга. Решили для вас разобрать на пальцах, как ковырять баги в чужих системах легально.
Bug hunter на миллион
Этичный хакинг — это законная форма взлома, с помощью которого можно найти ошибки в чужих системах и обратить на них внимание разработчиков. Этим занимаются белые хакеры (White Hat). Им противостоят другие хакеры (Black Hat) — преступники, которые используют свои знания со злым умыслом. Если первые ищут уязвимости, чтобы залатать брешь в безопасности системы, то вторые стремятся взломать ее, чтобы скомпрометировать.
Самая популярная разновидность этичного хакинга — программы поиска ошибок за вознаграждение Bug Bounty. Им уже больше двадцати лет. Эти сервисы позволят компаниям своевременно обнаружить и устранить баги в своих продуктах, прежде чем о них узнают злоумышленники.
Обычно это происходит следующим образом: компания объявляет конкурс на поиск уязвимостей в своих системах и сумму вознаграждения. После этого информационную инфраструктуру (устройство/программу/приложение) компании начинают прощупывать со всех сторон многочисленные эксперты (пентестеры). В некоторых случаях корпорации объявляют о начале закрытой программы. В таком случае организатор сам выбирает потенциальных участников и рассылает им приглашения и условия участия.
Есть две крупные платформы, которые помогают встретиться исследователям уязвимостей и компаниям, которые хотят проверить свои сервисы: HackerOne и Bugcrowd. Они, по сути, агрегируют все программы IT-компаний, а зарегистрированные участники сервисов могут выбрать то, что им интересно. Сейчас обе платформы объединяют тысячи специалистов по информационной безопасности из разных стран. Кстати, даже государственные структуры используют подобные сервисы. Например, Пентагон выбрал HackerOne для запуска своей программы Hack the Pentagon.
Вообще сказать спасибо за модель bug bounty стоит компании Netscape Communications Corporation. Их сервис Netscape Bugs Bounty, запущенный в середине 90-х, позволял за вознаграждение искать недочеты в браузере Netscape Navigator. Компания одна из первых догадалась, что лучше своих разработчиков могут быть только тысячи других IT-специалистов, способных за деньги отыскать проблемные места. Идея программы имела такой успех, что ее модель уже очень скоро переняли известные IT-корпорации.
Россия тоже не стоит в стороне. За помощью к белым хакерам обращаются не только крупные компании (Яндекс, Mail.ru, Лаборатория Касперского), но и государство. В этом году в нашей стране запустят централизованную программу по поиску уязвимостей в государственных IT-системах и продуктах вендоров. До конца 2020 года на нее планируется потратить 800 млн рублей. И это очень показательная инициатива: в мире этичный хакинг уже давно стал популярнее и выгоднее криминала: в отличие от несанкционированного взлома, за который светит реальный срок. На bug bounty-программах можно заработать хорошие и, главное, честные деньги.
Когда хакинг может довести до суда
Поиск уязвимостей — это не просто игра, где ты нашел то, что тебе нравится, выбрал оружие инструмент, нашел баг и выиграл приз. Это целая процедура, у которой есть свой устав. Шаг влево – и «да здравствует наш суд, самый гуманный суд в мире». В чем же дело?
Вывод из этого случая прост: участвовать стоит только в официальных конкурсах bug bounty, где все процедуры четко регламентированы. В противном случае – ждите вызова. Принцип «я тихонько взломаю, посмотрю просто из любопытства, а потом попрошу денег за свою работу» – не прокатит. Для этого даже есть свой термин – Grey Hat.
Вывод: быть внимательнее к списку уязвимостей, которые попадают под действие баг баунти, соблюдать политику responsible disclosure и не пытаться получить доступ к личным данным.
УК РФ предупреждает
Российских хакерам стоит помнить, что УК РФ суров к любым попыткам взлома чужой инфраструктуры. И наказание можно получить сразу по трем статьям (ст. 272, 273, 274), которые грозят не только штрафами, но и реальным сроком за неправомерный доступ к компьютерной информации, распространение вредоносов и нарушение правил хранения, обработки и передачи информации.
Пока в российском законодательстве нет четких определений, какие именно действия по работе с сетевыми ресурсами уголовно наказуемы. Поэтому вопрос границ этичного хакинга очень размыт. И эта неопределенность создает ситуацию, при которой любое сомнительное поведение попадает под внимание спецслужб.
Даже если вашей целью является обучение или тренировка навыков, не стоит необдуманно заниматься активными разведывательными действиями, например: перебирать директории сайтов, использовать прокси (burp) для манипуляции запросов, сканировать порты, использовать сканеры уязвимостей.
Легальный хакинг: без суда и следствия
Теперь поговорим о легальной стороне вопроса. Чтобы получать деньги и славу за bug bounty, необходимо внимательно читать правила конкурса, который запускает компания. Для российских программ могут фигурировать дополнительные требования к участникам, например, «только для граждан России» или «только для налоговых резидентов страны». Важно: сам конкурс должен быть направлен на достижение общественно полезных целей. Если это условие не выполняется, то мероприятие из конкурса превращается в преступную деятельность.
Также в официальной документации программы bug bounty должны быть указаны требования к участникам, сроки проведения и информация о продуктах для тестирования. Организатор должен указать принцип передачи информации о выявленных уязвимостях и порядок ее раскрытия для общего доступа, критерии оценки уязвимостей и, конечно же, информацию о награде. А это самое приятное.
Цифры выше подтверждают, что сейчас bug bounty стал хорошим дополнением к работе или даже основным источником доходов для пентестеров. Чтобы успешно участвовать в таких программах, нужно знать методы поиска и эксплуатации уязвимостей, в первую очередь, в веб-приложениях, а также соблюдать этические нормы и установленные компанией правила.
В любом случае пройти обучение и стать белым хакером гораздо безопаснее и выгоднее, чем идти в криминал. Необходимость в этичных хакерах постоянно растет, а учитывая лавинообразный рост новых IT-областей — блокчейн, big data, IoT — эта потребность будет только увеличиваться.
Этичный хакинг: как взламывать системы и при этом зарабатывать легально
Кто такой хакер? Большинство людей, которые далеки от программирования, представляют перед собой злостного преступника, взламывающего системы безопасности банков, чтобы украсть деньги. Что-то вроде героя Хью Джекмана из фильма «Пароль — “Рыба-меч”», который взламывает шифр Вернама, чтобы украсть из правительственного фонда 9,5 млрд. долларов. Здесь сосредоточимся на правовой стороне взлома, а если ваши представления навеяны именно фильмами, для вас мы подготовили подробный обзор профессии специалиста по кибербезопасности.
Хакером можно быть и легально. Легальных хакеров называют пентестеры, или «этичные хакеры». Вот только нужно хорошо знать, что можно делать во время тестирования системы на проникновение, а что — нельзя. Иначе можно получить вполне реальные проблемы с законом. Совсем недавно мы запустили курс «Этичный хакер», и в этой статье мы поговорим, как заниматься хакингом, зарабатывать на этом неплохие деньги и при этом не иметь проблем с законом. Поехали.
Что грозит хакеру по закону РФ
Для начала поговорим о проблемах, которые могут свалиться на хакера. Практически все правонарушения, связанные со взломом систем и получения доступа к ним, касаются трех законов:
Согласно ст. 13. КоАП РФ (Административные правонарушения в области связи и информации), за разглашение информации с ограниченным доступом, нарушение порядка хранения, использования и распространения персональных данных может грозить штраф от 300 до 20 000 рублей. Это для физических лиц. Для юридических лиц размер штрафа гораздо больше.
В основном она касается людей, которые имеют доступ к подобной информации, и организаций, которые собирают персональные данные клиентов.
К примеру, интернет-магазин собирает клиентскую базу с именами, номерами телефонов и email-ами. А ушлый менеджер решает собрать базу и скопировать ее для дальнейшей продажи на сторону.
Если подобное действие не стало причиной серьезного ущерба, а на менеджера не поступило жалоб в правоохранительные органы, то правонарушение может быть квалифицировано по ст. 13.11 п. 8 КоАП РФ. Наказание за него — штраф в размере от 30 000 до 60 000 рублей.
Что касается уголовного законодательства, то хакеру-злоумышленнику в большинстве случаев грозят следующие статьи УК РФ:
Небольшое отступление. Пентестеры также используют сторонние программы для взлома систем безопасности и получения доступа к закрытой информации. Легальных программ для взлома не существует, поэтому компания, которая заказывает пентестинг, должна в письменной форме дать добровольное согласие на использование сторонних программ. Также пентестеры обычно подписывают соглашение о неразглашении сведений, полученных в ходе атак.
Пентестер: отличия от хакера
Пентестер — это хакер, который работает полностью легально и в рамках закона. Суть его работы — поиск уязвимостей в системах безопасности.
Но есть несколько серьезных отличий:
Пентестер работает исключительно по программам Bug Bounty или после заключения контракта с компанией. Из-за того, что сам процесс пентестинга связан со взломом защиты, процедура очень формализованная.
Нельзя просто найти уязвимость в системе защиты и указать на нее владельцу. Потому что за это можно получить вполне реальное обвинение.
В 2017 году 18-летний хакер нашел уязвимость в системе безопасности венгерской транспортной компании BKK. Баг был простой — с помощью инструментов для разработчика в браузере парень изменил исходный код страницы, вписав свою цену на билет (20 центов вместо 30 евро). Валидация цены не проводилась ни на сервере, ни на стороне клиента, поэтому хакер смог купить билет за эту цену.
После этого он обратился к представителям компании, раскрыв всю информацию об уязвимости. Но получил не благодарность, а уголовное дело. Транспортная компания «обиделась» и подала на него в суд. Парня арестовали.
История закончилась хорошо. Она получила большой резонанс в СМИ, пользователи просто обрушили рейтинг компании в Facebook. А с учетом того, что компания якобы тратила свыше миллиона долларов на защиту данных каждый год, обнаружение такого глупого бага, которым мог воспользоваться любой человек, просто уничтожило ее репутацию.
У парня были благородные намерения — он хотел указать на дыру в системе продаж билетов, наглядно продемонстрировав ее. Но при этом его действия все равно можно квалифицировать как взлом системы безопасности. А это уголовное дело.
Формально компания была полностью права, выдвигая ему обвинения. Какими бы ни были намерения парня, он нарушил закон. И от реального срока его спас только общественный резонанс.
Bug Bounty: как участвовать правильно
Большинство крупных компаний ведут Bug Bounty — специальные программы, в которой компании-разработчики ПО или сайтов предлагают вознаграждение за найденные уязвимости. Компаниям выгоднее платить за найденные ошибки, чем разбираться с последствиями, к которым могут привести эксплойты и уязвимости.
Большинство таких программ размещены на сайтах HackerOne и BugCrowd.
К примеру, вот программы Bug Bounty от Google API, Nginx, PayPal, GitHub, Valve. Средний размер премии за каждый найденный баг в этих программах — 1000 долларов. Есть огромное количество компаний поменьше, которые предлагают 50-100 долларов за ошибку.
Даже Пентагон запускал Bug Bounty! Это же просто мечта для хакера — взломать систему защиты Пентагона, да еще и получить деньги за это от правительства США.
Но даже опубликованная Bug Bounty не означает, что можно ломать и искать дырки где попало. В описании программы владельцы прописывают, какие именно уязвимости будут рассматриваться.
К примеру, Uber дает очень подробное объяснение, что входит в их программу Bug Bounty, а что — нет.
Компания хочет найти уязвимости в системах доступа и хранения данных, возможностей фишинга, оплаты и счетов, несанкционированных действий со стороны пользователя и сотрудников компании. Но в программу не входят общие баги приложения, отчеты о мошенничестве, баги в работе с соцсетями и email-рассылкой.
Впрочем, с чувством юмора у них все нормально. Потому что среди неоплаченных действий есть и следующее:
Entering the Uber offices, throwing crisps everywhere, unleashing a bunch of hungry raccoons, and hijacking an abandoned terminal on an unlocked workstation while staff are distracted
Входить в офис Uber, разбрасывая везде чипсы, выпуская кучу голодных енотов и захват свободного терминала или рабочего места, пока сотрудники сбиты с толку.
Чем подробнее описана Bug bounty, тем проще пентестеру понять, что можно «пробовать на зуб», а чего делать не стоит.
При этом есть общие правила, которые нарушать нельзя. К примеру, при обнаружении уязвимостей в базах данных пользователей нельзя пытаться скачать какие-либо личные данные. Даже при участии в программе это может быть расценено как нарушение закона. Потому что здесь нарушаются права именно пользователей, к которым Bug bounty не имеет никакого отношения.
Российский рынок пентестинга тоже активно развивается. На нем уже есть ряд крупных игроков, которые работают с большими корпорациями. К примеру, Digital Security, НТЦ «Вулкан», Group-IB, BI.ZONE, «Лаборатория Касперского». Но конкуренция на рынке еще довольно невысокая, так что можно вполне комфортно работать и индивидуально.
Некоторые крупные компании вроде «Газпрома» или банковских организаций создают отдельные внутренние подразделения пентестеров, чтобы не раскрывать конфиденциальные данные сторонним организациям.
Поэтому для пентестера есть несколько возможностей:
Чтобы подстраховаться от нечестных компаний, рекомендуем работать через сайты HackerOne и BugCrowd. Просто зарегистрируйтесь и подавайте заявки с обнаруженными багами через них.
Единственное правило — очень детально читать описание программы. Если компания пишет, что платит за уязвимости баз данных, то искать нужно только там. Даже если вы найдете баг где-нибудь еще, то за него не заплатят. Даже наоборот — могут начаться проблемы.
Уэсли Вайнберг в 2015 году нашел одну из самых серьезных брешей в защите Instagram. В ходе пентестинга он обнаружил Ruby-уязвимость, которая позволила ему запустить удаленное воспроизведение произвольного кода.
Это позволило ему прочитать файлы конфигурации, которые содержали доступы к базе PostgreSQL. Там были 60 аккаунтов сотрудников Instagram и Facebook. Как утверждает Вайнберг, взломать их не составило труда — большинство паролей были крайне слабыми — вроде «password» или «instagram».
Далее он получил доступ к нескольким ключам Amazon Web Services, которые ассоциировались с 82 бакетами S3. И в этих бакетах было настоящее сокровище для хакера: исходные коды Instagram, SSL-сертификаты, API-ключи, данные email-сервера, ключи подписей для приложений iOS и Android. Можно сказать, что пентестер получил полный доступ ко всем секретным материалам Instagram.
Он честно сообщил об этой находке представителям Facebook. За один баг ему действительно выплатили 2500 долларов. Но также он получил обвинение в несанкционированном доступе к аккаунтам сотрудников, бан в программе Bug bounty от Facebook и угрозу уголовного преследования. Хотя уголовное дело не было возбуждено, нервы пентестеру потрепали изрядно.
Так что следование прописанным пунктам Bug bounty — это просто обязательно. Иначе можно получить не премию, а обвинение.
Что должен уметь пентестер
Пентестер — это одновременно «универсальный солдат» и узконаправленный специалист. Ему нужно обладать широкими знаниями во многих отраслях программирования и при этом глубокими навыками в одной или нескольких сферах.
В целом считается, что Junior-пентестер должен обладать следующими знаниями:
Также нужно научиться использовать программы для пентестинга вроде BurpSuite, SqlMap, Nmap, IP Tools и Acunetix.
Собственно, именно поэтому в пентестинг рекомендуют идти тем специалистам, у которых уже есть определенный бэкграунд в разработке или тестировании. Потому что даже для уровня Junior количество необходимых знаний просто огромно.
Где учиться на пентестера
И напоследок мы собрали несколько популярных ресурсов, на которых можно получить всю необходимую информацию для профессии пентестера:
Если вы хотите стать пентестером — путь открыт. Но вот стать хорошим пентестером, который зарабатывает десятки тысяч долларов в месяц, намного сложнее. Это уже больше похоже на искусство, а не на ремесло. Готовы к такому? Тогда вперед!
А промокод HABR даст вам получить дополнительные 10% к скидке указанной на баннере.
Чем занимается «белый хакер»? 10 вопросов о специалистах по поиску уязвимостей
Авторизуйтесь
Чем занимается «белый хакер»? 10 вопросов о специалистах по поиску уязвимостей
Как показывают опросы, хакеры чаще всего ищут не выгоды и лёгких денег, а хотят испытать свои силы, решить головоломку в виде защиты какой-то компании. При этом далеко не всем хочется нарушать закон и рисковать. К счастью, в последние годы активно формируется сообщество белых хакеров, а спрос на их услуги растёт, особенно среди крупных компаний. В этой статье мы с помощью экспертов разберёмся, кто такие белые хакеры, при чём там шляпы, как стать белым хакером и зачем это может быть нужно.
Чем занимается белый хакер?
Белые или этичные хакеры помогают компаниям находить и устранять бреши в их защите. Такие хакеры действуют по запросам от компаний, которые можно найти на различных сайтах, например HackerOne или Bugcrowd.
Важно помнить, что взламывая компании, которые об этом не просили, можно попасть под суд, даже если вы никак не использовали их информацию. Тоже касается и взлома Wi-Fi.
Белые хакеры стараются не вызывать перебои в работе компании своей деятельностью — например, они не будут проверять устойчивость к DDoS-атакам в разгар рабочего дня.
Кто такие «white hat» и «black hat»?
Белых хакеров часто называют white hats (белые шляпы), а хакеров-злоумышленников — black hats (чёрные шляпы). Такие наименования появились из-за вестернов, где хорошие ребята носили белые шляпы, а плохие — чёрные.
Основная мотивация белых шляп — развитие своих навыков и использование их во благо компаний, на которые они работают. Основная мотивация чёрных шляп — получение выгоды несмотря ни на что.
Кроме белых и чёрных, часто встречаются gray hats — серые шляпы. Такие хакеры обычно не имеют преступных намерений при взломе, но могут взламывать продукты компаний, которые не публиковали запрос на проверку, а если им в руки попадутся данные, которые можно продать, могут воспользоваться этой возможностью.
Кто такие «blue hat», «green hat», «red hat»?
Если с чёрными, белыми и серыми шляпами всё в общем-то понятно, то цветные наименования — явление гораздо менее распространённое. Тем не менее, иногда они используются.
Blue hat — это по сути тот же white hat, но в терминологии Microsoft. Эта компания активно продвигает аудит продукта хакерами перед выпуском на рынок. Также они учредили Microsoft BlueHat Conference, которая посвящена белому хакингу и информационной безопасности. Попасть туда можно только по приглашению.
Интересно, что в некоторых кругах blue hats — это люди, которые из-за каких-то событий в жизни решили хакнуть кого-то из мести. При этом в остальном хакерское искусство их не интересует. Яркий пример — главный персонаж игры Watchdogs.
Green hat — хакеры-новички, у которых ещё недостаточно опыта и навыков, но которые при этом активно учатся и практикуют хакинг с помощью специальных ресурсов.
Red hat — хакер, основная цель которого — бороться с чёрными шляпами. Но если белые хакеры стараются предотвратить атаки и усилить защиту, красные шляпы хотят наказать хакеров-злоумышленников и обнаружив кого-то из них, могут развернуть против него полномасштабную атаку.
Где белые хакеры находят заказы?
Заказы от компаний в основном публикуются на специальных платформах, таких как HackerOne, Bugcrowd, SafeHats и Synack. Также программы bug bounty поддерживают крупные компании — Google, Instagram, Facebook, Apple, Paypal и многие другие.
Сколько зарабатывает белый хакер?
Как стать белым хакером?
В основном хакеры учатся самостоятельно по информации, которую находят в интернете, однако в последнее время стали появляться курсы этичного хакинга, например Hacker101 от HackerOne.
Также нередко белыми хакерами становятся люди с образованием в Computer Science и информационной безопасности.
Специалист по информационной безопасности = хакер?
Не совсем, ведь специалист по информационной безопасности в первую очередь проектирует защиту, а хакер, даже этичный, пытается найти в ней уязвимости.
Не стоит ставить знак равенства между хакерами, пусть и “белыми”, и специалистами по информационной безопасности. Это распространенный стереотип: если безопасность, то обязательно хакер. На самом деле в ИБ очень много направлений: это и специалисты по организации и методологии безопасности, в задачи которых входит ведение необходимой документации и поддержка ИТ-инфраструктуры в рамках законодательства, и аналитики, в обязанности которых хакерское мастерство совсем не входит 🙂
Кто круче, специалисты по информационной безопасности или хакеры?
Конечно, всё зависит от людей и от ситуации. У специалиста по информационной безопасности и у хакера разные задачи и разные сложности. Но в общем и целом защищаться от возможных угроз сложнее, чем искать уязвимости, ведь хакеру достаточно знать одну лазейку, чтобы достигнуть цели, а специалисту по информационной безопасности нужно создать систему, которая будет защищена от множества уязвимостей.
Чтобы быть хорошим специалистом по информационной безопасности, нужно знать все техники взлома, которыми тебя будут «тестировать». Чтобы взломать сеть, достаточно знать одну работающую методику.
Поэтому специалисты по безопасности проводят много времени в изучении хакерских техник и они, обычно, более профессиональны, чем люди их атакующие.
Что есть общее у всех людей — общий доступ к публичным хакерским утилитам, например, к бесплатному набору эксплойтов Metasploit или Kali Linux, или к платным утилитам, таким как, Core Impact. Это готовые наборы атакующих техник и все что нужно
— научиться из запускать. Для этого есть множество обучающих видео на youtube. И неважно — ты выполняешь роль red team или ты хакер — ты пользуешься одинаковыми утилитами и методиками.
Что выгодно отличает преступника — он может купить на «черном» рынке совершенно новые методики взлома, которые неизвестны еще защитникам и оставаться внутри вашей сети незамеченным долгое время. Это облегчает атакующему проникновение и ставит непростую задачу: как защититься от неизвестной атаки. Например, по информации компании Group-IB, преступная группировка Anunak была в среднем 42 дня в сети банка, до момента вывода денег.
И здесь у защитника есть преимущество: достаточно одной ошибки хакера и он будет замечен. Поэтому, чем больше различных техник защиты вы используете, тем меньше шансов у атакующего. Если техника защиты у вас всего одна – то, скорее всего, ее уже
обошли.
Как часто в уязвимостях виноваты разработчики?
Считается, что принцип Security by design должен быть положен в основу любой современной разработки. Об этом все говорят, но на практике применяется он редко. Причина банальная – конкурентная гонка разработчиков. Продукты нужно выводить на рынок как можно быстрее. В результате вендоры сначала выпускают ПО с целью скорее заработать, чтобы уже потом разобраться с безопасностью.
Яркий пример последнего времени – Zoom. Пока он был мало известен, разработчики не считали нужным разбираться с уязвимостями. Как только интерес общественности, а вместе с ней и хакеров, к нему вырос, сразу обнаружилось множество дыр. Разработчики были вынуждены на это экстренно реагировать и эти дыры подлатали. Могли ли они это сделать раньше? Да. Но первоочередными были другие задачи – расширить функционал, «навести красоты», увеличить клиентскую базу. С точки зрения рынка это оказывается оправданно, так как пользователи не оценят «улучшена безопасность приложения», но оценят «мы сделали новые крутые смайлы».
Существует три вида уязвимостей: проектирования, реализации и конфигурации. Часто разработчики в принципе не в состоянии решить проблемы, заложенные еще на этапе дизайна. Например, протокол SMTP, по которому передается почта между почтовыми серверами, изначально был создан без подтверждения личности, поэтому до сих пор нас атакуют спамеры и мы получаем фишинговые письма. Просто потому, что любой человек может прислать письмо, подписавшись любым адресом, хоть адресом президента. Да, при реализации есть попытки от этого защититься, но проблема была еще в корне.
Конечно, и сами программисты вносят уязвимости. Здесь есть, пожалуй, две основных проблемы: огромные объемы кода и переиспользование чужого кода. При выпуске программного продукта код обычно тестируется на то, чтобы он работал при стандартных входных данных. И почти никогда не тестируется, когда входные данные специально изменяют, чтобы провести атаку. Профессиональные компании вводят практики безопасного написания кода, которые называются SDLC, однако и они не идеальны. Например, Microsoft уже много лет практикует и пропагандирует безопасное написание кода, но, тем не менее, каждый месяц выпускает патчи к свеженайденным уязвимостям. В среднем в нашу лабораторию приходит 80 сообщений о новых уязвимостях в сутки в продуктах различных компаний.
Переиспользование чужого кода используется повсеместно: никто не пишет готовые алгоритмы и библиотеки с нуля. Все программисты покупают или берут уже готовые публичные библиотеки. Помните, как сильно ударила по миру уязвимость в библиотеке OpenSSL — ведь ее использовал весь мир для управления устройствами и для шифрования каналов управления и передачи данных. И пришлось срочно выпускать патчи и обновляться. А обновлять сетевое оборудование и сайты в работающих средах — непростая затея. По статистике уязвимость Heartbleed была на 17% публичных вебсайтах. И таких публичных и платных библиотек в любом продукте используется несколько десятков, например библиотеки управления внешними устройствами, внутренними, например, видеокартами, сетевыми адаптерами и др. И периодически в них находят уязвимости. А если смотреть на ситуацию с уявзимостями Интернета вещей — там даже пароли по умолчанию никто не меняет. Там вообще не нужны уязвимости — заходи кто хочешь, выключай и включай все приборы, что хочешь.
Сегодня бич информационной безопасности в организациях — контейнеры. Они позволяют очень быстро и эффективно разворачивать нужные бизнесу приложения, но уже можно сразу считать любой готовый контейнер уязвимым и во многих компания в срочном порядке начинают использовать продукты по защите Docker, Kubernetes и среды их исполнения, например OpenShift. И многие последние взломы и утечки персональных данных были вызваны именно использованием уязвимых контейнеров.
Если говорить о проблемах, связанных с виной не только разработчиков, но, кстати, и других сотрудников ИТ-департаментов, то хочется сказать о многочисленных уязвимостях баз данных. Да, никто не отменял многочисленные ошибки в проектировании систем, небезопасный код, но, по нашим наблюдениям, самое слабое звено — это база данных: избыточные права доступа к объектам, доступ администраторов БД к «чувствительным данным» (номерам карт, телефонов, емейлам), что скрывать, часто для подключения к продуктивным БД используются легко подбираемые пароли типа password1234. О рекомендациях вендоров-производителей БД помнит только каждый 5й айтишник. Человеческий фактор тоже никто не отменял: утечка данных может быть не только случайной, но и намеренной: все-таки до 90% всех баз данных, которые присутствуют на «чёрных» рынках, украдены сотрудниками компаний, а не хакерами. И да, к сожалению, представители ИТ-департаментов, которые видят все данные в БД и понимают их ценность, чаще всего эти данные и продают.
Какие инструменты используют белые хакеры?
«Белые» хакеры работают по принципу «мысли как преступник» чтобы при поиске уязвимостей, пентесте и т.п. понимать логику злоумышленников. Поэтому и методы они используют те же, что и «чёрные» хакеры.
С точки зрения используемых инструментов, также есть миграция, но здесь наоборот: от тёмной стороны к светлой. Дело в том, что «чёрным шляпам» невыгодно использовать «авторское» вредоносное ПО. Системам защиты его будет легче выявить по ряду признаков. Поэтому уже давно назрел тренд на использование «потенциально небезопасных» программ. Так их именуют антивирусные решения. В результате инструменты в руках у обоих категорий хакеров по сути двойного назначения. Ими могут пользоваться не только хакеры, но и «белые шляпы», поэтому антивирусные программы такое ПО не блокируют, а предупреждают о рисках. Журнал «Хакер» дает небольшой перечень такого ПО: ScanSSH, Intercepter-NG, NLBrute, UBrute, RDP Brute, sqlmap, Netsparker, SQLi Dumper, Router Scan, Private Keeper, Havij, Metasploit, Armitage, DUBrute, Lamescan, Fast RDP Brute, njRAT, Acunetix.
К примеру, Intercepter-NG был создан русским программистом, и писал он про него как про ПО для пентеста. Он не прячется, ведет свой блог, сайт т.е. действует в легальном поле. Но некоторые эксперты считают такой софт хакерским и не без основания, так как он действительно может использоваться для решения их задач.
Подбор необходимого инструментария для атаки зависит от целевой инфраструктуры и применяемых технологий. В дело идут как нестабильные скрипты для свежих уязвимостей, так и качественные инструменты для распространенных проблем безопасности.
Среди множества инструментов я бы выделил несколько основных:
Для проведения аудита информационной безопасности или тестирования на проникновения существует множество различных инструментов, предназначенных для проверки защищённости различных типов ресурсов, таких как WiFi-сети, локальные сети, базы данных, операционные системы, веб-сайты и др. Существуют целые сборки такого программного обеспечения, которые и используются «белыми» и «чёрными» хакерами. Примерами могут служить дистрибутивы Kali LInux, BlackArch, Commando VM. Кроме стандартного набора утилит, входящих в состав таких дистрибутивов, это могут быть общедоступные утилиты с github.com или иных ресурсов, а также самонаписанные скрипты, позволяющие автоматизировать какой-либо процесс, например, подбор паролей. Однако одного обладания набором утилит для полноценного тестирования мало, необходимо понимать принципы работы тестируемых систем.
А вот какие результаты получили HackerOne в опросе 2019 года:
Как строится система информационной безопасности компании? Рассказывает эксперт
Software Engineer EPAM
Специалист по компьютерной безопасности — это широкое понятие, включающее в себя большое количество ролей и обязанностей, но основная цель у всех одинаковая — это обеспечить конфиденциальность, целостность и доступность информации. Наглядным примером будет средневековый город, жители и производства которого является функциональной частью программного обеспечения. Как хорошие защитники мы не хотим, чтобы нашу продукцию воровали, ломали и делали сообщение с другими городами недоступным. И что бы этого не допустить в штате есть целый арсенал специалистов. Думать о защите города необходимо на этапе проектирования, для этого есть Application Security специалисты, которые занимаются анализом архитектуры приложения и функциональных требований, находя угрозы и предлагая способы их устранения в самом начале. Очевидно, дешевле определить, что крепостную стену надо строить из камня на этапе требований, чем построить из дерева и затем переделывать. На этапе постройки города важно чтобы соблюдались регламенты и правила строительства, а никто из строителей (программистов) не использовал испорченные материалы, для этого существует Static Application Security Testing, который состоит из Security Code Review и автоматизированного поиска дефектов в коде.
Настройкой и интеграцией автоматизированных сканов занимается команда DevSecOps, в то время как обязанности по регулярному разбору репортов и обновлению правил поиска часто также ложатся на Application Security специалистов. Могут быть в городе и другие роли, например иногда очень сложно обойтись без человека, который занимается регулярным чтением распоряжений международных организаций и подготовкой городской документации для подтверждения того, что все требования удовлетворены. Есть и аудиторы, которые путешествуют по странам и проверяют их соответствие требованиям. Под страной или государством следует понимать производителя программного обеспечения или ИТ-организацию, предоставляющею услуги. И на уровне государства найдется работа для специалиста по компьютерной безопасности, кто-то должен защищать границы и не пускать злоумышленников в инфраструктуру, служба IT Security и Physical Security отлично справляются с этой работой. Кто-то должен руководить процессами по защите информации. Есть и специальные Red Team команды, задача которых вломиться на территорию государства по заказу его руководителей и получить контроль над критическими системами, зачастую для этого используются слабозащищенные города. Список далеко не полный и его продолжение я предлагаю вашей фантазии.
Вернемся к нашему городу, после того как он построен, застройщик приглашает команду Penetration testers или, говоря популярно, «этичных» хакеров, которые просят дать доступ к staging серверу с таким же городом и пытаются его сломать, имитирую действия злоумышленников или «чёрных» хакеров. В ход идут все доступные средства от попыток прикинуться жителем города и обмануть охранников, до вероломного переламывания стены. Особое внимание уделяется всем входам и выходам из города, как к самым уязвимым местам. Список утилит и методологий используемых «этичными» и «чёрными» хакерами во многом схож, подробнее об общей методологии можно почитать тут. Гораздо интереснее посмотреть на разницу! Так как Penetration testing команда приглашена командой разработчиков она имеет ряд преимуществ, например изначально ей могут быть предоставлены привилегии различных ролей в городе, а также перед тестированием могут быть отключены дополнительные средства защиты такие Web Application Firewall. Все это позволяет улучшить процесс тестирования, так как не отнимает время инженеров на обход дополнительных защит. «Чёрные» хакеры изначально находятся определенно в более тяжелой ситуации, так как лишены вышеперечисленных преимуществ и вынуждены проводить атаки «вслепую». Но все трудности с лихвой компенсируется отсутствием ограничений по времени тестирования и необходимости атаковать именно приложение. Злоумышленник может покупать на чёрном рынке 0-day уязвимости в веб-серверах патчи для которых еще не опубликованы, он может использовать обман для получения credentials пользователей или банально купить информацию у легитимного пользователя. Также в арсенале злоумышленника есть ряд утилит, позволяющих закрепиться в системе на длительное время и оставаться незамеченным, что намного реже востребовано тестировщиками. Подводя итог, разница между тулсетами «этичного» и «чёрного» хакеров кроется в сути самих ролей, первый это высококлассный инженер, действующий в рамках соглашений, а второй преступник, которому не чужды все соответствующие методы.
Как бы хорошо ни старались специалисты по информационной безопасности, самым уязвимым местом любой системы остаются ее пользователи. Если губернатор велит открыть главные ворота и пускать всех, все механизмы защиты будут бесполезны. Стоит отметить, что администраторы инфраструктуры, в том числе файрволлов, в данном случае тоже пользователи, просто другого программного обеспечения. Конечно же ошибки могут допускать и разработчики, глобально их можно разделить на два типа — это либо ошибка в логике программы, которая закралась на этапе требований или проектирования взаимосвязей между модулями, либо техническая ошибка, например в реализации механизмов защиты. Список таких ошибок к счастью конечен. Наиболее часто встречающейся на моей практике было отсутствие валидации входных данных или эскейпинга выходных, приводящих к широкому списку проблем от банальных XSS до Remote Code Execution на продакшен серверах. Подробнее можно почитать по ссылке. На этом у меня все и пожалуйста, помните, что лучший специалист по компьютерной безопасности для своего приложения — это сам разработчик!