Защита приложения от перехвата данных

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)

Защита приложения от перехвата данных

Сообщение benzema » 23 янв 2013, 21:12

Всерьёз задумался о защите приложения от школо-хакеров, серьёзных ребят не беру в рассчёт, они если задумают взломать-то у них это получится. Существует такая тема, как перехват трафика приложения (самый банальный пример программы, с помощью которой можно перехватить трафик - HttpWatch). Вопрос: какие данные не следует передавать к php-скрипту с помощью POST-метода? или всё-таки можно передавать любые данные, ведь логин и пасс для подключения к бд находятся в самом php-скрипте? Ясно дело, что нельзя передавать никаких паролей.
benzema

 
Автор темы
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Защита приложения от перехвата данных

Сообщение gpv123 » 23 янв 2013, 21:53

https, не?
gpv123

 
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57
Благодарил (а): 17 раз.
Поблагодарили: 73 раз.

Re: Защита приложения от перехвата данных

Сообщение benzema » 23 янв 2013, 22:12

gpv123, не совсем понял, что вы хотели мне сказать.
benzema

 
Автор темы
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Защита приложения от перехвата данных

Сообщение alexei » 23 янв 2013, 22:28

Перехват можно только при неграмотно настроенной сетки или в публичном Wi Fi.

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

А поможет лишь протокол https, вместо http.
http://appslessons.com/ — Мой блог посвященный урокам приложений ВКонтакте
Аватара пользователя
alexei
Разработчик
Разработчик
 
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44
Откуда: Rostov-on-Don
Благодарил (а): 5 раз.
Поблагодарили: 54 раз.

Re: Защита приложения от перехвата данных

Сообщение benzema » 24 янв 2013, 08:35

alexei, спасибо, теперь стало всё понятно.
benzema

 
Автор темы
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Защита приложения от перехвата данных

Сообщение benzema » 24 янв 2013, 09:04

Дело то в том, что мне интересно как можно прикрыть php скрипт? раньше я использовал такую детскую схему, над всем кодом скрипта я ставил большой
if, в котором проверялось password==''какой-то пароль', а значение в password передавалось из приложения. Но даже HttpWatch мне рассказал какие я переменные передаю и их значения. Поэтому важность этой проверки пароль практически сводится на нет и любой человек может получиться доступ к моей бд через php скрипт.
benzema

 
Автор темы
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Защита приложения от перехвата данных

Сообщение Serge » 24 янв 2013, 11:42

benzema писал(а):Дело то в том, что мне интересно как можно прикрыть php скрипт? раньше я использовал такую детскую схему, над всем кодом скрипта я ставил большой
if, в котором проверялось password==''какой-то пароль', а значение в password передавалось из приложения. Но даже HttpWatch мне рассказал какие я переменные передаю и их значения. Поэтому важность этой проверки пароль практически сводится на нет и любой человек может получиться доступ к моей бд через php скрипт.

Содержимое php скрипта не видно пользователю.
По-этому, если передавать только важные параметры (а точнее, передавать что сделал пользователь) - то никакого вскрытия не будет.
Ну и если рассмотреть пример покупки чего либо за игровую валюту - наличие нужного количества валюты надо смотреть и на сервере тоже (вернее, можно только на нем, но я считаю такой вариант не очень хорошим, это порождает запрос на сервер даже если нет возможности покупки).
http://sevenlines.com.ua - разработка и продвижение сайтов
Serge
WEB Team
WEB Team
 
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55
Благодарил (а): 2 раз.
Поблагодарили: 65 раз.

Re: Защита приложения от перехвата данных

Сообщение benzema » 24 янв 2013, 16:09

Но допустим если мы перехватили, при покупке за игровую валюту такие данные:

action: "buyCat" - покупаем кота
uid: 2131231 - id пользователя
password: 1232131 - ключ доступа к выполнению php скрипта(если данные так перехватываются просто, то он и не нужен в простом виде, но если его зашифровать... Про шифрование я сказал так облачно, потому что честно не сталкивался с шифрованием и не пользовался им вобще md5 и тп. Кстате я простукивал другие приложения, там как раз так и этот ключ к скрипту зашифрован)

Нетрудно догадаться, что если мы напишем даже на as 3.0 простое приложение и обратимся к серверу с такими данными(тем более название переменных даже известно), php-скрипт сделает всё что нужно. Это вроде бы и не беда, если проверка на количество денег происходит на сервере, себе мы уже не сделаем бесконечное количество товаров, но опять же мы можем у других пользователей поубавить игровую валюту. - это раз.

А как же быть при покупке игровой валюты за голоса, мы же тут просто посылаем запрос на сервер, на добавление валюты, который злоумышленник сможет выполнить хоть 300 тыс. раз. - это два.(Кстате тут я могу ошибаться, потом у что с payments я тольком не работал)


Объясните мне всё же:
1.Как можно скрыть или зашифровать передачу password ? (gpv123 проснитесь, вы что то начинали говорить про https, а я понимаю что это такое, только не знаю куда прикрутить и с чего начать)
2.Возможно я вобще неправильно работаю с сервером.
Я отправляю запросы к серверу такие:
action: "что делать"
uid: ид пользователя в вк
password: ключ к работе php скрипта.
benzema

 
Автор темы
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Защита приложения от перехвата данных

Сообщение Alazaur » 24 янв 2013, 16:34

benzema, не нужно ничего шифровать и добавлять пароль.
Привожу пример покупки товара:
Клиент посылает на сервер данные:
  1. action: "by"; //действие совершаемое пользователем, предполагаю что "by" сервер воспринимает как покупка товара
  2. itemid: 1; //id покупаемого товара
  3. viewer_id: 12345; //id пользователя
  4. auth_key: 45kj45jkjh45u45; //auth_key вконтакте
  5. //можно добавить еще hash: md5 от конкатенации передаваемых данных. (необязателен, но можно использовать как "защиту от домохозяйки")

Сервер по auth_key удостоверяется, что это именно тот пользователь который пришел в viewer_id. Делает запрос в базу, запрашивая данные о товаре itemid. Делает запрос в базу за данными пользователя viewer_id. Проверяет что все нормально (достаточно денег, подходящий уровень, хватает репутации или какие-то еще ваши ограничения на покупку товаров). Если все ок, то покупает товар, если что-то не проходит возвращает ошибку.
В случае покупки игровой валюты за голоса, там вообще сервер вконтакте общается с вашим напрямую, эти запросы пользователь никак перехватить не может.

За это сообщение автора Alazaur поблагодарили - 2:
benzema, wierusna
Alazaur
Разработчик
Разработчик
 
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25
Благодарил (а): 24 раз.
Поблагодарили: 121 раз.

Re: Защита приложения от перехвата данных

Сообщение benzema » 24 янв 2013, 16:42

Alazaur, теперь всё стало понятно, спасибо. Пожал бы руку вам!
benzema

 
Автор темы
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.


Вернуться в Создание Flash-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron