Maltego Часть 5. Твое лицо тебя сдало

Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego.

oybysvuokblbadugykmn9pd5lpo.jpeg


Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время:
Во время тестирования функционала по поиску информации в различных соцсетях с применением Maltego (см. Часть 4) я удивился тому, что всего лишь по ФИО и фото из аккаунта в Инстаграм Maltego с ходу нашла мой аккаунт в LinkedIN.

Вот тут-то, я полагаю, и сработал механизм Face Recognition от Social Links. Мимо такой темы нельзя просто так взять и пройти! Нужно убедиться, насколько функционал точен и можно ли его применять полноценно в OSINT, или мой случай — единичный, а выдача будет забита похожими людьми.
lhjvz5wxokvylk6fq_f1ktlyugs.jpeg

Тестировать будем на различных медийных личностях. Во-первых, у них точно есть аккаунты в соцсетях. Фейки с их фото тоже должны быть. Во-вторых, мы сможем наглядно определить, есть ли погрешность при распознавании. Уж Дональда Трампа от любого другого человека кто угодно отличит.

64ahtpczj6lv30j36dk_wtrz2ns.jpeg


Раз уж я проговорился, то пусть будет Дональд Трамп)

В первый раз подробно рассмотрим порядок действий, согласно инструкции от Social Links, для всех остальных случаев будем только анализировать результаты. Заявленный процент точности от SL на распознавание составляет 75%, что не мало.

Прим. Автора: в механизмах работы Maltego есть один не очень приятный параметр. Называется «Timeout» и равен 12000 мс (2 минутам). Он определяет, сколько Maltego будет ожидать отклика от стороннего API при выполнении Transforms.

Тут кроется неприятный момент. Этот параметр в настройках пользователь может увеличить, но механизма узнать, что он установил, для разработчиков Transform нет. А это значит, что при разработке сторонних Transform компании вроде Social Links вынуждены опираться на дефолтное значение. Почему это так важно, вы либо уже догадались, либо узнаете в выводах, в конце статьи.


Дональд Трамп


m2lhafc7oxil_hgusrpnpqzksn8.jpeg

Заходим в аккаунт Social Links и создаем там профайл человека. Указываем имя и фамилию, страну и пол.

85hy5msytunrupbmungt5kunrdc.jpeg

Есть еще большое поле «примечание» для заметок.

Добавляем фото. Выберем и обычные, и не совсем.

9iheok2yshht--n6ekiwfnqephk.jpeg

Все готово. Можно начинать!

t5draydfpn4sqq_smdledtsm5ye.jpeg

Для поиска мы будем использовать Entitie — Search Profile by Face. Фото в аккаунт SL мы грузили, чтобы получить удобную прямую ссылку на него. Но если у вас она уже есть в другом месте, то можете использовать ее.

ewauoxuminyjigreeej7fpugnrq.jpeg

После запуска поиска по первому фото стало немного понятно, как работает система в целом. Ответственная за распознавание лиц нейросеть в Social Links делает через API запрос к соцсети на поиск всех аккаунтов по заданным имени и фамилии. После чего, уже по фото этих аккаунтов, делает сравнение через распознавание лиц с фото, которое мы указали в качестве эталона.
Итого, по перовой фотографии Трампа мы имеем:

  • Facebook — 1 аккаунт (маловато)
  • LinkedIn — 1 аккаунт (не его, но Трамп есть на фото совместно с хозяином аккаунта)
  • Instagram — 8 аккаунтов
  • ВКонтакте — 8 аккаунтов
  • Twitter — 7 аккаунтов
  • MySpace — 3 аккаунта
  • Foursquare — 6 аккаунтов


Стоит также отметить, что система смогла определить лицо Трампа даже на фотоколлажах и совместных фото.

cg8kat_jqyznwtiucofzx81lrca.jpeg

txbasbyvvpytj5uiric_ovr6tai.jpeg

ajfkzx5qwzrqj03s8oqlkayup1o.jpeg

По итогам работы с первым фото промахов на аккаунты с рандомными фото не замечено. После запуска поиска по 2 и 3 фото появилось несколько дополнительных аккаунтов. Левых снимков по-прежнему нет. Все вынесенные на граф аккаунты содержат изображение Трампа в том или ином виде. Даже фотошоп-арт не проскочил мимо.

znbivaavynn6ktvtdnngfdztjnq.jpeg

Итого, после отработки Transforms по всем эталонным фото мы имеем:

  • Facebook — 2 аккаунта (Все еще маловато)
  • LinkedIn — 1 аккаунт
  • Instagram — 10 аккаунтов
  • ВКонтакте — 8 аккаунтов
  • Twitter — 10 аккаунтов
  • MySpace — 7 аккаунтов
  • Foursquare — 7 аккаунтов


Промахом в данном случае стоит считать только аккаунт в LinkedIN, так как он принадлежит Блэйну Кэлли (Blaine Kelly), но на фото он запечатлен совместно с Трампом, так что, по сути, это 30 на 70. Трамп же всё-таки есть. Итоговый граф на снимке экрана ниже.

yiwefdmu83_l-4yjnqdbelrvcik.jpeg

Земфира Рамазанова

sy7vt6v_tbvk7lixwvquuxvso8c.jpeg

Теперь давайте попробуем распознать женское лицо. По радио в офисе играла песня «Кукушка», поэтому Земфира попала в статью. Все честно, никакой предвзятости.

