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.
Ниже представлена диаграмма распределения некоторых распознанных объектов:
В сумме, объекты были распознаны на 270441 скриншотах.
Векторная модель скриншотов строилась в два этапа. Для извлечения признаков из изображений была использована широко известная нейронная сеть VGG16, обученная на наборе изображений ImageNet. Финальные слои классификации были исключены из модели таким образом, чтобы обученная модель выдавала 4096-мерные векторы признаков на выходе. Данные векторы были дополнительно сжаты в 256-мерное пространство при помощи метода главных компонент, для уменьшения шумов и облегчения дальнейших операций над векторами.
Опираясь на векторы признаков, можно искать среди набора изображений похожие по "смыслу". Мы применили это свойство для аппроксимации числа камер, отдававших на момент создания набора данных чёрный экран или сообщение "No signal". Мы нашли ~214 000 таких камер. Векторы признаков можно использовать для поиска камер по изображениям-примерам, или поиска аномальных, необычных камер.