Перевод Кластер критической децентрализации 36c3 - Введение в Replicant

Тема в разделе "Журналы о Monero", создана пользователем Mr. Pickles, 31 май 2020.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    786
    Симпатии:
    229

    Диего:
    Хорошо, продолжаем. Сейчас выступят ребята, которых мы пытались остановить, потому что уже собирались отправиться спать… Но нет! Веселье продолжается. Боже, я так устал. Как это всё называется? Critical Decentralization Cluster. Веселье продолжается! Отлично, и сейчас перед вами выступит Денис, он расскажет нам о Replicant, проекте, в отношении которого я ничего не хочу сказать, но этот маленький красный логотип Android такой милый, он как бы намекает на то, чем они занимаются. Но пусть он сам нам всё объяснит. Давайте продолжим и поддержим его. На самом деле, по-моему, он должен начинать только через пять минут. Поэтому, наверное, давайте похлопаем ему эти пять минут. Шучу. Выходи, я передаю микрофон.

    Денис: Итак, Replicant — это свободный дистрибутив для Android. Начиная с 2009 у нас есть свой веб-сайт replicant.us. В настоящее время мы работаем на базе LineageOS, и наша текущая версия основана на Android 6, поэтому, к сожалению, функции безопасности не обновлялись уже два года. Сейчас мы занимаемся портированием на Android 9, но работа пока ещё продолжается, поскольку между выходом двух версий было внесено множество изменений. Мы поддерживаем около десяти устройств, как будет показано дальше, и над проектом работает два человека из расчета полной занятости: то есть один человек — полный рабочий день и два человека по полдня. Также нам сильно помогает сообщество, но всё в основном зависит от наличия доступного времени.

    Вот это устройства, которые мы поддерживаем, довольно старенькие, такие как Galaxy S2, S3, Galaxy Nexus, не один и не два, и некоторые планшеты, такие как Galaxy Note 8.0 и Galaxy Tab 2.

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

    Проблема состоит в том, что сам дистрибутив является абсолютно свободным, а это означает, что мы не создаём каких-либо больших двоичных объектов, блобов, ничего проприетарного, но это вовсе не означает, что с аппаратной частью всё в порядке или что с программным обеспечением, которое уже на него установлено, всё хорошо. Это код, которым могут воспользоваться злоумышленники, и мы решаем эту проблему. Так что у нас много вопросов, связанных со свободой распространения.

    А это Galaxy S3. Это система на кристалле, чип с центральным процессором, графикой, управлением SD-картой и многим другим. Совсем не обязательно это будет так, как, например, у вас есть где-то аккаунт Wi-Fi, но на чипе это не будет зафиксировано, то есть не совсем всё будет на чипе. И на этом телефоне у вас также имеется отдельный модем, вот здесь. Это ещё один чип для обмена информацией с вышкой сотовой связи, таким образом, если вам необходимо позвонить кому-то, вы набираете номер в графическом пользовательском интерфейсе Android, это обрабатывается чипом, который работает с собственной операционной системой, и так осуществляется вызов. В этом также участвует SIM-карта, по-моему, на CCC было выступление, посвящённое SIM-картам. И эта архитектура интересна с точки зрения проблемы свободы, приватности и так далее, поскольку, например, модем соединён с системой на кристалле посредством архитектуры, напоминающей USB, подсистемы USB, а это означает отсутствие совместно используемой памяти, и модем не может атаковать CPU через память. Возможно, это выглядит как набор ключей ко всему, но только если вы знаете об этом, поскольку хост, основной процессор, контролирует энумерацию USB, поэтому вы не сможете получить ключи просто так.

    Итак, множество вопросов, связанных со свободой. Сеть постоянно знает, где вы находитесь, с точностью примерно 10-20 метров, пока ваш телефон подключён к ней. Это часть протокола, у встроенного программного обеспечения модема собственная операционная система, и она является абсолютно несвободной, и мы можем доверять ей, мы можем изменить что угодно внутри неё. Помимо этого, имеется ещё масса несвободного встроенного программного обеспечения, такого как Wi-Fi, Bluetooth, в зависимости от модели, акселераторы, гироскопы и подобные вещи. Другой проблемой являются загрузчики системы. По сути, это эквивалент BIOS и граббера в одном двоичном файле. Он обычно подписывается, а это означает, что производитель зашил ключ в систему на кристалле, вот сюда, и при загрузке загрузчика системы с внешнего носителя, такого как SD-карта или MMC, подписи будут проверяться, поэтому в большинстве наших смартфонов, в пяти или в десяти, не суть важно, но в двух из них точно, имеется подпись, и это вопрос, требующий от нас серьёзного решения. И ещё на большинстве этих смартфонов, наряду с дистрибутивом Android, загружена вторая операционная система. Это уже зона, называемая TrustZone, то есть у вас есть пользовательский уровень, уровень ядра, и есть уровень TrustZone, и поэтому у вас на CPU всегда работает другая ОС с более продвинутыми привилегиями. И это тоже нехорошо. И поскольку мы берём за основу Android, код получается очень громоздким, и иногда приходится иметь дело с абонентскими «антихарактеристиками», которые нам совершенно не нравятся. Как пример, это линейные адреса, например, когда вы хотите позвонить коллеге, вы ищете его номер посредством онлайн службы, то есть номер телефона, по которому вы звоните или по которому звонят вам, отправляется через службу, подобную обратному поиску имени, что-то подобное, и нам необходимо выяснить, как точно это делается, и удалить эту функцию.

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

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

    Итак, это касается готовых устройств, которые мы покупаем. В них может быть установлена система Android, не являющаяся свободной, но благодаря лицензии в них также будет иметься канал Linux. Производителю приходится выдавать исходный код людям, которые покупают его устройства. Но в некоторых случаях пользователи совершенно не властны над своим устройством. Если вы покупаете устройство у оператора, оно привязывается к нему, и вы даже не можете загрузить или установить на него другую операционную систему. И так иногда у вас появляются нежелательные приложения, то есть вы покупаете уже предустановленное приложение, но вы всё же по-прежнему можете установить нужное вам приложение, Android или Office, например, то есть всё не так плохо, как в случае с iPhone 4 или в других телефонах.

    Да-да, вот поэтому мы и приводим эту цитату — сейчас уровень слежки серьёзней, чем в СССР. Так что да.

    Почему мы остановили свой выбор на Android. Дело в том, что графический интерфейс пользователя этой системы работает с телефонами с небольшим экраном, с высокой плотностью пикселей, ёмкостным дисплеем, которым можно пользоваться, имея большие пальцы или проблемы со зрением. Графический интерфейс и соответствующее приложение — всё это уже было сделано для Android. Для Linux, по-моему, работы сейчас ведутся. И проблемой является, как я уже говорил, большой объём кодовой базы. Кроме того, Android рассчитан на использование проприетарного программного обеспечения, а не на то, чтобы пользователи имели свободу действий, и это не совсем совпадает с нашими целями, но… И определённая часть архитектуры лучше в случае с GNU/Linux, например, менеджер пакетов и система сборки. В случае с Linux они лучше, так что да…

    Вот, собственно, над этим мы сейчас и работаем. Мы портируем Replicant на Android 9. Это большой объём работы, и мы расскажем об этом завтра. Также мы пытаемся сделать смартфоны более адаптируемыми, обеспечиваем возможность поддержки Replicant. Для этого мы используем «ванильный» канал или канал на базе ванильного ядра Linux, так что это предполагает большие изменения. Мы пытаемся реализовать поддержку PinePhone и Librem5, но это уже из разряда наилучшего, что мы можем сделать, то есть если люди продемонстрируют заинтересованность, со временем это и будет сделано, но мы очень заинтересованы в этом. Мы также работаем над новой версией, нам необходимо исправить ошибки, например, связанные с невозможностью распознавания SIM-карт, а также с совместимостью приложений. Мы занимаемся этим, поскольку сейчас у нас нет 3D ускорения, и OpenGL, который мы использовали, был неполным. Это мы и исправляем. Также у нас проблемы, связанные со свободным программным обеспечением, как в случае с F-Droid, так как далеко не всё то, что есть в F-Droid, совместимо с требованиями GNU NFS, так что мы работаем и над этим. Также на CCC у нас есть выступление, связанное с проблемой WebView и системой сборки. Нами также рассматривается возможность реализации свободных программных загрузчиков на устройствах, которые нами уже поддерживаются, таких как Galaxy S3, но пока у нас с этим трудности. Есть проект под названием XBOOT, который, возможно, станет первым таким загрузчиком, но пока мы пытаемся реализовать код и проверяем, будет ли его код работать на каком-либо поддерживаемом нами устройстве. Пока у нас нет окончательного ответа, равно как и в случае со многими другими проектами, по которым нам необходимо разработать документацию, придать им формальный вид, создать инфраструктуру, поскольку все они должны стать частью нашей собственной инфраструктуры, точно входить в нее. Вот так. У нас осталось время на вопросы? Пять минут на вопросы. Есть вопросы? Хорошо, может, на следующей неделе, или, если всё же есть вопросы… хорошо…

    Диего: Спасибо большое. Поаплодируем Денису. Спускайся со сцены, отлично…

    [Музыка]

    Источник: Critical Decentralisation Cluster 36c3 - Introduction to Replicant (dllud, Denis 'GNUtoo' Carikli)

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 Mr. Pickles, 31 май 2020
    Последнее редактирование: 4 июн 2020
  • О нас

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