Руслан Рахметов, Security Vision
Многие кибератаки реализуются за счет обмана — как с использованием методов социальной инженерии, так и за счет технических способов, позволяющих злоумышленникам выдать себя за кого-либо. В контексте кибербезопасности нередко используется термин «спуфинг» (англ. spoofing, буквально «фальсификация» или «подделывание») — это технический способ обмана или олицетворения, при котором «спуфер» («обманщик» — программа или устройство) достоверно выдаёт себя за другое лицо или сущность для совершения атаки. Киберпреступники используют спуфинг для подделки личности (отправителя сообщения, аккаунта) или сущности (устройства, веб-сайта), что позволяет им притвориться легитимным источником информации, аутентичным веб-сайтом, коллегой для получения несанкционированного доступа, кражи денег и данных, распространения ВПО. В данной статье мы расскажем о видах спуфинга, типах спуферов, а также о методах выявления и предотвращения spoofing-атак.
Использование методов социальной инженерии подразумевает воздействие на психологию человека. Однако для повышения эффективности атаки злоумышленники используют комбинацию из технических и психологических методов. Например, для большей убедительности звонящий по телефону мошенник не только представится сотрудником банка, но и применит атаку "Caller ID spoofing" (подделка идентификатора звонящего) — и на телефоне жертвы при входящем звонке отобразится телефон настоящего банка. В другом случае для успешного фишинга будет не только составлен грамотный текст обращения к жертве, но и подделан адрес отправителя письма — будет проведена атака "Email spoofing" (подделка email). Однако спуфинг не только позволяет сделать социоинженерные атаки более результативными, но и опасен сам по себе — программные и аппаратные спуферы можно использовать для организации DDoS-атак, перехвата сетевых данных, запутывания следов расследователей и даже для воздействия на киберфизические системы и устройства.
Спуфинг может быть реализован на различных уровнях абстракции:
- Спуфинг изображения и голоса.
Технологии создания дипфейков основаны на спуфинге биологических характеристик человека — голоса, особенностей речи, изображения лица, движений тела. Злоумышленники подделывают их, а в качестве спуфера используются нейросети, которые обучаются на образцах голоса, фото и видеоизображениях имперсонируемого человека. Для выявления подделок современные компании используют технологии проверки того, что сервисом пользуется живой человек. Например, банковское приложение может попросить пользователя-клиента поморгать или покачать головой перед камерой смартфона.
- Спуфинг расширений файлов.
Атаки типа Extension Spoofing могут быть выполнены за счет использования спецсимвола U+202E (RTLO, Right-to-Left Override — смена направления чтения текста на «справа налево»): например, исполняемый файл "об_усп<u202e>txt[.]exe" будет отображаться пользователю как текстовый «об_успexe[.]txt», при этом пиктограмму такого исполняемого файла можно также легко заменить на иконку текстового документа.
- Спуфинг PID родительского процесса и аргументов процесса.
При реагировании на киберинциденты ИБ-специалисты уделяют особое внимание иерархии связанных процессов, поэтому атакующие используют технику спуфинга PID-идентификатора родительского процесса для усложнения анализа. Кроме того, для запутывания следов злоумышленники могут применять и технику спуфинга аргументов (параметров), с которыми запускался тот или иной процесс в ОС.
- Спуфинг email.
Система обмена электронной почтой изначально создавалась без учета возможности подделки сообщений, поэтому до сих пор существуют неопределенности в синтаксисе email-заголовков и в логике их проверки, как мы уже говорили в статье про фишинг. До совсем недавнего времени в интернете были доступны различные открытые почтовые релеи (Open mail relay), которые, по сути, выступали спуферами — они позволяли отправлять через них email-сообщения с произвольным набором заголовков, притворившись любым отправителем. Кроме того, спуфинг электронной почты может основываться и на простейших способах, когда адрес отправителя всего лишь визуально похож на имперсонируемый аккаунт. Для этого атакующие регистрируют домены, по написанию схожие с подлинными.
- Спуфинг доменов и URL-адресов.
Атакующие могут реализовывать атаки, связанные с именами сайтов и конкретными URL, на которые пытаются завлечь пользователей. Спуфинг домена может быть осуществлен в атаке "Typosquatting" («захват опечаток»), при которой злоумышленники рассчитывают, что определенный процент интернет-пользователей сделает опечатку при вводе домена в адресной строке браузера и попадёт на вредоносный сайт. Атака реализуется путем регистрации домена, который похож по написанию с легитимным веб-ресурсом, с дальнейшим размещением вредоносного контента на нём (например, фишинговой формы ввода учетных данных якобы для корпоративного почтового сервера). Атаки со спуфингом URL-адресов могут быть осуществлены с помощью техники "Open redirect" («открытое перенаправление») при которой используется уязвимость легитимного веб-сайта, позволяющая перенаправлять пользователей на вредоносный сайт. Злоумышленники могут также использовать особенности визуального сходства символов различного алфавита и их отображения в различных браузерах, выполняя спуфинг-атаки с использованием Punycode и IDN-омографов. Существуют утилиты, позволяющие выявить домены, которые потенциально могут использоваться для атак типа Domain spoofing или Website spoofing, например, dnstwist, openSquat, DNSrazzle.
- Спуфинг DNS.
DNS spoofing (или DNS cache poisoning) — это атака, основанная на отсутствии проверки подлинности, передающейся по протоколу DNS информации и на использовании протокола UDP для DNS-запросов/ответов. В результате этого атакующий может передать кэширующему (локальному, рекурсивному) DNS-серверу поддельные данные о сопоставлении DNS-имени запрашиваемого сайта IP-адресу сервера, который контролируется атакующим и на котором производится MitM-атака. Например, внедряются вредоносные скрипты, похищаются учетные данные, отображается недостоверная информация. Защитой от подобных атак будет использование технологий DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ), DNSSEC, DNSCrypt.
- Спуфинг DHCP.
DHCP Spoofing — это атака на протокол DHCP, при которой злоумышленник внедряет спуфинговый DHCP-сервер в корпоративную сеть, выводит легитимный DHCP-сервер из строя за счет флуда поддельными запросами (используя технику DHCP Starvation), а затем от имени «нового» DHCP-сервера начинает сообщать DHCP-клиентам недостоверную информацию (поддельный IP-адрес DNS-сервера, поддельный IP-адрес шлюза по умолчанию) для реализации дальнейших MitM-атак. Защитой от атак подобного типа будет использование технологии DHCP Snooping, которая разрешает прохождение служебных DHCP-сообщений (DHCPOFFER и DHCPACK) только через определенный порт коммутатора.
- Спуфинг IP-адресов (при использовании протокола TCP).
При использовании протокола TCP подделка IP-адреса злоумышленником целесообразна, если он имеет доступ в сетевой сегмент, где находятся клиент и атакуемый сервер, сетевой трафик не шифруется, а после первичной аутентификации клиента для проверки подлинности соединения используется только IP-адрес и 32-битный счетчик TCP SEQ, значение которого можно перехватить. С помощью атаки отравления ARP-кэша злоумышленник сможет перенаправить трафик в пределах подсети от атакуемого сервера на себя, выполняя затем спуфинг IP-адреса реального клиента, который уже был ранее аутентифицирован (ввел логин и пароль на сервере). В случае, если атакующий не имеет доступ в сетевой сегмент, он может попробовать применить устаревшую технологию Source Routing (маршрутизация на основе источника). В ней отправитель данных (атакующий, подделывающий IP-адрес клиента) сам указывает маршрут, которым должен пройти ответный IP-пакет, поэтому появляется возможность указать устройство атакующего для получения ответов от сервера. Кроме того, в современных DPI-решениях для блокировки трафика может применяться техника spoofed TCP reset («поддельный сброс TCP») — DPI-решения отправляют клиенту пакет "TCP Reset" якобы от имени запрошенного им сайта.
- Спуфинг IP-адресов (при использовании протокола UDP).
При использовании протокола UDP отправитель данных может не получать ответ, что даёт возможность атакующим выполнять спуфинг IP-адреса отправителя UDP-датаграммы. Особенности UDP позволяют выполнять мощные DDoS-атаки типа UDP Amplification (буквально «усиление UDP»), при которых небольшое количество вредоносных устройств, используя спуфинг IP-адреса жертвы, могут создать огромное количество ложных запросов к различным интернет-серверам — и ответы на них отправятся на IP-адрес жертвы. Так, различные сетевые протоколы (DNS, NTP, SSDP, TFTP и другие), использующие UDP-транспорт, позволяют атакующим усилить мощность DDoS в несколько раз, поскольку спецификация этих протоколов предусматривает многократный повтор ответа, который направляется на IP-адрес жертвы.
- ARP-спуфинг.
Атака ARP-спуфинга (ARP Spoofing или ARP Cache Poisoning) может использоваться для организации DoS в пределах подсети, а также для перехвата и подмены трафика пользователей. ARP-спуфинг — это первый шаг для более серьёзной атаки Man-In-The-Middle, в рамках которой можно, например, реализовать атаки SMB Relay или NTLM Relay или постараться получить доступ к HTTPS-трафику. Ранее мы подробно обсуждали атаку методом ARP-спуфинга.
- Спуфинг MAC-адресов.
Многие современные ОС позволяют пользователям менять MAC-адреса сетевых карт, а также автоматически генерировать случайные MAC-адреса при доступе к WiFi (технология "MAC address randomization"). Подмена MAC-адресов используется для повышения приватности пользователей, поскольку не позволяет WiFi-точкам доступа отслеживать историю подключений одного и того же устройства.
- Спуфинг GNSS.
Система GNSS (Global Navigation Satellite System, глобальная спутниковая система навигации), включая системы GPS, ГЛОНАСС, BeiDou, Galileo, подвержены спуфингу, т.е. подделке сигналов. В них не заложены механизмы проверки подлинности получаемых сообщений. В результате, атакующие могут выполнять GNSS Spoofing с помощью оборудования, имитирующего GNSS-спутник, и передавать устройствам-приёмникам неточные или намеренно искаженные данные, включая поддельные координаты и неверное время. В результате некоторые киберфизические системы могут работать неправильно. Например, автономный транспорт не сможет продолжать движение, а системы, использующие сигналы точного времени от спутников, не смогут корректно выполнять операции.
- Спуфинг воздушных и морских систем навигации и идентификации.
В авиации используется технология ADS-B (Automatic dependent surveillance-broadcast, автоматическое зависимое наблюдение-вещание), которая позволяет воздушным судам передавать свой ICAO ID (уникальный 24-битный идентификатор самолета в системе Международной организации гражданской авиации), информацию о своём местоположении, курсе, высоте, скорости, а также получать некоторую информацию (например, данные о погоде). В систему ADS-B не заложены механизмы проверки подлинности и шифрование передаваемой и получаемой информации, что позволяет атакующим подделывать информацию и передавать наземных службам неверные данные о состоянии воздушного судна.
В судоходстве используется система AIS (Automatic Identification System, автоматическая идентификационная система), через которую объектами водного транспорта передаются их MMSI-идентификаторы (Maritime Mobile Service Identity, идентификационный номер морской подвижной службы), информация об их типе, габаритах, местоположении, курсе, скорости. В систему AIS не заложены механизмы проверки подлинности отправляемых сообщений, поэтому передаваемые данные могут быть случайно или намеренно подделаны экипажем судна.
- Спуфинг в системах телефонной связи.
Системы телефонной связи позволяют подменять идентификатор абонента (вызывающего или отправившего СМС-сообщение). Таким образом становятся возможными атаки типа "Caller ID spoofing" (подделка идентификатора звонящего) и "Smishing" (SMS phishing, фишинг через СМС), в которой атакующие отправляют фишинговые сообщения через СМС за счет возможности подделать номер отправителя СМС-сообщения. Например, специальные сервисы и маркетинговые системы позволяют указать произвольное сочетание букв и цифр в поле отправителя или вызывающего абонента, что даёт возможность указать произвольный номер звонящего или имитировать сообщение от банка.
- Спуфинг идентификаторов аппаратного обеспечения.
Применение утилит типа "HWID Spoofer" («спуфер аппаратных идентификаторов») позволяет подделать идентификаторы оборудования устройства (как правило, материнской платы, видеокарты, жесткого диска) для того, чтобы обмануть различные системы слежения. Например, в компьютерных играх или в аналитических системах, использующих Fingerprint браузера.