Progress-servis55.ru

Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как защитить базу данных

Как защитить базу данных от взлома по строке подключения?

Бд изолируют как правило и работают через слой АПИ. Никакие строки подключения у клиента нигде быть не должны.

Запрос из вашего приложения или браузера -> MVC контроллер -> обращение к базе из вашего кода.

Строка подключения при этом будет лежать в web.config или appsettings.json на сервере.

Всё зависит от того, где и как лежит эта строка.
Если это веб-приложение и база крутится на сервере, то юзер не увидит эту строку, она запрятана в исходном коде приложения.

Если это какая-то локальная программа, которая дёргает локальную же базу, то не совсем понятно, в чём проблема.

Если это какой-то сайт и пользователь подрубается к базе, вводя логин и пароль и передавая его plaintext’ом, то веб-макаке, которая так сделала, надо рвать руки.

В общем, уточните контекст.

Всё что запускается на машине атакующего может быть взломано.

Чушь. Взломайте-ка мне сервер Касперского, у меня антивирь к их серваку за обновлениями цепляется.

Если вы зашиваете мастер-пароль базы с программу, считайте что ваша базу уже не ваша.

Взломайте-ка мне сервер Касперского, у меня антивирь к их серваку за обновлениями цепляется.

Можно «зашить» хэш дли-и-и-инного пароля и передавать уже его.

то есть впихнуть саму строку в код программы из конфига.

И зашифровать только строку или файл с кодом в целом?

Ну «зашифровать» будет чересчур сложно, я думаю. Можно просто закодировать в какой-нибудь base64 и на сервере раскодировать обратно, если будет возможность. Можно обфусцировать, как советовали выше, разбить строку на кусочки, сунуть их в разные части кода и потом собрать.

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

И какая разница, я отправляю из своей программы этот хеш, сервер верит мне как родному приложению. В чём тут плюс хеша?

существует ли возможность поправить программу (нужен исходный код)?

я бы зашил и зашифровал строку подключения в саму программу

Ну «зашифровать» будет чересчур сложно, я думаю. Можно просто закодировать в какой-нибудь base64 и на сервере раскодировать обратно, если будет возможность. Можно обфусцировать, как советовали выше, разбить строку на кусочки, сунуть их в разные части кода и потом собрать.

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

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

Защита баз данных

Уязвимость баз данных

Проблема защиты баз данных стала актуальной в связи с широким внедрением многопользовательского сетевого доступа к СУБД.

На ранних этапах развития несанкционированный доступ к БД был связан скорее с уязвимостями в физических и юридических уровнях защиты оборудования и ПО. Старые базы данных (dBase, FoxPro, Paradox и т.д.) представляли собой совокупность особым образом организованных файлов (файл-серверная архитектура). Получив доступ к компьютеру с БД и возможность копировать файлы, злоумышленник мог легко похитить данные.

Современные многопользовательские БД организуются по клиент-серверному принципу: программа-сервер обслуживает сетевые запросы программ-клиентов. Для копирования базы данных недостаточно получить права для работы с ней. Зачастую не представляется возможным выяснить даже физическое местоположение содержащих ее устройств и их структуру: запрашиваемые пользователем данные пересылаются по сети определенными порциями в соответствии с его полномочиями. Таким образом, сетевой доступ к БД не только дает возможность удаленной и коллективной работы с данными, но и обеспечивает дополнительную защиту за счет разграничения прав доступа.

Попробуй обратиться за помощью к преподавателям

Тем не менее, проблемы утечки и потери данных сохраняются. Ниже будут рассмотрены некоторые методы защиты БД от несанкционированного доступа и других уязвимостей.

Читать еще:  Способы защиты конфиденциальной информации

Рисунок 1. Причины утечек данных. Автор24 — интернет-биржа студенческих работ

В данной статье не рассматриваются изолированные (встроенные) базы данных, а также однофайловые серверные БД типа SQLite, где защита обеспечивается внешними по отношению к ним средствами.

Методы защиты БД

