Как стать автором
Обновить
55
Карма
0.1
Рейтинг
Павел Васильев @LuigiVampa

android developer

  • Подписчики 33
  • Подписки 7

Ростелеком и защита перс. данных

Кажется вынесение проблем в публичное поле скоро станет единственным способом общения с компаниями вроде Ростелекома

Ростелеком и защита перс. данных

Не знаю как сейчас, но раньше Ростелекомы закупали роутеры у китайской Sercomm, точно такие же которые ставит с домашним интернетом Билайн. На них по дефолту у аккаунта администратора логин "SuperUser" и пароль - полный серийный номер устройства, его можно было найти на наклейке с обратной стороны

АНБ США рассказало о будущем постквантовой криптографии

Проблемы появления квантового компьютера обсуждаются ещё с начала 2000-х после демонстрации работы алгоритма Шора, и работы по постквантовой криптографии ведутся примерно с того же времени. С начала 2010-х начали проводиться конкурсы на новые алгоритмы. В 2016 году появился проект open quantum safe, в рамках которого исследовались и тестировались алгоритмы.

Обычно в подобных новостях «кликбейта ради и хайпа для» пытаются на пустом месте напугать читателя. На самом деле квантовые вычисления не всесильны. С их помощью возможно найти приватный ключ RSA, но исключительно потому что задача факторизации в этом случае сводится к специфической и удобной для решения в квантовом компьютере задаче. А многие другие задачи - не сводятся. Так например вычислительную сложность расшифровки симметричных алгоритмов шифрования и хэш функций действительно можно снизить, но не настолько чтобы в конечном счёте можно было расшифровать любой шифротекст, как обычно об этом рассказывают в новостях. Соответственно заменить в будущем необходимо будет только часть современных алгоритмов, но среди них есть и очень важные - алгоритмы генерации и проверки цифровой подписи, которыми сейчас являются RSA и ECDSA, AES/SHA и другие - не пострадают. 

Как я уже упоминал ранее, работы над постквантовыми алгоритмами ведутся уже давно. Эти алгоритмы уже несколько лет есть, только ещё не стандартизованы. Их принцип очень похож, например там тоже производятся вычисления в группе на эллиптических кривых, только новый подход не содержит частей которые удобно решаются на квантовом компьютере. Если завтра появится полноценный компьютер с большим количеством кубит, котоырй сможет решать RSA, то бибилиотеки с криптографией, условный OpenSSL, просто добавят новые шифросьюты с алгоритмами ПКК, а в конфигах Nginx нужно будет изменить одну настройку Обычный пользователь почти не почувствует неудобств, проблема будет решена очень быстро. Хотя, разумеется, эти алгоритмы введут в употребление намного раньше появления квантовых компьютеров и именно этим сейчас занимается АНБ.

Трояны и бэкдоры в кнопочных мобильных телефонах российской розницы

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

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero

Большое спасибо за интересную статью. NFC - очень классный физический интерфейс, который к сожалению не так много где используется. Было бы здорово если бы ему находилось больше интересных прикладных применений. Мне самому наиболее интересно то что относится к его использованию на мобильных устройствах. К сожалению, с NFC есть немало ограничений, особенно в условиях мобилок.

Часть из них - ограничения ОС. На iOS до сих пор нет HCE интерфейса для самостоятельной эмуляции тэгов, т.к. Apple продвигает свой проприетарный протокол эмуляции который поддерживают только производимые ими ридеры, хорошо хоть с iOS 13 завезли передачу произвольных APDU, до этого вообще можно было только NDEF тэги читать, и то далеко не все. На андроиде полноценно можно работать только с полноценными ISO-7816 тэгами, хотя многие вендоры, те же NXP на ряде продуктов специально делают отходящие от стандарта команды, благодаря чему андроид бросает исключения что это "некорректно сформированное APDU" и ничего не передаёт, или наоборот НЕ делают входящие в стандарт вещи, например до mifare plus ev1 не было поддержки команды ISO SELECT, которая по правилам должна быть первым передаваемым сообщением, т.е. их тэг полноценно работает, но сэмулировать его нельзя. Впрочем, нужно отдать им должное - на новых картах соответсвие ISO было окончательно доработано и теперь всё можно реализовать программно. Ещё на HCE в андроиде применяется ряд негласных ограничений, которые кажется даже не указаны в документации, например попробуйте передать CLA-байт отличный от 0х00, и всё упадёт с исключением, хотя тэги некоторых производителей полагаются на изменение CLA, например для передачи бита сигнализирующего о наличии шифрования или HMAC в сообщениях.

