Рубрика «Блог компании Инфосистемы Джет» - 18

Прилично удивился, столкнувшись с этапом Due Diligence в конкурсной документации на аутсорсинг ИТ-сервисов. Неожиданности в конкурсных процедурах всегда вызывают определённый напряг, так как они могут означать, что придётся быстро пересобрать привычную сервисно-процессную конструкцию, а это сродни тому, как ребёнку сложить гигантский пазл из мелких и трудноразличимых деталей. Раньше мне всегда казалось, что процедура Due Diligence применяется при оценке стоимости компании перед её покупкой или в рамках «айпиошного» проекта. По сути – это оценка надёжности и коммерческой привлекательности будущей сделки. Ну и выглядеть это должно было так: приходят в компанию умные консультанты-аналитики, ворошат годовую отчётность, проверяют прогнозы, оценивают риски и выносят свой вердикт. Мы, как аутсорсинговый партнёр, прошли-таки эту процедуру, правда, не при оценке компании, а в рамках конкурсной процедуры ИТ-тендера. Это был скорее технический Due Diligence.
Читать полностью »

Разработчики мобильных приложений зачастую сталкиваются с необходимостью хранить конфиденциальные данные пользователя на пользовательском устройстве. Это могут быть, например, номер кредитной карточки или аутентификационные данные. В этой статье мы поговорим о типичных ошибках реализации хранения конфиденциальных данных с точки зрения информационной безопасности на примере мобильной платформы iOS.
Обычно настройки приложения хранятся в конфигурационных файлах. Библиотека Cocoa Touch, используемая при разработке приложений для мобильной платформы iOS, предоставляет слой абстракции для хранения настроек приложения в классе NSUserDefaults. Класс NSUserDefaults реализует нелюбимый многими шаблон проектирования «Одиночка» (более известный как Singleton), предоставляя доступ к интерфейсу над стандартным конфигурационным файлом приложения.
Стандартный файл конфигурации приложения располагается в его домашней директории по относительному адресу Library/Preferences/<your.company.name>.<app.name>.plist. Как и другие файлы, расположенные в «песочнице», он не доступен на чтение для других приложений пользовательского уровня. Исключения составляют устройства, подвергнутые модификациям политики безопасности системы (jailbroken-устройства).
Многие разработчики по достоинству оценили удобство работы с классом NSUserDefaults. Подавляющее число приложений используют его для хранения внутренних настроек и/или настроек пользователя. К сожалению, удобство использования редко коррелирует с безопасностью. Хранение конфиденциальных данных пользователя в стандартном файле настроек является типичной ошибкой разработчиков, приводящей к утечке пользовательской информации.
В результате исследования исходного кода Приложения А на наличие ошибок в контексте информационной безопасности было выявлено, что приложение сохраняет данные аутентификации пользователя в конфигурационном файле настроек. Загрузив Приложение А на iPad под управление оригинальной операционной системы iOS версии 6.1.3, мы прошли стадию аутентификации и принялись за исследование файла настроек приложения.

image
Рис. 1. Загрузка приложения на iPad

Для демонстрации уязвимости мы использовали приложение iExplorer, доступное для операционных систем семейств Windows NT и Mac OS X. Приложение iExplorer представляет собой графический файловый менеджер для устройств под управлением iOS. Находим Приложение А в списке установленных приложений и открываем Library/Preferences/<settings-name>.plist на чтение.

image
Рис. 2. Внешний вид приложения iExplorer c доступом к нужному файлу

image
Рис. 3. Конфигурационный файл с конфиденциальной информацией

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js