Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Как мы научились подключать китайские камеры за 1000р к облаку. Без регистраторов и SMS (и сэкономили миллионы долларов)

Время на прочтение7 мин
Количество просмотров258K

Всем привет!


Наверное, ни для кого не секрет, что в последнее время облачные сервисы видеонаблюдения набирают популярность. И понятно почему так происходит, видео — это "тяжелый" контент, для хранения которого необходима инфраструктура и большие объемы дискового хранилища. Использование локальной системы видеонаблюдения требует средств на эксплуатацию и поддержку, как в случае организации, использующей сотни камер наблюдения, так и в случае индивидуального пользователя с несколькими камерами.



Облачные системы видеонаблюдения решают эту задачу — предоставляя клиентам уже существующую инфраструктуру хранения и обработки видео. Клиенту облачного видеонаблюдения достаточно просто подключить камеру к интернету и привязать к своему аккаунту в облаке.


Есть несколько технологических способов подключения камер к облаку. Бесспорно, наиболее удобный и дешевый способ — камера напрямую подключается и работает с облаком, без участия дополнительного оборудования типа сервера или регистратора.


Для этого необходимо, чтобы на камере был установлен модуль ПО работающий с облаком. Однако, если говорить про дешевые камеры, то у них очень ограничены аппаратные ресурсы, которые почти на 100% занимает родная прошивка вендора камеры, а ресурсов необходимых для облачного плагина — нет. Этой проблеме разработчики из ivideon посвятили статью, в которой говорится почему они не могут установить плагин на дешевые камеры. Как итог, минимальная цена камеры — 5000р ($80 долларов) и миллионы потраченных денег на оборудование.


Мы эту проблему успешно решили. Если интересно как — велком под кат

Читать дальше →
Всего голосов 103: ↑100 и ↓3+97
Комментарии153

Я могу стать Apple, и ты тоже

Время на прочтение7 мин
Количество просмотров11K

Публичное раскрытие уязвимости в сторонней проверке подписи кода Apple


В отличие от некоторых предыдущих работ, данная уязвимость не требует прав администратора, не требует JIT-кода или повреждения памяти для обхода проверки подписи кода. Всё что нужно — правильно отформатированный файл Fat/Universal, и проверка подписи кода покажет валидный результат.

Резюме


  • Найденный обход применяемого сторонними разработчиками API для подписи кода позволяет представить любой код как подписанный Apple.
  • Все известные вендоры и проекты с открытым исходным кодом уведомлены (см. список ниже). Для них доступны патчи.
  • Есть вероятность, что проблема затрагивает другие сторонние программы, где используются официальные API подписи кода от Apple.
  • Разработчики несут ответственность за правильное использование API подписи кода. Есть инструменты демо-взлома (PoC) для тестов.
  • Относится только к macOS и более старым версиям OSX.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии1

SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443

Время на прочтение3 мин
Количество просмотров117K
image

SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
— Да!
  • Хотите скрыть наличее у вас некоторых сервисов?
  • В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
  • Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
  • SSH подключение к своему серверу из стран с цензурой?

На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.

В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.
Читать дальше →
Всего голосов 83: ↑79 и ↓4+75
Комментарии100

Telegram MTPROTO Proxy — всё что мы знаем о нём

Время на прочтение4 мин
Количество просмотров279K
image

Сразу после событий с блокировками Telegram в Иране и России, в бета-версиях мессенджера начал появлятся новый тип Proxy, а если быть точным, новый протокол — MTProto Proxy.

Этот протокол был создан командой Telegram для решения проблем обхода блокировок, но так ли он хорош?
Читать дальше →
Всего голосов 69: ↑60 и ↓9+51
Комментарии166

Составляем карту всего Интернета при помощи кривых Гильберта

Время на прочтение3 мин
Количество просмотров27K
Интернет велик. Очень велик. Вы просто не поверите, насколько умопомрачительно он велик. В смысле, вам может показаться, что диапазон блоков /22, который вы получили как локальный интернет-регистратор (LIR), это очень много — но в масштабах всего Интернета это так, орешки.

Конечно, на самом деле, он оказался не настолько уж и велик — не просто же так нам потребовался IPv6. Однако, это уже другая история.

