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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как зашифровать-скрыть данные на вход в базу ? 
:(
    Опции темы
3D-Dragon
Дата 7.1.2003, 05:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 7.1.2003
Где: Днепропетровск, U A

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



Я в шоке :)
Пишу прогу использую базу FireBird, для доступа на форме лежит TpFIBDatabase.
В параметрах подключения к базе естественно прописываю логин и пароль SYSDBA|masterkey
Сижу ломаю голову как защитить базу, ответ известен - сменить пароль.
и в этот момент возникает мысль посмотреть файл скомпилированной проги по обычному F3
Увиденное вводит меня в столбнячное состояние
жму F3 -> F7 -> в поле ввода ввожу "password=" и жму искать, получаю
фрагмент:

_ctype=WIN1251password=masterkeyuser_name=SYSDBAsql_role_name= DefaultTransactionTransactionRead
SQLDialectTimeout LeftуTop  TpFIB

Ну и как мне ЭТО спрятать ?
Ведь поменяю я пароль на базу, а он тоже будет виден невооруженным глазом !!!

Прикол №2
Есть у меня прога и мне нужно было посмотреть структуру базы (Access) для изучения но никак я не мог до неё добраться.
Нашел чудную прогу "Passware Password Recovery Kit" и с её помощью добрался до пароля.
Сегодня жму F3 на файле это проги, ввожу строку поиска "password=", жму искать и получаю:

WidthZ TADOConnectionADOConnection1ConnectionString N  Provider=MSDASQL.1;Password=Herj<kelbt;Persist Security Info=True;User ID=Admin;Data Source=База данных MS Access;Extended Properties="DSN=База данных MS Access;DBQ


Это что получается ?
Все пароли к базам просто так доступны и нафик не нужны навороченные креки ?  :D

Разъясните, пож-та !
PM MAIL WWW ICQ   Вверх
Wowa
Дата 7.1.2003, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


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

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



Цитата
Прикол №2: Password=Herj<kelbt

Но это ведь вроде шифрованный пароль? или нет?
PM WWW   Вверх
XpyDi
Дата 7.1.2003, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата
Все пароли к базам просто так доступны и нафик не нужны навороченные креки ?

Ну это не совсем так. Дело в том, что как я понял ты смотрел бинарники самих программ, которые подключаються с каким-то(не известным тебе) паролем к базе данных. А ты не пробовал получить этот пароль из самой базы данных? (как получиться не забодь меня оповестить)
То, что пароль к базе данных в чистом виде лежит в бинарнике это уже серьёзные проблемы с безопастностью у разработчиков самой программы, а не у тех, кто проектировал и писал соответвующие драйвера и программы для работы с конкретной бд, хотя если это один и тот же человек, то думаю пора призадуматься стоит ли использовать такое ПО и такую бд у себя на работе.
PM MAIL WWW ICQ   Вверх
3D-Dragon
Дата 7.1.2003, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 7.1.2003
Где: Днепропетровск, U A

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



Цитата(Admin @ 06.1.2003, 21:18)
Цитата
Прикол №2: Password=Herj<kelbt

Но это ведь вроде шифрованный пароль? или нет?

Нет это не шифрованный пароль, просто набор символов такой.
Точно такой же пароль я получал и программой Passware   :rolleyes
PM MAIL WWW ICQ   Вверх
3D-Dragon
Дата 7.1.2003, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 7.1.2003
Где: Днепропетровск, U A

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



Admin
Цитата
Дело в том, что как я понял ты смотрел бинарники самих программ, которые подключаються с каким-то(не известным тебе) паролем к базе данных. А ты не пробовал получить этот пароль из самой базы данных? (как получиться не забодь меня оповестить)

Ну понятное дело, что из самой базы я не смогу получить пароль, но ведь в бинарнике то он доступен !!!
И доступен не только в проге, использующую FireBird, а и с базой Access те же грабли :)
Вот что меня удивляет ...

Цитата
То, что пароль к базе данных в чистом виде лежит в бинарнике это уже серьёзные проблемы с безопастностью

Так я же за этим и пришел на форум, чтобы научиться этой безопасности :)
Объясните, пож-та, как мне зашифровать-скрыть в бинарнике данные на вход в базу.
PM MAIL WWW ICQ   Вверх
Vit
Дата 7.1.2003, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



1) Обычно такие данные хранят не в бинарнике а во внешнем файле естественно в зашифрованном виде

2) Пароль всегда можно выяснить оттрассировав экзешник, как бы Вы его не шифровали всегда можно отследить чтО именно посылается в базу данных, поэтому это делается не так. Если нужен хороший уровень защиты то надо сделать так:

- все данные в БД достаются через Stored Procedures
- пользователь имеет право только запускать Stored Procedures, но не может читать таблицы или смотреть/редактирвать Stored Procedures
- Для каждого пользователя создаётся свой массив Stored Procedures, которые обеспечивают доступ только к его данным.

Тогда даже если пользователь и узнает пароль, он не сможет вытащить ничего что ему не положено.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
3D-Dragon
Дата 7.1.2003, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 7.1.2003
Где: Днепропетровск, U A

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



Vit
Большое человеческое СПАСИБО !

