BlackNode Research. Анализ миллиона скриншотов со стримов веб-камер

Только текст

Blog | BlackNode Research ⋅ Wed 25 October 2017

В начале сентября в Telegram появился канал @netstalking_webcameras, куда начали загружаться сотни тысяч скриншотов различных вебкамер.

Создатель канала, пожелавший остаться неизвестным, разместил сообщение о канале в нетсталкинг-треде на Тумбаче (https://tumba.ch/s/res/1606.html) 9 сентября 2017 года:

(Firefox 37.0.0 / Windows 7) 09.09.2017 17:16:34 #1617 9

Сделал в телеге канал со скринами веб-камер для братушек-нетсталкеров https://t.me/netstalking_webcameras

В течении десяти последующих дней в канал были залиты более миллиона скриншотов видеопотока различных вебкамер со всего мира, а также некоторые метаданные этих камер - IP-адреса, логины и пароли.

По версии создателя канала, все скриншоты были взяты из старых тредов Двача, однако прямого подтверждения этому нет. Сомневаться в данной версии заставляет большое количество скриншотов - более миллиона. Телеметрия с некоторых камер довольно "свежая" - встречаются скриншоты, датированные 2017 годом.

Ближе к окончанию загрузки скриншотов в канал Telegram начал автоматически удалять первые загрузки. Тем не менее, нам удалось сохранить и проанализировать 1015429 изображений. Мы представляем вам результаты данного исследования, а также публикуем ссылки на полученный набор данных и онлайн-инструмент для исследования скриншотов.

Направления исследований: Мы сосредоточили наши силы на исследовании следующих направлений:

Анализ метаданных и геолокация камер на основе их IP-адресов Обнаружение объектов на изображениях Выделение признаков из изображений при помощи нейронных сетей и построение векторной модели Анализ метаданных и получение геоданных

Каждый скриншот в канале имеет название вида: логин_пароль_ip_канал.jpg

Порт, на котором открыт интерфейс к камере, в названии изображения не указан. Судя по формату названий изображений, скриншоты были собраны при помощи популярной комбинации инструментов - ip-сканера masscan, программы для просмотра видеопотоков и управления камерами Hikvision iVMS-4200 и утилиты для перебора паролей Hikka.

Наиболее популярным паролем в базе является старая добрая комбинация "12345" (встречается 830671 раз). Другие популярные пароли - "123456" (43034 раза), "1111" (31775 раз), "admin" (28692 раза).

Наименее популярные пароли в наборе данных - 'explorer', 'a1b2c3', 'radmin', 'zxcvb', 'qwerasdf', 'admin321', 'changeme', '098765' и '444444'.

Что касается популярности логинов - абсолютное первенство удерживает имя "admin" (в наборе данных оно встречается 1010800 раз). За ним следуют "user" (2046 раз) и "1" (1362 раза), а также их комбинация "user1" (695 раз). 82 раза встречается имя "usuario" - "пользователь" по-испански. Наименее популярными именами являются: "security" (что неудивительно), "adm", "qwe", "q" и "Admin", с заглавной буквы.

Для анализа геоданных мы использовали базы данных GeoLite2. Ниже представлена диаграмма распределения камер по странам мира. Первенство в данном распределении делят между собой США и Китай - 36.2% и 32.3% камер из канала находятся в этих странах. 8% камер приходится на Италию. Россия не отличилась большим числом открытых камер - на её долю приходится менее 0.5% от общего числа камер.

Всего скриншоты из канала охватывают 133 страны. Географию некоторых адресов определить не удалось - таких "анонимных" камер всего 49. Одна из камер в наборе данных имеет недействительнный IPv4 адрес 120.150.256.16.

Обнаружение объектов на изображениях

Вторая итерация нашего анализа заключалась в автоматическом определении объектов, попавших в поле зрения камер на момент выполнения скриншота. Для этого была использована нейронная сеть You Look Only Once (YOLO, https://arxiv.org/pdf/1506.02640.pdf), обученная на наборе данных MS COCO, и использующая стандартные значения параметров, указанные в публикации. Нейронная сеть хорошо справилась с распознаванием крупных объектов, таких как люди, крупный рогатый скот, собаки, автомобили и грузовики, предметы мебели. Несколько (а в некоторых случаях - значительно) хуже дела обстоят с мелкими и необычными предметами - здесь у нейронной сети много ложных срабатываний.

Ниже представлена диаграмма распределения некоторых распознанных объектов:

В сумме, объекты были распознаны на 270441 скриншотах.

Векторная модель скриншотов

Финальным этапом исследования было создание семантической векторной модели скриншотов. Векторная модель выделяет признаки из изображения (их можно интерпретировать как "суть" или "смысл" скриншота), и представляет их в виде координат вектора в общем для всех изображений n-мерном пространстве (n >> 3). С помощью такой модели можно искать близкие по "смыслу" изображения по косинусному расстоянию (или иным метрикам расстояния) между векторами их признаков.

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

Опираясь на векторы признаков, можно искать среди набора изображений похожие по "смыслу". Мы применили это свойство для аппроксимации числа камер, отдававших на момент создания набора данных чёрный экран или сообщение "No signal". Мы нашли ~214 000 таких камер. Векторы признаков можно использовать для поиска камер по изображениям-примерам, или поиска аномальных, необычных камер.

Визуализация векторной модели скриншотов

Человеку сложно представить 256 измерений, потому мы создали наглядную интерактивную визуализацию проекции 256-мерного пространства камер в двумерное пространство. Она значительно упрощает зависимости между скриншотами, но передаёт их в целом. Визуализировали с помощью поступательного уменьшения размерности 256-мерных векторов до 50-мерных, используя метод главных компонент, и проекции 50-мерных векторов в двумерное пространство при помощи алгоритма t-SNE. С итоговой семантической интерактивной картой камер можно ознакомиться по адресу https://cams. blacknode . tk . По двойному клику на произвольное место на карте выделяются камеры, ближайшие к месту клика, и отображаются их метаданные. Похожие по наполнению скриншоты камер находятся ближе друг к другу, и группируются в кластеры. Мы будем периодически обновлять и улучшать данную карту. В данный момент мы приглашаем всех желающих исследовать пространство камер самостоятельно - возможно, именно вы найдете нечто необычное.

Актуальность данных - живы ли камеры?

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

Набор данных

В ближайшее время мы предоставим ссылки на скачивание полученного набора данных, чтобы каждый желающий смог продолжить исследования в данной области. Набор данных будет включать в себя не только сами изображения, но и результаты нашего исследования - мета- и геоданные, распознанные объекты, векторные представления изображений и данные, необходимые для построения 2d-семантической карты камер.

Что дальше?

Мы надеемся, что данное исследование будет интересным и ценным само по себе. Однако, для нас это лишь начало пути. Данное исследование позволило нам испробовать ряд методов и технологий, которые необходимы для наших дальнейших проектов. Мы опубликуем больше информации о них в будущем.