Дело в том, что IPv4 (самая широко используемая версия протокола IP) задает лимит адресов, равный 2³². Это означает, что у вас есть примерно 4,2 миллиарда IP-адресов, с которыми вы можете работать — хотя по правде это не совсем так, поскольку крупные секции недоступны для использования:
Диапазон IP Применение
0.0.0.0/8 Локальная система
10.0.0.0/8 Локальная LAN
127.0.0.0/8 Loopback
169.254.0.0/16 Link Local
172.16.0.0/12 Локальная LAN
224.0.0.0/4 Мультивещание (Multicast)
240.0.0.0/4 “Для использования в будущем”
Диапазоны адресов (показанные в виде записи с применением бесклассовой адресации, CIDR) перечисленные выше, для нас «убираются» — а это 588 316 672 адресов, или примерно 13% от всего количества адресов.

Однако, учитывая, что у нас остается 3 706 650 624 адресов, это вроде бы не так уж и много, и находится в идеальной достижимости для отправки пакета каждому из них.

Итак… Это конечно же не первый раз, когда кто-то пытается сделать подобное — в Интернете хватает достаточного количества «фонового шума» (незатребованных пакетов), большинство из них создается системами, которые пытаются взломать другие системы.
Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии26

Ассоциативные правила, или пиво с подгузниками

Время на прочтение19 мин
Количество просмотров73K


Введение в теорию


Обучение на ассоциативных правилах (далее Associations rules learning — ARL) представляет из себя, с одной стороны, простой, с другой — довольно часто применимый в реальной жизни метод поиска взаимосвязей (ассоциаций) в датасетах, или, если точнее, айтемсетах (itemsests). Впервые подробно об этом заговорил Piatesky-Shapiro G [1] в работе “Discovery, Analysis, and Presentation of Strong Rules.” (1991) Более подробно тему развивали Agrawal R, Imielinski T, Swami A в работах “Mining Association Rules between Sets of Items in Large Databases” (1993) [2] и “Fast Algorithms for Mining Association Rules.” (1994) [3].
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии25

И снова о блокировке Telegram. Разворачиваем собственный VPN

Время на прочтение3 мин
Количество просмотров81K


О том, что мессенджер Telegram заблокирован на территории России, сейчас не говорит и не пишет только ленивый. Общее количество пользователей мессенджера в РФ по словам Павла Дурова составляет примерно 15 млн, что весьма немаленькая цифра. Если Telegram сделать недоступным, то все эти люди (то есть и мы с вами) будут недовольны. Собственно, они уже недовольны.

Но проблему можно решить. Например, есть возможность воспользоваться плагином для браузера со встроенным VPN. Ну а если хочется чего-то более интересного, то можно попробовать поднять собственный VPN-сервер.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии89

В macOS High Sierra обнаружились «Черные дыры»

Время на прочтение4 мин
Количество просмотров43K


Живешь себе живешь, репу не чешешь, в ус не дуешь. И тут внезапно тебе нужно переезжать с обветшавшего iPhone 6 на новенький iPhone X. А поскольку вся твоя жизнь за минувшие семь лет хранится в фоточках и видосиках старого смартфона, терять это добро тебе очень не хочется. И вот ты бэкапишь свое хозяйство через iTunes на Mac, пытаешься переехать на новую «балалайку» и вдруг оказывается, что места для бэкапа нового телефона на жестком диске твоего компьютера уже нет. Ты начинаешь судорожно расчищать авгиевы конюшни дисковое пространство, но результата «нема». Причем удаление «левых файлов» и очистка корзины ни к чему не приводит. Вот такой триллер разыгрался недавно с вице-президентом Parallels Николаем Добровольским. Под катом детективная история про обнаружение им «черной дыры» в macOS High Sierra, поиски истины и счастливый конец, которому могли бы позавидовать главные герои кинофильма «Титаник».
Читать дальше →
Всего голосов 93: ↑80 и ↓13+67
Комментарии107

Кастомные анимации в мобильном приложении

Время на прочтение6 мин
Количество просмотров14K

Современная мобильная аудитория с каждым годом предъявляет всё более высокие требования к качеству приложений и сервисов. И в первую очередь это касается проектирования взаимодействий и мобильных анимаций.

Каждый день мы обмениваемся сообщениями, используем социальные сети, мессенджеры, и многие из этих сервисов содержат десятки нестандартных продуманных анимаций.

Кастомные (нестандартные) анимации — это большое поле для экспериментов и развития приложения. Какие знания понадобятся дизайнеру и какие проблемы могут поджидать в процессе разработки? Давайте рассмотрим эти вопросы на примере приложения iFunny.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии0

Ловкость рук и никакого мошенничества: практические советы по ускоренному обучению дизайну для разработчиков