К основным средствам защиты данных относят следующие:

  • вход по паролю: для начала работы с БД необходимо ввести определенную комбинацию символов;
  • разграничение прав доступа к объектам БД;
  • защита полей и строк таблиц БД;
  • шифрование данных.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

В современных БД чаще всего применяются методы, связанные с разграничением доступа. Например, могут предоставляться следующие права доступа к таблицам:

  • чтение данных;
  • редактирование данных;
  • добавление записей;
  • добавление, изменение и удаление данных;
  • изменение структуры таблицы.

Рисунок 2. Назначение полномочий пользователям на действия с таблицами.Автор24 — интернет-биржа студенческих работ

Обычно СУБД дает возможность комбинировать права доступа, предоставляемые пользователям, объединять их в группы (роли). Практикуется также и обратный подход: объединение пользователей в группы и наделение их однотипными полномочиями.

Выше были перечислены проблемы и методы, связанные с защитой от несанкционированного доступа. Однако в отношении современных баз данных действуют и другие угрозы. Для их предотвращения в СУБД встраивают дополнительные средства:

  • повышение достоверности вводимых данных: с помощью ограничений, закладываемых при проектировании таблиц, а также масок ввода в формах предотвращается появление в БД некорректных записей, например, когда превышается количество дней в месяце (31 ноября), вводятся слишком большие или слишком малые значения, появляются незаполненные поля где это недопустимо и т.п.;
  • обеспечение целостности связей между таблицами: таблицы, как правило, включают в себя т.н. ключевые поля, благодаря чему становится невозможным в связанных таблицах появления ссылок на несуществующие записи; например, если в таблице «Покупатели» нет пользователя с идентификатором 123, то невозможным становится и внесение этого значения в соответствующее поле таблицы «Покупки»;
  • резервное копирование: при наступлении обстоятельств непреодолимой силы (отключение электроэнергии, природные катастрофы) данные могут быть утрачены, поэтому следует регулярно копировать БД на внешние носители и удалённые хранилища; резервные копии рекомендуется хранить в зашифрованном виде; большинство современных СУБД предоставляет готовые механизмы резервного копирования;
  • правовые аспекты: БД могут являться объектами интеллектуальной собственности и авторских прав, поэтому следует своевременно регистрировать их в соответствующих государственных органах; хранение персональных данных в БД также регулируется законодательством;
  • компьютеры и операционные системы, на которых развернуты БД, также должны соответствовать правилам безопасности: сетевые данные должны передаваться по защищенным соединениям, пользователи — работать с ограниченными полномочиями, на ОС должны присутствовать антивирус и/или фаервол и т.п.

Примеры защиты БД

PHP, MySQL и РhpMyAdmin

При использовании популярной среди веб-программистов «связки» PHP и MySQL защиту баз данных можно организовать с помощью программы phpMyAdmin. Она предназначена для управления сервером MySQL через Интернет. phpMyAdmin с помощью удобного пользовательского интерфейса обеспечивает управление базами данных, таблицами, индексами, правами пользователей, и т.д., а также позволяет выполнять SQL запросы.

Безопасность в рассматриваемой программе обеспечивается на нескольких уровнях. На первом защиту предоставляет сама система «phpMyAdmin»: для входа в панель управления требуется ввести логин и пароль. Далее уже сама СУБД MySQL разграничивает права доступа в соответствии с записями о пользователях и их полномочиях, а phpMyAdmin лишь сообщает о том, были ли удачными попытки произвести запросы к БД.

Microsoft Access

К данным, хранящимся в таблицах Microsoft Access, могут применяться следующие уровни доступа:

  • полный запрет доступа;
  • только чтение;
  • просмотр, ввод новых значений, удаление и изменение.

С этой точки зрения Microsoft Access соответствует стандартной концепции реляционных БД.

К формам и отчетам в Access применяют два метода защиты:

  • запрет вызова режима Конструктора (например, чтобы конечный пользователь случайно не повредил приложение);
  • защита отдельных элементов: например, некоторые поля исходной таблицы могут быть скрыты от пользователя.

