Check android app security

Безопасность в мобильных приложениях

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

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

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

Базовые методики защиты

Они не защитят от продвинутых ребят, но прикручиваются быстро и выбрасывают всех script-kiddie которые просто скачали утилиты из интернета и не особо понимают что делают.

В природе есть много разных методик обнаружения рута. Одним из самых простых является проверка подписи прошивки или попытка достучаться до суперпользователя:

Также очень популярным методом получения рута является Magisk. Обнаружение само по себе является той еще игрой в кошки мышки: находят один способ, потом разработчики его патчат, находят другой, его патчат и так далее. Самой свежей методикой обнаружения является использование изолированного процесса.

Emulator

Для обнаружения запуска на эмуляторе можно проверять разные поля из класса Build. Большинство возвращаемых данных постоянны и одинаковы для подавляющего большинства эмуляторов:

Также практически не меняется эмулируемая среда: сеть, данные с датчиков и так далее.

Xposed

Один из самых популярных инструментов для изучения приложений. Принцип работы достаточно простой: хукается основной процесс Zygote, что позволяет перехватить вызов любой функции и прочитать/подменить ответ. Есть много методик обнаружения такой атаки, например проверка stackTrace:

Проверка имени установщика приложения

Имя можно получить через

Если вернуло null, то в 99% случаев это означает что приложение установлено вручную и скорее всего взломано. Имена основных сторов:

Продвинутые методики защиты

Эти методики не спасут от профессионального специалиста по реверс-инжинирингу. От такого вообще ничего не защитит, поэтому лучше не держать на клиентских приложениях ничего сверх того что необходимо для работоспособности этого приложения. Зато они доставят достаточно много проблем, чтобы злоумышленники еще раз задумались, а надо ли это им.

Проверки на клонирование/пересборку приложения:

Можно проверить путь установки приложения, в большинстве случаев при клонировании приложение устанавливается по нестандартному пути:

и/или проверить подпись

Safety net

basicIntegrity — базовые проверки надежности устройства;

ctsProfileMatch — Более строгая проверка, прохождение которой означает что профиль устройства соответствует сертифицированному Google

SSL pinning

Эта проверка означает что мы не доверяем базовым сертификатам устройства, а доверяем только тому сертификату который нам известен. В случае okHttp3(стандарт сетевой библиотеки в большинстве приложений) проверка включается так:

Обфускация

Стандартным подходом в индустрии является Proguard. Для дополнительной защиты можно использовать собственный словарь с символами иностранного языка(китайский и арабский особенно хороши). Также существует проблема, при которой строковые литералы не обфусцируются. Решается платным обфускатором DexGuard, также на GitHub есть библиотеки не настолько качественные, зато бесплатные, например paranoid.

Шифрование

Шифрование всех важных данных — очень хорошее препятствие для обратного инжиниринга. Отличным вариантом алгоритма шифрации будет AES-256

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

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

Если вас заинтересовала тема безопасности в мобильных приложениях, то есть прекрасное руководство от OWASP с которого можно начать своё путешествие в кроличью нору.

Источник

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

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

Согласно последним исследованиям NowSecure более чем в 25% мобильных приложений есть хотя бы одна критически опасная уязвимость.

В 59% финансовых приложений для Android есть три уязвимости из списка OWASP Топ-10.

Чем больше используют мобильные телефоны, тем больше появляется мобильных приложений. В магазине приложений Apple App Store доступно более 2 миллионов приложений, а в Google Play Store — более 2,2 миллионов.

Существует множество видов уязвимости, к наиболее критичным из них относятся:

  • утечка личной или конфиденциальной информации пользователей в сети (email, учетные данные, IMEI, GPS, MAC-адрес);
  • обмен информации в сети без шифрования или с недостаточным шифрованием;
  • файл доступен для чтения или записи любым лицом;
  • выполнение произвольного кода;
  • вредоносные программы.

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