Время на прочтение6 мин
Количество просмотров52K
Улучшаем дизайн проекта с помощью тактически грамотных действий, а не таланта.

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

Возможно, в компании, в которой вы работаете, нет штатного дизайнера, и вам необходимо реализовать интерфейс для нового функционала. Или, может быть, вы решили подработать на побочном проекте, и хотели бы, чтобы он выглядел лучше, чем «ещё один bootstrap-сайт».

Легко опустить руки и сказать: «Я никогда не смогу сделать это должным образом, я не художник!», Но, оказывается, есть уйма ловких приёмов, которые вы сможете использовать, чтобы поднять свою работу на другой уровень, не имея опыта в графическом дизайне.

Под катом семь простых идей, которые вы сможете использовать для улучшения своих проектов.

1. Для создания иерархии используем цвет и вес вместо размера



Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии28

Linux в одном файле для Macbook

Время на прочтение4 мин
Количество просмотров35K


TL;DR Можно уместить полноценный Linux Live дистрибутив в один файл, если вкомпилировать в ядро initramfs с корневой файловой системой. Компьютеры с UEFI умеют загружать такой файл напрямую, без помощи загрузчика типа GRUB. У меня получилось уместить дистрибутив с программами aircrack-ng, reaver и драйверами для карт Wi-Fi в файл размером 12 мегабайт (наверняка можно еще меньше).

Основные преимущества


  • Работает на любых компьютерах с UEFI — один и тот же файл будет работать на PC и Mac.
  • Не требует установки — достаточно скопировать один файл на EFI-раздел диска и указать в переменных NVRAM путь к этому файлу.
  • Не нужно устанавливать загрузчики GRUB, rEFInd — ядро Linux собранное с поддержкой EFI Stub можно грузить напрямую без промежуточного загрузчика.
  • Не нужны USB-флешки — скопированный на раздел EFI дистрибутив остается там навсегда, и его можно будет загрузить в любой момент. Он не занимает места на разделе основной системы, так как раздел EFI не используется в ОС.
  • Не изменяет процесс загрузки — систему можно загрузить один раз, без изменения порядка загрузки в настройках UEFI. Следующая перезагрузка компьютера загрузит обычную операционную систему. Никаких следов Linux в очередности загрузки не останется.
  • Совместимо с шифрованием диска FileVault и т.д. — файл копируется на EFI System Partition, специальный зарезервированный раздел диска. В компьютерах Mac его размер около 200 мегабайт. Он выделен под Boot Camp и обычно не используется
Читать дальше →
Всего голосов 78: ↑77 и ↓1+76
Комментарии48

Как лучше разбираться в людях

Время на прочтение31 мин
Количество просмотров102K
Рассказывать айтишникам про психологию то еще дело, некоторые читатели скажут: «Bullshit!», и вообще не поверят, потому что психологию, даже прикладную, нельзя назвать точной наукой. Тем не менее, задача этой статьи — показать и доказать вам, что некоторые модели действительно работают. В основе доклад Сергея Котырева из UMI на РИТ++ 2017, от его лица дальше и пойдет повествование.



Я — IT-предприниматель с 20 летним стажем. Так получилось, что с самого начала карьеры мне пришлось управлять людьми. Как выпускник технического вуза и айтишник, я изначально понял, что люди сложно поддаются алгоритмизации, и вообще осознанию, пониманию и прогнозированию.

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

Мне кажется, о поведении и предсказании поведения спиральных галактик мы знаем больше, чем о том, как поведет себя человек, например, моя жена, сотрудник, или особенно сотрудница моего отдела маркетинга, не говоря уже о пиарщицах. О том, что ближайшая к нам Галактика летит, и через сколько-то миллиардов лет столкнется с нашей, мы уже знаем точно.
Всего голосов 127: ↑113 и ↓14+99
Комментарии63

В защиту swap'а [в Linux]: распространенные заблуждения

Время на прочтение14 мин
Количество просмотров151K
Прим. перев.: Эта увлекательная статья, в подробностях раскрывающая предназначение swap в Linux и отвечающая на распространённое заблуждение на этот счёт, написана Chris Down — SRE из Facebook, который, в частности, занимается разработкой новых метрик в ядре, помогающих анализировать нагрузку на оперативную память. И начинает он своё повествование с лаконичного TL;DR…

Читать дальше →
Всего голосов 74: ↑74 и ↓0+74
Комментарии153

Маршрутизация локальной сети через прозрачный socks-прокси

