Maltego Часть 5. Твое лицо тебя сдало
Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego.
Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время:
Во время тестирования функционала по поиску информации в различных соцсетях с применением Maltego (см. Часть 4) я удивился тому, что всего лишь по ФИО и фото из аккаунта в Инстаграм Maltego с ходу нашла мой аккаунт в LinkedIN.
Вот тут-то, я полагаю, и сработал механизм Face Recognition от Social Links. Мимо такой темы нельзя просто так взять и пройти! Нужно убедиться, насколько функционал точен и можно ли его применять полноценно в OSINT, или мой случай — единичный, а выдача будет забита похожими людьми.
Тестировать будем на различных медийных личностях. Во-первых, у них точно есть аккаунты в соцсетях. Фейки с их фото тоже должны быть. Во-вторых, мы сможем наглядно определить, есть ли погрешность при распознавании. Уж Дональда Трампа от любого другого человека кто угодно отличит.
Раз уж я проговорился, то пусть будет Дональд Трамп)
В первый раз подробно рассмотрим порядок действий, согласно инструкции от Social Links, для всех остальных случаев будем только анализировать результаты. Заявленный процент точности от SL на распознавание составляет 75%, что не мало.
Прим. Автора: в механизмах работы Maltego есть один не очень приятный параметр. Называется «Timeout» и равен 12000 мс (2 минутам). Он определяет, сколько Maltego будет ожидать отклика от стороннего API при выполнении Transforms.Тут кроется неприятный момент. Этот параметр в настройках пользователь может увеличить, но механизма узнать, что он установил, для разработчиков Transform нет. А это значит, что при разработке сторонних Transform компании вроде Social Links вынуждены опираться на дефолтное значение. Почему это так важно, вы либо уже догадались, либо узнаете в выводах, в конце статьи.
Дональд Трамп
Заходим в аккаунт Social Links и создаем там профайл человека. Указываем имя и фамилию, страну и пол.
Есть еще большое поле «примечание» для заметок.
Добавляем фото. Выберем и обычные, и не совсем.
Все готово. Можно начинать!
Для поиска мы будем использовать Entitie — Search Profile by Face. Фото в аккаунт SL мы грузили, чтобы получить удобную прямую ссылку на него. Но если у вас она уже есть в другом месте, то можете использовать ее.
После запуска поиска по первому фото стало немного понятно, как работает система в целом. Ответственная за распознавание лиц нейросеть в Social Links делает через API запрос к соцсети на поиск всех аккаунтов по заданным имени и фамилии. После чего, уже по фото этих аккаунтов, делает сравнение через распознавание лиц с фото, которое мы указали в качестве эталона.
Итого, по перовой фотографии Трампа мы имеем:
- Facebook — 1 аккаунт (маловато)
- LinkedIn — 1 аккаунт (не его, но Трамп есть на фото совместно с хозяином аккаунта)
- Instagram — 8 аккаунтов
- ВКонтакте — 8 аккаунтов
- Twitter — 7 аккаунтов
- MySpace — 3 аккаунта
- Foursquare — 6 аккаунтов
Стоит также отметить, что система смогла определить лицо Трампа даже на фотоколлажах и совместных фото.
По итогам работы с первым фото промахов на аккаунты с рандомными фото не замечено. После запуска поиска по 2 и 3 фото появилось несколько дополнительных аккаунтов. Левых снимков по-прежнему нет. Все вынесенные на граф аккаунты содержат изображение Трампа в том или ином виде. Даже фотошоп-арт не проскочил мимо.
Итого, после отработки Transforms по всем эталонным фото мы имеем:
- Facebook — 2 аккаунта (Все еще маловато)
- LinkedIn — 1 аккаунт
- Instagram — 10 аккаунтов
- ВКонтакте — 8 аккаунтов
- Twitter — 10 аккаунтов
- MySpace — 7 аккаунтов
- Foursquare — 7 аккаунтов
Промахом в данном случае стоит считать только аккаунт в LinkedIN, так как он принадлежит Блэйну Кэлли (Blaine Kelly), но на фото он запечатлен совместно с Трампом, так что, по сути, это 30 на 70. Трамп же всё-таки есть. Итоговый граф на снимке экрана ниже.
Земфира Рамазанова
Теперь давайте попробуем распознать женское лицо. По радио в офисе играла песня «Кукушка», поэтому Земфира попала в статью. Все честно, никакой предвзятости.
Тестовые фото ниже.
Фейков Земфиры, разумеется, поменьше, чем фейков Дональда Трампа, соответственно, информационная выдача чище.
Итого получилось найти:
- Facebook — 5 аккаунтов
- Instagram — 3 аккаунта
- ВКонтакте — 2 аккаунта
Рандомных фото похожих на Земфиру людей не замечено. Полагаю, что это следствие того, что первичная выборка идет именно по ФИО. А если попадется аккаунт с именем Земфира и изображением левого человека или картинкой, то его уже отсеет система распознавания лиц.
Джеки Чан
Усложним задачу. Проверим, как система сработает на актере с ярко выраженной азиатской внешностью. Специально выбрал для теста как снимки постаревшего артиста, так и его фото в самом расцвете карьеры.
Фото для теста:
Итого получилось найти:
- Facebook — 9 аккаунтов
- Instagram — 8 аккаунтов
- ВКонтакте — 6 аккаунтов
- Twitter — 4 аккаунта
Рандомных снимков старых азиатов нет. Информационная выдача достаточно точна. Если не считать кучи фейков с именем и фото Джеки Чана.
Как вы можете заметить, одинаково хорошо отыскиваются аккаунты с фото Джеки в любом возрасте.
Тэнди Ньютон (Thandie Newton)
Ну и напоследок, давайте проверим как система сработает при поиске фото людей негроидной расы.
Тут для поиска я выбрал актрису Тэнди Ньютон, знакомую всем нам по ролям в таких фильмах, как «Хроники Риддика», «Рок-н-рольщик», «Хан Соло. Звёздные войны: Истории» и, конечно же, «Мир Дикого Запада».
Тестовые фото:
Итого получилось найти:
- Facebook — 2 аккаунта
- Instagram — 3 аккаунта
- Twitter — 6 аккаунтов
- MySpace — 5 аккаунтов
Промахов в распознавании нет.
Итоги и выводы
Давайте подытожим. По результатам моих тестов и чтения документации по работе Transforms с механизмом Face Recognition от Social Links могу смело сказать, что они работают замечательно. Пока писал данную статью, даже успел закрыть один проект по OSINT с их применением.
Однако есть несколько НО про которые следует помнить при работе с ними:
- Ввиду большого количества фотографий в соцсетях и наличия параметра «Timeout» в настройках Maltego, мы не можем просто взять и сканировать все фото на выбранной площадке на предмет совпадения. Во-первых, это займет слишком много времени, во-вторых, мы ограничены окном ответа в 2 минуты от серверов SL, иначе Maltego разорвет соединение и завершит выполнение Transforms.
Все вышесказанное приводит нас к тому, что перед фазой непосредственного распознавания лица объекта поиска нам приходится делать подготовительный этап. Он выражается в предварительном отборе аккаунтов соцсети по какому-либо параметру. В нашем случае это было автоматизировано в Transform — Search Profile by Face and Name в виде выборки по имени и фамилии человека.
Данный этап может быть выполнен по-разному, и в качестве параметра выборки может быть взято, например, геоположение (конкретное место, родной город, адрес работы и т.п.)
- При любом явном несовпадении лица на фото — аккаунт отсекается из выборки. Это может быть вызвано не только тем, что человек на фото не тот, что на образце. Распознаванию серьезно мешает наличие очков и головных уборов.
- Еще одним мешающим фактором для корректной работы механизма распознавания лиц является степень «зашакаливания» фото. Как исходного образца, так и фото на аккаунте из выборки.
Так что если у вас исходное фото с низким разрешением или такое фото на аккаунте, то не ждите хороших результатов. Разрешение образца должно быть чем больше, тем лучше, предпочитаемый формат файла *.jpg, но если будет PNG, то нейросеть не обидится.
Ну вот и все на сегодня. Надеюсь, вам понравилась данная статья.
Прим. Автора: к слову, в Москве уже полным ходом вводят систему распознавания лиц через камеры наблюдения в городе. Поговаривают, что даже запустят дронов для патрулирования. Хорошо это или плохо — каждый решает сам для себя.
Не пропустите новые части. В следующей статье мы поговорим о том, как можно применять информацию о геоположении в OSINT с использованием Maltego.