Обеспечение базовой анонимности и безопасности в ОС Android ¶
By: XZer0 on 2017-02-04 11 ч.
Обеспечение базовой анонимности и безопасности в ОС Android
Интро.
Многие покупают левые мобильные телефоны для обеспечения анонимности в своих делах, я по роду своей деятельности часто использую анонимные трубки и сим карты для выхода в интернет т.к. пока что это для меня единственный вариант почти полностью анонимного подключения к глобальной сети. (Не считая взломанных беспроводных сетей с соседнего района пойманных на внешний беспроводной адаптер с направленной антенной, но это уже использованные варианты, а новые сети не так часто появляются). Другие же, например селлеры ПАВ или пр. не совсем легальных веществ, предметов и услуг покупают трубки для голосовой и смс связи, не обязательно именно для этого, но факт в том, что голосовой связью и мобильным интернетом пользуемся мы все без исключения. Трубки, б/у или новые, сами по себе не обеспечивают людей должным уровнем анонимности и приватности по дефолту. Каждое приложение сыпет в сеть запросы на свои сервера, одни сервисы гугла за год сливают терабайты телеметрии и прочих данных.
Краткий ликбез.
1. Следует задуматься о анонимности еще на этапе покупки и выбирать трубки для которых уже есть стабильные прошивки с открытым исходным кодом как AOSP и LineageOS минимум 5.1.1 версии андроида (в прошлом знаменитый CyanogenMod) и лучше всего сборки без сервисов Google.
2. Лучше не полениться и прошить трубку еще до того как вы в нее вставили, пусть даже левую, сим карту. Давно уже есть руткиты которые с помощью известных эксплоитов повышения прав вшиваются в код init скрипта и остаются в системе навечно. Т.е. Хард ресет уже не спасет от них. Вам же будет очень не приятно вы будите просто в ярости срать кирпичами от того что у вас украли честно спизженное если сим карту скомпрометируют, особенно особенно когда к ней привязаны платежные системы карта дропа и т.д.
3. Не следует в надежде на халявную смену IMEI использовать телефоны на чипах MTK и AllWinner, они действительно передают оператору указанный вами IMEI, но есть масса других параметров и характеристик которые телефон передает на соту и конкретный телефон даже если он 1000 раз менял IMEI при должном желании отследить возможно.
4. Думаю еще нужно упомянуть о том, что лучше выбирать очень популярные, массовые модели телефонов. Не следует брать vertu в надежде на анонимность)
Базовая настройка
Думаю, что если человек занимается каким либо теневым бизнесом или же серыми делами, то он в состоянии сам прошить свой девайс следуя подробным инструкциям которых на 4pda огромное множество, посему на этом заострять свое внимание не буду. Но хочу сказать что ядро лучше выбирать без поддержки usb-otg даже если оно поддерживается самим устройством.
1. Иногда ситуация складывается так что вам срочно необходимо получить доступ по ssh к своему серверу, зайти в админку сайта, заключить важную сделку в даркнете или же просто совершить перевод Bitcoin либо начать в анонимную периписку. Для того что бы все это обезопасить от ФСБ и мирового правительства злоумышленников, нужно первым делом после приобретения и прошивки левого девайса зашифровать устройство, тут все просто: заходим в настройки и шифруем. Нужно сказать только о том что цифровой пин меньше 6 символов и графический ключ не самые надежные решения, лучше пользоваться паролем, это хоть и не удобно но вполне надежно. Еще хочу отметить, что с шифрованием данных справляются лучше всего модели на процессорах Intel которые поддерживают AES-NI, да и те которые не поддерживают расширения команд AES тоже примерно так же справляются. (в разы лучше чем любые ARM камни) На этих процессорах как и на камнях от Nvidia шифрование практически не влияет на энергопотребление и скорость работы.
2. Так же первым делом нам нужно предотвратить любой возможный слив информации по сети и дополнительно себя обезопасить от всевозможной малвари которая может установиться вами или кем либо и не обязательно намеренно (фишинг и человеческий фактор никто не отменял). Для реализации этого мы воспользуемся, внезапно, фаерволом. Так как в большинстве прошивок уже вшит busybox то iptables у вас уже есть. Лучше использовать Android Firewall он хоть и давно не обновляется, но надежно работает или AFWall+ он новее но принцип работы у них одинаковый. После того как мы установили фаервол следует его настроить. Кстати AFWall+ предотвращает утечку данных еще на этапе загрузки (увы только платная версия) но ядро должно поддерживать init.d и su.d. Я же обеспечиваю это вручную правкой скрипта.
Для настройки сетевого экрана применяем режим белый список (т.е.только приложения из этого списка могут выходить в сеть, а все остальные хуй. И даже если так случится что мы случайно скачаем и установим какой либо вредоносный софт он все равно не сможет ничего украсть (биткоины к примеру) или скомпрометировать нас. Исключением является та малварь которая занимается отсылкой смс на платные номера и номера мобильного банка. Но защищенный режим о котором я расскажу ниже обезопасит и от этого.
В белом списке мы отметим только те приложения которые должны выходить в сеть.
Должно получиться примерно так.
Эти пункты лучше не отмечать, незачем нам что бы в сеть выходили любые приложения, ядро linux и прочие из ядра системы. Мало ли что в них спрятано.
3. После проделанных действий по настройке фаервола нам нужно удалить кастомное рековери. Тупо его удалить не получится, так что придется его перезаписать дефолтным. Это необходимо для того что бы никто не смог прошить модернизированное ядро или создать дамп зашифрованного раздела для его последующего криптоанализа. Это не обезопасит нас от выпайки флешь памяти и изучения ее содержимого через программатор но усложнит задачу злонамеренным лицам.
4. Так же для обеспечения дополнительной безопасности необходимо отключить отладку по USB в разделе настроек "для разработчиков". И возможность подключения телефона как флешь карту или MPT устройство в разделе настроек "память".
5. Следующим шагом необходимо обезопасить себя, передаваемые вами данные и вашего собеседника от фейковых сот которые могут использовать спец. службы и энтузиасты для просушки разговоров и перехвата трафика. Для этого мы установим программу SnoopSnitch или GSM Spy Finder если у вас чипсет отличный от Qualcomm. Эти приложения своевременно предупредят нас о появлении неизвестных ранее вышек сотовой связи и потенциальной угрозе прослушки.
6. Для совсем параноидальных личностей как например я рекомендую удалить поддержку GPS или ГЛОНАСС, для этого необходимо будет перекомпилировать ядро и убрать поддержку GPS в конфигурационном файле. Если же у вас нет возможности или времени перекомпилировать ядро, то можно просто удалить соответствующие вашему набору микросхем либы и модули ядра, информацию по вопросу что именно удалять, можно найти в комментариях git репозитория или в документак к исходным текстам вашего ядра.
7. Следует настроить защищенный режим, это вообще должно быть первым пунктом, сразу после включения прошитого телефона, но вспомнил о нем я в последнюю очередь.(((
Я иду по пути наибольшей безопасности и включаю его даже для системных приложений.
Это обеспечит некий режим обучения, вы сами во время использования устройства выберите каким приложениям разрешать доступ и к каким видам ваших данных (контакты, смс, учетные записи и т.д.)
8. Для того что бы обеспечить анонимный выход в интернет нам необходимо установить приложение Orbot и настроить его для проксификации всех приложений (требуется root доступ) через тор. Я рекоммендую создать 2 профиля правил фаервола. 1. Где заблокирован выход любым приложениям и 2 где разрешен выход в сеть только доверенным приложениям. На 1е правило переключаться когда Orbot отключен и нет необходимости выхода в интернет, а 2 активировать когда Orbot работает в режиме проксификации всего трафика.
9. Самым последним делом проверим наш телефон на распространенные уязвимости приложениями Stagefright Detector и Bluebox Security Scanner. Если эти приложения выявили какие либо уязвимости то следует предостеречь себя от использования определенного контента или функций устройства в зависимости от описания уязвимости пока не дождетесь оф. сборки обновленной версии андроид для вашего устройства.
Итог
В качестве итога пожалуй надо сказать, что хоть выше и были приняты меры по обеспечению анонимности и безопасности, полностью уповать на них все равно не стоит и есть вероятность что в какой либо сервис, ядро или исполняемый файл окружения встроен бэкдор, возможно оно прописано в код ядра тем кто выложил исходники, а может быть вы просто станете жертвой уязвимости ПО и малвари. Но это уже крайняя степень паранойи. Так же всегда следует использовать свежие версии прошивок и пользоваться телефонами для которых код поддерживается в актуальном состоянии. И я все же надеюсь, что опытный и внимательный пользователь при подобном подходе сможет использовать смартфон для ведения серых дел наравне с ноутбуком и ПК.
P.S.: Хочу подчеркнуть что описывается именно базовая анонимизация и обеспечение безопасности, есть и более радикальные способы, но они требуют более подробного описания модификация ядра и окружения и будут применимы только к определенным наборам микросхем.
Jabber:[email protected]
Jabber:[email protected]
PUBLIC GPG KEY