В Microsoft Access предусмотрена также защита всего приложения общим паролем, а также хранение данных в оптимизированном виде (файле mde), в котором невозможно править формы, отчеты, структуру таблиц и другие характеристики БД.

Читать еще:  Какие виды защиты вы знаете

Рисунок 3. Настройки безопасности Microsoft Access. Автор24 — интернет-биржа студенческих работ

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Разработка защиты информации баз данных

Защита базы данных относится к коллективным мерам безопасности. Они направлены на предотвращение несанкционированного доступа к информации путем кибератак. Наши специалисты обеспечат защиту баз данных, создадут эффективную систему управления информационными потоками.

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

  • разделение баз данных и веб-серверов;
  • шифрование сохраненных файлов и резервных копий;
  • регулярное обновление используемого программного обеспечения до последних версий;
  • осуществлять контроль безопасности.

Последний пункт важен для защиты информации базы данных, так как в новых патчах разработчики исправляют системные ошибки – «закрывают дыры», через которые могут проникать злоумышленники. Наши специалисты сталкиваются со следующими причинами обхода защиты баз данных программы:

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

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

Поэтому на защите доступа баз данных не стоит экономить. Работу по обеспечению безопасности следует доверять опытным, квалифицированным специалистам. Гарантируем организацию профессиональной защиты баз данных. Способы защиты, используемые нами, соответствуют современным техническим, технологическим требованиям.

Разработка защиты баз данных

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

Технология защиты баз данных подразумевает комплексный подход. Он состоит из нескольких этапов:

  1. Предметный анализ, который включает определение статуса информации, пользователей, объемно-временных характеристик обработки информации.
  2. Создание структуры базы данных.
  3. Организация восстановления БД. Один из важных элементов защиты баз данных в Access.
  4. Анализ эффективности функционирования БД.
  5. Работу с персоналом компаний, организаций, обучение регламенту работы с БД. Так обеспечивается, в том числе, и защита баз данных MYSQL.
  6. Организация отслеживания действий пользователей в системе.
  7. Отладка взаимодействия администраторов с персоналом и внешними специалистами (если это необходимо), без ущерба безопасности;
  8. Тестирование программ, технологий разработки и защиты баз данных на предмет работоспособности.

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

Методы защиты и безопасность базы данных