Часть из них концептуальные - многие криптографические схемы в простых картах полагаются на симметричные алгоритмы и соответсвенно, владение ключом, которому без использования SecureElement'a на андроиде практически не обеспечить надлежащую безопасность хранения, а использование SE требует системных прав. Это пожалуй главная причина по которой карты лояльности и проездные не переезжают в эмуляцию на смартфоне.

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

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero

О, интересно. Насколько я понимаю в рамках андроида off-host означает что данные от NFC чипа будут напрямую прокидываться в UICC, которым, насколько я понимаю, может быть как SIM-карта, так и SecureElement. Но сам я таким не пользовался. Мне кажется, это довольно экзотичный случай.

Ещё, насколько я понимаю, по похожей схеме у NXP работают аппаратные SAM-модули для современных карт mifare. Чип делегирует им передачу данных от карты, а они занимаются расчётом криптографии необходимой для получения криптограмм в challenge-response схеме аутентификации секторов на чтение/запись. Таким образом данные о ключах спасаются от нахождения в памяти хост-системы к которой подключён кард-ридер

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero

Кстати, если не ошибаюсь, андроид такое уже давненько поддерживает. Это называется off-host-NFC

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero

Плюсую. Вообще вроде как по идеологии NFC ответ должен быть всегда очень быстрым, но при этом современные реалии существенно скорректировали это, т.к. 13.56МГц картам, в чипе которых например крутятся апплеты, считающие тот же RSA, очевидно необходимо большее время для ответа чем LF-карточке передающей только свой ID. Насколько я понимаю, время таймаутов на получение ответа настраивается на уровне драйверов и в общем PC/SC драйвере на винде например по умолчанию составляет 5 секунд.

Я для интереса эмулировал ISO-7816 NDEF тэг на андроиде через HCE сервис. А HCE сервис в андроиде так устроен что сначала система получает ISO SELECT APDU (00 A4 04 ... ), парсит из него значение AID (идентификатора апплета с которым необходимо начать работу), затем по этому AID система смотрит есть ли среди манифестов приложений объявленые HCE-сервисы которые умеют эмулировать апплет с таким ID и если есть, то стартует этот сервис и передаёт ему управление. Это занимает время, плюс на старте сервиса у меня инициализировалось создание объектов, вычитывание данных из песочницы и т.д. что тоже занимает время, и по факту ответ на первую APDU приходил с ооооочень большой для NFC задержкой (очень много миллисекунд), но ничего - ни один ридер не подавился. Так что не исключено, что и relay-атаки вполне осуществимы

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

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

Бэкдоры в наших смартфонах живут уже 20 лет. И это не последние подарки от государства

Режим LTE-only, в котором запрещён fallback на более старые 3G/2G/EDGE присутствует в GrapheneOS. Несмотря на то что звучит это интересно, если я правильно понял, то эта фича встроена именно в сборку системы, и я не уверен насколько хорошо и надёжно это работает под капотом, потому что окончательные решения по использованию протоколов и режимов выбирает прошивка модема, а не андроид, и я не могу быть уверен что со стороны андроида это можно полноценно контролировать.

OrganicMaps — релиз форка Maps.me с открытым кодом

