paradiSEcurity – Telegram
paradiSEcurity
2.07K subscribers
72 photos
6 videos
1 file
143 links
Проблемы разработки, безопасности и жизни
Cтикеры – https://news.1rj.ru/str/addstickers/hackerwomanParadisecurity
Есть вопросы, пиши @mother_paradisecurity_bot
Download Telegram
Как оценить приложение

Тут ко мне знакомые опять пришли, говорят, хотели сделать мобильное приложение (android/ios) и им контора из интернета насчитала миллион. Составляющие приложения: новостная лента, запись к специалисту и пуши. Ну то есть звучит не слишком сложно.

Откуда же тут миллион? 🤷‍♀️ Давайте разберемся.

Оценка приложения, вообще, довольно субъективное дело и существенно зависит от того, кто конкретно будет его разрабатывать: компания, фрилансер, стартаперы и тд. Но чаще всего в качестве оценки всегда выступает время, которое будет потрачено на разработку.

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

Сложность приложения существенно влияет на его оценку

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

Простые приложения

Простое приложение имеет небольшое количеств экранов, обычно от 1 до 3, может потребоваться интеграция API для получения данных с серверов. Такое приложение может разработать один разработчик или небольшая команда примерно от 1 дня до 3 месяцев. Обычно 1 день приравнивают к 8 рабочим часам, так что самая минимальная стоимость простого приложения – это 8 часов времени разработчика.

Общее кол-во часов * Почасовая ставка = Стоимость разработки

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

Условно, если за большие деньги вы будете предоставлять посредственный сервис – к вам не вернутся и вас не посоветуют, а могут и очень сильно разозлиться. Вам это ни к чему.

💸 8 х $10 = $80 – одностраничное приложение с webView;

💸 8 х $30 = $240 – нативных экран с простым дизайном и интеграцией API (списки, фильтры и тд);

💸 8 х $80 = $640 – сложный экран с индивидуальным дизайном и интеграцией API (например, чат, где сразу несколько функций, но экран один)

Сложные приложения

Тут уже больше экранов, может быть 8 или 10. Для каждой страницы требуется интеграция API. Несколько экранов имеют более сложный дизайн, может быть работа с геолокаций, платежами и тд.

Корпоративные приложения

Обычно более 10 экранов, есть сложные функции и повышенные требования к безопасности, что ведет к множественным вызовам API, интеграция дополнительных фреймворков. Придется плотно коммуницировать с дизайнерами и аналитиками.

Тут можете посмотреть пример оценки приложения телеграм

Я бы посоветовала, прежде чем приступать к оценке приложения, получить о нем максимальную информацию, утвердить документацию и сроки (а они могут быть сжатыми). И всегда помнить, что работа сверх 8 часов в день стоить дороже, тк это ваше личное время, которое вы должны тратить на себя, на свою семью и на отдых.

Теперь вы знаете, как самостоятельно оценить свое приложение и вас никто не обманет 😉
Все любят SSL-пиннинг. Или нет?

Наверно, каждый Android-разработчик знает, что такое SSL-пиннинг. Но для новеньких, я все таки сделаю небольшую сноску:

По-умолчанию, устанавливая SSL соединение по протоколу HTTPS, клиент проверяет сертификат сервера по двум пунктам:

⚡️ Что цепочку SSL сертификата можно проследить от Вашего личного SSL сертификата через промежуточные и до корневого сертификата доверенного центра сертификации

⚡️ Что Ваш SSL сертификат соответствует запрошенному имени хоста

Лично я сталкивалась с этой задачей о-очень часто, тк работаю в специфической сфере и поддерживаю безопасность мобильных приложений. Данный вид защиты необходим для того чтобы бороться с распространенным видом атаки на ваше приложение, которая называется MITM (Man in the middle), она направлена на «прослушку» или изменение трафика между двумя узлами (клиентом и сервером). Другими словами, когда клиент подключается к серверу, он на самом деле имеет дело с хакером, и наоборот.

Способы реализации SSL-пиннинга в Android

Реализовать SSL-пиннинг в Android можно несколькими способами, я видела сразу комбинации из них, но, на мой взгляд, перегружать свой код этим не стоит, тк в таком случае вы рискуете допустить глупую ошибку, которая может залочить ваше приложение. В целом, все эти варианты подробно описаны на Android Developers.

🔥 С помощью TrustManager

🔥 Network Security Configuration

🔥 OkHttp и CertificatePinner

🔥 Pinning c Retrofit (Настроить так же просто, как и OkHttpClient, тк Retrofit – это фактически надстройка поверх OkHttp)

Все это, конечно, замечательно, но не стоит забывать и о минусах

Например, допустимость внесения изменений снижается. После внедрения SSL-сертификата в код приложения, изменить его уже не так просто. Каждый раз изменяя SSL-сертификат, вам нужно будет выпускать обновление приложения, запускать его на Google Play и молиться, что пользователи его установят. Собственно, поэтому многие отказываются от этого вида защиты. Так что изначально учитывайте специфику вашего приложения и процессов разработки. Выход из этой ситуации – заказать SSL-сертификат на максимальный срок действия в три года, тогда вам не придется делать это слишком часто.
Я пересмотрела все серии Рика и Морти, We Bare Bears, ОВЫ Самурая Кеншина, Акиру и осталась без вариантов, что смотреть дальше 😫