А какие еще есть варианты или указанный наиболее приемлемый ?
Слабо я знаю еще как создавать эти Stored Procedures и как ими пользоваться :(
Ссылочкой не кинешь где бы я мог восполнить этот пробел ?
PM MAIL WWW ICQ   Вверх
Vit
Дата 7.1.2003, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Я других способов не знаю. Первый способ простой - метод шифрования можно взять в нашем FAQ, надёжность способа очень низкая при любом методе шифрования - от чайника защитит, но не от взломщика. (теоретически можно и файл прикрепить к исполняемому модулю как ресурс-тоже есть в нашем FAQ)

Второй способ весьма надёжен и считается в настоящее время стандартом защиты баз данных. Stored Procedure - это процедура (считай кверя в особом формате) сохранённая на сервере, вызов её можно произвести через обычную кверю (Exec) или при помощи специальных компонентов. Я с Вашей базой данных не работал, не знаю... Попробуйте поискать в инете инфу по ключевым словам...




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
3D-Dragon
Дата 7.1.2003, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 7.1.2003
Где: Днепропетровск, U A

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



Vit
Спасибо, буду просвещаться :)

Еще такой вопрос:
Создам я пользователя, дам ему ограниченные права и т.д.
Как мне потом все эти привилегии создать при инсталяции программы.

Я вижу путь такой.
Есть сама прога, файл с базой (*.gdb) и инсталяшка самого сервера (FireBird)
Беру прогу для создания инсталяционного пакета, запихиваю туда эти файлы, определяю порядок установки, запуска и т.д. - это всё понятно.
А вот как мне прописать в инсталяхе создание юзера с определенными правами, да и поменять дефолтовые настройки (SYSDBA-masterkey) ?

И каким лучше пакетом для создания инсталяшек пользоваться ?
Их развелось сейчас очень много (InstallShield, InnoSetup, CreateInstall, etc.)
PM MAIL WWW ICQ   Вверх
Vit
Дата 8.1.2003, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(3D @ 06.1.2003, 18:35)
А вот как мне прописать в инсталяхе создание юзера с определенными правами, да и поменять дефолтовые настройки (SYSDBA-masterkey) ?

Обычно во всех базах данных есть готовые Stored Procedure или специальные запросы которые могут создавать пользователей, менять пароли, и т.п. - читай документацию по свое базе данных.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
XpyDi
Дата 8.1.2003, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



2Vit
А что мешает мне, как взломшику не имея пароль к базе данных просто использовать эти же Stored Procedure для достижения своих целей.
Или это просто вариант ограничить возможности взломщика правами доступными самой подопытной программе?
PM MAIL WWW ICQ   Вверх
3D-Dragon
Дата 8.1.2003, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 7.1.2003
Где: Днепропетровск, U A

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



XpyDi
О, свежая струя :)
Приветствую,
и можно подробнее о "вероломных планах" ?
PM MAIL WWW ICQ   Вверх
Vit
Дата 8.1.2003, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата
Или это просто вариант ограничить возможности взломщика правами доступными самой подопытной программе?


Именно так! Процедуры на то и процедуры, что они вовсе не дают возможность делать что хочешь в отличие от доступа к базе с администраторскими правами. Обычно сами процедуры составлены так, что в них жёстко прошиты права доступа - если процедура сделана для юзера "Вася" то как её ни вызывай, она не выдаст ни строчки информации о юзере "Петя". (Это так называемое "горизонтальное" ограничение). Кроме того процедура может не давать доступа к любым данным, например у тебя в таблице хранится "имя"-"адрес"-"номер кредитки" - твоя процедура возвращает только имя и адрес и юзер просто физически через эту процедуру не может узнать номер кредитки (Это так называемое "вертикальное" ограничение). Кроме того работая только с процедурами (текст которых пользователю тоже не доступен) пользователь не имеет ни малейшего понятия о структуре базы данных - ни о названиях таблиц, полей, ни о взаимоотношениях и т.п., что очень затрудняет взлом.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Vit
Дата 8.1.2003, 05:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(XpyDi @ 07.1.2003, 10:28)
2Vit
А что мешает мне, как взломшику не имея пароль к базе данных просто использовать эти же Stored Procedure для достижения своих целей.

Пусть пользуется. При правильно написанных процедурах ничего нового он не узнает, кроме того, что ему доступно через программу.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
SmaLL
Дата 14.1.2003, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
Обычно сами процедуры составлены так, что в них жёстко прошиты права доступа - если процедура сделана для юзера "Вася" то как её ни вызывай, она не выдаст ни строчки информации о юзере "Петя". (Это так называемое "горизонтальное" ограничение). Кроме того процедура может не давать доступа к любым данным, например у тебя в таблице хранится "имя"-"адрес"-"номер кредитки" - твоя процедура возвращает только имя и адрес и юзер просто физически через эту процедуру не может узнать номер кредитки (Это так называемое "вертикальное" ограничение). Кроме того работая только с процедурами (текст которых пользователю тоже не доступен) пользователь не имеет ни малейшего понятия о структуре базы данных - ни о названиях таблиц, полей, ни о взаимоотношениях и т.п., что очень затрудняет взлом.


Я что-то не совсем понял - что мешает "Пете" вызвать хранимку для "Васи" ?


--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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