Delphi+MySQL: пароль в экзешнике
При создании элементарного приложения подключающегося к БД MySQL или другим БД, в параметр ConnectionString компонента Connection1 железно вбивается имя сервера, логин и пароль.
После получения EXE файла проекта, значение параметра ConnectionString (имя сервера, логин и пароль) легко находится в нем.
Как избежать этого и непотерять логин и пароль?
Иногда и простого упаковщика хватает, а иногда и ассемблерные вставки для антиотладки необходимы.
Иногда и простого упаковщика хватает, а иногда и ассемблерные вставки для антиотладки необходимы.
А как это делается по правильному?
Какие технологии использовать при работе с БД, чтобы получить высокий уровень безопасности и защищенности.
Иногда и простого упаковщика хватает, а иногда и ассемблерные вставки для антиотладки необходимы.
А как это делается по правильному?
Какие технологии использовать при работе с БД, чтобы получить высокий уровень безопасности и защищенности.
А что, нужен очень высокий уровень? Сейчас нет средств стопроцентной защиты.
Покури в сторону разграничения прав.
Прикрути фильтрацию по mac+ip, перенести пароли из кода в файл, зашифровав их однонаправленным алгоритмом с солью, соль генерируй другим алгоритмом, напихай антиотладочных механизмов, используй упаковщики и врапперы, чтобы нельзя было узнать, чем запакован файл. Что-нибудь в таком духе.
Зачем вообще в код зашивать пароль и логин? Это ведь для того, чтобы доступ получали все?
Правильный ответ - никак. Все остальное - херня.
Правильный ответ - никак. Все остальное - херня.
а технология MIDAS от Borland предоставляет надежность и защищенность доступа данных?
стойт ли начинать использовать такой метод доступа к данным?
Правильный ответ - никак. Все остальное - херня.
а технология MIDAS от Borland предоставляет надежность и защищенность доступа данных?
стойт ли начинать использовать такой метод доступа к данным?
Понимаешь, бесполезно рассуждать о надежности и защищенности - в отрыве от конкретной задачи. MIDAS не является, насколько мне известно, защищенным протоколом - но можно уточнить у компании-разработчика.
Опять же - все зависит от твоих задач. По конкретному примеру - хранение пароля внутри исполнимого файла сводит на нет всю безопасность однозначно. И дело не в том, что зашифрованый файл либо нет - проблема в том, что зная пароль к одной базе, где используется твоя программа, любой пользователь по сути знает пароль к суперпользователю (а такие ребята как ты, редко вообще знают о том, что есть и другие пользователи БД :) ) на любой базе, где используется твоя программа. Т.е. использовать твою разработку - крайне небезопасно именно по этой причине. Все равно, что опубликовать пароль для БД на любом хакерском сайте.
Даже если программа будет использоваться только на одном предприятии - ты же не будешь менять пароль и перекомпилировать программу после каждого увольнения админа?
Поэтому я и говорю - вопрос чем зашифровать пароль в экзешнике - сам по себе бредовый. Из разряда - какую бронированную дверь мне поставить в палатку. Проблема ведь не в двери. Что само по себе никак не отменяет факта, что в палатке можно жить и хранить там вещи. Все зависит от ситуации.
из вашего ответа я ничего полезного не узнал (касаетельно моего вопроса)