Буду благодарна, если накидаете хороших вариантов в @mother_paradisecurity_bot
Подписчики прислали в личку статьи с пестрыми заголовками, типа: *Смартфоны на Android 7.1.1 и старше не смогут открывать сайты уже в 2021 году*.

Такая информация появилась буквально день назад и связана с тем, что сертификационный центр Let’s Encrypt, занимающийся выдачей сертификатов криптографии для TLS-шифрования, объявил о переходе на создание подписей с использованием только собственного корневого сертификата.

Это приведет к тому, что каждый третий работающий на Android смартфон, не сможет открыть большинство интернет-ресурсов. Проблема вызвана тем, корневой сертификат Let's Encrypt может быть распознан системой не младше Android 7.1.1.

По статистике, доля устройств с такой ОС составляет не более 66,2% от общего числа. Так что остальные 33,8% владельцев устройств столкнутся с тем, что попытка открыть большинство интернет-порталов будет вызывать ошибку.

Звучит как та еще страшилка, верно? Прям хочется начать брызгать слюной и махать руками 🤯🤯🤯

На самом деле, нужно просто расслабиться и получать удовольствие. Во-первых, если вам так не хочется обновлять свой Android, то просто начнете использовать в качестве браузера Firefox, тк он пока что единственный браузер, который полагается на свой собственный список корневых сертификатов.

А если вас это не устраивает – просто обновите, наконец, устройство! Что нужно еще такого придумать, чтобы мне, наконец, не приходилось поддерживать Android 4.4 на проде?? 🤦‍♀️
Что может быть лучше, чем хорошая конференция в этот пасмурный грустный ноябрь? 💦🍁

В этом году я уже выступала на Mobius. На новый, осенний сезон, я уже присоединилась к Программному Комитету и теперь знаю, как скрупулезно готовятся доклады! Поверьте, такое пропускать нельзя 😉

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

Кстати, там будет очень много клевых ребят, многих из которых я знаю лично как офигенных разработчиков, у которых точно стоит поучиться!

В этом сезоне будут:

❗️Кирилл Розов, автор канала Android Broadcast, с которым мы частенько залипаем на тему того, как лучше вести каналы про разработку

❗️Артур Василов, с которым я когда-то вообще училась в универе, а ныне разработчик в Яндексе

❗️Евгений Мацюк, мой коллега, действующий GDE

❗️Алексей Набережный, его то вы наверно точно знаете, он у меня частенько публикуется

❗️Михаил Емельянов, он как раз курировал мой доклад в прошлом сезоне

Кстати, вот промокод от меня: paradiSEcurity2020JRG
Теперь вас и двухфакторка не спасет. Если честно, ситуация очень неприятная. Увели крупный канал Reddit с помощью троянца, замаскированного под видеоредактор Filmora.
Ну что, кто смотрит Mobius?
​​Россия для грустных, Android – для очень грустных 💦💦💦

Да, большая часть вирусов распространяется именно через Google Play. Как же так происходит?

На самом деле большинство людей заблуждаются, что если приложение установлено напрямую из Google Play или AppStore, то оно проверенное и не может быть вирусом. К сожалению, это не так.

Могу только сказать, что за последние пять лет Google Play очень сильно эволюционировал в плане анализа и отбора приложений. Более того, его защита будет более мощной даже чем у AppStore. Например, вывести приложение в топ в AppStore с помощью накрученных инсталлов, лайков и комментариев все еще можно (если осторожно), а вот чтобы провернуть такой фокус с Google Play – вам придется сильно постараться и вы рискуете в этом случае не только самим приложением, но и своей личной учеткой, а также всеми связанными с ней учетками.

Но этого все еще не достаточно. Android уже долгое время остается самой популярной мобильной системой и желающих поживиться на этом – превеликое множество.

Вот интересный отчет, который подробно раскрывает тему, откуда на вашем девайсе могут появиться вредоносы.
На фоне новостей по крипте захотелось обзорно вам про нее рассказать 🤖

Вы заметили, что криптовалюта опять растет? Сейчас она на пике и активно развивается. А знаете почему?

DeFi.

Над первыми фрагментами кода работали разработчики со всего мира и в декабре 2017 года был опубликован первый большой DeFi-проект, MakerDAO. Теперь же стейблкоины заполонили почти весь крипто мир, очень удобно, когда мы не привязываемся токену (ETH, BTC) с непонятной волатильностью, а обмениваемся родным “стабильным” долларом.

Приведу простой пример. Вася делает уборку в твоем доме, но платить за работу в BTC никто не хочет, потому что через час валюта может либо упасть, либо снова вырасти. Сейчас же появились многочисленные стейблкоины, которые привязаны к доллару. Когда Вася закончит работу, ты ему заплатишь 10 монет, которые будут эквивалентны 10$ в криптовалюте.