В статье используются следующие сокращения:

  • APK – формат архивных файлов-приложений для Android (англ. Android Package Kit);
  • IPA – формат архивных файлов-приложений для iPhone (англ. iPhone application archive);
  • IMEI – международный идентификатор мобильного оборудования (англ. International mobile equipment identity);
  • GPS – система глобального позиционирования (англ. Global positioning system);
  • MAC – управление доступом к среде (англ. Media access control);
  • API – интерфейс программирования приложений (англ. Application Programming Interface);
  • OWASP – открытый проект обеспечения безопасности веб-приложений (англ. Open web application security project).
Читайте также:  Тест тв боксов андроид

Инструменты для поиска уязвимости приложений Android или iOS:

1. Ostorlab

Ostorlab позволят проверить приложение на Android или iOS и получить подробный отчет о результатах проверки. Загрузите файл вашего приложения в формате APK или IPA и спустя несколько минут отчет о безопасности будет готов.

Максимальный размер файла для загрузки на проверку 60 Mb. Тем не менее, если размер вашего приложения превышает 60Mb, то можно связаться со специалистами Ostorlab, чтобы разместить файл через запрос API.

В основе лежат такие программы с открытым исходным кодом как Androguard и Radare2. Советую бесплатно проверить ваше мобильное приложение при помощи Ostorlab.

2. Appvigil

Найдите все пробелы в системе безопасности вашего мобильного приложения с помощью Appvigil и получите подробный отчет об уязвимости за считанные минуты.

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

После того, как вы загрузите файлы APK или IPA производится статический и динамический анализ приложения (Android/iOS), в том числе и на наличие уязвимости из списка OWASP Топ-10.

3. Quixxi

Quixxi предназначен для получения мобильной аналитики, защиты мобильных приложений и восстановления потенциальных доходов. Если вам нужно просто проверить приложение на наличие уязвимости, то загрузите файл приложения Android или iOS сюда.

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

4. AndroTotal

Как можно догадаться по названию, AndroTotal пригоден только для работы с приложениями на Android. AndroTotal проверяет файл APK на наличие вирусов и вредоносного кода, сверяя результаты следующих антивирусных программ:

  • McAfee;
  • TrustGo;
  • ESET;
  • Comodo;
  • AVG;
  • Avira;
  • Bitdefender;
  • Qihoo.

Если вам нужно быстро проверить APK-файлы на наличие вирусов, то AndroTotal является хорошим решением.

5. Akana

Akana — это интерактивный инструмент для анализа приложений для Android. Akana проверяет приложение на наличие вредоносного кода и отображает сведения о результатах.

Проверка бесплатная, так что попробуйте и посмотрите, нет ли в вашем Android приложении вредоносного кода.

6. NVISO

Nviso APKSCAN — это еще один удобный сетевой инструмент для проверки приложения на наличие вредоносного кода. Результаты могут быть готовы не сразу, это зависит от вашего места в очереди. Можете оставить свою электронную почту и получить уведомление, когда отчет будет готов.

Я проверил макет своего приложения с помощью Nviso и увидел, что проверяется следующее:

  • активность диска;
  • поиск вирусов;
  • сетевой трафик;
  • возможность совершения телефонного звонка, отправки SMS;
  • криптографическая активность;
  • утечка данных.

7. SandDroid

SandDroid проводит статический и динамический анализ и формирует полный отчет. Можно загрузить файл APK или zip-файл размером не более 50 Mb.

SandDroid разработан исследовательской группой Botnet и Сианьского транспортного университета. Проверяется следующее:

  • размер/хеш файла, версия SDK;
  • сетевые данные, компоненты, закодированные свойства, уязвимый API, анализ IP;
  • утечки данных, SMS, отслеживание телефонных звонков;
  • поведение, представляющее угрозу, и вероятность угрозы.

Запросите отчет и оцените безопасность вашего приложения.

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