О, это превосходная новость! Пользуюсь maps.me много лет и очень давно ждал этого.

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

К тому же, когда вы форкаете maps.me, то по правилам лицензии, да и исходя из здравого смысла, обязаны отказаться от оригинального бэкенда maps.me и перебросить приложение на свой, а его необходимо поддерживать, так что ребята проделали очень серьёзную работу. Огромный респект!

Развитие механизмов безопасности Android (от версии к версии)

Хорошая обзорная статья. Спасибо

Уязвимости NFC позволяют взломать банкомат, просто взмахнув смартфоном

На мой взгляд название статьи немного вводит в заблуждение.

Стандарт PCI-DSS _обязывает_ производителей банкоматов и другого подобного оборудования разносить все отдельные части общей системы которые могут подвергнуться риску компрометации в отдельные модули. Например код отвечающий за проведение EMV транзакции и взаимодействие с чипом карты (NFC или контактная площадка, не важно) обязан быть вынесен в другое пространство и не выполняться на самом хосте. Это значит что и кардридер, и кассетник для работы с наличными, и ККТ с фискальником, и многие другие части не будут частью основной машины, а будут отдельными устройствами подвешенными на PCI или USB шину. Для работы с картами например в 99% случаев будет использоваться отдельное устройство, причём вся логика работы с картами будет _уже_ зашита в нём и все данные касающиеся этого никогда не будут передаваться между читалкой и хостом. На деле это означает что с компьютера внутри банкомата будут посылаться не команды «отправь карте массив байт 00A40000AABBCCDDEE00» или «прочитай массив байт из буфера куда записался ответ от карты», а «вот сформированный документ, подпиши приватным ключом и верни цифровую подпись». Т.е. позаигрывать с буферами особо не получится. В редких исключениях, в ситуациях когда подобное сильно затруднено, например в кассовых устройствах на базе android, вся эта логика будет крутиться как минимум в отдельном отгороженном со всех сторон процессе, хотя возможно и это уже запретили.

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

Вот заменить какие-то данные в чеке пока он находится в памяти железки общающейся с картой локально её скомпрометировав — не исключаю, такое вполне возможно, особенно зная как многие производители спешат выводить устройства на рынок, не особо оглядывая на безопасность, но для таких случаев также существует сертификация и для чипов карт, и для железок которые с ними работают. Компания производитель обязана предоставить доказательства что после разработки устройства не менее X человекочасов и Y денег было потрачено на исследование безопасности нового устройства.

Не берусь утверждать на 100%, но мне кажется что большинство упомянутых атак — возможны только гипотетически, а пример из видео в статье — вероятно как раз случай когда все звёзды сошлись. Это касса на андроиде, к которым, по крайней мере раньше, в качестве исключения применялись значительные послабления к изоляции компонентов. Т.е. взаимодействие с картой вероятно происходит через системный сервис который крутится прямо на хосте, плюс, по моему опыту, на подобных устройствах почти всегда стоят чипы от mediatek, знаменитые своими уязвимостями и сильно отстающая от актуальной версия андроида. Предполагаю что в этом конкретном случае можно нарушить правильный ход оплаты и модифицировать данные платёжного документа, вызвать DOS на устройстве, или даже воспользоваться какой-нибудь старой известной уязвимостью для локального повышения привилегий, но этот случай точно не показатель

Android окукливается и сообщество потворствует этому

Ох, непростую тему затронули.

У меня есть большая мечта - закрыться от всех в комнате, взять исходники андроида, да впилить в них много всяких разных privacy-ориентированных улучшений, по аналогии с XPrivacy, только работающих без рута и xposed, а сразу из андроид-фреймворка. Добавить реально удобных штук которые для полной безопасности необходимо впиливать на уровне исходников, вроде microG. Ещё впилить в качестве системных приложений удобные инструменты типа afwall, только перепиленные для работы без рута, запись звонков нормальную, блокировку СМС спама по регулярным выражениям, альтернативное системное вебвью от bromite, поддержку закрытия загрузчика там где это возможно и системную службу поднимающую тревогу в случае несанкционированного изменения read-only разделов, как раз для тех самых случаев физического доступа к устройствам с разблокированным загрузчиком, ну и обои нескучные тоже можно.

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

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

