Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита данных, Как защитить значения переменных? 
:(
    Опции темы
W4FhLF
Дата 25.9.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 6
Всего: 121



Цитата(Alexeis @  25.9.2007,  12:11 Найти цитируемый пост)
Отладчик попадает в категорию "другая софтина."


Насколько я понял, имелись ввиду только сканеры памяти. В таком случае, всё будет зависеть от уровня того, кто будет юзать "другую софтину". 



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Aprol
Дата 26.9.2007, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 15.6.2007

Репутация: нет
Всего: нет



На счет объекта Пользователь, его что артмоней не возьмет?

2Alexeis , "Лучше чтобы это все в самой базе было уже зашифровано определенным образом, а затем нетривиальным образом сверялось. Т.е. не так чтобы if (UserNum = 007) then SetAllPrivileges(); "
каждый раз делать запрос к базе на проверку привелегий?

PM MAIL   Вверх
Alexeis
Дата 26.9.2007, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



  Ну можно сделать скажем набор чисел определяющие привелегии пользователя (например массив) и соответственно от этих чисел будет зависеть порядок некоторых операций, что в конечном итоге позволит или нет произвести операцию для которой нужны особые права. Можно смешать эти числа с другими данными о пользователе, а имя пользователя (его номер) использовать чисто для вывода на экран. Т.е. сверять пользователя не по имени, а по другим замаскированным под что-то полезное данным. Можно делать это даже в разное время. Типа сначала получить имя затем другие параметры. Желательно проверки на права осуществлять не в момент, когда нужно произвести операцию и не в момент, когда пользователь логинится , а некоторым образом между этими двумя событиями, таким образом при отладке нельзя будет определить момент, когда программа запретила что-то и исправить условный jne на безусловный jmp.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 26.9.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Aprol @  26.9.2007,  08:23 Найти цитируемый пост)
На счет объекта Пользователь, его что артмоней не возьмет?
В нём просто можно реализовать геттеры и сеттеры для прозрачного преобразования.
Также объект можно создать динамически, по принципу, который я описал выше.
Да. Артмани его не возьмёт, если проделать вышеуказанные мной операции.
PM MAIL   Вверх
Aprol
Дата 26.9.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 15.6.2007

Репутация: нет
Всего: нет



Цитата(Alexeis @ 26.9.2007,  09:20)
Ну можно сделать скажем набор чисел определяющие привелегии пользователя (например массив) и соответственно от этих чисел будет зависеть порядок некоторых операций, что в конечном итоге позволит или нет произвести операцию для которой нужны особые права. Можно смешать эти числа с другими данными о пользователе, а имя пользователя (его номер) использовать чисто для вывода на экран. Т.е. сверять пользователя не по имени, а по другим замаскированным под что-то полезное данным. Можно делать это даже в разное время. Типа сначала получить имя затем другие параметры. Желательно проверки на права осуществлять не в момент, когда нужно произвести операцию и не в момент, когда пользователь логинится , а некоторым образом между этими двумя событиями, таким образом при отладке нельзя будет определить момент, когда программа запретила что-то и исправить условный jne на безусловный jmp.

ТО есть нужно будет в базе вводить еще одно поле?
Ну оно у меня есть где обозначается тип пользователя.
PM MAIL   Вверх
Alexeis
Дата 26.9.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Aprol, ну чтобы давать конкретные советы нужно уточнить, что и от кого нужно защитить? Т.е. если нужно разграничить права пользователей на доступ к информации, то это лучше делать на стороне сервера. Если нужно защитить данные на локальной машине от того что кто-то может запустить чужую машину и достать из нее информацию, то защита должна быть в программе. 
  Имя и тип пользователя это хорошо, когда эту информацию нельзя подменить.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Aprol
Дата 27.9.2007, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 15.6.2007

Репутация: нет
Всего: нет



Alexeis,   конечно нужно и то и то.
Я сделал вывод: при каждой операции требующей определенные права, делается запрос на сервер и проверяется тип пользователя по его логину и id. Перед запросом программа-клиент проверяет верность этих данных, т.е. сверяет логин при авторизации с текущим.
правильно думаю?)))
PM MAIL   Вверх
Alexeis
Дата 27.9.2007, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



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


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.