Всем привет! На связи снова Юрий Шабалин, генеральный директор «Стингрей Технолоджиз». В предыдущей статье я рассказывал о влиянии Профиля защиты ЦБ РФ на мобильные приложения. В продолжение темы российского законодательства сегодня разберем, под какие еще требования попадают приложения, насколько законно хранить персональные данные на смартфоне в открытом виде и попадает ли мобильное ПО под действие Федерального закона "О персональных данных" (152-ФЗ) и подзаконных актов по теме защиты ПДн? Постараюсь разъяснить всё максимально понятно.
Как обычно, для начала разберемся в терминологии, используемой в нормативных документах:
Что такое персональные данные (ПДн)?
Что такое обработка ПДн?
Как и где осуществляется обработка?
И, наконец, каково участие мобильных приложений в этом процессе?
Затем приведем пару примеров из практики и подведем итоги. Ну и, раз мы говорим про законодательство, отдельно поговорим об ответственности компаний по защите цифровых продуктов.
Поехали!
![](https://habrastorage.org/getpro/habr/upload_files/dc5/615/57f/dc561557fff919560ebc3097e3320145.jpg)
Введение
Все эти вопросы появились совсем не просто так. Занимаясь аудитом мобилок, мы каждый день анализируем множество самых разных приложений. И очень часто встречаем в них хранение персональных данных пользователя в открытом виде. Конечно, формально эти данные содержатся во внутреннем хранилище и защищаются средствами операционной системы, только это не является панацеей. Да и более того, несмотря на призрачную «защищенность», эти сведения всё равно хранятся в открытом виде. Хочется понять, считается ли это обстоятельство нарушением с точки зрения законодательства? Или все-таки мобильные приложения в вопросах безопасности обходят стороной?
Я не претендую на истину в последней инстанции, и у меня не так много опыта в этом вопросе. Поэтому, если у вас есть информация и материалы, которыми можно дополнить размышления из этой статьи, пожалуйста, не стесняйтесь писать комментарии, ведь истина рождается в споре.
Законодательство и требования
Для начала вспомним, что же из себя представляют персональные данные и зачем мы на каждом шагу соглашаемся с их обработкой. Конечно, эта тема уже много где обсуждалась, поэтому пройдемся кратко:
«Персональные данные — это любая информация, относящаяся прямо или косвенно к определенному или определяемому физическому лицу (субъекту персональных данных)» (152-ФЗ)
Грубо говоря, любая информация, которая позволяет однозначно идентифицировать человека, является ПДн. На примере ФИО: ФИО и номер телефона, ФИО и адрес электронной почты и другие сочетания имени и уникального идентификатора.
Второй важный момент — это понятие «работа с ПДн» или «обработка ПДн». Это такие операции, как сбор, запись, систематизация, накопление, хранение, уточнение, использование, передача, обезличивание, блокирование, удаление и уничтожение. По сути, обработкой ПДн являются любые действия с набором данных, которые подпадают под определение персональных. Как следствие, согласно закону 152-ФЗ части 1 статьи 1, любой процесс обработки ПДн должен осуществляться в соответствии с законодательством. Это относится и к юридическим, и к физическим лицам. А также к любой обработке, хоть полностью автоматизированной, хоть ручной, хоть вам только спросить. Отмечу первый важный момент: оговорок и уточнений об исключении норм закона для мобильных приложениях в 152-ФЗ нет.
Едем дальше.
Согласно 152-ФЗ, есть два способа обработки ПДн:
Без использования средств автоматизации (или «неавтоматизированная обработка») — при непосредственном участии человека;
Автоматизированная обработка — с помощью СВТ (средств вычислительной техники). Это компьютеры, телефоны и другие электронные устройства, базы данных, криптографические средства защиты, программы, скрипты.
В приказе Роскомнадзора от 30.05.2017 № 94 указан еще один вид обработки – смешанная. Официального термина у нее нет – по сути, это что-то между автоматизированной и неавтоматизированной обработкой.
В общем, обрабатываем ПДн мы в электронном виде или на бумаге. Если в электронном виде, то либо с участием человека, либо без его непосредственного участия.
Мобильные приложения с точки зрения закона
С персональными данными и видами их обработки разобрались. Теперь давайте узнаем, что есть мобильное приложение с точки зрения законодательства РФ?
К моему большому сожалению, такого термина, как «мобильное приложение», в основном Федеральном законе от 27.07.2006 N 149-ФЗ "Об информации, информационных технологиях и о защите информации" нет (да и других тоже). Но по смыслу, мобильные приложения вполне попадают под имеющийся в этом законе термин «информационная система» (совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств).
Что еще есть в 149-ФЗ? Рядом с упоминанием информационной системы по тексту везде встречается «программа для электронных вычислительных машин». Термина в законе нет, но из ГОСТ Р ИСО/МЭК ТО 12182-2002. «Информационная технология. Классификация программных средств» можно сделать вывод, что программные средства – это любое системное, прикладное, инструментальное ПО, в том числе и мобильное приложение.
Ну и еще немного из российского законодательства. Есть у нас в Гражданском кодексе статья «1261. Программы для ЭВМ». Из нее следует, что «программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения».
Ну что, кажется, на этом можно завершать поиск термина «мобильное приложение» и приближаться к выводам. Мобильное приложение в рамках нашего законодательства ничем не отличается от обычного «приложения», будь то Web, десктоп, серверная часть или любое другое ПО. А значит, на него распространяются все регуляторные документы и требования, которым обязаны соответствовать привычные сердцу безопасника продукты. И если в «мобилке» присутствуют персональные данные пользователя, то она должна соответствовать требованиям регулятора по их обработке.
Мобильное приложение может собирать данные пользователя. Например, они автоматически передаются на серверную сторону во время регистрации и могут быть закэшированы/сохранены на клиенте. Также они собираются, если после регистрации на устройстве сохраняются сведения о пользователе в открытом виде. Тут не участвует человек – это автоматизированная обработка. А если, например, пользователь в чате передает оператору свои данные, и тот вводит их в систему для проверки или регистрации заявки – это уже неавтоматизированная или смешанная обработка, так как помимо программной составляющей присутствует еще и человек. Таким образом, при любом виде обработки ПДн в «мобилке» нужно соответствовать требованиям регулятора по защите этих данных.
Какие требования применяются к приложениям?
Плавно перейдем к более сложной (по крайней мере для меня) теме. Посмотрим, какие именно требования применяются к программам для ЭВМ, которые работают с персональными данными граждан РФ. Нормативных документов с условиями по защите ПДн больше сотни. Отметим ключевые:
Основа, регулирующая главные аспекты персональных данных – знакомый всем «Федеральный закон №152-ФЗ О персональных данных», который распространяется на любые организации, обрабатывающие ПДн;
Постановление Правительства РФ от 01.11.2012 N 1119 «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных», объясняющее, как определить и реализовать необходимые меры защиты данных;
Конкретные меры по защите ПДн установлены в «Приказе ФСТЭК России от 18.02.2013 N 21». В основном эти меры выполняются за счет реализации конкретной функциональности в приложении или посредством применения средств защиты информации (сертифицированных ФСТЭК России);
Приказ ФСБ России от 10.07.2014 N 378, в котором устанавливается необходимость применения сертифицированной ФСБ России криптографии;
В случае, если мобильное приложение является подсистемой ГИС (Государственная Информационная Система), то дополнительно применяются меры приказа ФСТЭК №17. Они практически такие же, как в вышеупомянутом приказе ФСТЭК № 21.
Согласно этим документам, при создании приложений (и мобильных, в том числе), разработчики должны соблюдать следующие принципы защиты информации:
Сбор и хранение персональных данных только с согласия субъекта;
Ограничение обработки ПДн целями, для которых они были собраны;
Обеспечение безопасности персональных данных от несанкционированного доступа, уничтожения, изменения, блокирования и распространения;
Соблюдение политики конфиденциальности при передаче персональных данных третьим лицам;
Регулирование трансграничной передачи ПДн законом 152-ФЗ (ст.12);
При использовании внешних сервисов аналитики: обеспечение гарантии того, что ПДн не передаются в иностранные государства и пользователи уведомлены (и согласны) о такой цели обработки данных.
Также в конец статьи я добавлю несколько ГОСТ-ов, в которых есть отсылка к мобильным приложениям. Возможно, кому-нибудь они станут интересны для дальнейшего изучения.
Какая ответственность?
Сейчас есть административная и уголовная ответственность за нарушения при обработке и защите ПДн. В нашем случае – статья 13.11 КоАП РФ (обработка ПДн без основания, в зарубежных базах данных, отсутствие опубликованной политики обработки и защиты ПДн), ч. 2,6 ст. 13.12 КоАП РФ (нарушение требований о защите), ст. 137 УК РФ (собирание и распространение сведений о частной жизни ФЛ без его согласия). Сейчас разброс штрафов и ответственности варьируется от пары тысяч до 6 миллионов рублей (с рецидивом и того больше). Однако скоро законодатели планируют принять оборотные штрафы за утечки ПДн – там штрафы будут составлять до нескольких сотен миллионов рублей.
Поправки к ст. 13.11 КоАП («Нарушение персональных данных») повышают действующие сейчас штрафы. Если произошла утечка данных от 1000 до 10 000 субъектов ПДн, штраф для юрлиц составляет от 3 до 5 млн рублей, за утечку данных 10 000–100 000 субъектов — от 5 до 10 млн, более 100 000 граждан — от 10 до 15 млн рублей. За повторные утечки бизнесу могут грозить оборотные штрафы: от 0,1 до 3% выручки за календарный год или за часть текущего года, но не менее 15 млн и не более 500 млн рублей. Получается, чем меньше данных, тем спокойнее. Но есть вариант лучше и безопаснее – выстроить защиту обрабатываемых данных.
Основные проблемы хранения данных в приложениях
В рамках статьи я рассмотрю три сценария, которые в нашей практике встречаются чаще всего:
Хранение персональных данных пользователя приложения в открытом виде;
Хранение персональных данных разработчиков в открытом виде;
Передача персональных данных в сторонние сервисы (сервисы аналитики).
Эти три пункта напрямую относятся к перечисленным выше правилам работы с ПДн, и я попробую показать, насколько иногда в мобильных приложениях они не соблюдаются.
Персональные данные пользователя мобильного приложения
Первое, с чего мы начнем, это данные, которые мобильное приложение собирает во время регистрации или получает с сервера в момент аутентификации пользователя. Эта информация хранится в дальнейшем на устройстве.
Анализируем первое установленное приложение. Проходим процедуру аутентификации и наблюдаем, что же происходило с нашими персональными данными на устройстве. Для начала, мы видим их в сетевом трафике приложения, когда оно получает информацию о нашем аккаунте:
![](https://habrastorage.org/getpro/habr/upload_files/432/44c/53d/43244c53daf74c3be9ba25a1787ee7a9.png)
Далее ищем во всех данных программы, где же еще встречаются наши ПДн. А вот и они – в приложении не реализована очистка кэша сетевых запросов:
![](https://habrastorage.org/getpro/habr/upload_files/f9c/a8e/01e/f9ca8e01eca0a066c3e71b8b5fbd175d.png)
Но из названия видно, что этот дефект был найден на основе ранее выявленных проблем. Первая из них, как мы уже знаем, это передача ПДн по сети, а что же со вторым срабатыванием? А это перехват запросов в SQL выявил несколько крайне интересных строк, которые попадают в базу данных в открытом виде:
![](https://habrastorage.org/getpro/habr/upload_files/b51/6e4/e95/b516e4e95f7f27287b77239fac778c9b.png)
И, на самом деле, в этой базе содержится еще очень много интересного: серия и номер паспорта, ФИО, дата рождения и другие данные. И да, они никак не скрыты, что в сетевом cache, что внутри БД. Получается, что приложение загрузило с сервера наши ПДн и сохранило их локально себе без какого-либо шифрования или маскирования.
Но, может быть, это единичный случай и не всё так страшно? Хорошо. Возьмем приложение из другой категории, пусть это будет iOS. Заглянем во внутреннюю директорию, что же там хранится?
![](https://habrastorage.org/getpro/habr/upload_files/138/abe/595/138abe59580504e6bbdf38daad04b4f6.png)
И снова ФИО, но теперь уже почта в качестве второго фактора. Персональные данные также в открытом виде, сохранены и используются приложением.
А что, если заглянуть в SharedPreferences приложения на Android или в NSUserDefaults в iOS, стандартные механизмы хранения данных для приложений на этих операционных системах. Может там найдется что-нибудь интересное? Конечно, да, многие приложения хранят информацию, используя именно этот механизм, предоставляемый системой:
![](https://habrastorage.org/getpro/habr/upload_files/ddb/c6f/c33/ddbc6fc33c01759eb6ac29c458ea80ea.png)
Если чуть более подробно посмотреть на этот файл, то становится немного не по себе (часть данных намеренно замаскирована, в приложении они все были в открытом виде):
<?xml version="1.0" encoding="utf-8"?>
<map>
<string name="client_id">6***90</string>
<string name="pin_code">7**1</string>
<string name="user_login">yshabalin</string>
<string name="user_middle_name">Д*******ч</string>
<string name="user_email">yshabalin@stingray-mobile.ru</string>
<string name="user_id">128**74</string>
<string name="pref_token">c6e1b82d49f41d647*******7e944c829e2c2533065ff6c7b8f2f0aa</string>
<string name="user_last_name">Ша***ин</string>
<string name="user_first_name">Юрий</string>
<string name="user_phone">916*****78</string>
</map>
Существует мнение, что данные, которые хранятся во внутренней директории приложения (в песочнице) недоступны другим программам. К большому сожалению, это не всегда так. Получить приватные файлы в общем случае действительно нельзя, но если в приложении допущена ошибка (как минимум одна из семи), то файлы уже не настолько недоступны. В дополнение к этому в самой операционной системе присутствуют ошибки, которые позволяют получать данные из песочницы. Особенно сильно этому способствует фрагментация Android. Взять хотя бы Samsung и Xiaomi: в их приложениях обнаружилось огромное количество ИБ-проблем, часть из которых позволяла читать внутренние файлы. И, конечно, не стоит забывать о различных резервных копиях, локальных и облачных – из них тоже можно достать данные. Так что не стоит считать защиту средствами самой ОС серебряной пулей. Никто и ничто не может обеспечить безопасность хранения данных лучше самих разработчиков.
И это всего лишь несколько примеров приложений из разных категорий, которые оперируют нашими персональными данными и никак их не защищают.
Данные разработчиков мобильного приложения
Следующая интересная тема – попадание данных разработчиков приложения в релизную сборку. Это немного пограничная зона для законодательства, так как, с одной стороны, при поступлении на работу сотрудник давал согласие на обработку (в данном случае «распространение», а давал ли?) своих ПДн. А с другой стороны, эти данные становятся известны широкому кругу лиц. И «утекают» эти сведения именно из приложения компании. Особую пикантность представляют случаи, когда программы разрабатываются компанией-подрядчиком, и данные фирмы-аутсорсера в итоге оказываются в релизной сборке. Тут уже вопросов чуть больше.
![](https://habrastorage.org/getpro/habr/upload_files/9b9/359/aa6/9b9359aa62207e4265b80409b7f2a55e.png)
Даже не являясь юристом или адским профи в вопросах ПДн, после прочтения многих документов и законов я убежден, что так делать не очень хорошо. Подобное отношение к данным сотрудников может привести к штрафам, судебным разбирательствам, сбору законодательной базы и другим не очень приятным последствиям. А это отнимает много времени, которое компания могла бы потратить на выпуск нового функционала.
Или другой пример – оставленные в коде файлы сборки приложения (Pod файл для iOS-сборки), в которых указаны (помимо всех используемых библиотек), телеграм-аккаунты нескольких сеньор-разработчиков с просьбой не менять этот файл сборки без их согласования. В этом случае информация, конечно, не является частью ПДн, но все равно достаточно чувствительная. К очень большому сожалению, визуального примера у меня не осталось, а проблему коллеги уже исправили, за что им большое спасибо.
Персональные данные в сервисах аналитики
Достаточно часто мобильные приложения используют сервисы аналитики для отслеживания состояния приложений, сбора информации о действиях пользователя, падениях ПО и др. И часто в передаваемых данных содержится информация о пользователе, его ФИО, номер телефона, уникальный идентификатор в системе и т.д. А ведь это передача ПДн третьей стороне, и компания обязана уведомлять пользователя о том, что его данные передаются не только в приложение, но еще и в сторонние сервисы.
А вот и другой вопрос: какая из систем аналитики распространена больше всего? По моим наблюдениям, сейчас лидирует две компании: Яндекс-метрика и сервис аналитики Firebase. Если с первым всё понятно, то второй вызывает вопросы. Я честно искал, где Firebase хранит данные российских пользователей, но однозначного ответа пока что так и не нашел. Если у вас есть информация, что Firebase хранит данные российских пользователей внутри страны, напишите об этом, пожалуйста, в комментариях. В противном случае – это уже трансграничная передача персональной информации, и нужны более строгие правила, которым компания обязана соответствовать.
Приведу несколько примеров, чтобы не быть голословным. Возьму сервис Firebase и файлик keys, используемый в библиотеке Crashlytics для хранения ключей пользовательских данных, которые могут быть полезны при анализе сбоев и ошибок приложения. В контексте Crashlytics, "ключи" (или "custom keys") представляют собой пары "ключ-значение", которые разработчики могут добавлять к отчетам о сбоях для предоставления дополнительной информации. Эти ключи помогают разработчикам понять контекст, в котором произошла ошибка. Они включают такие данные, как статус приложения, информация о пользователе или любые другие релевантные сведения. То есть, эти данные отправляются вместе с аналитикой:
![](https://habrastorage.org/getpro/habr/upload_files/786/8c9/271/7868c92719e14ed8abd80573eb4f7e6b.png)
Конечно, это не полное ФИО, но всё равно вызывает вопросы.
Теперь посмотрим на библиотеку com.github.kean.logger, которая является частью набора инструментов для логирования, включающего такие библиотеки, как Pulse, Logger и другие. Они предоставляют средства для логирования и анализа данных во время разработки и отладки мобильных приложений. Как правило, совместно с этой библиотекой используется и аналитика от того же автора:
![](https://habrastorage.org/getpro/habr/upload_files/81d/bc6/7ff/81dbc67ffd56d5987562af8fc46b8d55.png)
В данном случае собранными оказались мои логин (в виде номера телефона) и email-адрес. Эти сведения также являются частью персональных данных и не должны храниться в открытом виде. Тут, конечно, можно поспорить, но тем не менее, факт остается фактом.
Вывод
Сфера регулирования обработки и защиты персональных данных пользователя очень обширна, требований огромное количество, регуляторов тоже достаточно (Федеральные законы, постановления Правительства, Роскомнадзор, ФСТЭК, ФСБ, отраслевые требования у ЦБ РФ, Минздрава и пр.). И в ключевом вопросе “быть или не быть защите ПДн в мобилках”, сомнений оставаться не должно.
На мой взгляд, компаниям следует уделять большее внимание тому, что происходит в приложениях, которые они разрабатывают, даже если не в разрезе безопасности (хотя и ей обязательно нужно заниматься), то хотя бы с точки зрения хранения данных пользователя и их передачи в сторонние сервисы. Ведь мы не знаем, как скоро регуляторы обратят пристальное внимание на мобильные приложения. И к этому моменту нужно быть готовым и уверенным в том, что ваш продукт точно не хранит ПДн в открытом виде и уж точно никуда их не передает. Ну а наша платформа с радостью поможет в этом!
Будьте в безопасности и до новых встреч!