Недавняя серия рекордных терабитных DDoS-атак сильно взволновала тех, кто уже к этому привык.
Вполне возможно, что ситуация повторится в ближайшем будущем, причем с существенно большей силой, поскольку основные причины появления такого мощного ботнета, как Mirai, не устранены.
На самом деле незащищенность IP-камер вообще ни для кого не секрет и причин тому много: это и исторически сложившаяся практика работы с ними, и сложность доступа к ним, и инертность производителей.
Я хочу поговорить о некоторых аспектах этой проблемы и о том, какие шаги можно предпринять, чтобы снизить остроту этой проблемы.
Текущее положение дел
Итак, сейчас по всему миру продаются миллионы IP-камер.Первый связь Из Интернета утверждается около 200 миллионов камер видеонаблюдения, и эта цифра кажется вполне обоснованной.
Не все камеры видеонаблюдения IP, до сих пор продается огромное количество аналоговых камер.
Аналоговые камеры по-своему понятны, удобны и предсказуемы: ведь у них нет глючного ПО, все аппаратно.
Но даже несмотря на последний всплеск АХД и HDCVI , IP-камеры за счёт лучшего качества картинки и большей гибкости вытесняют аналоговые камеры (отличный повод аргументированно обсудить столь интересный вопрос в комментариях).
IP-камера состоит из датчика, чипа для обработки и кодирования видео, процессора для общей обработки, периферийных устройств, таких как GPIO, SDcard и Ethernet, программного обеспечения внутри всего этого, объектива и корпуса.
Несмотря на, казалось бы, гигантское разнообразие IP-камер на рынке (кажется, «производителей» там как минимум многие тысячи, а может, и больше), на самом деле тех, кто действительно что-то делает внутри, очень мало.
Если снизить ценовую планку, исключив из рассмотрения таких уважаемых гигантов, как Axis, то компаний в ценовом диапазоне, скажем, «до $150 за камеру» останется очень мало.
Примерно 3-4 производителя датчиков, 4-6 производителей чипов+процессоров (это комбинированный чип), несколько тех, кто собирает всё на плате.
Корпуса не особо разнообразны, но есть целый Шэньчжэнь тех, кто готов его собрать, скрутить и наклеить на коробку нужный логотип.
Но самое интересное — это те, кто делает софт. Во многом их инженерные решения проложили путь к Mirai. Их тоже всего несколько; большое количество производителей не смогли здесь расти.
Вся информация довольно скрыта и в этом источник проблемы.
Внутри почти всех камер стоит обычный линукс с модулями для ядра.
Эти модули позволяют настроить чип, который обрабатывает видео с датчика и получает это видео в память программы.
Есть камеры, у которых нет Linux: на самом деле есть одна большая программа, живущая в кольце 0 (если так можно сказать про ARM), но ее разработка очень дорога и сегодня встречается редко.
Тогда отправка видео в сеть — дело техники, и эта проблема решена весьма посредственно.
Мало того, что большинство дешевых камер освоили тонкое искусство потери данных по TCP, но они еще и имеют один и тот же пароль почти везде, подряд. Что, собственно, и увидели из исходного кода ботнета.
И мы не будем здесь пока говорить о волшебных волшебных UDP-пакетах, позволяющих изменять настройки сети.
Вся та чушь, над которой мы смеемся в голливудских фильмах по поводу «я вошел в их систему, теперь переключу их видеокамеры на статическую картинку» — вовсе не чушь, а горькая и жестокая реальность.
Откуда такая невнимательность производителей? Ведь их поведение вызывает ассоциацию, прежде всего, с анекдотом про Вовочку и словом, которого нет, хотя сам предмет вроде бы существует. Получить какую-то конкретную информацию о внутренностях камеры от производителя прошивки очень и очень сложно; они, как правило, придерживаются позиции, что это закрытое устройство, на котором вроде бы вообще нет Linux. А может и есть, но вас это не касается, не ищите там, посмотрите наши рекламные буклеты.
Предварительные условия
Давайте попробуем подумать, что может к этому привести.Во-первых, тема видеонаблюдения традиционно вращается вокруг изолированных сетей.
Все это выросло из 4-х камер, подключенных прямо к монитору перед охранником в виде мозаики (мы, кстати, серверная мозаика мы умеем это делать и это очень круто, но вдруг это не для охраны, а для экономии места).
Охранник всю смену сидит с дубинкой в руках и в течение 1250 миллисекунд срывается в сторону какой-либо проблемы.
Любые отклонения нейросеть обрабатывает хуже, чем ваша Nvidia Tesla. Правда, иногда он любит выпить или вздремнуть, что сильно портит всю картину.
Подключение к такой сети изначально требует физического присутствия, а против этого можно использовать те же камеры для прикрытия трассы кабеля.
Говорят, у хмурых людей эти кабели спрятаны чуть ли не в герметичных трубках с повышенным давлением, так что при просверливании кабеля срабатывает датчик давления.
Важно понимать: до сих пор практически никто даже не предлагает TLS-шифрование видео, поступающего с камер! Вся тема видеонаблюдения не особо рассчитана на внутреннюю безопасность самой видеоинфраструктуры.
По крайней мере, не так сильно, как надувают по этому поводу щеки те, кто с радостью берет деньги на борьбу со страшными угрозами.
Во-вторых, IP-камеры, как правило, по-прежнему являются частью всей инфраструктуры решения задач безопасности и частью программно-аппаратно-человеческого комплекса.
Те.
Традиционно к регистратору подключается IP-камера, к ней подключается охранник, к охраннику прикрепляется кнопка, к кнопке подключается группа быстрого реагирования.
То, что сегодня люди вдруг стали вешать камеры в подъездах, а города вывешивают на улицах тысячи камер - все это немного противоречит тому, для чего все это было запланировано.
Те.
Появились новые форматы использования весьма удачного устройства, для которого это устройство особо не предназначено.
В-третьих, IP-камера — очень изолированное устройство.
Подобрать IP-камеру и конкретно ее настроить крайне сложно, поскольку интерфейсов ввода-вывода у нее практически нет. Это тема отдельной статьи и мы об этом еще поговорим, но давайте просто запомним такой момент: IP-камеру действительно неудобно настраивать.
В сети
Итак, IP-камеры внезапно стали востребованы как OTT-устройства с онлайн-доступом к ним.Термин OTT — over top — означает, что услуга предоставляется не в контролируемой сети, а через общедоступный Интернет или хотя бы через стык нескольких сетей.
Те.
в условиях, когда не будет никакой гарантии скорости и мы можем говорить лишь о таком достаточно эфемерном понятии, как «скорость Интернета».
Однако, как мы уже выяснили, «скорости интернета» от камеры в Бразилии до серверов Dyn было вполне достаточно, чтобы не дать этим людям поднять голову.
Там, где раньше была изолированная система, которую отключал охранник, теперь появилось устройство, на которое люди заходят через Интернет, чтобы получить видео.
Посмотрите, как идут дела в их магазинчике, стоит ли еще почтовый ящик перед домом, как дети играют в детском саду.
Конечно, производители фотоаппаратов (в основном китайские, потому что только их камеры можно себе позволить) отреагировали на вызов рынка.
Появились мобильные приложения (на IP-камерах сегодня практически нет возможности посмотреть видео без ActiveX, поэтому камеры по сути не предлагают веб-доступ к видео), которые идут напрямую на камеру и показывают видео.
Здесь возникла интересная ситуация: для онлайн-доступа люди начали привыкать выставлять наружу некоторые порты.
Многие из этих клиентов даже не используют стандартный протокол RTSP. вместо этого они гоняют видео по интересной и экзотической штуке, которая работает по протоколу 34567 (мы потихоньку разбираем ее структуру), но кого это волнует, когда проще выставить все порты наружу.
И кому может понадобиться моя маленькая камера, снимающая парковку перед домом? Те.
Важной предпосылкой запуска Mirai было то, что для обеспечения онлайн-доступа производители массово заставляли людей разбираться в пробросе портов и массово выпускали в Интернет устройства, способные генерировать десятки мегабит трафика, большинство из которых были устройствами с тот же пароль root. Просто чудесно, вам не кажется? Все это богатство лежит здесь под нашими ногами уже как минимум последние 5 лет. Как эта проблема будет решаться сейчас, пока не ясно, и это уже не совсем наша компетенция.
Можно массово перебрать все найденные в интернете камеры и превратить их в кирпичи, можно массово их патчить, можно заставить провайдеров их заблокировать.
Мы хотим поговорить о другом: как сегодня не превратить камеру в участника такого ботнета.
Современный доступ к камерам
Прогресс не стоит на месте, и сегодня существует два основных способа доступа к IP-камерам онлайн: напрямую и через сервер в сети Интернет. Прямой доступ имеет смысл в случае с локальной сетью, но как мы уже выяснили, выход напрямую к современной IP-камере через Интернет не всегда является хорошей идеей.Даже когда вопросы безопасности будут решены, проблема с одновременным доступом к камерам останется.
Например, в детских садах трогательно выглядит просьба администраторов к родителям не пользоваться более чем четырьмя камерами одновременно.
Сегодня существует множество ADSL-интернета, ключевой особенностью которого является А, асимметричный.
Скачать можно много, но много отдать сложно.
Итак, поговорим об онлайн-сервисах, предоставляющих доступ к камерам.
Онлайн-сервис доступа к камерам (VSaaS, видеонаблюдение как услуга), помимо возможности удаленного просмотра камеры, может предложить и другие интересные функции, важнейшая из которых — удаленная запись.
Очень часто от противоправных действий первым страдает видеорегистратор – устройство, на которое записывается видео.
Когда видео тут же просачивается в Интернет, вытащить его оттуда уже очень сложно; задача примерно того же характера, что и попытка засунуть взятку в дорожную камеру.
Да, сами камеры это, конечно, не спасет и запись все равно будет прерываться, но шанс сфотографировать злоумышленников в полицию возрастает. Вы скажете, что писать все видео в Интернете — это дорого? Еще совсем недавно мысль о просмотре фильмов онлайн меня пугала и заставляла хвататься за кошелек, а сегодня вместо полок с компакт-дисками это уже норма.
То же самое касается и неиспользованного обратного трафика: почему бы его не загрузить, особенно если услугу предоставляет ваш провайдер.
Некоторые люди фиксируют движение в облаке, но по сей день существуют аргументы как за, так и против.
Чего будет стоить экономия в пару тысяч рублей, если камера не запишет те самые 10 минут, которые были нужны? С другой стороны, во многих случаях перевод камеры в режим записи по детектору движения делает сам облачный сервис практически бесплатным для его провайдера.
Как интернет-сервисы, особенно OTT, достигают камер? те у кого нет канала связи с камерой?
Связь с камерами
Как сделать соединение между камерой и онлайн-сервисом более безопасным, не раскрывая его посторонним? Через канал связи напрямую со службой.Давайте настроим что-то вроде VPN-туннеля или опубликуем видео с камеры на сервер и тогда снимем проблему с мираем.
Некоторые китайцы тут пошли дальше и продают камеры, которые якобы работают только с их сервисом.
Однако здесь ситуация опять как с Вовочкой и запретным словом, потому что, несмотря на заверения китайских менеджеров, у таких камер всё равно есть RTSP-сервер, и даже логин со стандартным паролем.
Наши дорогие юго-восточные соседи предоставляют множество других интересных источников для будущих проблем.
Так, например, нам попалась камера с онлайн-сервисом доступа к этой камере на борту.
В камере была такая замечательная функция, как отправка почты при срабатывании детектора движения.
Производитель камер решил пойти по безбэкендному пути и назначил всем камерам одинаковый логин и пароль от одного аккаунта на сайте 163.com (это китайский mail.ru).
Как вы понимаете, вы можете не только посмотреть, что интересного есть у других покупателей этой камеры, но и прислать что-то интересное и очень активно покупателям такой камеры.
Но вернемся сегодня к более стандартной ситуации: онлайн-доступ к камере дополняет традиционную работу с регистратором, а сама камера находится за NAT и не видна снаружи.
Мы рассмотрели два основных способа получения видео с камеры: какое-то программное обеспечение на камере публикует видео на сервер, т.е.
является инициатором начала передачи видео, а какое-то программное обеспечение на камере делает камеру доступной для сервера на Интернет (читай VPN-туннель).
Второй способ почти всегда гораздо практичнее, поскольку позволяет серверу решать, когда снимать видео, какого качества или даже делать скриншоты с камеры.
В первом случае необходимо продумать сложные механизмы обратной связи, чтобы всегда можно было сказать «не вари кастрюлю», иначе создашь себе микро-мирай: 1000 камер пытаются влить в сеть мегабитный поток.
не в том месте, это довольно много проблем.
Давайте немного разберемся, какие существуют варианты организации VPN-туннеля или чего-то подобного.
ОпенВПН
Самый простой вариант — традиционно OpenVPN. Серверная часть бесплатна и сравнительно легко настраивается, когда нужно сделать 100-300 камер.Основное преимущество openvpn в том, что он уже доступен из коробки в проекте buildroot, который используется для сборки прошивки большинства камер.
Клиент OpenVPN запускается на камере, каким-то образом при первом запуске получает сертификат и потом идет в сервис.
На другой стороне есть потоковый сервер, который видит, что камера подключилась, и начинает снимать с нее видео, скриншоты или делать еще какие-то действия.
Подход VPN удобен еще и тем, что вся вариативность логики находится на стороне сервиса.
Там гораздо проще и удобнее что-то обновлять, обслуживать, менять, чем на фотоаппарате.
Цена ошибки на камере – потеря не только камеры, но и клиента, и даже веселых и приятных обсуждений на форумах.
Этот подход также имеет свои недостатки.
VPN по-прежнему является мощным механизмом решения весьма общих задач и достаточно ресурсоемок для сервера.
К сожалению, мы не получили никаких практических данных о том, можно ли получить гигабит трафика через OpenVPN на одном сервере и отправить его на потоковый сервер, но, видимо, это перебор.
Совершенно точно можно сказать, что использование OpenVPN означает как минимум удвоение серверной инфраструктуры по сравнению с обычной системой, ведь вам нужно гнать трафик сначала на отдельный OpenVPN-сервер, а затем на потоковый сервер.
Мы в Эrlivideo разработали собственное решение для доступа к камерам за NAT, которое требует установки на камеру нашего агента.
Это работает по-другому.
Флюссоник Агент
Итак, мы поставили перед собой цель разработать программное обеспечение, которое можно будет установить на камеру, чтобы обращаться к камере с сервера в Интернете.Мы отказались от идеи делать отдельный VPN-сервер и отдельный потоковый — ведь на каждом сервере ожидается большой трафик, так зачем дублировать его между разным софтом.
Наш агент подключается напрямую к Flussonic и отправляет видео с камеры напрямую в функцию парсинга RTSP, т.е.
это не универсальный транспорт, а специализированная штука для доставки видео и скриншотов с камеры во Flussonic с минимальными затратами.
Также мы решили несколько вопросов, а именно: по какому адресу должен идти этот агент и что делать, если Flussonic выключился.
При выключенном Flussonic мы решили использовать двухфазную схему протокола: сначала агент подключается к координатору (endpoint в нашей терминологии), а затем идет от него к потоковому серверу.
Если эндпоинт упал после подключения к стримеру, то ничего страшного, работа продолжается.
Ситуация с адресом конечной точки сложнее.
Поскольку мы не сервисная компания, а компания-разработчик программного обеспечения, мы продаем людям программное обеспечение для организации их услуг.
Таким образом, мы не можем закрепить в агенте один фиксированный адрес; он должен быть настраиваемым.
Здесь мы также подумали о простом техническом решении, позволяющем отправить агента по нужному адресу при первичной активации.
В результате мы имеем свой простой механизм получения доступа к камере, расположенной за NAT. Даже при включенном шифровании он менее ресурсоемок, чем низкоуровневый OpenVPN, и, в отличие от последнего, помогает решить проблему « ошибка, которой не существует «, потому что все данные быстро собираются нашим агентом и оттуда с помощью бытовой либевента выливаются в Интернет. На сервере Flussonic сам решает по своим настройкам, что ему нужно подойти к камере и сделать с нее видео или скриншот, а то и запустить обратную аудиотрансляцию.
Такие подходы (стандартный VPN, публикация с камеры, самодельный туннель) позволяют снизить риск попадания камеры в Интернет. В следующих статьях мы поговорим о том, как мы загружаем наш агент на камеры, как он работает в сервисе предоставления видео с камер пользователям, какие есть интересные моменты с его настройкой и самое интересное, как камера привязывается к камере.
пользователь - вариантов очень много.
Также в черновиках есть про свою прошивку IP камеры - пишите в комментариях, что интереснее.
Теги: #видео #видеонаблюдение через интернет #ip камеры #Mirai #openvpn #flussonic #Разработки для интернета вещей
-
Получение Данных
19 Oct, 24