Если у вас свой сайт, то возможно вас заинтересует возможность автоматической проверки сайта на наличие уязвимостей.

Надеюсь, что Вам также будет интересна возможность поиска виртуальных серверов и виртуального хостинга на Хостинг Кафе.

Источник

Android security checkup: 16 steps to a safer phone

Android security doesn’t have to be a source of stress. These level-headed steps are all you need to keep the boogeyman at bay.

Android security is always a hot topic on these here Nets of Inter — and almost always for the wrong reason.

As we’ve discussed ad nauseam over the years, most of the missives you read about this-or-that super-scary malware/virus/brain-eating-boogie-monster are overly sensationalized accounts tied to theoretical threats with practically zero chance of actually affecting you in the real world. If you look closely, in fact, you’ll start to notice that the vast majority of those stories stem from companies that — gasp! — make their money selling malware protection programs for Android phones. (Pure coincidence, right?)

The reality is that Google has some pretty advanced methods of protection in place for Android, and as long as you take advantage of those and use a little common sense, you’ll almost certainly be fine (yes, even when the Play Store guards slip up and let the occasional bad app into the gates). The biggest threat you should be thinking about is your own security surrounding your devices and accounts — and all it takes is 20 minutes a year to make sure your setup is sound.

Take the time now to go through this checkup, and set a reminder to revisit this page in another 12 months. Then rest easy the rest of the year knowing you’re in good shape — and that the mean ol’ Android malware monster won’t be bangin’ down your virtual door anytime soon.

Part I: App intelligence

Step 1: Look over all the apps and services connected to your account

You’ve probably granted countless apps access to parts of your Google account over time — which is no big deal in general, but with any apps you’re no longer using, it’s a smart idea to close the connections.

[Get fresh tips and insight in your inbox every Friday with JR’s Android Intelligence newsletter. Exclusive extras await!]

Visit this page in Google’s security settings to see a list of everything that’s authorized and what exactly it can access. If you see anything you don’t recognize or that you no longer use, click it and then click the blue «Remove Access» button to give it the boot.

Step 2: Revisit your Android app permissions

It’s all too easy to grant an app access to some sort of information without giving it much thought during that initial setup process (hi, Facebook!). That’s why it’s well worth checking in periodically to remind yourself what permissions the apps on your phone possess — and to see if any of them go beyond what seems reasonable or necessary.

Open up the Apps & Notifications section of your system settings, tap «Advanced,» then tap either «App permissions» or «Permissions manager.» There, you’ll see categories for all the types of permissions you’ve granted to apps on your phone over time.

Take a peek through ’em all and see what you find. If you see anything that raises an eyebrow, all you’ve gotta do is tap it to revoke the permission.

And remember, too: As of Android 10, you can actually go a step further when it comes to location and allow an app to access that only when you’re actively using it. But, critically, it’s up to you to go through your settings and make that change.

Step 3: Verify that you’re using Android’s app-scanning system

Android has long had the ability to monitor your device for harmful code or suspicious activity — no third-party apps or add-ons required. And while the system should be enabled by default on any reasonably current device, it’s a good idea to occasionally confirm that everything’s turned on and working the way it should.

Mosey on over to the Security section of your system settings, tap the line labeled «Google Play Protect,» and then make sure «Scan device for security threats» is checked. (Depending on your device, you may first have to tap a gear icon in the upper-right corner of the screen in order to see that option.)

That’ll allow Android’s app verification system to keep an eye on all apps on your device, even after they’re installed, and make sure none of them does anything dangerous. The scanning will run silently in the background and won’t ever bother you unless something suspicious is found.

Odds are, you’ll never even know it’s there. But it’s a valuable piece of protection and peace of mind to have.

Step 4: Appraise your app-downloading IQ

If you’re reading this column, I probably don’t need to tell you this — but I will, anyway: While we’re thinking about the subject of Android security, take on a teensy bit of responsibility and commit to letting common sense guide your app-downloading decisions.