Обычно большинство таких проектов держится на энтузиазме ключевых людей из сообщества. Даже очень значимые FOSS проекты, всемирно значимые, собирают очень скромные суммы. Если посмотреть статистику по пожертвованиям подобным проектам, там где это возможно, то просто руки опускаются. Я как-то для интереса посмотрел сколько пожертвований собирает проект FDroid, и там было что-то около 800 евро в месяц. Вроде бы звучит и неплохо, но во-первых, им необходимо одновременно поддерживать сервера с которых качаются приложения, сборку всех приложений на них же, мобильное приложение и системное расширение для автоматической установки пакетов. Людей, которые этим занимаются явно больше одного, и, насколько я знаю, это ребята из Европы. Если пересчитать все траты, то получается они делают это исключительно из личных убеждений, тратя на это своё личное время вне работы. 

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

Я с огромным уважением отошусь к тем кто несмотря ни на что продолжает пилить кастомы и делает это очень хорошо. Как команда LineageOS, которые довольно быстро адаптируются к постоянным неслабым изменениям в выходящих каждый год новых мажорных версиях андроида. Как тот же автор GrapheneOS, изменения которого даже иногда подтягиваются в основной код AOSP - человек феномен, который тащит проект самой безопасной кастомной прошивки буквально сам, один, умудряясь параллельно неплохо зарабатывать на жизнь через bugbounty программы различных компаний. Но его история - исключение, и истории многих FOSS проектов - тоже. Хотелось бы чтобы у людей был интерес заниматься этим без надрыва и превозмогания, чтобы вклад в развитие этих проектов не был жертвой, иначе о какой реальной альтернативе мы сможем говорить?

Безопасность встраиваемых систем Linux

Хорошая статья, спасибо.

Все новинки Android 12. Обзор для разработчиков

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

Почему шифрование DNS не всегда эффективно — обсуждаем экспертные мнения на этот счет

Вероятно в каком-нибудь OpenWrt это тоже можно

Можно. У меня именно так и сделано. На OpenWrt роутере стоит dnsmasq и локальный DoH (https-dns-proxy) с единственным исключением для домена провайдера (иначе в личный кабинет не зайти), остальные запросы доменов отправляются на прокси. Весь остальной трафик на 53 порт также заворачивается через iptables в прокси, на всякий случай.

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

Раньше у меня ещё и ESNI в firefox работал исправно при обращениям к cloudflare, на котором хостится большая часть того что у нас считается запрещённым, и я вообще забыл про то что у нас в стране есть какая-то цензура и блокировки. Потом почему-то ESNI работать перестал, может разработчики из мозиллы его выключили, или поменялось что-то?

Magisk всё? Автор популярного root-решения для Android перешел в Google

Он до этого вообще работал в Apple и разработка magisk шла бодро как никогда. Не думаю что он возьмёт и бросит проект. По поводу magiskhide он ещё давно писал что не видит смысла продолжать развитие этой фичи после того как станет широко распространена аттестация с использованием аппаратного кейстора и переход в Google тут ни при чём.

Впрочем о реальном положении вещей мы можем только догадываться.

Я научился кодить в основном благодаря порно

Карма и рейтинг на хабре без кликбейтных заголовков сами себя не соберут

Что такое VPN, Proxy, Tor? Разбор

В свою очередь, VPN-сервисы зашифровывают весь трафик, поэтому открыть сайты, доступные только в Китае, вы уже не сможете.

Маршруты и правила iptables — «Я что какая-то шутка для тебя?»

Информация

В рейтинге
2,467-й
Зарегистрирован
Активность