По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы уже рассказывали об опасности атак на системы IP-телефонии, о том, как можно использовать скомпрометированную систему и кому это может быть выгодно. В данной статье, подробно разберём один из способов атак на системы, работающие по протоколу SIP, через генерацию вредоносного пакета и последующую компрометацию учётной записи. Вы убедитесь, что провести подобную атаку - совсем не сложно. Инструменты для её осуществления не являются какой-то сверхсекретной разработкой и находятся в свободном доступе. Цель данной статьи - показать, к чему может привести недостаточное внимание, уделённое вопросам безопасности при настройке систем IP-телефонии и как просто это могут использовать злоумышленники. Внимание! Информация, представленная в данной статье, носит исключительно ознакомительный характер. Компания Мерион Нетворкс не несёт ответственности за последствия применения техник и способов, описанных в данном материале. Напоминаем, что неправомерный доступ к компьютерной информации преследуется по закону и влечет за собой уголовную ответственность. Атака, о которой мы поговорим, связана с процессом аутентификации по протоколу SIP, а именно - с получением информации из заголовков SIP пакета и её последующая обработка для извлечения учётных данных. Чтобы понять её суть и определить, какие системы уязвимы к данной атаке, нужно вспомнить как происходит SIP аутентификация. Как показано на рисунке: Клиент отправляет запрос регистрации на сервер; Сервер сообщает о необходимости зарегистрироваться и запрашивает данные для аутентификации; Клиент повторно отправляет запрос регистрации, но на этот раз со строкой Authorization, в которой указаны учётные данные; Сервер проверяет учётные данные в локальной базе и если есть совпадения – разрешает регистрацию. В стандартном процессе SIP аутентификации все запросы клиентов и ответы от сервера идут в строгой последовательности. Пользователь просто вводит учётные данные и клиент сам формирует пакеты для отправки на сервер, которые он может обработать. Если учётные данные не верны, то сервер не разрешит регистрацию и дальнейшее взаимодействие для осуществления звонков. Однако, злоумышленник, используя специальные инструменты, может сам решать какие отправлять пакеты и более того - осуществлять их формирование. Наверное, Вы догадались, что ключевым моментом процесса SIP аутентификации является отправка клиентом повторного запроса REGISTER, который также содержит учётные данные для регистрации на сервере. Как раз в этот момент, наш потенциальный злоумышленник и нанесёт свой удар. Давайте рассмотрим, что из себя представляет строка Authorization в повторном запросе REGISTER. Как видно на рисунке, заголовок Authorization включает в себя следующие поля: Authentication Scheme - метод аутентификации; Поскольку SIP многое унаследовал от протокола HTTP, то и схема аутентификации в нём основана на HTTP аутентификации, которая также называется Дайджест (Digest) аутентификация. Эта схема применяется серверами для обработки учётных данных от клиентов. При этом, часть учётных данных передаётся в виде хэш-сумм, которые сервер комбинирует с открытыми данными и вычисляет пароль для данного клиента. Это значительно повышает уровень безопасности, но как мы убедимся в дальнейшем – не помогает при некорректной настройке учётной записи. Username - имя пользователя, заданное на сервере. В нашем случае – это внутренний номер 3354; Realm - параметр, определяющий подключение к серверу телефонии; Как правило, администратор VoIP сервера сам настраивает realm и транслирует его пользователю, который хочет осуществить подключение. Например, у провайдеров облачных услуг это может быть строка вида domain.com, в сервере Asterisk, по-умолчанию значение этой строки - asterisk. Nonce Value - рандомно сгенерированная сервером, уникальная строка, при формировании ответа 401 в сторону клиента. В дальнейшем используется сервером в вычислениях после получения учетных данных от клиента, должна совпадать с тем, что пришло от сервера; Authentication URI - унифицированный идентификатор ресурса. В нашем случае, ресурсом является сервер, расположенный по адресу 123.45.67.89, обращение к нему происходит по протоколу SIP, по порту 5060. Digest Authentication Response - ответ от клиента, посчитанный на основании данных, полученных от сервера. На основании этого значения сервер в том числе сверяет пароль, который задан клиенту. Согласно RFC 2069, который описывает HTTP дайджест аутентификацию, response вычисляется следующим образом: HA1 = MD5(username:realm:password) HA2 = MD5(method:digestURI) response = MD5(HA1:nonce:HA2) Как видите, на основании MD5 хэш-сумм полей: username, realm, password (да, это пароль клиента), method, digestURI и nonce высчитывается тот самый заветный response, от которого зависит регистрация клиента на сервере, а следовательно, и возможность осуществлять им вызовы. Algorithm - алгоритм, по которому высчитывался response Догадываетесь о чём идёт речь? О том, что если злоумышленник заполучит полную строку Authorization, то он может вычислить пароль клиента, зарегистрироваться на сервере и спокойно звонить куда ему вздумается. Пространство для данной атаки достаточно обширное. Дело в том, что клиент может передавать строку авторизации в нескольких запросах – в уже известном нам REGISTER, INVITE или BYE. Атакующему не составит труда притвориться “сервером” и затребовать от клиента аутентификации. Для этого, атакующий направит в сторону клиента, созданный с помощью специальной программы вредоносный SIP пакет с ответом 401 Unauthorized, который будет содержать строку, заставляющую клиента отправить учётные данные. Данная строка должна содержать realm и nonce . Выглядит эта строка следующим образом: Таким образом, атака может выглядеть следующим образом: С точки зрения атакуемого, это будет выглядеть как простой звонок, на другой стороне трубки которого будет тишина. Он даже не будет подозревать о том, что его учётные данные вот-вот утекут к злоумышленнику. Атакующий в нужный момент разорвёт соединение, отправив BYE и затем сформированный вредоносный пакет. Нагляднее всего приводить в пример прямое взаимодействие между клиентами. Такой сценарий становится, когда есть возможность отправлять SIP запросы напрямую до оконечного клиента. Например, когда телефон выставлен в открытую сеть по SIP порту. Помимо этого, уязвимости подвержены сервера, разрешающие прямое взаимодействия между оконечными клиентами. Лучше всего, пропускать все запросы через Proxy-сервер. Итак, данной атаке могут быть подвержены: IP-телефоны с открытыми в интернет SIP-портами; IP-телефоны, отвечающие на запросы INVITE от неизвестных серверов; IP-АТС, разрешающие запросы INVITE напрямую до клиентов.; Заполучив полную строку Authorization атакующий может в оффлайн режиме подобрать пароль к учётной записи. Для этого ему нужно подать на вход специального скрипта, который перебирает хэш-суммы по словарям, перехваченные данные: username, realm, method, digestURI, nonce и наконец - response. На выходе он получит пароль от учётной записи. Если пароль слабый или, ещё хуже, совпадает с username, то время перебора не превысит 1 секунды. Чтобы этого не случилось, даже если злоумышленник перехватит необходимую информацию, используйте стойкие пароли к учётным записям, да и вообще везде, где только можно. В этом Вам может помочь наш генератор паролей.
img
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файловый режим, владельца объекта и отметку времени. Gzip является отсылкой к формату файлов .gz и утилите gzip, используемой для сжатия и распаковки файлов. В данной статье мы покажем, как использовать команду gzip. Синтаксис команды gzip Общий синтаксис команды gzip выглядит следующим образом: gzip [ПАРАМЕТР]... [ФАЙЛ]... Gzip сжимает отдельные файлы и создает сжатый файл для каждого заданного файла в отдельности. По определению имя файла, который был сжат с помощью Gzip, должно оканчиваться на .gz или .z. Если вам необходимо сжать несколько файлов или каталогов в один файл, то для начала вам нужно создать архив Tar, а затем уже сжать файл с разрешением .tar с помощью Gzip. Файл, оканчивающийся на .tar.gz или .tgz, представляет собой архив Tar, сжатый с помощью Gzip. Как правило, Gzip используют для сжатия текстовых файлов, архивов Tar и веб-страниц. Не нужно использовать Gzip для сжатия изображений, аудиофайлов, PDF-документов и других файлов в двоичном формате, поскольку они уже являются сжатыми. gzip может сжимать только обычные файлы. символические ссылки он игнорирует. Сжатие файлов с помощью gzip Для того, чтобы сжать один файл, вызовите команду gzip, за которой следует имя файла: gzip имя_файла gzip создаст файл с именем имя_файла.gz, а исходный файл удалит. По умолчанию gzip сохраняет в сжатом файле временную метку, файловый режим, владельца объекта и имя исходного файла. Сохранение исходного файла Если вы хотите, чтобы исходный файл был сохранен, воспользуйтесь параметром –k: gzip -k имя_файла Есть еще один вариант сохранить исходный файл – воспользоваться параметром -c, который сообщает gzip о необходимости записи в стандартный вывод и перенаправлении вывода в файл: gzip -c имя_файла > имя_файла.gz Подробный вывод Если вы хотите увидеть процент уменьшения размера файла и имена обрабатываемых файлов, тогда воспользуйтесь параметром -v: gzip -v имя_файла имя_файла: 7.5% -- replaced with имя_файла.gz Сжатие нескольких файлов В качестве аргументов команде вы можете передать несколько файлов. Например, чтобы сжать файлы с именами file1, file2, file3, вам необходимо выполнить следующую команду: gzip file1 file2 file3 После чего приведенная выше команда создаст три сжатых файла: file1.gz, file2.gz, file3.gz. Сжатие всех файлов в каталоге Для того, чтобы сжать все файлы в каталоге, воспользуйтесь параметром -r: gzip -r имя_каталога gzip рекурсивно пройдет через всю структуру каталогов и произведет сжатие всех файлов в каталоге и его подкаталогах. Изменение уровня сжатия gzip дает возможность указать уровень сжатия, его диапазон - от 1 до 9. -1 или --fast означает самую высокую скорость сжатия с минимальной степенью сжатия, -9 или --best - самую низкую скорость с максимальной степенью. По умолчанию уровень сжатия равен -6. Например, чтобы установить максимальный уровень сжатия, вам необходимо запустить следующую команду: gzip -9 имя_файла Сжатие – это задача, интенсивно использующая ЦП. Соответственно, чем выше уровень сжатия, тем больше времени занимает процесс. Использование стандартного ввода Для того, чтобы создать файл расширения .gz из стандартного ввода, вам необходимо передать вывод команды gzip. Например, чтобы сжать резервную копию базы данных MySQL, вам необходимо запустить следующую команду: mysqldump имя_базы_данных | gzip -c > имя_базы_данных.sql.gz Вывод команда mysqldump послужит вводом для gzip. Распаковка файлов с помощью gzip Для того, чтобы распаковать файл с расширением .gz, воспользуйтесь параметром -d: gzip -d имя_файла.gz Есть также еще одна команда, которую вы можете использовать для распаковки файла Gzip, - это gunzip. Эта команда по сути является альтернативным вариантом команды gzip -d: gunzip имя_файла.gz Сохранение сжатого файла Здесь, как и при сжатии файла, для того, чтобы показать gzip, что входной файл (в данном случае это сжатый файл) нужно сохранить, необходимо воспользоваться параметром -k: gzip -dk имя_файла.gz Распаковка нескольких файлов Для того, чтобы распаковать несколько файлов одновременно, вам необходимо передать имена файлов в gzip в качестве аргументов: gzip -d file1.gz file2.gz file3.gz Распаковка всех файлов в каталоге Для того, чтобы gzip рекурсивно распаковал все файлы в заданном каталоге, необходимо воспользоваться параметрами -d и -r: gzip -dr имя_каталога Перечень содержимого сжатого файла Для того, чтобы посмотреть статистику данных сжатого файла, воспользуйтесь параметром -l: gzip -l имя_файла Вывод покажет имя несжатого файла, размер сжатого и несжатого файла, а также степень сжатия: compressed uncompressed ratio uncompressed_name 130 107 7.5% имя_файла Чтобы получить больше информации, добавьте параметр -v: gzip -lv имя_файла method crc date time compressed uncompressed ratio uncompressed_name defla a9b9e776 Sep 3 21:20 130 107 7.5% имя_файла Заключение С помощью Gzip вы можете уменьшить размер определенного файла - команда gzip позволяет сжимать и распаковывать файлы.
img
NoSQL - это общее обозначение принципов, направленные на воплощение механизмов управления базами данных, которые имеют ощутимые отличия от привычных моделей с доступом к информации посредством языка SQL. Если стандартные СУБД воплощают принципы атомарности, изолированности и согласованности, то NoSQL характеризуется гибким состоянием, которое может меняться с течением времени и базовой доступностью для каждого запроса. К особенностям NoSQL можно отнести: Использование любых типов хранилищ Допускается разрабатывать БД без применения схемы Масштабируемость в линейном формате - чем больше процессоров, тем выше производительность Универсальность - большие возможности для хранения и аналитики данных Базы данных на основе NoSQL получают широкое распространение, поскольку помогают создавать повышенное количество разных приложений. Характеристики NoSQL В БД NoSQL можно использовать все модели информации - текст, графика, документ с применением пары ключ-значение. Под термином NoSQL можно встретить разные БД, но есть ряд характеристик, присущих всем без исключения. Не применяется SQL, под которым понимается ANSI SQL DML. Полностью реализовать его не удалось пока еще никому, хотя попытки адаптировать уже встречались. Неструктурированная структура. В отличие от реляционных БД NoSQL не имеет стандартной структуры. Здесь можно добавлять поля в любых местах без изменения общего вида данных. Информация представляется в виде агрегатов. БД NoSQL использует данные как целостные объекты, а не как часть общей информации. Распределение происходит без совместных ресурсов. При использовании принципов NoSQL представление данных может проводиться разными способами. Вот несколько самых распространенных типов: Ключ-знание - распространенный способ отражения данных. Методика чаще используется для хранения графических сведений Столбцы - хранение в виде матрицы, в которой каждая строка и столбец являются ключом. Такие механизмы предназначены для хранения больших объемов информации, а также подходят при наличии счетчиков и ограничений по времени при использовании данных Документированная СУБД подойдет для иерархического расположения сведений, чаще всего реализуется в издательском деле Графовая база подойдет для воплощения социальных сетей, поскольку здесь реализуется большое количество связей Таким образом, NoSQL становится универсальным способом расположения данных и может использоваться практически во всех отраслях. Сравнение NoSQL и стандартных БД В последнее время БД на основе NoSQL стали более популярными. И если ранее при разработке использовались в основном реляционные БД, то сегодня они уже идут вровень. Реляционные БД сегодня используются чаще для строгих транзакций, подходят для определенных алгоритмов и аналитических действий. NoSQL распространяются практически на любые направления и могут использоваться для аналитики неструктурированной информации. Если сравнивать показатели обеих принципов, то реляционные базы характеризуются более жесткими требованиями, повышенной четкостью и рамками исполнения задач. В то время как NoSQL более вариативна, гибко подстраивается под условия задачи и допускает горизонтальное масштабирование при необходимости. Таким образом, нельзя сказать, что однозначно один механизм лучше другого. Сегодня традиционные БД оптимально дополняются базами NoSQL, что значительно расширяет горизонт возможностей.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59