Look, let’s not kid ourselves: Google’s security mechanisms are invariably going to fail on occasion. There’s no getting around that. But even when a shady app makes its way into the Play Store, all it typically takes is the tiniest shred of awareness to avoid having it affect you in any way.

Just as you do when browsing the web from a computer, look at something before you download it. Look at the number of downloads and the overall reviews. Think about what permissions the app wants and whether you’re comfortable with the level of access it requires. Click the name of the developer, if you still aren’t sure, and see what else they’ve created. And unless you really know what you’re doing, don’t download apps from random websites or other unestablished third-party sources. Such apps will still be scanned by Google’s on-device security system before they’re installed, but your odds of encountering something shady are significantly greater out in the wild than within the Play Store.

(Your Android device won’t let you download apps from unknown sources by default, by the way, so if you ever try — even inadvertently — you’ll be warned and prompted to authorize that specific form of non-Play-Store download. Apps on Android will never magically install themselves without your explicit permission.)

By and large, all it takes is a 10-second glance to size something up and see if it’s worth installing. With all due respect to the dodos of the world, it doesn’t take a rocket scientist to stick with reputable-looking software and avoid questionable creations.

Part II: Passwords and authentication

Step 5: Double-check your security basics

A quick no-brainer that’s important to mention: If you aren’t using biometric security and/or a PIN, pattern, or password on any of your devices, start doing it. Now.

Talk to any security expert, and you’ll hear the same thing: The most likely cause of a security failure is simply a failure on your behalf to secure your stuff. You are the weakest link, as the cool kids said 15 to 20 years ago.

Embarrassingly dated pop culture references aside, think about it: If your phone has no passcode protecting it, all of your data is just out there and waiting for the taking anytime you leave the device unattended (intentionally or otherwise). That includes your email, documents, social media accounts, and entire photo collection (yes, even those pictures — hey, I’m not here to judge).

The best part: Android makes it hassle-free as can be to keep your devices secure. The software’s Smart Lock function allows you to automatically leave your phone unlocked in a variety of preapproved «safe» conditions — like when you’re at home, when a specific trusted Bluetooth device is connected, or even when the phone is being carried in your pocket. That means the extra security shows up only when it’s really needed, and you don’t have to mess with it the rest of the time.

Plain and simple, there’s no excuse to leave your stuff unprotected. Head into the Security section of your device’s settings to get started, if you haven’t already.

Step 6: Peek in on your saved Smart Lock passwords

Speaking of Smart Lock, one of the less frequently discussed parts of Google’s security system is its ability to save passwords for websites and apps accessed via your mobile devices. As part of your annual checkup, glance over the list of saved passwords Google has for your account so you’ll know what’s there — and while you’re at it, take a few seconds to remove any dated items that are no longer needed and don’t belong.

Step 7: Assess your password management system

Google’s saved password system is better than nothing, but you’ll get stronger security assurances, more advanced and useful features, and broader support for in-app password filling by using a dedicated password management service. Plenty of commendable options are available, but my recommendation for the best all-around experience on Android is LastPass (which has a perfectly serviceable free option and works equally well on the desktop and even on iOS). It makes it easy as can be to generate and store unique secure passwords for every site and service you use and then to fill those passwords in automatically as needed — in any app or browser on practically any platform.

If you aren’t using LastPass or another similar service, now’s the time to start. And if you are already using such a service, take a few minutes now to peek into the app’s settings and make sure you’re taking advantage of all the on-device protection it offers. With LastPass, for example, you should confirm that options to lock the app automatically and whenever it’s idle for more than a few minutes are active. You should make sure the app requires a PIN or biometric authentication to unlock. And you should confirm that the app is set up for offline access, in case the need ever arises. (All of those options are in the Security section of LastPass’s settings.)