Но что значит это для всего сообщества? Произошел в прямом смысле БУМ. Теперь $ ворвался к разработчикам смартконтрактов, появляются новые инструменты. От пула ликвидности (аналог exchange-валют в банке, только при этом комиссию платят не банку, а людям, которые вложили токены) до полноценных страховых крипто-компаний.

В эфире теперь контракты выглядят не просто как шаблонные ICO, а как полноценный банковский код, который решает, как лучше держать твои финансы и в какой токен их лучше конвертировать через децентрализованные биржи.

Есть и минусы. Тут опять есть «Черный четверг» — аналог хакерской атаки на The DAO, где крипто контракт показал свои слабые места. Технология молодая, стейблкоин может превратиться в тыкву, которую нельзя будет обменять в фиат.

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

У блокчейна если два пути развития. Либо вперед к светлому и свободному будущему, либо “минфин предложил лишать свободы за недекларирование криптовалют”.
This media is not supported in your browser
VIEW IN TELEGRAM
Это уже стадия принятия? 🤣
Стоило мне написать про крипту и ее ломанули этой ночью. Увели $2 млн и атака все еще продолжается.
This media is not supported in your browser
VIEW IN TELEGRAM
Архитектура и Junior-разработчик))) Ну, он хотя бы нашел выход, все мы такими были 😂
Как же это охеренно! Твиттер – американская компания, Трамп – пока еще президент Америки. И они просто пишут под его постами, что информация, которую он публикует – сомнительного характера, а еще и сноски делают с доказательствами этого.
This media is not supported in your browser
VIEW IN TELEGRAM
Забавная штука 😂
Горячие пирожкиии!!! Apple снизили комиссию для разработчиков в App Store с 30% до 15% с 1 января 2021 года.

Их довели своими антимонопольными исками (это только за 2020 год):

⚡️ Epic Games
⚡️ Match Group (владеет Tinder)
⚡️ Telegram
⚡️ Spotify
⚡️ Rakuten
⚡️ Лаборатория Касперского
⚡️ и тд.

Правда фича с 15% комиссии будет доступна только для приложений с выручкой <$1 млн в год. Очень похоже на налог на богатство. Собственно, программу так и назвали – “программой для малого бизнеса”.

К чему это приведет:

💦 Разработчики начнут зарабатывать на 15% больше, поэтому смело смогут покупать себе феррари минуя лизинг

💦 Пользователи станут платить меньше за приложения, потому что для привлечения еще большего количества пользователей, разработчикам теперь есть куда снижать цены

💦 Не произойдет ни того ни другого, потому что все мы работаем по найму и цены устанавливает бизнес, а не мы
А вообще, я тут узнала, что приложения с заработком в AppStore меньше $1 млн 98%. Однако эти 98% занимают всего 5% от выручки Apple. Так что выходит, что Apple опять всем утерли нос. Такие дела.
Уровни модели безопасности Android/iOS

Я более чем уверена, что большинство мобильных разработчиков вообще не знает термин “модель безопасности”. Во-первых, им и не надо, 99% из всех не нуждаются в этом знании, однако оставшийся 1% мы часто видимо в СМИ. Ну, видимо для этого 1% я и пишу данный пост :0

В мобильных приложениях модель безопасности основана на трех китах:

1. Операционка
2. Приложение
3. Пользователь

Если описать их взаимодействие вкратце, то будет что-то вроде: “чтобы действие было успешно выполнено все три стороны должны быть с ним согласны”.

1. Безопасность операционной системы

Я знала пентестера, который вместо того чтобы взламывать конкретные приложения, иcкал уязвимости в самой среде, кек.

Ядро – это бог и дьявол во плоти, оно решает что и когда начинает работать, когда и куда нужно отправлять данные, как происходит взаимодействие между различными модулями – от его взора не скрыться ничему. Однако, как сказал Дядя Бен: “с большой силой приходит большая ответственность”.

Безопасность операционной системы определяется общую безопасность всей системы.

В свою очередь безопасность операционной системы держится на своих трех китах:

⚡️ Изоляция процесса
⚡️ Модель разрешений, контролируемых пользователем
⚡️ Межпроцессорное взаимодействие

Как-нибудь расскажу о том, как мобильные ОС обеспечивают свою безопасность более подробно.

2. Безопасность приложений

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

Я писала об обеспечении безопасности приложений выше вот в этом посте.

3. Конечный пользователь

А пользователь вообще не думает что там происходит внутри приложения, а уж тем более операционной системы, он просто тыкает в экран и ждет, что все будет работать и, конечно же, безопасно 🌈

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

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

Многие ругают банковские приложения, что они хотят получать доступ ко всему и всегда, залезть в самые потаенные уголки наших устройств. Но винить их в этом точно не стоит, в одном только Сбербанке с начала 2020 года зафиксировали 2.9 миллиона обращений клиентов о попытках обмана и взлома. А сколько денег удалось таким способом увести – вообще лучше не думать. И это только один банк и одна схема. Есть тысячи других банков и приложений, данные которых оказываются в опасности из-за действий самих пользователей.

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