image


Всем привет!


Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы".


Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с которой мы недавно столкнулись.
Он мог бы быть в стиле "А-а-а-а-а-а! Смотрите, Большой брат (Google) следит за нами", но я, всё же, попробую провести какой-никакой анализ и выдвинуть правдоподобные гипотезы о том, почему может происходить то, что произошло.


Заранее прошу прощения, если кому-то не нравится формат а-ля "журнал }{akep в нулевые". Пишите — исправлюсь.


Итак. К нам обратился один из наших читателей, утверждая, что при входе на наш сайт (на котором, весьма иронично, сейчас в топе висит плитка нашей кампании против распознавания лиц — BanCam) у него активируется фронтальная камера.


Дело в том, что он является обладателем телефона из нового поколения телефонов без "чёлок", у которых фронтальная камера вынесена в отдельный "выезжающий" лоток. Который, собственно, и выезжает при обращении к камере.



Как вы, наверное, догадываетесь, моими первыми мыслями были подозрения о том, что нас каким-то чудом, не смотря на все "охранные механизмы", которые я выстраивал, всё-таки взломали и "протроянили".


Однако расследование показало, что с нашим сайтом всё в порядке.


После проведения вышеупомянутого расследования и обсуждения его выводов в техническом чате "РосКомСвободы" я вспомнил о том, что я уже сталкивался на нескольких форумах в интернете с тем, что через баннерные сети (при открытии форума с Android-телефона) "подсовывались" "троянские" apk-пакеты (видимо, в надежде что пользователь установит их, думая, что это официальный клиент данного форума).


Обдумав данную мысль, я предложил попробовать попроверять "трекеры", которые попали в список разрешённых (данный читатель использует Firefox и установленный в нём аддон uBlock).


Пара часов экспериментов показали, что камера перестаёт выезжать если заблокировать обращения к домену google.com. Также, где-то к этому же моменту данный юзер заявил, что на сайте kod.ru тоже воспроизводится данная ситуация (до этого мы работали с версией "только у нас").


Немного углубившись в раскопки, я обнаружил, что запросы к google.com провоцируют не только гугловые трекеры (aka "аналитика"), но даже и обычное "встраивание" видео с ютуба на странице. Воспроизводимость выезда камеры на kod.ru тоже попадала в данную теорию (как выяснилось, на тестируемой странице тоже было видео с ютуба).


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


Итак. Хорошо. На данный момент у нас на руках такая информация: наличие встроенного ютуб-видео на странице триггерит подгрузку каких-то скриптов с google.com, а те, в свою очередь, триггерят выезд камеры.


Окей, копаем дальше.


Поковырявшись в браузерных инструментах отладки я нашёл, что с www.google.com (именно с www) грузится странный и до ужаса обфусцированный (да так, что ни один испробованный мной деобфускатор из поисковой выдачи не справился) скрипт, у которого даже имя и то обфусцировано (зная гугл, могу предположить, что через некоторое время этот скрипт пропадёт, а на его место будет поставлен скрипт с другим (но столь же нечитабельным) именем. Так что, вот его код, на всякий случай).


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


Пробуем зайти с другой стороны:
Лично у меня телефон без выездной камеры, поэтому так легко отловить обращение к ней я не могу. Но я могу подключить его по USB и сделать adb logcat | grep -C5 camer (grep — потому что иначе уж слишком много иррелевантного мусора на каждый чих, включая нажатия пальцем на экран или движения телефона в пространстве). Что я, собственно, и делаю...


Итак, попытка номер один: захожу на тестируемые сайты, и… ничего!


Закрадывается мысль, что проблема, похоже, всё-таки, где-то на стороне юзера.


Параллельно с этим процессом, мы обсуждаем ситуацию в вышеупомянутом техническом чате "РосКомСвободы". Спустя некоторое время от одного из участников поступает мнение, что, мол, мобильные браузеры хитрые: они не всегда запрашивают глобальные права на доступ к камере, и если они не предоставлены, то в некоторых случаях они могут и не спрашивать!


Иду в настройки приложения и вижу что, да, у меня для Firefox не выставлены разрешения на камеру. Включаю, проверяю ещё раз, и вижу простыню на пару "экранов" с подобным:


скриншот


Ага! Обращение к камере, значит, всё же есть!
Более того, сразу после строки с "get device info" идёт явное открытие девайса камеры:


