Социальная инженерия: ликбез про метод атаки, который никогда не устаревает

67622b5d09d3213849811ccf085ebb47Как показывает мировая практика успешно проведённых взломов (успешно для атакующих, разумеется), большая часть проблем связана именно с проблемами с людьми. Если быть более точным — дело в их способности выдать любую информацию и совершать совершенно дурацкие действия.

Думаю, IT-примеры вам и так прекрасно знакомы, поэтому напомню пример из книги «Психология влияния»: психологи обзванивали медсестёр в больницах, а затем представлялись врачом и отдавали распоряжение ввести смертельную дозу вещества пациенту. Сестра знала, что делает, но в 95% случаев выполняла команду (её останавливали на входе в палату ассистенты психолога). При этом врач даже не был хоть как-то авторизован. Почему сестра так делала? Просто потому, что она привыкла слушаться авторитета.

Давайте ещё раз: в примере благодаря грамотной социальной инженерии 95% больниц оказались критически уязвимы.

Метод не устаревает

Системы постоянно меняются. Софт и железо усложняются. Чтобы более-менее уверенно владеть темой как в защите, так и в атаке, нужно постоянно следить за всеми новинками, первым смотреть новые вещи, очень хорошо понимать весь IT-бекграунд вопроса. Это путь классического хакера, того самого, который овеян идеалом романтики. В современном мире, скорее, хакеры имеют в группе нескольких узких специалистов, подготовленных по конкретным технологиями цели, но основной задачей всегда остаётся проникновение внутрь периметра защиты.

Это означает, что рано или поздно вам, скорее всего, потребуется социнжиниринг. И обычно — рано, потому что сначала идёт сбор информации и подготовка, а уже поверх накладываются технологии и глубокое знание IT-систем.

Если в вашей компании есть отдел безопасности, скорее всего, там есть параноики, которые понимают, сколько ценных данных может быть у сотрудников, плюс циники, которые совершенно не верят в людей. Эта команда разграничивает права, пишет инструкции и отрабатывает критические ситуации на практике. В целом это позволяет привить некоторый иммунитет, но всё равно не обеспечивает достойного уровня защиты. Что самое неприятное, в социнжинринге нельзя «поставить патч» и забыть — однажды усвоенная злоумышленником механика будет работать всегда, потому что поведение людей в целом не очень-то сильно меняется.

Основная модель социнженерии

Предполагается, что каждый сотрудник имеет свой уровень компетентности в вопросах безопасности и свой уровень доступа. Линейные сотрудники (например, девушки с ресепшна) не имеют доступа к критичной информации, то есть даже захват их аккаунтов и получение всех известных им данных не нанесёт компании серьёзного урона. Но их данные могут использоваться для перехода на следующую ступень уже внутри защищённой зоны. Например, вы можете получить имена сотрудников и позвонить уровнем выше, представившись одним из них. При этом можно играть в авторитета (как в примере с врачами выше), а можно просто задать пару невинных вопросов и получить кусочек мозаики. Или же продвинуться дальше, к следующему более знающему сотруднику, используя тот факт, что в команде принято помогать друг другу, а не включать паранойю на вопросы о ряде важных данных. Даже при наличии жесткой инструкции есть шансы, что эмоции всегда перевесят.

Не верите? Представьте ситуацию, когда злоумышленник звонит одной и той же девушке из колл-центра несколько раз в неделю в течение месяца. Он представляется сотрудником, приносит море позитива, живо разговаривает, уточняет какие-то открытые мелочи, иногда просит мелкой помощи. Чёткую авторизацию заменяет тот факт, что человек звонит часто. Десять, двадцать, если надо — тридцать раз. До тех пор, пока не становится одним из явлений жизни. Он свой, ведь он в курсе разных мелочей работы компании и звонит постоянно. На 31-й раз атакующий опять делает мелкую просьбу, но на этот раз касающуюся важных данных. И если надо, приводит логичное и правдоподобное обоснование, почему это требуется, и в какой он беде. Конечно же, нормальный человек ему поможет.

Если вы думаете, что таким атакам подвержены только некомпетентные пользователи, то откройте книгу «Искусство обмана», где ещё во вступлении Митник рассказывает о том, как представился ведущим разработчиком проекта и заставил, на секундочку, сисадмина дать привилегированный доступ к системе. Заметьте, человека, который прекрасно понимал, что конкретно он делает.

