Не так часто тут бывают ретроспективы, но в этот раз я почему-то решил ее провести. Есть о чем рассказать и чем поделиться. Обещаю, что этот пост не будет повествованием о моих дивных творческих планах, о прекрасных днях проведенного года и всем таком прочем, что совершенно бесполезно для случайного читателя. Попробую нанести только непоправимую пользу, рассказать об интересных находках в этом году и поразмышлять о вероятном будущем мобильной индустрии.
Отлучаем сервисы от 443-го порта
Все любят 443-й порт. А некоторые еще и 80-й. Короче таких любителей много, а порт один и повесить все сервисы на один порт невозможно. Ну вообще возможно все. Если захотеть. И использовать правильные инструменты.
Есть у меня Raspberry Pi на котором крутились разные сервисы и до поры не мешали друг-другу. 80-й и 443-й порты занимал zwift-offline. Я понимаю по какой причине они захардкодили эти порты, но не понимаю почему они не оставили возможности их изменения для работы через прокси. Но мы это починим и довольно скоро. Так вот, жил у меня весь этот зоопарк пока не появилась необходимость поднять еще один подобный сервис, который тоже хочет 443-й порт, да еще и со своим сертификатом. Ну в общем требования такие же как у zwift-offline
. Осталось придумать как все это засунуть в бедную Raspberry Pi и заставить работать.
Аутентификация по короткому коду с поддержкой биометрии. Почти RFC
Году эдак в 2021-м, мне по служебной необходимости понадобилось переосмыслить подход к аутентификации по пин-коду и сделать эту процедуру максимально безопасной настолько, насколько это вообще возможно для мобильных устройств. Получилось нечто вроде RFC. Я уже упоминал этот документ в видео “Как взломать PIN-код | Теория, практика и векторы атаки”, но тогда его публиковать было нельзя. Теперь можно.
Приятного чтения!
Сломалась кнопка на наушниках zKissfashion
Попались мне на ремонт максимально китайские наушники “zKissfashion Наушники беспроводные с микрофоном zKissfashion BE1201, Bluetooth, зеленый”, цена которым 500 рублей. Сломалась кнопка уменьшения громкости. Резонный вопрос: зачем их вообще чинить за такую цену? Не проще ли выкинуть и купить новые? Наверное. Но я решил, что смогу их починить просто потому что я могу. А заодно расскажу вам как они разбираются и покажу как там все устроено внутри (листингов из дизассемблера не будет, я обещаю).
[Далее]Android Jetpack Navigation: Go Even Deeper
Предыдущее исследование
Некоторое время назад мой коллега нашел интересную уязвимость в библиотеке Jetpack Navigation, которая позволяет открывать любой экран приложения в обход существующих ограничений для компонентов не являющихся экспортированными, а следовательно недоступными для других приложений. Суть проблемы в наличии неявного механизма обработки depplink-ов, с которым может взаимодействовать любое приложение на устройстве. Это исследование завершилось тем, что компания Google добавила в документацию к библиотеке следующее предупреждение:
Проблема этого предупреждения в том, что оно, исходя из контекста документации, касается только API для создания явных deeplink-ов. Хотя на самом деле проблема гораздо глубже. Но давайте обо всем по порядку.
[Далее]Три случайных уязвимости
В рамках стажировки PT Start от компании Positive Technologies поучаствовал в роли спикера на интенсиве по безопасности мобильных приложений. Всего, что там происходило в паблик не раскрою, но разбор трех уязвимостей, про которые рассказывал студентам, покажу. Две из них нашел я сам, а третья просто показалась мне очень интересной по ряду причин, которые станут понятны далее.
CVE-2023-40121
В одном из бюллетеней безопасности ребята из Google рассказали про исправление интересной уязвимости в коде, отвечающем за работу с SQLite. Сам фикс довольно простой, да и сама уязвимость не то чтобы сильно страшная, но вот причины ее возникновения затрагивают очень глубокие и темные слои технологий кодирования информации. Поэтому давайте разберемся что же там под капотом и научимся эксплуатировать подобные уязвимости за границами android.
[Далее]Святая корова SSL Pinning-а
Еще раз про MITM в Android
Долгое время я советовал всем разработчикам включать SSL Pinning в своих приложениях, чтобы защитить пользователей от MITM атак. И многие до сих пор делают это по инерции, даже не задумываясь о том так ли это необходимо, и от чего это вообще защищает. Пришло время разобраться и расставить все точки в вопросе про необходимость реализации этого подхода в ваших приложениях.
– Стой и не шевелись! Я тебя породил, я тебя и убью!
Как вкатиться в безопасность android приложений в 2024
С завидным постоянством получаю подобные вопросы лично или вижу их в нашем уютном чате Android Guards. Поэтому решил систематизировать информацию чтобы упростить процедуру входа как для тех, кто только начинает свой путь в инфобезе, так и для тех, кто уже что-то умеет в соседних областях.
OWASP Mobile Top Ten 2023
Как-то тихо и незаметно для меня релизнулась новая редакция OWASP для мобилок. После ознакомления с новой редакцией появилось несколько мыслей, которыми хотел поделиться. Ну и в целом попытался простыми словами передать суть пунктов чтобы инфобез-неофитам и разработчикам было проще понять суть происходящего.
[Далее]