Тестовые фото ниже.

nz0mbo2oh0__f-4fk2cqsqpq7kk.jpeg

Фейков Земфиры, разумеется, поменьше, чем фейков Дональда Трампа, соответственно, информационная выдача чище.

Итого получилось найти:

  • Facebook — 5 аккаунтов
  • Instagram — 3 аккаунта
  • ВКонтакте — 2 аккаунта


oyhgk3-dh1vcaty_oolnjotr1ha.jpeg

Рандомных фото похожих на Земфиру людей не замечено. Полагаю, что это следствие того, что первичная выборка идет именно по ФИО. А если попадется аккаунт с именем Земфира и изображением левого человека или картинкой, то его уже отсеет система распознавания лиц.

Джеки Чан


qbe4q6jezzeri2tyr8-bbpcqoba.jpeg


Усложним задачу. Проверим, как система сработает на актере с ярко выраженной азиатской внешностью. Специально выбрал для теста как снимки постаревшего артиста, так и его фото в самом расцвете карьеры.

Фото для теста:

rxaowlqobhmk8-8wz0vfdv6bi80.jpeg

Итого получилось найти:

  • Facebook — 9 аккаунтов
  • Instagram — 8 аккаунтов
  • ВКонтакте — 6 аккаунтов
  • Twitter — 4 аккаунта


ctrlpoy-1camuxjlyaqbzmkuxhy.jpeg

Рандомных снимков старых азиатов нет. Информационная выдача достаточно точна. Если не считать кучи фейков с именем и фото Джеки Чана.

Как вы можете заметить, одинаково хорошо отыскиваются аккаунты с фото Джеки в любом возрасте.

ffbo4yxoyyanh9wq-oiy_nbxlra.jpeg


Тэнди Ньютон (Thandie Newton)


mu3758rl9vokdq1xmtigoevbiky.jpeg

Ну и напоследок, давайте проверим как система сработает при поиске фото людей негроидной расы.

Тут для поиска я выбрал актрису Тэнди Ньютон, знакомую всем нам по ролям в таких фильмах, как «Хроники Риддика», «Рок-н-рольщик», «Хан Соло. Звёздные войны: Истории» и, конечно же, «Мир Дикого Запада».

Тестовые фото:

fqnhzugs2mmtsn4h2ziqognfrkk.jpeg

Итого получилось найти:

  • Facebook — 2 аккаунта
  • Instagram — 3 аккаунта
  • Twitter — 6 аккаунтов
  • MySpace — 5 аккаунтов


Промахов в распознавании нет.

w0v22aewz8wy10b2anrlbvjfzjs.jpeg

Итоги и выводы


i24ls-v-0p86_u0-a20iq5mtzzs.jpeg


Давайте подытожим. По результатам моих тестов и чтения документации по работе Transforms с механизмом Face Recognition от Social Links могу смело сказать, что они работают замечательно. Пока писал данную статью, даже успел закрыть один проект по OSINT с их применением.

Однако есть несколько НО про которые следует помнить при работе с ними:

  1. Ввиду большого количества фотографий в соцсетях и наличия параметра «Timeout» в настройках Maltego, мы не можем просто взять и сканировать все фото на выбранной площадке на предмет совпадения. Во-первых, это займет слишком много времени, во-вторых, мы ограничены окном ответа в 2 минуты от серверов SL, иначе Maltego разорвет соединение и завершит выполнение Transforms.

    Все вышесказанное приводит нас к тому, что перед фазой непосредственного распознавания лица объекта поиска нам приходится делать подготовительный этап. Он выражается в предварительном отборе аккаунтов соцсети по какому-либо параметру. В нашем случае это было автоматизировано в Transform — Search Profile by Face and Name в виде выборки по имени и фамилии человека.

    Данный этап может быть выполнен по-разному, и в качестве параметра выборки может быть взято, например, геоположение (конкретное место, родной город, адрес работы и т.п.)

  2. При любом явном несовпадении лица на фото — аккаунт отсекается из выборки. Это может быть вызвано не только тем, что человек на фото не тот, что на образце. Распознаванию серьезно мешает наличие очков и головных уборов.

    asr6vmnruz3jkzaiymhfc3ptbh4.jpeg

  3. Еще одним мешающим фактором для корректной работы механизма распознавания лиц является степень «зашакаливания» фото. Как исходного образца, так и фото на аккаунте из выборки.

    Так что если у вас исходное фото с низким разрешением или такое фото на аккаунте, то не ждите хороших результатов. Разрешение образца должно быть чем больше, тем лучше, предпочитаемый формат файла *.jpg, но если будет PNG, то нейросеть не обидится.

    e5xhdtpqrsp2otgzc-zu7ehxpa8.jpeg


Ну вот и все на сегодня. Надеюсь, вам понравилась данная статья.

Прим. Автора: к слову, в Москве уже полным ходом вводят систему распознавания лиц через камеры наблюдения в городе. Поговаривают, что даже запустят дронов для патрулирования. Хорошо это или плохо — каждый решает сам для себя.

q9jhbtliradcud79-77tdk643lu.jpeg


Не пропустите новые части. В следующей статье мы поговорим о том, как можно применять информацию о геоположении в OSINT с использованием Maltego.

© Habrahabr.ru