Обратная социальная инженерия

Общая модель атаки точно такая же: вы получаете данные, которыми пользователи готовы поделиться. Но в отличии от классических методов «лесенки», здесь пользователь сам говорит что нужно. Это эффективная трёхходовка: вы подстраиваете неприятность пользователю, обеспечиваете контакт с собой, затем проводите атаку. Пример — приходите в охраняемый периметр как уборщик, заменяете номер техподдержки в распечатке на стене на свой, а затем устраиваете мелкую неполадку. Уже через день вам звонит расстроенный пользователь, готовый поделиться всеми своими знаниями с компетентным специалистом. Ваша авторизация проблем не вызывает — ведь человек сам знает, кому и зачем он звонит.

Красивая вариация – банковский IVR-фишинг, когда жертва атаки получает письмо с фишинговым номером «клиентского центра», где автоответчик на каком-то шаге просит для авторизации ввести важные реквизиты карты.

Ещё частные случаи

Вы можете использовать фишинг на ресурсах, которыми пользуется цель. Или же, например, выложить на этих внешних ресурсах зловреда, инфицирующего машины компании (один из основных векторов атак последних лет, кстати). Можете передать диск с чем-то интересным сотруднику (в расчёте на то, что он запустит софт или использует информацию оттуда), можете использовать социальные сети для сбора данных (выявления структуры компании) и общения с конкретными людьми в ней. Вариантов море.

Резюме

Итак, социальная инженерия может использоваться и для сбора данных о цели («Привет! У меня был телефон 4-го отдела, но я забыл»), и для получения закрытой информации («Ага, спасибо. Вот ещё что, мне кажется, это подозрительный клиент. Подскажешь номер его карты, которой он расплачивался последний раз?»), прямого получения доступа к системе: «Так, что именно вы вводите сейчас? По буквам, пожалуйста. Семь-эс как доллар-процент-дэ-тэ большую…»). И даже для получения вещей, которые иначе достать невозможно. Например — если компьютер физически отключен от сети, «обработанный» человек сможет подключить его.

В топике про подготовку к хакерскому турниру была задача про девушку на респшене, случайно отлучившуюся на 30 секунд. Что бы вы успели сделать за это время? Поставить что-то на её машину? Нет, не хватит времени или прав юзера. Украсть документы со стола или отправить себе все письма? Не лучшая идея, вас заметят. Даже просто сесть за её компьютер — уже опасно из-за возможной скрыто смонтированной камеры в офисе. Лучшие ответы лежали в плоскости социального взаимодействия: наклеить стикер с номером техподдержки, пригласить её на свидание и так далее. За свидание не судят, зато оно даст вам кучу данных про иерархию в компании и личные дела сотрудников.

Итак, возвращаясь к ликбезу. Прочитайте «Искусство обмана» (вам точно понравятся конкретные диалоги оттуда), главу про социнженерию из книги Дениса Ферии с пафосным названием «Секреты супер хакера», серьёзную «Психологию влияния», а для начала — статью на Вики с описанием основных методик. Если у вас нет мощного отдела безопасности, после прочтения предупредите руководителя и проведите простой пентест. Скорее всего вы узнаете много нового о человеческой доверчивости.

Турнир Cyber Readiness Challenge и социальная инженерия

Кроме технических методов предотвращения социальных угроз (таких как введение общей платформы для обмена сообщениями внутри компании, обязательной аутентификации новых контактов и так далее) необходимо объяснять пользователям, что именно происходит при таких атаках. Правда, это бесполезно, если не совмещать теорию с практикой, а именно — время от времени действовать самому как злоумышленник и пробовать проникнуть в свои же системы. После пары «учебных тревог» и разборов сотрудники, по крайней мере, будут думать, не проверяют ли их при звонках.

Разумеется, для противостояния угрозе нужно «залезть в голову» атакующему вас злоумышленнику и научиться думать как он. В рамках оффлайного турнира Cyber Readiness Challenge, изначально создававшегося как симулятор для обучения специалистов по безопасности, мы не могли пройти мимо этого класса угроз. Поэтому в игру будут включаться и задания, которые решаются социальными методами.

Если вы разбираетесь в серверном и системном администрировании, инфраструктуре сетей и других технических вещах, но не учитываете такой прекрасный человеческий фактор, турнир даст вам пару интересных идей.