12-12 17:10:14.734   751  6924 I QCamera : <HAL><INFO> int qcamera::QCamera2Factory::cameraDeviceOpen(int, struct hw_device_t **): 405: Open camera id 0 API version 256

Проверяю то же самое с Chrome, и всё воспроизводится: если права на камеру отобрать, то в логе "молчание ягнят", а если выдать — тоже, как и с "рыжиком" появляется простыня про доступ к камере.


Значит, получается проблема:
а) не локальная для юзера,
б) не специфичная для браузера.


Что интересно, при всех этих событиях ни один из этих браузеров не пытался и словом обмолвиться о запросе разрешений на доступ к камере от какого-либо сайта из участвовавших в тесте (да и, впрочем, от ютуба и google.com — тоже).


В свете вышеописанного у меня родились две гипотезы:


  1. Либо Big Brother, всё же, is watching you, либо
  2. тот обфусцированный до ужаса скрипт в реальности вызывает какую-то часть Camera API в браузерах для фингерпринтинга юзера, но при этом не обращается к камере напрямую. Поэтому и нет запроса на доступ к ней (впрочем, если присмотреться к видео в начале статьи, то можно увидеть как между открытием и закрытием камеры моргает светодиод, что заставляет задуматься).

Браузеры же исповедуют тут логику: "при инициализации Camera API, если доступа к камере нет, то не делаем ничего (даже не запрашиваем его, пока не возникнет реальная необходимость) а если есть — инициализируем камеры и проверяем что за девайсы там у нас и что они умеют" (для чего, видимо, и происходит "открытие" девайса).


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


