ImageCMS: High Safety
Здравствуйте! Сегодня расскажем о защитных механизмах ImageCMS от всевозможных атак и взломов. Не станем уходить в детали того, к каким результатам может привести взлом корпоративного сайта или Интернет-магазина — диапазон “сюрпризов” слишком широк: от потери данных до значительного снижения % продаж. А еще падение позиций сайта…испорченная репутация. Мы постоянно работаем над тем, чтобы наши пользователи избежали подобной участи; ImageCMS — надежная, безопасная система.
Давайте подробнее разберемся в том, какие виды угроз существуют, и как мы достигли безопасности в ImageCMS.
Защита от уязвимости CSRF (Cross-Site Reference Forgery) при помощи специальной библиотеки CodeIgniter
Суть уязвимости заключается в следующем: пользователь отправляет HTTP запрос для выполнения любого действия с Web-приложением. Сессии (данные про них хранятся в Cookie), помогают определить, от кого происходит действие. Сервер, получивший запрос, проверяет Cookie, затем осуществляет действие от имени связанного с сессией пользователя. Браузеры посылают Cookie установившему их серверу, таким образом пользователь может остаться залогиненым на ресурсе. То есть, Cookie отправляются вместе с запросом из браузера пользователя, и сервер думает, что выполняет определенные действие от его имени. А поскольку браузер может отослать запрос и с любой сторонней страницы, возникает угроза уязвимости в случае, если сервер обработает такой запрос аналогично, как и со своей страницы. От данного типа уязвимости пользователей ImageCMS убережет защита в библиотеке Security, которая включена по умолчанию.
Защита от XSS (Сross Site Sсriрting)
Одной из разновидностей атаки “внедрение кода” является межсайтовый скриптинг — XSS — лидер среди других уязвимостей. Хакер встраивает в страницу вредоносный код, с которым взаимодействует сервер злоумышленника после выполнения этого кода на компьютере пользователя. Внедрение кода осуществимо вследствие неправильной проверки вводимых пользователем данных. Особенностью подобной атаки является то, что этот код может получить расширенный доступ к системе или данные для авторизации пользователя. Код можно вставить как через уязвимость на ПК пользователя, так и через уязвимость сервера. Опасность атаки заключается в том, что на странице или в Cookie могут быть важные данные (например, платежные документы). Атакующий, имея доступ к ним, сможет выполнить любое действие на правах владельца. Украв Cookie администратора, хакер будет иметь больше шансов добраться и до баз данных. Этот вид атаки является безопасным для сервера, но вредоносным для клиента — это может быть любой код на стороне пользователя: Flash, VBScript, JavaScript и тому подобные.
Система ImageCMS неуязвима к подобного рода атакам, поскольку написана на фреймфорке CodeIgniter. Он автоматизирует процесс фильтрации входящих данных (фильтрация возможна также вручную). Фильтр служит для поиска кода, который способствует похищению Cookie или другим опасным целям. Обнаруженные запрещенные сущности преобразовываются в безопасные объекты. При получении данных используется функция фильтра: $val->set_rules(’email’, lang(‘lang_email’), ‘trim|required|min_length[3]|xss_clean|valid_email’).
Защита от SQL injection
Хакеры не дремлют и часто пытаются найти всевозможные лазейки в ImageCMS для того, чтобы подкосить ее работоспособность, в том числе — с помощью SQL-инъекций, связанных с вмешательством в логистику функционирования скрипта. Данный вид атаки, основанный на внедрении в запрос непроизвольного вредоносного SQL-кода, нацелен на сайты и программы, работающие с базами данных. Такая атака на БД позволяет выполнять незапланированные создателем скрипта действия: атакующий получает возможность управлять содержимым таблиц, читать или записывать локальные файлы, добавлять либо изменять имеющиеся данные на атакуемом сервере. Эта уязвимость обычно появляется на стороне сервера, но может быть использована и на стороне клиента; атака возможна в связи с некорректной обработкой входящих данных, которые используются в SQL-запросах.
В случае с основной формой атаки вредоносный код вставляется во входные переменные, которые будут выполнены после объединения с SQL-командами. Менее явная атака предполагает ввод хакерского кода в строки, которые будут храниться в виде метаданных либо в таблице. Выполнение кода происходит после их объединения с SQL-командой. Присоединение новой команды к преждевременно завершенной текстовой строке осуществляет атаку. Внедряемая вредоносная строка заканчивается меткой комментария «—», так как к команде могут быть присоединены дополнительные строки перед выполнением.
SQL Server выполняет все запросы, являющиеся синтаксически корректными, поэтому на предмет уязвимости необходимо проверять все процессы, которые создают инструкции SQL. Тем более, что опытный хакер может манипулировать даже параметризованными данными. ImageCMS – качественная и эффективная система, которая отличается высокой защитой от модифицированных запросов к базам данных. Внутренние механизмы защиты обеспечивают тщательную обработку и фильтрацию всех запросов перед запуском. Запросы с параметрами отсылаются в форме подготовленных выражений, поэтому исключена любая возможность осуществления SQL-инъекций. Это дает нашим пользователям следующие преимущества:
- гарантированная защита от этого вида атаки;
- существенный рост скорости процесса обработки неоднократно применяемых SQL-запросов;
- веб-разработчику нет необходимости экранировать передаваемые параметры.
Следующее преимущество, которое играет за одно с разработчиком против хакерских атак — Propel ORM. Она предоставляет необходимые для работы с БД инструменты таким же путем, как работа с РНР-объектами и другими классами. Дает разработчику доступ к БД, применяя разные объекты, которые предоставляются АРІ для обработки и хранения данных. На вооружении у нас также функционал Active Record, позволяющие разрабатывать приложения вне зависимости от конкретной БД. Синтаксис запросов формируется адаптером соответственной БД. Так как значения экранизируются автоматически, запросы создаются более безопасные.
Уникальные encryption key позволяют каждому сайту иметь уникальные хэш-суммы для хранения важной информации (например — паролей). Вы получаете высокую степень сохранности ваших данных.
Как видите, ImageCMS со всех сторон вооружена от разных видов атак. Наша команда постоянно работает над повышением безопасности сайтов наших Клиентов, про дальнейшие обновления будем оперативно сообщать в следующих статьях!