физико-математические науки

  • Дудкина Анастасия Сергеевна , бакалавр, студент
  • Баш­кирс­кий го­су­дарст­вен­ный аг­рар­ный уни­вер­си­тет
  • Похожие материалы

    В настоящее время практически ни одна современная организация не обходится без использования баз данных в своей деятельности. Базы данных (БД) — это наиболее значимый и ценный актив для любой компании. Поскольку в БД может храниться очень деликатная или конфиденциальная информация, необходимо очень серьезно относиться к ее защите. Любые сбои в работе СУБД и баз данных могут привести к катастрофическим последствиям.

    К основным средствам защиты информации относят следующие:

    • парольная защита;
    • защита полей и записей таблиц БД.
    • установление прав доступа к объектам БД;
    • шифрование данных и программ;

    Защита БД производится на двух уровнях:

    • на уровне пароля;
    • на уровне пользователя (защита учетных записей пользователей и идентифицированных объектов).

    Безопасная система авторизации и регистрации является одним из важнейших элементов при создании проекта. Один из возможных способов — это создание системы регистрации с помощью PHP и MySQL.

    РhpMyAdmin — это программа написанная на PHP и предназначенная для управления сервером MySQL через всемирную сеть. phpMyAdmin поддерживает широкий набор операций над MySQL. Наиболее часто используемые операции поддерживаются с помощью пользовательского интерфейса (управление базами данных, таблицами, полями, связями, индексами, пользователями, правами, и т. д.), одновременно вы можете напрямую выполнить любой SQL запрос.

    Обеспечение информационной безопасности разрабатываемого проекта осуществляется на нескольких уровнях. На первом уровне защиту информации обеспечивает сама система «phpMyAdmin» начиная со входа в панель управления где панель требуется ввести логин и пароль.

    Рисунок 1. Авторизация в системе «phpMyAdmin»

    Следующий уровень защиты обеспечивает СУБД MySQL, разграничивая также права доступа.

    Рисунок 2. Обзор учетных записей

    Кроме того, также можно ограничить доступ не только к самой системе управления базами данных, но и отдельно к базам данных, к таблицам базы данных, к записям конкретных таблиц и даже к значениям полей таблиц или записей. Стоит отметить, что встроенные функции шифрования присутствуют далеко не во всех СУБД. Следовательно, универсальным данный метод назвать нельзя. Данная СУБД предлагает два однотипных набора функций шифрования, в одном из которых реализован алгоритм DES, а в другом — AES. Кроме того, в MySQL реализовано несколько алгоритмов хэширования. Набор криптографических функций данной СУБД выглядит так:

    Таблица 1. Криптографические функции СУБД

    Зашифрование данных алгоритмом AES.

    Расшифрование данных алгоритмом AES.

    Зашифрование данных алгоритмом DES.

    Расшифрование данных алгоритмом DES.

    Зашифрование данных функцией crypt().

    Хэширование данных алгоритмом MD5.

    Хэширование данных алгоритмом SHA-1.

    Функции шифрования данных алгоритмом AES используют 128-битный ключ шифрования, т. е. шифрование ключами размером 192 и 256 бит, предусмотренными стандартом AES , в MySQL не реализовано. Ключ шифрования задается явным образом как один из параметров функции. В отличие от них, функции DES_ENCRYPT() и DES_DECRYPT(), которые шифруют алгоритмом TripleDES, помимо явного задания ключа шифрования, допускают простейший вариант управления ключами в виде ключевого файла, содержащего пронумерованные значения ключей. Однако, данные функции по умолчанию выключены, для их использования необходимо включить поддержку протокола SSL в конфигурации СУБД.

    Функция ENCRYPT() может быть использована только в операционных системах семейства Unix, поскольку она шифрует данные с помощью системного вызова crypt(). Что касается используемых функций хэширования, то в документации на MySQL содержится предупреждение о том, что лежащие в их основе алгоритмы взломаны (подробно об этом написано, в частности, в, поэтому использовать их следует с осторожностью. Однако, MySQL пока не предлагает более стойких функций хэширования взамен существующих. Перечисленные выше криптографические функции также весьма просты в использовании. Например, следующий запрос помещает в таблицу table значение “text”, зашифрованное на ключе “password” : INSERT INTO table VALUES ( 1, AES_ENCRYPT( ‘text’, ‘password’ ) ); Отметим, что формат поля, в которое записывается зашифрованное значение, должен соответствовать ограничениям, накладываемым используемым криптоалгоритмом — в данном случае, оно должно быть двоичным (например, типа VARBINARY) и предполагать выравнивание в соответствии со 128-битным размером блока алгоритма AES.

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

    Список литературы

    1. Мельников,В.П.Информационная безопасность и защита информации. / В.П.Мельников,
    2. С.А.Клейменов, А.М.Петраков // 3-е изд., стер. — М.: Академия, 2008. — 336 с.
    3. Панасенко С.П. Комплексная защита информации. // Информационные технологии. -2001 — № 3 — с. 14-16
    4. Рабочая программа дисциплины «Информационная безопасность» : направление подготовки 080500 Бизнес-информатика [Электронный ресурс] : профиль подготовки Информационные системы в бизнесе : квалификация (степень) выпускника Бакалавр / Башкирский ГАУ, [Каф. информатики и информационных технологий ; сост. А. Р. Басыров]. — Уфа : [б. и.], 2013. — 16 с. — Б. ц.
    5. Сайт PHP веб-приложения «phpMyAdmin» [Электронный ресурс]. – Режим доступа: http://www.phpmyadmin.net/home_page/ , свободный

    Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

    Соучредители СМИ: Долганов А.А., Майоров Е.В.

Ссылка на основную публикацию
Adblock
detector