|
0 / 0 / 0
Регистрация: 26.03.2020
Сообщений: 5
|
|
Возможна ли безопасность данных в моб. приложении26.03.2020, 10:57. Показов 2187. Ответов 10
Метки безопасность (Все метки)
Всем привет.
Посетил меня вопрос и после прочтения всякого чтива по теме чёткого ответа не нашёл, посему интересно мнение/знание профи. В программировании чего-то понимаю (vba, vb, си++, делфи, php, js и пр.), но пока не на мобильных устройствах, посему и нужна помощь в получении ответа. Суть: Предположим нужно мобильное приложение, которое будет загружать с сервера/хранилища и использовать данные, которые надо сберечь от вскрытия (расшифровки и выгрузки/считывания). Предположим данные (файл с данными) на мобильное устройство будет загружаться в зашифрованном виде (например, с сервера) и расшифровываться приложением открытым ключом, вшитым в код приложения. Среда: 1. Вроде для такого приложения не пойдут языки типа Java, Kotlin и пр, которые декомпелируются легко и не принуждённо, и как минимум можно найти место в декомпелированном коде, где можно вставить перехват расшифрованных данных (и далее их выгрузку). 2. Посему вроде нужно не интерпритаторы, а компиляторы, т.е. языки, которые юзаются для мобильных устройств, типа С++ или С#. 3. Плюс, на локале под Виндами можно перевести формат EXE (который можно декомпелировать, как минимум увидев структуру с читаемыми шагами выполнения) в COM, т.е. по сути в машинный код, что ломать на много сложнее. Вопросы: 1. Можно ли как то 100% обезопасить данные (расшифрованные в приложении)? Случай когда взломом и расшифровкой займётся АНБ (в Штатах) не рассматриваем. 2. Возможно ли под Андроидом и Ios перевод кода аналогично EXE -> COM? 3. Решается ли под Андроидом и Ios задача безопасности данных, расшифровываемых в моб. приложении, и если решается, то как? Заранее спасибо за ответы и ссылки.
0
|
|
| 26.03.2020, 10:57 | |
|
Ответы с готовыми решениями:
10
Возможна ли работа базы данных 1С в Qt? Выборка ошибочных данных, возможна? |
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
||
| 26.03.2020, 11:10 | ||
|
1. Да, не хранить такие данные в приложении.
2-3. Обычно, мобильные приложения делаются "тонкими" клиентами и код не содержит ничего суперсекретного. Добавлено через 26 секунд
0
|
||
|
0 / 0 / 0
Регистрация: 26.03.2020
Сообщений: 5
|
|||
| 27.03.2020, 07:21 [ТС] | |||
0
|
|||
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
| 27.03.2020, 09:56 | |
|
Тогда о каком "вскрытии" идёт речь, если данные используются только здесь и сейчас?
0
|
|
|
0 / 0 / 0
Регистрация: 26.03.2020
Сообщений: 5
|
|
| 28.03.2020, 13:39 [ТС] | |
|
Для пояснения задачи - на пальцах.
<-- Есть: 1. Программа вывода данных на моб. устройство – она одна (главный код один, но в тело могут быть вшиты открытые ключи, алгоритмы и пр. для расшифровки многочисленных файлов данных, зашифрованные закрытым (для конкретного моб. устройства конкретного пользователя) ключом). 2. Файлы данных, в которых предположим есть: список-массив: - Плитка (1,RGB), где RGB цветовой формат: Плитка (1, 1)= 23, Плитка (1, 2)=126, Плитка (1, 3)=56 - Плитка (2, …) - Плитка (3, …) ... - Плитка (100, …) И далее карта (например, 200х200), как располагаются цвета: 1,42,1… 3,21,100… … 2,90,15… --> Карта (из файла данных) выводится прогой на экран моб. устройства пользователя. Данные из файла данных будут браться (-X->) прогой, с помощью алгоритма и ключа расшифровываться, и передаваться (-Y->) для вывода на экран пользователя. <Файл данных> -X-> <прога = [ (ключ + дешифратор) -Y-> вывод на экран]> Мысли: 1. Перенабирать инфу с экрана никто не будет, ибо карты могут быть размером от 100х100 до 1000х1000. Плюс, цветов в списке может быть 10…150 (из макс. кол-ва 6000). Плюс, таких файлов данных тысячи (быстрее десятки тысяч). 2. На сколько я понял (почитав малость) если писать прогу на Java, Kotlin и подобных, то в прогу можно легко вставить в место -Y-> вывод дешифрованных данных на диск (вставить так же как в листинг кода vba, php или js, даже если js обфускацированный), и затем на автомате прогнать/дешифровать все (тысячи, десятки тысяч, миллионы…) файлов данных. 3. Бороться с раскрытием данных можно своей виртуальной машиной с зашифрованной памятью, но это, мягко говоря, задача по сложнее чем просто/только написать приложение средней трудоёмкости. Но на сколько сильно можно усложнить вскрытие оговорённых данных если писать прогу на C++ или C# (для моб. приложения) я не представляю и об этом я и спрашиваю. На сколько я знаю (по C++ на локале под Виндой), вставить такое вскрытие на потоке/автомате в откомпилированную прогу на C++ (особенно если EXE-ник сжат в COM) на много сложней чем в код на VBA или PHP. Или, возможно, вы подскажите как легко (в сравнении с написанием приложения средней трудоёмкости) обеспечить контроль целостности приложения и среды исполнения оговариваемой проги на моб. устройстве.
0
|
|
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
| 28.03.2020, 16:29 | |
Сообщение было отмечено alex1234321 как решение
Решение
То есть предполагаемый злоумышленник заставил пользователя авторизоваться/получить ключ, завладел этим ключом, разобрал приложение, вставил какой-то код, собрал заново и начал по этому ключу что-то супер-секретное про этого юзера выкачивать?
Добавлено через 14 минут Во-первых, если использовать современные средства подписи приложений и другие фичи от гугла, собрать подправленное приложение та ещё затея. Во-вторых, собрав приложение заново он вынужден будет начинать новую сессию с новым ключом, то есть это может сделать только юзер, имеющий доступ, ну или в заложниках. Ну и т.д. Ну и наконец, тут есть профильные ветки по C++ или по ИБ, причём тут vba и php я вообще не понял. Твоя проблема звучит так: вот я могу взять приложение сбера, войти за какого-то юзера и в момент вывода на экран персональной информации (перебрав исходники приложение и пересобрав его) вставить код для сохранения её в память на диске.
1
|
|
|
0 / 0 / 0
Регистрация: 26.03.2020
Сообщений: 5
|
||||
| 22.04.2020, 15:14 [ТС] | ||||
|
Нужно было «отойти», посему мой ответ с задержкой.
Приведу другую аналгию. Вы покупаете электронный вариант газеты (для этого авторизация не нужна), т.е вы платите и получаете файл данных в каком то формате. Для просмотра этого файла вы скачитваете (например, так же с сайта продавца) средство просмотра – например (в зависимости от файла данных), или Адоб Ридер, или «Notepad++», или моя прога. Средство просмотра является бесплатным, а вот газета/файл данных является уже платным. Если файл данных (например, газета) не защищён, то гипотетически я (как покупатель) могу покупать все выпуски газеты и класть их на свой сайт и продавать их в два… три раза дешевле чем их создатель. Мой сайт, с которого я продаю, лежит на хостинге в Гондурасе. Если мой такой сайт закрывают под давлением чего/кого-нибудь, то я мгновенно открываю новый сайт и на мыла уже купивших отправляются сообщения что адрес сайта где можно купить газету дешевле изменился на «…» Как владелец газеты я крайне не заинтересован, чтобы такая продажа моей газеты кем то была возможна, т.е. мне нужно каждый проданный выпуск газеты в электронном виде защитить. Сейчас, например, выпуски «Наша Версия» издательства «Совершенно секретно» не защищены и можно продавать их по описанной выше схеме. - в случае со Сбером вы авторизуетесь на сайте сбера с помощью логина/пароля + подтверждате вход ключём, полученном по смс – в моём гипотетическом случае никой аторизации не происходит, так как вы [ выбрали товар -> оплатили его в он-лайне -> скачали файл данных ] (для этой цепочки регистрация и авторизация не нужна); - в случае со Сбером вы не получаете какой то товар, а вы только им управляете, перекладывая товар из одной корзины в другую в пределах своего акаунта, или если отправляете товар/деньги/ценность третьей стороне, то опять подтверждаете перевод смс-кой – в моём случае вы получаете на свой винт и товар (файл данных), и прогу его просмотра, и дальше можете использовать их без контрольно для продавца товара; - в случае со Сбером вы можете просматривать только в он-лайне при подключении к сайту Сбера – в моём случае вы можете просматривать товар в офф-лайне. ----------------- В случае газеты вы (как создатель/продавец газеты) можете блокировать неконтролируемое распространение газеты если перед передачей газеты (файла данных) и средства её просмотра вы, например, с начало получите «снимок» устройства покупателя (название и параметры оси, экрана, средства хранения данных и пр.), создадите средство просмотра конкретной газеты под это конкретное устройство и разрешаете открывать конкретный файл данных только на этом устройстве. Но это имеет смысл если нельзя в эту прогу просмотра внедрить в нужное место вывод уже расшифрованных данных. И мой вопрос – существует ли какой то способ под Андроидом не дать внедрить в прогу просмотра в нужное место вывод расшифрованных данных. Если писать прогу просмотра на java, kotlin, vb (в этом случае производится трансляция vb кода в java) и подобных, то такое внедрение (вывода расшифрованных данных) делается легко.
0
|
||||
|
Модератор
|
|
| 22.04.2020, 20:50 | |
Сообщение было отмечено alex1234321 как решение
Решение
Если делать "снимок" устройства то надо предупреждать пользователя и это все же сбор данных и мне кажется это будет отпугивать пользователей и мало кто согласится.
Даже если писать в нативе на плюсах то все тоже вскрывается без особых проблем знающими людьми. Никаких сом файлов не используется, достаточно простого дебагера и знания асемблера. По крайнем мере на винде так, под андроидом думаю похоже. Так что узнать алгоритм даже в программе на плюсах не сложно. Защитит, а точнее усложнит только грамотная виртуальная машина по типу vmp из denuvo, некоторые игры на андроиде ее используют вроде, все остальное есть сломанное. А вообще вы слишком сильно зациклены на безопасности. Не заморачивайтесь с защитой а просто введите онлайн привязку, тогда и на джаве код пойдет. Мне кажется вы слишком преувеличиваете значимость своих данных и вряд ли кому захочется ломать. Скажу что без знаний даже декомпилированную на джаве программу сложно сломать без навыка, особенно с грамотной обфускацией. Чем экстравагантней защита тем больше шансов попасть на людей которые будут ломать ради взлома.
1
|
|
|
0 / 0 / 0
Регистрация: 26.03.2020
Сообщений: 5
|
|||||||
| 24.04.2020, 03:42 [ТС] | |||||||
Странно что эта проблема не решена до сих пор... очень странно...![]() ![]() Спасибо за ответы. Удачи.
0
|
|||||||
|
14 / 10 / 5
Регистрация: 26.02.2017
Сообщений: 92
|
||
| 25.04.2020, 20:34 | ||
Я газету купил? Купил. Я должен иметь возможность ее прочитать? Конечно. И тут все эти заморочки с шифрованием становятся абсолютно бесполезными, ибо принтскрин еще никто не отменял.
0
|
||
|
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
|
|
| 27.04.2020, 20:54 | |
|
Передача данных через ssl
Если шифрование, то всё равно алгоритм шифрования декомпильнуть будет невозможно, если приложение само по себе обфукснуто и зашифровано. А когда приложение выкладывается в маркет, оно обязано быть обфукснутым и зашифрованным.
0
|
|
| 27.04.2020, 20:54 | |
|
Помогаю со студенческими работами здесь
11
Возможна ли связка между 1с (как источник данных) и access 2003 (как обработчик этих данных) Архиватор данных - возможна ли оптимизация программы?
Безопасность данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|