Время на прочтение4 мин
Количество просмотров29K
Потребовалось пустить трафик со всех домашних устройств, включая смартфоны, через ssh tunnel.

Советую другой способ с использованием tun2socks.

Имелось:

  • маршрутизатор TP-LINK, подключенный к провайдеру.
  • смартфоны и ноутбук подключенные к беспроводной точки доступа маршрутизатора.

Ноутбук находился далеко от маршрутизатора (в другой комнате) и регулярно использовался, поэтому пришлось искать решение маршрутизации трафика с помощью встроенного беспроводного интерфейса (и без всяких там eth0).
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии19

Отслеживаем Millenium Falcon с помощью TensorFlow

Время на прочтение7 мин
Количество просмотров7.6K


На момент написания этой статьи большинство крупных технологических компаний (вроде IBM, Google, Microsoft и Amazon) предлагают простые в использовании API визуального распознавания. Аналогичные инструменты предлагают и более мелкие компании, например, Clarifai. Но никто из них не предлагает средств по обнаружению объектов (object detection).
Всего голосов 26: ↑23 и ↓3+20
Комментарии6

Кибер-оракул: поиск аномалий в данных мониторинга с помощью нейросети

Время на прочтение8 мин
Количество просмотров20K

Количество данных, которые получает наш мониторинг выросло настолько, что для их обработки мощности только человеческого разума уже не хватает. Поэтому мы надрессировали искусственный интеллект помогать нам искать аномалии в полученных данных. И теперь у нас есть Кибер-Оракул.


Кибер-оракул, очевидно

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии30

Что делать, если Instagram не дал доступ к API? Дополнение

Время на прочтение5 мин
Количество просмотров66K
Здравствуйте ещё раз! Я прочёл её и мне показалось, что её можно продолжить.

image

Ни для кого не секрет, что самая популярная и прибыльная площадка для рекламы, бизнеса и прочего — Instagram. Почему им стал именно сервис, в котором по началу можно было загружать только картинки определённого размера (соотношение сторон имеется ввиду) и не было абсолютно ничего, что было в тогдашних соцсетях — совсем непонятно, но факт есть факт. Ввиду чего все стараются проникнуть на площадку Instagram и захватить оттуда наибольшее количество аудитории, и делают, это, конечно же, не вручную. А за этим следует, что Instagram жёстко блокирует доступ для ботов, спамеров и прочему, дабы сеть оставалась чистой.

  1. Самые полезные функции (постинг и удаление постов) доступны только из мобильного приложения Instagram, эмуляция запросов сложна, так как надо вытащить из приложения ключ, который с каждой новой версией обновляется.
  2. Web-версия обрезана, но радует, что в ней есть возможность лайкать, комментировать и удалять комментарии
  3. Есть API, но процедура его получения удручающе долгая и спамерам и ботам такой путь точно не светит. Плюс было много моментов, когда соглашения в API менялись, что не всегда удобно.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии40

Играем в APK-гольф. Уменьшение размера файлов Android APK на 99,9%

Время на прочтение10 мин
Количество просмотров41K
В гольфе выигрывает тот, у кого меньше очков.

Применим этот принцип в Android. Мы собираемся поиграть в APK-гольф и создать приложение минимально возможного размера, которое можно установить на Android 8.0 Oreo.

Базовый уровень


Начнём с дефолтного приложения, который генерирует Android Studio. Создадим хранилище ключей, подпишем приложение и измерим размер файла в байтах командой stat -f%z $filename.

Затем установим APK на смартфон Nexus 5x под Oreo, чтобы убедиться, что всё работает.



Прекрасно. Наш APK весит примерно полтора мегабайта.
Читать дальше →
Всего голосов 86: ↑86 и ↓0+86
Комментарии52

WhatsApp, что внутри?

Время на прочтение7 мин
Количество просмотров80K
В продолжение направления публикаций исследований нашей компании о внутренних механизмах крупнейших в мире мессенджеров. Сегодня будем смотреть на WhatsApp в его актуальном состоянии. На самом деле внутренности не сильно изменились за последние три года, изменения там скорее косметические.

В этой статье мы подробно посмотрим как можно изучать протокол работы мессенджера, ответим на вопрос «может ли WhatsApp читать нашу переписку?» и приложу весь необходимый код на языке PHP.
Читать дальше →
Всего голосов 79: ↑78 и ↓1+77
Комментарии78

Как работает Android, часть 1

Время на прочтение8 мин
Количество просмотров216K


В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии51
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность