[О блоге] [наверх] [пред] [2020-05-25 14:20:08+03:00] [22dfdf4ab8cd4c68c15720af9296091114e3c3f7]
Темы: [apple]

Apple отправляет хэши приложений которые вы запускаете

https://habr.com/ru/post/503670/
Apple как всегда в своём духе, так держать! Такое ощущение что macOS ни
в коем случае, ни при каких обстоятельствах нельзя выпускать в Интернет.

https://raymii.org/s/blog/I_had_to_jailbreak_my_iPhone_to_change_the_default_browser.html
А для смены броузера в системе по умолчанию, нужно сделать jailbreak.

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2020-09-26 10:26:44Z
    
    А хорошо ли то, что многие устройства продаются изначально без "рута"?
    
    С одной стороны, это снижает степень, в которой пользователь владеет
    купленным устройством, даёт ему меньше контроля здесь и сейчас.
    
    С другой стороны, это не даёт пользователю сделать какую-нибудь
    глупость, из-за которой малварь пропишется так глубоко на устройстве,
    что hard reset больше не поможет, и возможно потребуется оборудование,
    которое есть не в каждом доме, чтобы эту малварь с устройства удалить.
    
    Прямо как Тео-де-Раадт, решивший за пользователей, что side-channel
    attack mitigations нужны всем, и не дающий ручку для отключения (кроме
    тех, кто может разобраться, как поправить и пересобрать ядро),
    производители устройств не дают рута (кроме тех, кто может поставить
    альтернативную прошивку).
    
    Будет ли польза, если, например, во FreeBSD добавить некую печать
    (tainted flag), наличие которой не даёт пользователю возможность
    залогиниться рутом, а большинство административных операций выполнялись
    бы через набор специальных утилит (я понимаю, что написать их, да так,
    чтобы покрыть 90% сценариев — непростая задача), не дающих сделать
    глупость. А срывание этой печати приводило бы к появлению какой-нибудь
    маркировки в логах.
    
    Я пока вижу два преимущества в такой ОС:
    
    1. Разработчикам при разборе баг-репортов будет проще отличить чистое
    окружение от того, в котором покопался пользователь и что-то неочевидным
    образом испортил. Что-то подобное есть в Linux, когда загружается
    несвободный или out-of-tree драйвер — разработчик ядра, видя panic или
    oops сразу понимает, что тут что-то нестандартное.
    
    2. Пользователь, workflow которого полностью укладывается в работу на
    запечатанной системе, может проверять наличие печати. Если печать
    сорвана, то кто-то залез в его машину, и доверять ей больше нельзя.
    
    У меня, например, загрузчик ОС настроен таким образом, что если я
    заставлю его загрузить неподписанное ядро, то система будет красить фон
    всех виртуальных терминалов (ttyN) в красный цвет.
    
    Очевидные недостатки такого подхода:
    
    1. Разработчики могут начать игнорировать любые запросы от пользователей
    без печати.
    
    2. Могут появиться приложения, которые откажутся работать на
    распечатанных системах.
    
    Всё, что написано в этом комментарии, нигде не предполагает наличие
    закрытого или проприетарного кода. Все сценарии возможны с полностью
    свободным ПО, это скорее вопрос умолчаний и экосистемы.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2020-09-26 18:16:34Z
    
    *** kmeaw [2020-09-26 13:23]: [...]
    Солидарен и согласен почти со всем написанным в комментарии.
    
    * Я не против настроек по умолчанию с защитой от дурака, от неопытного
      пользователя. Но, только если эти настройки можно поменять. Например я
      слышал что не все UEFI позволяют задать/поменять ключ secure boot-а:
      если его нельзя отключить совсем, то, получается, только Microsoft
      (только же её ключ вшивается, насколько слышал?) типа может одобрить
      запуск кода
    * Плюс нужно предупреждать или как-то давать узнавать какие настройки
      есть и включены и какие они несут риски. Вот если бы я несколько лет
      назад взял текущий современный Firefox, то просто бы не догадывался
      сколько всяких вещей он захочет отправлять и будет недать
      непотребного. У Mozilla где-то видел была страничка с кучей настроек и
      их за-против -- не знаю несколько она полная, но если полная, то это
      хорошо
    * Если система из коробки идёт без root-а (то есть, я не хозяин и не
      могу управлять своим же компьютером), но предоставляет/описывает
      возможности как его можно включить (насколько слышал, это что-то типа
      developer mode считается?), то это тоже приемлемо
    
    Просто если штатно ничего не отключить, не получить контроль, то это
    недопустимо. Ну или просто понимаю что, тем самым, производительно чётко
    говорит что устройство для людей, которые делегируют кому-то заботу о нём.
    
    Делегирование кому-то вопросов безопасности не есть обязательно плохо.
    Но вот только вопрос кому. Если Тео Де Раадт, срань такая, форсированно
    включает защиты от side-channel атак, без возможности управления (sysctl
    там), то с одной стороны не приятно, особенно когда оно тебе не надо. В
    FreeBSD эти защиты тоже есть, по умолчанию включены, но хотя бы их можно
    через sysctl отключить (лично это делаю). Но, намерения Тео
    действительно связаны с безопасностью. А OpenBSD чаще всего для
    security-related вещей применяется, а не для HPC какого-нибудь.
    
    Любое решение да кому нибудь да навредит, но у Тео не будет вреда для
    безопасности. А вот например если Google/Apple/Microsoft что-то делают,
    то... наверное по пальцам посчитать когда оно действительно сделает
    лучше пользователю, без побочных эффектов в виде уменьшенной приватности
    например. Или вот Ubuntu, во время поиска в своём интерфейсе, сливает
    эти поисковые запросы сразу же в Интернет: а тут это делается для
    "удобства", но с потерей приватности/безопасности. Apple сливает хэши
    запускаемых команд для одной цели, но с безумными побочными эффектами
    приватности. Собственно, вопрос кому доверять и у кого какая репутация.
    По моему, репутация у крупных корпораций чётко не один десяток лет
    показывает что на пользователя, особенно его приватность, им насрать,
    ведь на ней кучу денег зарабатывается. Доверять вопросы безопасности
    всеми этим крупным компаниям я бы не рискнул да ни когда в жизни, ибо у
    них просто нет причины её соблюдать, ибо они не понесут наказание, не
    понесут серьёзные потери.
    
    Но зато в OpenBSD могут взять и просто выпилить Bluetooth (я не знаю,
    может он там и так был в нерабочем состоянии толком). В DragonflyBSD
    автор просто взял и выпили IPsec стэк полностью, ибо у него нет времени
    на его обновление/сопровождение, синхронизацию с FreeBSD-шным. А кто-то
    ведь его вовсю мог использовать. Мы же ведь и выбираем среди множества
    дистрибутивов именно тот, который больше всего подходит именно под наши
    нужды. Я вот пробовал пару лет (год точно) работать под Ubuntu, когда
    ещё сидел на GNU/Linux-ах. Мне же тоже хочется что-то more or less
    default-ное взять и с минимумом изменений/правок иметь возможность
    сделать себе удобную рабочую среду. Но, даже на тот момент, когда не
    было systemd в ней, нужно тратить много сил на то чтобы
    отключать/удалять всякое ненужное. В итоге я понял что мне проще брать
    голый Debian и поверх него доставлять что требуется. Затраты на
    изменения default-ного поведения Ubuntu, на то что мне бы было
    удобно/угодно/удовлветворительно -- слишком велики чтобы был бы смысл с
    ней вообще заморачиваться. Есть куча desktop-ориентированных FreeBSD
    вариантов, которые бы мне не подошли, ибо desktop environment не нужен в
    принципе. Должен быть выбор! А если выбора нет, если делают default для
    99% людей, которым на приватность в целом пофиг, лишь бы можно было
    вести "полноценную социальную жизнь" (таковы тезисы в дискуссии FSFE
    были о проприетарном ПО :-): 316f93ce7ecdbc2a24dcd6c43eb4ad8ba9adc41c),
    то это плохо. Ибо, насколько знаю, сделать Android независимым от Google
    (в плане сетевых запросов к нему), требует уйму усилий (сужу по всяким
    статьям которые вижу).
    
    >Будет ли польза, если, например, во FreeBSD добавить некую печать
    >(tainted flag), наличие которой не даёт пользователю возможность
    >залогиниться рутом
    
    В FreeBSD есть securelevel-ы которые можно повышать, много потенциально
    опасных действий запрещая делать, даже если ты root, и которые нельзя
    уже понизить никак. Но это так, отвлечённая тема.
    
    Я думаю, точнее уверен, что невозможно сделать инструмент одинаково
    удобный в руках профессионала и любителя. На эту тему споров на работе
    было уйму, но моё мнение непоколебимо. Нигде не бывает чего-либо, что
    было бы удобно всем. Поэтому если думать об инструментарии для "дурака"
    (который не понимает что творит), то... может этот инструментарий просто
    не для него? Для инструментов разные пороги входа, разные требования к
    пользователю. То, что упрощает жизнь любителю -- как правило (всегда,
    конечно же, есть исключения) всегда навредит профессионалу, которого
    ограничат в настройках или заставят ещё больше изменять amateur-specific
    default настройки. Вот с ходу мне например вспоминается GNU Bash,
    который я просто люто ненавижу, ибо сталкиваюсь с ним изредка в
    каких-нибудь Ubuntu/Fedora/CentOS и везде везде разные настройки для
    него, добавляют ещё hook-и, которые будут мне искать пакет для команды
    которую я набрал и её нет. Люто бесит это поведение и куча действий
    которых я не просил. Это наезд не на Bash, а на дистрибутивы GNU/Linux.
    Или вот Vim: в Debian и RedHat-ах настройки очень отличались и это жутко
    бесило. А вот FreeBSD старается по минимуму трогать default-ы и
    настройки. А вот zsh я очень люблю, ибо у него просто ничего из коробки
    не работает и не настроено -- каждый делает сам как ему удобно. Каждый
    раз голый zsh везде будет +- одинаков, одинаково неудобен,
    детерминирован по ожиданиям. А Bash -- в одной версии/в одном
    дистрибутиве одни настройки, в другом другие. Я не просил его из коробки
    мне вести логи! zsh вот не ведёт, не делает чего я не просил (он ничего
    не делает с чистого листа :-)).
    
    >1. Разработчики могут начать игнорировать любые запросы от пользователей
    >без печати.
    
    Вот-вот, это сразу же приходит на ум :-). В итоге на практике получится
    то, что или, грубо говоря, теряешь поддержку разработчиков, ибо у тебя
    не их (и только их!) сборка, или тебе придётся обманывать систему, делая
    вид что у тебя стандартная сборка, если конечно совесть/этика позволит.
    
    Просто это только усугубит проблему "works for me", когда вместо того
    чтобы разобраться в чём дело, в чём причина, разраб ответит что "in our
    default environment/build -- everything works". Я прекрасно понимаю
    разработчиков, ибо разбираться с чужими проблемами, почти всегда
    связанными с человеческими ошибками/неаккуратностью, не шибко то приятно
    разбираться. Но просто это совсем уж станет похоже на то как во многих
    проприетарных продуктах: используете отличные от default настройки --
    никаких гарантий мы значит не будем предоставлять, делайте на свой страх
    и риск, отвалите.
    
    >2. Пользователь, workflow которого полностью укладывается в работу на
    >запечатанной системе, может проверять наличие печати. Если печать
    >сорвана, то кто-то залез в его машину, и доверять ей больше нельзя.
    
    Ну тут ещё не забывать что и проверку печати можно
    поломать/отключить/атаковать.
    
    >Всё, что написано в этом комментарии, нигде не предполагает наличие
    >закрытого или проприетарного кода. Все сценарии возможны с полностью
    >свободным ПО, это скорее вопрос умолчаний и экосистемы.
    
    Согласен. Если короче, всё что я написал выше, то: нужно разделять
    инструменты на то, для кого они ориентированы, для каких задач, а не
    пытаться удовлетворить всё, всех и вся.