Итого, получается, что проблема не так уж и фатальна, как казалась в начале, и, хотелось бы надеяться, снимков никто не делает (хотя это, всё же, до сих пор "не точно", т.к. моей компетенции в познании исходных кодов Android'а недостаточно для того чтобы однозначно гарантировать в каком случае простыня обращений к камере в logcat говорит о сделанном снимке, а в каком — просто о светских беседах приложения с девайсом).


Однако, тем не менее, сам факт того, что открытие любой веб-страницы, на которой будет iframe с встроенным видео с YouTube'а приводит к обращению к камере (и даже каким-то переговорам с девайсом) всё равно довольно печален в контексте приватности и, как мне кажется, всё же стоит обсуждения сообществом.


А как думаете вы?


P.S. На английском данный пост опубликован на Medium.


UPD: спасибо хабравчанам berez и ksil за пакет орфографических правок (а то при вычитке и переписывании разных кусков текста, как это водится, "исправляя одни баги, привнесли пучок других")

Комментарии (100)


  1. skobkin
    17.12.2019 15:34
    +13

    Как я уже раньше говорил, я подозреваю, что это сочетание неприспособленности Camera API к механически выезжающим камерам и косяков в фирмвари производителя на стыке с этим самым API.
    Производитель решил, что "этот вызов ОБЫЧНО используется для того чтобы (или прямо перед тем как) получить картинку — ну значит будем выдвигать камеру". Вероятно, это даже могло быть самым лучшим решением потому, что, например, выдвигание камеры на другом вызове могло бы заставлять пользователя ждать перед снимком пока камера выедет.
    Это самое логичное объяснение учитывая, что браузеры должны спрашивать пользователя если код сайта хочет получить доступ к картинке с камеры, звуку, сенсорам движения, локации и прочему. И если он этого не делает (а не делают этого целых два браузера на разных движках) — скорее всего из JavaScript действительно запрашиваются только какие-то метаданные, которые не требуют разрешений.


    1. mva Автор
      17.12.2019 15:37
      +30

      Мой внутренний параноик говорит, что он был бы рад, если бы разрешения запрашивались даже на получение метаданных :)


      1. skobkin
        17.12.2019 15:43
        +4

        Да, конечно. Однако тут нужно ещё соблюдать баланс между «запрашивать обо всём» и «не задолбать пользователя».
        А вообще, если смотреть на разрешения на уровне Android, то к этому некоторое движение есть. Если вспомнить детализацию разрешений в Android 4-5 и текущих версиях — сейчас стало гораздо подробнее. На одно только использование стореджа минимум два разрешения есть.
        Хотя не все проблемы решены. Например, всё ещё очень неочевидно для конечного пользователя выглядит запрос разрешений из группы «location» для того чтобы, скажем, подключиться по Bluetooth к чему-то или посканировать Wi-Fi сети.


        1. Barnaby
          17.12.2019 15:55

          неочевидно для конечного пользователя

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


          1. skobkin
            17.12.2019 15:56
            +3

            А теперь вспомните, кто такой конечный пользователь.
            Для него это не очевидно.
            Логично != Очевидно.

            UPD: Чуть поясню.
            Человек, который не понимает того как устроено API и система разрешений может из-за такого подумать, что вполне добросовестное приложение хочет за ним следить.
            Я к тому, что здесь тоже есть поле для улучшений.


            1. Capacitor10n
              18.12.2019 12:31
              +3

              У меня например именно поэтому как то знатно пригорело когда я хотел поиграться в Wi-Fi, а прилажуха стала спрашивать разрешения на геоданные. Паранойя и все такое…


              1. DerRotBaron
                18.12.2019 15:43
                +1

                А тут палка о двух концах. SSID и вышки это более чем данные о местоположении. Раньше их можно было получать без разрешения о местоположении. Плохо. Теперь работа с WiFi явноттребует разрешение на местоположение. ИМХО намного лучше, хотя и не очевидно


              1. kukovik
                19.12.2019 11:29
                +1

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


                1. skobkin
                  06.01.2020 13:32

                  узнает

                  Может узнавать.


      1. powerman
        17.12.2019 19:53
        +2

        Внутреннему параноику стоит поставить на телефон XPrivacyLua.


        1. mva Автор
          17.12.2019 20:01
          +1

          Возможно, да, стоит.
          Но суть поста была немного в другом :)


          1. powerman
            17.12.2019 20:24
            +7

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


            Суть этого поста может быть только в одном: спасение утопающих дело рук самих утопающих. Кто не защитит себя сам, того не защитит никто. Никакие законы и штрафы не остановят крупные компании вроде гугла (частично потому, что они сами лоббируют эти законы, частично потому, что законы везде разные, частично потому, что имея хороших юристов и регулярно совершая "технические ошибки" можно иметь глубоко в виду те законы, которые мешают им жить).


            1. vis_inet
              18.12.2019 07:17

              «не-ет, так не годится, что же мы в самом деле делаем
              мне кажется, это уже из области фантастики.


        1. sumanai
          19.12.2019 11:26
          +1

          Увы, насколько я знаю, не для новых андроидов.


          1. Teomit
            30.12.2019 02:23
            +1

            Поддерживается по 10 Android включительно:
            github.com/ElderDrivers/EdXposed
            github.com/M66B/XPrivacyLua


        1. Valhtang
          28.01.2020 17:37
          +1

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


    1. vladkorotnev
      18.12.2019 03:25

      Хм, у нас на работе есть проект с QR-ридером, написанном в такие бородатые года, что даже в андроид-эмуляторе плашка "Вы можете двигать камеру клавиатурой" не статично горит, а мерцает примерно с частотой обновления экрана.


      Интересно, насколько сильная дискотека будет, если её натравить на девайс с такой выдвижной камерой %)


  1. anonymous
    00.00.0000 00:00


    1. Dee3
      17.12.2019 22:08
      +1

      Известно какие штуки на iOS могут использоваться для отпечатка пользователя?


      1. vladkorotnev
        18.12.2019 03:29
        +3

        Пару лет назад исследовал эту тему в контексте рекламного трекинга, и в айоси обычно была такая комбинация:
        Со стороны браузера — юзер-агент (версия ОС, язык, примерный размер экрана)
        Со стороны приложения после установки — версия ОС, язык, размер экрана, при наличии пермишенов геопозиция
        В обоих случаях — часовой пояс, айпишник.
        Со стороны приложения уже давно не прокатывает использовать какие-либо штуки типа мак-адресов (постоянно возвращается пустой), UDID (private API), не очень работает advertisingIdentifier (можно выключить или сбросить).


    1. EviGL
      17.12.2019 22:17

      Это просто предположение или в указанном скрипте используется этот enumerateDevices?
      Я что-то тоже не смог продраться через обфускацию гугла.


      1. EviGL
        18.12.2019 17:09

        А это по умолчанию настройки Firefox или нет?
        Мне просто интересно, блокируя google analytics и яндекс.метрику, они осознают, что роют себе могилу?


        Вот есть типичный сайтик, который что-то продаёт или конструктор чего-либо. Выпускают они апдейт, который почему-то в продакшне сломался на Firefox. Тут команда аналитики видит в проде падение конверсий на конкретном браузере, смотрит в вебвизоре что пошло не так, фиксит.


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


        1. deseven
          18.12.2019 18:32
          +1

          Эта проблема уже давно существует, но не по этой причине. Из-за тотальной доминации Хрома и его клонов, очень многие чихать хотели на ФФ — с каждым годом вижу все больше сайтов, которые на нем работают немного не так. Их пока немного и проблемы обычно не критичные, но тенденция на лицо. Как и продолжающееся падение доли рынка с 15 до 9% за 2 года.


          1. ElleSolomina
            29.04.2020 17:34
            +1

            Web версия Skype работает только в хромоножках, в Firefox нет.


            1. powerman
              10.05.2020 23:39
              +1

              Только что зашёл, проверил — работает в Firefox (звонки только не проверял). Всё, что для этого нужно — подменить User-Agent, напр. через расширение Header Editor:


              1. ElleSolomina
                11.05.2020 10:51

                Что лишний раз доказывает на пользователей Firefox плевать. Оно ведь даже работает, просто сделали запрет потому что козлы и им плевать. Ну и ладно я уже всех в Telegram пересадил :) Пошёл этот Skype туда же куда и Chrome, плевать им на приватность ну и пусть.

                P.S. я теперь притворяюсь тупеньким, раз компании так не нужен я как клиент, ну и ладно. Модифицировать агент браузеру «это сложна», регулярки тем более XD Telegram просто работает, притом на медленном «могильном» интернете он работает, а Skype нет.

                P.P.S. а тупеньким я притворяюсь потому что у «простых людей» тоже всё должно просто работать без необходимости манипуляций.


              1. EviGL
                19.12.2019 20:20

                Эмм, нет. Бэкендовые на сервере, фронтендовые на клиенте. Как иначе-то?


        1. ilammy
          18.12.2019 21:33
          +1

          Говорят, когда-то давно браузеры отправляли специальную строку User-Agent, чтобы сказать веб-серверу, что это за браузер, и веб-сервер мог понять, с каким браузером проблемы. К счастью, это всё ужасы прошлого. Все браузеры отправляют одно и то же фиксированное значение, нет никакого бардака, только порядок: о том, какими браузерам пользуются люди, можно узнать у Google.


        1. sumanai
          19.12.2019 11:30
          +1

          Вот есть типичный сайтик, который что-то продаёт или конструктор чего-либо. Выпускают они апдейт, который почему-то в продакшне сломался на Firefox. Тут команда аналитики видит в проде падение конверсий на конкретном браузере, смотрит в вебвизоре что пошло не так, фиксит.

          Это так не работает. Обычно никто не замечает такие падения, зато бесплатно кормим гигантов персональными данными своих посетителей. Так что я у себя всё давно заблочил.


          1. EviGL
            19.12.2019 14:31
            -1

            Ну в моей практике работало. У кого не работает — надо качать команду аналитиков.


            Это отлично, когда человек может заблочить всё, что ему хочется.
            Плохо, когда заблокировано по умолчанию у всех. Но в FF не так, кстати, я проверил. Аналитика блокируется по умолчанию только в приватных окнах.


        1. mva Автор
          19.12.2019 16:14

          А зачем дебажить через аналитику, если для отлова ошибок есть Sentry?


          1. EviGL
            19.12.2019 19:59

            Это она пока что есть, пока блокировщики в браузерах про неё не знают :) Сливает себе там данные безнаказанно.


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


    1. Gugic
      18.12.2019 07:26
      -1

      Там в самом начале скрипта написано что это антиспам (детектор ботов, вероятно). Если вы расшифруете приложенный email — увидите что это botguard-contact@google.com.

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


      1. mva Автор
        18.12.2019 11:01

        конечно же мы расшифровали этот адрес.
        Но как вы думаете, какова вероятность того, что письмо на него с вопросом "а вы не трекаете меня, случайно" получит какой-либо ответ? :)
        // мы, вот, пока ждём, но уже не надеемся


  1. anonymous
    00.00.0000 00:00


  1. xl-tech
    17.12.2019 17:49

    У меня Oppo Reno 2F. Постоянно вижу это при поиске в ленте Инстаграма. Но в браузерах камера не выезжала еще (Android 9 с последними обновлениями безопасности). Камера не выезжает даже если дать Хрому на нее права. Возможно у юзера включена разблокировка по лицу и это как то влияет?


    1. EvgenT
      17.12.2019 19:50
      +1

      Возможно ребята уже почистили, но попробуйте вот эту страницу — www.comss.ru/page.php?id=6726
      При её открытии с телефона у меня выехала передняя камера. Блокировка по лицу отключена. На камеру, браузеру, права были даны. Я написал им в twitter, ответа не последовало.


      1. xl-tech
        17.12.2019 20:05

        Проверил, камера не выехала. Дал отдельно Хрому доступ к камере, тоже не выехала.


  1. zenkov
    17.12.2019 18:54
    +18

    У меня на Порнхабе uMatrix блочит в 10 раз меньше говна чем у вас на сайте. Это сейчас не шутка была.


    1. Zenitchik
      17.12.2019 19:22
      +1

      Эм… А то, что он не блочит на у казанном сайте, чем-то отличается от того, что блочит? Я зашёл — и вышел. Потому что в глазах пестрит.


    1. mva Автор
      17.12.2019 19:55
      +5

      Мы в курсе, да :'(
      Работаем над этой ситуацией.
      Тут у нас столкновение интересов технарей (которые, как и вы, не любят лишнюю фигню, которая блокируется uMatrix'ом) и редакции, которым очень нужна аналитика.
      Но переговоры ведутся и компромисс не за горами.


      1. sumanai
        19.12.2019 11:32
        +1

        Использовать Piwik?


        1. CRImier
          24.12.2019 14:58
          +1

          Теперь у них название Matomo. mva очень советую оценить возможности Matomo для аналитики — проект полезный, заслуживает большей популярности.


    1. tmin10
      17.12.2019 22:10
      +5

      Вроде не так много и выглядит не сильно подозрительно:

      Скрин
      image


    1. WolfTheGrey
      14.01.2020 16:06
      +1

      На порнхабе сильная собственная аналитика. У них даже подключение сторонних скриптов завязано на порнхабовские объекты метрики и телеметрии (MGutils и другие). За что если честно им большой респект, почему-то им я доверяю больше чем гуглу. Видимо потому что у них весь бизнес на этих чувствительных данных построен.


  1. Alonerover
    17.12.2019 21:40
    +1

    Так или иначе, но принцип «убедительного отрицания» работает. Никак не доказать, что это не простой косяк, а намеренный бэкдор.


    1. Zenitchik
      17.12.2019 22:31

      А почему нужно доказывать именно это, а не обратное?


    1. AliluyaFak
      18.12.2019 02:33
      +1

      Штирлиц никогда еще не был так близок к провалу…


  1. EviGL
    17.12.2019 22:21
    +12

    А всё-таки красиво это выглядит на видеоролике из статьи.
    Зашёл на роскомсвободу, улыбнитесь, вспышка, вы в базе ;)


    1. CrazysAlien
      17.12.2019 22:55
      +1

      Ну если такая база — БазаСвободныхЛюдей существует то это, вероятно, самый лёгкий способ в неё попасть ;)
      Ну и членство, если так можно выразиться, в ней должно быть весьма почётно — можно на аватерке эдакий смайлик прикрутить желающим :)


      1. mk2
        18.12.2019 07:56
        +2

        А потом приходят вежливые люди, изымают базу, и добавляют свободных людей в список распознаваемых лиц.


        Так что лучше не надо.


      1. axr
        21.12.2019 15:59

        БазаСвободныхЛюдей звучит парадоксом


  1. karavan_750
    17.12.2019 22:34
    +1

    А как думаете вы?
    Я бы попытался копнуть далее — пропустить трафик аппарата через прокси и отловить какими файликами и куда он пуляет.


    1. krm
      18.12.2019 09:33

      И сравнить логи те что делает фронтальная камера при реальном фото, и при открытии подозреваемых страниц в браузере.


    1. subcommande
      18.12.2019 15:44
      +1

      Ну пуляет аппарат хэш фотки с камеры, как вы это поймете? Гаданием на хэшовой гуще?


      1. karavan_750
        18.12.2019 16:46

        Хэш? Тогда я вынужден переспросить с какой пользой можно воспользоваться им на «той» стороне?


        1. subcommande
          18.12.2019 17:04

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


        1. sumanai
          19.12.2019 11:33

          Перцептивный хеш?


          1. karavan_750
            19.12.2019 18:52

            Если я правильно понял его назначение, то он только для сравнения одной картинки в разных представлениях.


  1. maxys146
    17.12.2019 23:17
    +2

    У меня на компе с камерой и ноуте тоже Каспер иногда агрится на камеру, именно на браузер. В основном на Ютубе. Сама камера при этом не активируется, то есть лампочка не загорается. Возможно ноги оттуда же растут…


    1. ElleSolomina
      28.03.2020 13:15

      На компе вообще весело, там лампочка обычно отдельно включается, она не аппаратная )


  1. bodqhrohro
    18.12.2019 03:19
    +20

    Блин, с этими выезжающими камерами ж получается, что линукс не нужен теперь! Вместо пеки на линуксе с CD-приводом можно теперь мобильник использовать, чтобы кнопку перезагрузки на сервере с виндой нажимать! :)


    1. pulsatrix
      18.12.2019 12:02
      +5

      Я ничего не понял. Расшифруйте пожалуйста.


      1. mva Автор
        18.12.2019 12:37
        +24

        это старая шутка.
        Соль её в том, что есть сервер на windows, который постоянно зависает, но ходить в серверную и перезагружать его — лень (а IPMI нету). Чтобы решить этот вопрос — рядом ставят сервер на Linux/BSD, который НЕ зависает, и делают скрипт, который выдвигает лоток CD-привода (а тот, в свою очередь через костыль нажимает на кнопку reset у вендового сервера.


        bodqhrohro пошутил, что теперь для этого не нужен целый сервер на Linux (и вообще Linux), а можно использовать смартфон с выезжающей камерой.


        Так-то!


        // Всегда ваш, К.О.


        1. pulsatrix
          18.12.2019 13:10

          Спасибо.


        1. v1000
          18.12.2019 13:19
          +3

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


          1. Temych
            18.12.2019 22:16
            +2

            Какое же всё-таки оказалось ключевое изобретение человечества — привод CD-ROM!


            1. v1000
              20.12.2019 12:35
              +3

              настоящее устройство ввода-вывода:)


      1. slavius
        18.12.2019 12:52
        +7

        Была такая шутка — возле сервера стоит комп, который пингует сервер, если ответа нет — выезжает лоток CDROM и нажимает на reset.

        А комментарии мне нужно обновлять…


        1. pulsatrix
          18.12.2019 13:18
          +3

          И вам спасибо.


  1. D03ER
    18.12.2019 11:00
    +1

    Владею таким же девайсом. Камера всегда выезжает с включенным светодиодом, потом он гаснет, а при отключении камеры светодиод снова включается, пока камера не заедет назад. На видео камера начинает заежать раньше, чем заканчивается «анимация» выезжающей камеры и начинается «анимация» заезжающей, и возникает такое моргание. Сама же камера включается, когда светодиод уже погас, и как только начинается заезд камеры она выключается. Видимо простой фингерпринт. В Аиде, при опросе девайса камера выезжает так же.


  1. heavyC1oud
    18.12.2019 11:00
    +4

    а я уже было собрался изоленту отклеить с ноута


  1. ua30
    18.12.2019 14:04

    Хочешь приватности — езжай в село. Хотя какая и там приватность — все про всех все знают.

    А если еще не серьезно. Не люблю всякие девайсы, которые могут работать от собственной батареи. Только системник, только хардкор. Форева!


    1. Zenitchik
      18.12.2019 15:54
      +1

      А как же батарейка на биосе?


    1. bodqhrohro
      19.12.2019 00:50

      Можно батарейку выковырять и сделать питание от розетки только. Будет высокотехнологичный проводной телефон :)


    1. bodqhrohro
      19.12.2019 00:55

      Что будет, кстати, если заклеить камеру, чтобы она не выезжала? Как на видеокассетах выломанную для защиты от записи заглушку опять заклеивали. Зависнет, сломается или проигнорирует?


    1. bodqhrohro
      19.12.2019 01:01

      Напомнило ещё, как на сайтах вставляли , заставляя старые браузеры внезапно шуршать дисководом. История по спирали развивается.


    1. bodqhrohro
      19.12.2019 01:09

      Упс, последние два комментария должны были в корень улететь, а подцепились тоже сюда. Зарепорчено.


  1. Dartess
    18.12.2019 14:21

    Потыкал код и ссылки из поста и комментов, так и не воспроизвёл выезжание камеры ( Oppo Reno.


  1. megagnom37
    18.12.2019 14:56

    Почему нужно запускать модуль камеры, чтобы получить информацию о её возможностях (в каком нибудь общем виде для всех камер)? Разве нельзя это хранить где-то в устройстве в виде публичной информации и по API стучаться именно к этой информации?


    1. RadicalDreamer
      18.12.2019 15:32
      +1

      Как раз такой API и предоставляет HAL (Hardware Abstraction Layer) камеры на Android. Не могу сказать, баг / фича ли это дизайна самого API или просто в этом конкретном случае из-за специфического решения вендора получается так, что при открытии модуля камеры выезжает шторка. Учитывая то, что сам HAL оставляет многие детали реализации на откуп вендору, вполне может иметь место второй вариант.


      1. megagnom37
        18.12.2019 16:10

        Понятно. Получается HAL находится между аппаратным уровнем и программным. Но мы не можем получить доступ к нему без запуска модуля (в нашем случае камеры)?


        1. RadicalDreamer
          18.12.2019 16:54

          Не возьмусь утверждать за все реализации HAL камеры, но на своих девайсах (девайсы на платформах Exynos4412, U8500) всегда замечал, что открытие HAL затрагивает драйвер в ядре. А поскольку система дергает модули камеры при запуске, иногда забагованный драйвер мог вызывать ребут при запуске.


  1. irisit
    19.12.2019 09:44
    +3

    Про скрипт и что он делает очень подробно написано тут:
    stackoverflow.com/questions/21762076/why-does-gmail-use-eval


    1. mva Автор
      19.12.2019 09:47
      +2

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


      1. ElleSolomina
        28.03.2020 13:19

        Ну да, имеено поэтому всё очень и очень сильно порезано сначала на уровне DNS на шлюзе, потом в браузере uBlock Origin с очень драконовским набором и ещё Tempermonkey со скриптами для отпила того чего не отпиливает uBlock Origin.


  1. Elige
    19.12.2019 09:44
    -1

    Скорее минифицированный, чем обфусцированный код.


    1. mva Автор
      19.12.2019 09:46
      +1

      Одно другому, на самом деле, не мешает
      // и немного сарказма: а eval() там, значит, для красоты, да? :)


  1. igor376
    19.12.2019 09:44
    +1

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


    1. mva Автор
      19.12.2019 09:50
      +1

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


      1. vis_inet
        17.01.2020 08:56

        Разве только он один отметился на этом поприще?


        1. ElleSolomina
          28.03.2020 13:21

          Все торгуют и номерами телефонов, что потом телефонный спам валить начинает и всем остальным тоже.

          Тут ещё у Тинькофф проблема новая: они убрали оплату в приложение и теперь я вынужден использовать GPay для бесконтактной оплаты, ещё одна прослойка по утечке данных.


  1. drauger
    19.12.2019 10:04
    +2

    Вчера ради эксперимента на телефоне с чистым Андроид 9 убрал у Google Services разрешение на доступ к камере. Теперь ошибка Google Services вылетает при приходе каждой SMS. Тоже фингерпринтинг?


    1. ElleSolomina
      28.03.2020 13:23

      Не факт, возможно особенности реализации железа. Ну т. е. я неисключаю что прошивка в железке даёт доступ и к модему и к камере сразу и никак это не разграничивает, а в ОС это разные разрешения и упс.

      P.S. это возможно поскольку везде сейчас SOC используются (т. е. всё железо в одной микросхеме буквально).


  1. Arohas
    21.12.2019 15:59

    Автор осторожен, да…
    И в самом деле, негоже если скрипт в браузере способен творить непотребное бесчинство.
    Наверняка это обыкновенный недочёт.
    Нет причин полагать обратное.


  1. Temych
    25.12.2019 23:28

    Один из пользователей кинул ссылку, что сабж обсуждали несколько ранее также и пользователи реддита.
    Оставлю это тут.