LastPass and other password managers also provide an option to analyze all of your passwords and identify any that would be advisable to change — ones that are duplicated or otherwise not as strong as they could be. That’s another smart thing to check up on as part of this annual audit.

Step 8: Evaluate your two-factor authentication situation

A single password isn’t enough to protect an important account these days — especially one as wide-reaching and valuable as your Google account. Two-factor authentication makes it so that you have to put in a special time-sensitive code in addition to your password anytime you try to sign in. That significantly increases your level of security and decreases the odds of anyone ever being able to break in and access your personal data, since they’d need both knowledge of your password and the physical presence of your code-generating device (most likely your phone) to do it.

If you don’t yet have two-factor authentication enabled for your Google account, head over to this site to get started. And don’t stop with just Google, either: Look into enabling two-factor authentication on any service that offers it, including your password manager, your social media accounts, and any non-Google cloud storage services that you use. Once you have things configured everywhere, you’ll rely on an app like Google’s Authenticator to generate single-use codes from your phone or on a third-party alternative like Authy that can run on your phone as well as on other devices.

Speaking of Authy, if you’re already using that for two-factor authentication, open the app right now and head into the My Account section of its settings, then tap «App Protection» and confirm that you’re using a PIN or fingerprint for protection. Then pop over to the Devices section of the same settings menu to check up on exactly what devices are authorized to access the app. Remove any that are dated and no longer in use.

If you really want to keep your account secure, by the way, Google also now offers a souped-up option called Advanced Protection. It requires you to purchase physical security keys and then use those anytime you sign into your Google account. It also severely limits the ways in which third-party apps can connect to your account. This sort of elevated and locked-down setup probably won’t be sensible for most folks, but if you feel like you need the extra protection, you can learn more and enroll here.

Step 9: Optimize your lock screen security

Your lock screen is the guard of your Android device’s gate — and there are a few things you can do to beef up its muscle and make sure it’s fully prepared for the job.

First, think about the types of notifications you get and how much of that info you want to be visible on your lock screen — since anyone who gets their hands on your phone could easily see all that data. If you tend to get sensitive messages or just want to step up your security and privacy game a notch, head into the Display section of your system settings and select «Lock screen display.» (On older devices, you might need to look in the Security section of the settings to find a similar option.)

There, you’ll find tools for controlling precisely what will and won’t be shown in that pre-authentication area as well as for creating a security-minded message that’ll always appear on your lock screen — for instance, something like: «If found, please call Joe T. Schmo at 333-222-1111.» You could even consider adding an emergency contact into your settings and then using the lock screen message to direct people to that information.

And finally, if your phone is running Android 9 or higher, an option called lockdown mode is well worth your while to activate. Once enabled, it gives you a fast way to lock your phone down from all biometric and Smart Lock security options — meaning only a pattern, PIN, or password could get a person past your lock screen and into your device.

The idea is that if you were ever in a situation where you thought you might be forced to unlock your phone with your fingerprint or face — be it by some sort of law enforcement agent or just by a regular ol’ hooligan — you could activate the lockdown mode and know your data couldn’t be accessed without your explicit permission. Even notifications won’t show up on your lock screen when the mode is activated, and that heightened level of protection will remain in place until you manually unlock your phone (even if the device is restarted).

There’s just one catch: On some devices, it’s up to you to enable the option ahead of time in order for it to be available. But doing so takes only a couple of seconds: In that same «Lock screen display» section of your system settings, simply activate the toggle next to «Show lockdown option» — and that’s it.

If the need ever arises, just remember this: While on your lock screen, press and hold your phone’s power button for a second or two. There, along with the regular options for restarting and shutting down your device, you’ll see the newly present «Lockdown» option. Hopefully, you’ll never need it — but now you’re ready in case you do.

And with that, guess what? You’re more than halfway done with this annual checkup. Not too painful so far, right? Only six more steps to go.

Источник

Читайте также:  Wwe для андроид с кешем
Оцените статью