Практики DevSecOps для Android
7 ноября 2025 г.·205 views

🛠 Практики DevSecOps для Android

Салют,

Во-первых у нас с тобой классная стата роста, а именно нас уже 200 подписчиков. Я очень рад этому. Спасибо тебе, что отслеживаешь материалы в канале 🙏

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

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

Практики для Andriod

- Следует исключать возможность хранения конфиденциальной информации во внешних хранилищах: /sdcard, /mnt/sdcard и тд, так как она может быть изменена или прочитана другим приложением, включая внешнее устройство

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

- Если обмен данными с другими приложениями не требуется, то следует объявить android:exported=”false” в файле манифеста

- export для компонента должен быть помечен как false в файле манифеста, включая ограничение доступа к нему

- Разрешение для ответа вызывающему приложению следует реализовать с использованием методов Context.checkCallingPermission() и Context.enforceCallingPermission()

- Любой URL, полученный через intent, вне доверенной зоны должен быть проверен перед его отображением в WebView

- Для предотвращения возможности перехвата или отказа в обслуживании получатели широковещательных intent должны быть ограничены, а именно:

-- вместо явных intent, следует использовать указание на конкретный компонент, используя setComponent(ComponentName или класс setClass(Context, Class)

-- ограничение трансляции одним приложением с помощью параметра Intent.setPackage() и процессом через Context.sendBroadcast(Intent)

-- после отладки атрибуту android:debuggable должно быть присвоено значение false, чтобы исключить возможность отладки приложения пользователем

-- необходимо исключить предоставление доступа к методу addJavascriptInterface в WebView из-за предполагаемого вредоносного контента

- Метод onGeolocationPermissionsShowPrompt() для геолокации должен запрашивать разрешение

- В SDK необходимо указывать разрешения, так как выходные файлы по умолчанию создаются с правами на чтение

- Необходимо исключить использование loopback при обработке конфиденциальных данных путем использования HttpsURLConnectionclass или SSLSocketclass

- Рекомендуется использовать App Security Practices из документации Android Developers

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

#appsec #devsecops #reco #specialty #pmcases

#appsec#devsecops#reco#specialty#pmcases
Открыть в Telegram