По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной главе рассматриваются вопросы технической диагностики системы автоматического мониторинга ВОЛС, необходимость в которой возникает из-за сложности этой системы. Техническое диагностирование - процесс определения технического состояния изделия с определенной точностью. Цель технического диагностирования это поддержание достаточного уровня надежности. При наступлении отказа диагностирование предполагает обнаружение факта отказа и его локализацию. Система технического диагностирования (СТД) - совокупность средств, осуществляющих измерение количественных значений параметров (диагностических параметров ДП), анализ и обработку результатов измерений по установленным алгоритмам. Техническим средством диагностирования являются автоматические измерительные системы, рассмотренные в главе 2. Одним из основных методов решения задач диагностирования является моделирование объекта технического диагностирования и выделение взаимосвязей в этих моделях. Модель объекта - это формализованная сущность, характеризующая определенные свойства реального объекта в удобной и желательно для инженера в наглядной форме. Существуют аналитические модели, в которых модель строится на основе уравнений, связывающих различные параметры; графоаналитические, основанные на представлении диаграмм (в частности направленных графов) прохождения сигналов; информационные модели представляют собой информационные описания в терминах энтропия, информация и т.п. Чаще всего используемым в практических целях и наиболее наглядным являются функционально-логические модели, которые реализуются различными способами, определяемыми особенностью функциональной схемы диагностируемого изделия. В настоящей работе применяется диагностирование, основанное на функционально-логическом моделировании и реализуемое инженерным способом. В соответствии с решаемой задачей выбирается та или иная "функция предпочтения". В данном случае решается задача поиска неисправности, для которой выбирается W4 функция предпочтения о которой ниже. Разработка алгоритма диагностирования Считаем, что объект диагностирования задан следующей функциональной схемой (рисунок 1). После построения функциональной модели необходимо определить множество возможных состояний объекта, который диагностируется. Общее число состояний при N функциональных элементов при двоичных исходах проверок (1 исправно, 0 неисправно) равно при диагностировании системы 2N - 1. Предполагается, что одновременное появление двух независимых отказов маловероятно, поэтому число сочетаний из N элементов по одному, равно N. Число всех возможных различных состояний аппаратуры, которая диагностируется, одновременно с учетом отказов одного функционального - сводятся в таблицу состояний (матрицу исправностей, матрицу неисправностей и т. п.), которая используется при разработке программы (алгоритма) поиска неисправностей. Матрица состояний строится по следующим правилам: S0 - строка, соответствующая работоспособному состоянию; Sj - строка, соответствующая состоянию в котором оказался j-тый элемент модели. Например, состояние S4 = 0 означает событие, при котором отказал 4-ый четвертый элемент модели; S2 = 0- второй и т.п.). Этому событию соответствует недопустимое значение сигнала Zi, и тогда на пересечении пишется 0. Если любой другой i - й элемент также недопустимое значение Zi, то на пересечении j ой строки и Zi - ого столбца таким же образом записывается "0"; при этом, если значение параметра будет находиться в допуске, то на пересечении пишется "1". Считается, что значения всех внешних входных сигналов xi всегда будут находиться в пределах допуска, а линии связи между элементами абсолютно надежны. Если есть сомнение в надежности линии, то её принимают за функциональный элемент. Транспонируем матрицу (таблица 1). Так как мы осуществляем построение алгоритма поиска неисправности, то первую строку S0, означающее исправное состояние исключаем. Последний столбец функция предпочтения W4, которую установили из следующих соображений. Так как матрица заполнена нулями и единицами, то равенство некоторого ij элемента соответствует тому, отказ i-го элемента влияет на j-ый выходной параметр j-го элемента, если контролировать выходной параметр Zj можно определить, в каком именно состоянии находится i-ый элемент. Следовательно, чем больше "0" в строке Zj матрицы, тем более большое количество информации может нести этот параметр о состоянии объекта, который находится под контролем. Для этого в качестве предпочтительной функции решении данной задачи контроля работоспособности необходимо принимать функцию вида: Где ; - означает количество нулей в I-ой строке матрицы. Если для объекта контроля известны вероятности состояний P(Zi): Также заданы C(Zi) стоимости контроля параметров: Так как строится алгоритм нахождения неисправности, то функция предпочтения будет: где суммы означают количество нулей и единиц соответственно в I-той строке транспонированной матрицы состояний. Значения W4(Zi) для каждой строки приведены в последнем столбце транспонированной матрицы (таблица 3.2). Последовательность решения следующая: 1) Выбираем ту строку, в которой функция предпочтения W4(Zi) минимальна, так как эта строка несет максимальное количество информации, разбивая все возможные состояния объекта на две равные части. 2) Минимально значение для 6,7,13 и 14 строк, т.е. по этому критерию они равнозначны. Для контроля выбираем строку 7. Итог контроля по этому параметру W4(Zi) разбивает матрицу на равные части W4(Z7) - первое разложение: 2.1) Эти состояния не влияют на данный выходной параметр функционального элемента; 2.2) Значения параметра не в допуске, что говорит о неисправности объекта. 3) Дальше аналогично анализируются обе получившиеся части (3-е, 4-е и последующие разложения (как показано на рисунке 6). 4) Процедура продолжается, пока множество N=14 возможных состояний объекта диагностирования не будут разделены на отдельные состояния. Чтобы упорядочить для дальнейшего осколки введём следующее обозначение для каждого конкретного осколка: Где m - номер разбиения; "H" - принимает значение 1 или 0 в зависимости от состояния строки матрицы; n - номер осколка, считая, что осколки всегда располагаются, начиная с "1". Например, обозначение 3«0»6 значит, что это осколок при третьем разбиении для значения "0". (впрочем, "1" всегда соответствуют нечетные значения "n", а «0» - четные) Ниже представлены результаты анализа для принятой конкретной функциональной модели на рисунке 3. Первое разбиение по строке Z7, имеющая W7 = 0 z7, имеющая W7 = 0 В таблице 3.3. представлена матрица (осколок) после первого разбиения для результатов проверки «1», т.е. при введенных обозначениях: 1«1»1. Для второго разбиения взята строка Z11, имеющая меньшее значение функции предпочтения W4 = 1 В таблице 3.4 представлена таблица после первого разбиения с «0»,, т.е. 1«0»,1. Дальше "заливкой" показаны строчки, выбранные для следующих разбиений. Для первого разбиения матрицы взята строка Z11, функция предпочтения которой W4 = 1. S8 S9 S10 S11 S12 S13 S14 W4 z8 0 1 1 1 1 1 1 5 z9 1 0 1 1 1 1 1 5 z10 1 1 0 1 1 1 1 5 z11 1 1 0 0 0 1 1 1 z12 1 1 0 0 0 1 1 1 z13 1 1 0 0 0 0 1 1 z14 1 1 0 0 0 1 0 1 Таблица 3. - 1«1»1 S1 S2 S3 S4 S5 S6 S7 W4 z1 0 1 1 1 1 1 1 5 z2 0 0 0 1 1 1 1 1 z3 1 1 0 1 1 1 1 1 z4 1 1 0 0 0 1 1 1 z5 1 1 0 0 0 1 1 3 z6 1 1 0 0 0 0 1 7 z7 1 1 0 0 0 1 0 7 Таблица 4. - 1«0»1 Матрица после второго разбиения при «1». Для 3-го разбиения взята строка Z13 Результаты третьего разбиения: Результаты четвертого разбиения: По результатам разбиений получаем номера ФБ для контроля: результат третьего разбиения: 3«0»2→13; 3«1»4→11 и 12; 3«0»4→10; 3 «1»5→6 и 7; 3«0»6→5; 3 «1»7→4. Результат четвертого разбиения: 4«0»2 → 9. Результат пятого разбиения: 5«1»1 → 8; 5«0» →14; 5«1»15 → 2 и 3; 5«0»16 →1. По полученным в результате анализа матрицы состояний номерам контролируемых ФБ для определения неисправного блока строим алгоритм контроля. Алгоритм контроля Рисунок 2. Как видно из алгоритма, максимальное количество элементарных проверок для нахождения неисправного ФБ равно 5 (в данном случае ФБ 8 и 14) Заключение 1.На основе функционально-логической модели и инженерного способа разработан оптимальный алгоритм диагностирования гипотетической систем, которая моделирует систему автоматического контроля и мониторинга. 2. Проведен расчет и в результате получен алгоритм. Для принятой модели максимальное число элементарных испытаний равно 5.
img
  Недавно я просматривал некоторые общедоступные репозитории Google на их GitHub. И я заметил, что у них есть репозиторий для непрерывного фаззинга. Я понятия не имел, что такое фаззинг, не говоря уже о непрерывном.   Что же такое фаззинг? Фаззинг (иногда его называют нечетким тестированием) – это способ автоматического тестирования программного обеспечения. Обычно фаззер вводит в программу большое количество неправильных или случайных входных данных. Таким образом пытаются вызвать сбои, ошибки, утечки памяти и т.д. Обычно фаззинг лучше всего работает с программами, которые принимают входные данные, такие как веб-сайты, которые могут запрашивать ваше имя или возраст. Можно попробовать вводить самые различные строки, чтобы попытаться вызвать какие-то проблемы, например, что-нибудь вроде такого: «Power?????????????????? ? ?h ? ??» (это когда-то вызвало аварийный сбой iOS), «??????h??e???????? ???????N??e??z?????p??????e????r????????d??????i??????a?????n?? ?????h??i??v?????-?????m???i????n???? ????????????f ????????c?????????a?????????s?.?? ?Z????????a?????l?????g????????o??.?», «?» или «undefined». В целом идея фаззинга заключается в том, чтобы попытаться найти пограничные случаи в кодовой базе. Его используют для того, чтобы убедиться, что синтаксический анализ данных, их прием, сохранение и чтение не вызывают ошибок.  Это довольно полноценный тест, поскольку вы можете протестировать весь процесс хранения, например, пробела нулевой длины (U+200B в Юникоде) на своем сайте, чтобы проверить, возникнут ли какие-то проблемы.  Некоторые пытаются внедрить код в поля ввода (это часть фаззинга, которая называется «внедрение кода»), например,  в качестве имени.  Злоумышленники не заинтересованы в том, чтобы вы тестировали нестандартный ввод, так как вы можете обнаружить ошибки, которые нарушают работу приложения, а они могли бы использовать их для кражи данных или повторного сбоя в вашем приложении/сервере.  На GitHub есть список под названием «Big List of Naughty Strings» («Большой список сомнительных строк»). Это список строк, которые с большей долей вероятности вызовут проблемы.  Вы можете взглянуть на некоторые в файлах .json и .txt и почитать некоторые комментарии, чтобы понять, почему именно эти строки вызывают проблемы.  Например, некоторые строки написаны вверх ногами «u?op?p?sd?». Есть строки, которые могут быть помечены как ненормативная лексика или как неприемлемые, но на самом деле они к этому не имеют никакого отношения (это называется проблемой Скантропа). И даже есть такие строки, которые могут раскрыть системные файлы, если они вдруг будут проанализированы плохо настроенным синтаксическим анализатором XML.  Кто использует фаззинг? Как я уже говорил, фаззинг используется в процессе тестирования программного обеспечения для поиска ошибок в ваших программах. Но он также применяется в кибербезопасности и при взломах. Что касается применения в кибербезопасности, то здесь хакеры пытаются пересечь границу доверия. Граница доверия – это место в компьютерных системах, где данные из доверенного источника передаются из одной области в другую.  В качестве примера давайте представим, что вы получаете имя пользователя в клиентской части, убеждаетесь, что оно является допустимым, а затем передаете его на серверную часть. Ваша граница доверия – это воображаемая линия, по которой данные передаются от клиента к серверу.   Если ваша серверная часть просто «доверяет» данным и не проверяет их (поскольку клиент уже проверил их!), то это может стать проблемой. В случае, если хакеры смогут пройти проверку клиента, они станут поставщиками доверенных входных данных и смогут попытаться вставить туда вредоносные строки.  Именно в этой ситуации фаззинг может посодействовать выборочной проверке, чтобы убедиться, что вы можете выявлять эти проблемы. Допустим, кто-то должен был фаззить Google Chrome. Один из способов это сделать – запустить браузер в инструменте отладки для того, чтобы отслеживать команды, которые выполняет Chrome, и профилировать его управление памятью. Позже хакеры направляют программу Chrome, за которой они наблюдают, на один из своих серверов. Их серверы создают миллионы различных веб-страниц, которые Chrome будет загружать. Все эти веб-страницы немного отличаются с точки зрения JS, CSS и HTML. Это нужно для того, чтобы попытаться сломать Chrome, который профилируют хакеры.  Эти хакеры могут осмысленно запускать эти автоматические тесты в течение нескольких месяцев, собирать огромный список журналов Chrome (сбои, любые переполнения памяти и т.д.) и пытаться выяснить, что вызвало сбой.  Просто заставить Chrome «рухнуть» не является их конечной целью. Как только эти хакеры узнают, какие входные данные вызывают сбои, они также могут выяснить, почему эти данные вызывают сбои, и проанализировать, могут ли они использовать эти эксплойты, чтобы исполнить свой зловещий план, или получить доступ к чему-то, к чему доступа у них не должно быть.  На сегодняшний день Google фаззит свои приложения на 30 000 виртуальных машинах! Таким образом, вы вряд ли добьетесь какого-либо успеха, поскольку они очень сильно постарались.  OSS-Fuzz от Google обнаружил более 25 000 ошибок в коде Google Chrome и примерно 22 000 ошибок в других общедоступных кодовых базах, которые используют OSS-Fuzz. Итак, вернемся к основному заголовку. Кто использует фаззинг? Держу пари, что почти все компании, которые должны защищать свои цифровые активы или информацию, либо наймут тестировщиков для фаззинга своих продуктов, либо будут делать это самостоятельно.  Заключение Я надеюсь, что эта статья помогла вам понять, что такое фаззинг и для чего он применяется.  
img
Мы продолжаем рассказывать про интерфейс графической оболочки Asterisk - Elastix и в сегодняшней статье рассмотрим, как настроить голосовое меню - IVR (Interactive Voice Response). Настройки Перейдём к настройке. Для этого с главной страницы, переходим по следующему пути: PBX → PBX Configuration → IVR. Перед нами откроется следующее окно, в котором нужно нажать Add a New IVR: Как можно заметить, интерфейс Elastix, в плане настройки, очень похож на FreePBX ранних версий, поэтому создание нового голосового меню будет мало чем отличаться. Рассмотрим для чего нужна каждая опция, доступная в данном модуле. IVR General Options IVR Name - Имя нового голосового меню IVR Description - Описание данного голосового меню IVR Options (DTMF) Announcement - Данная опция позволяет выбрать запись, которая будет проигрываться в данном голосовом меню. Как правило, это фраза типа: "Здравствуйте, Вы позвонили в компанию "Мерион Нетворкс", наберите 1, для связи с отделом продаж, 2 для связи с отделом технической поддержки…" и так далее. Данная запись служит одной единственной цели – направить позвонившего по нужному ему направлению, что в свою очередь снижает нагрузку на секретарей. Записи загружаются через модуль System Recordings. Direct Dial - Данная опция позволяет позвонившему напрямую соединиться с нужным сотрудником или отделом по внутреннему номеру, если он его знает. Она имеет два варианта - Disabled, то есть отключена и Extensions - что означает, что функция будет работать для всех внутренних номеров на IP-АТС. Timeout - Данная опция позволяет настроить время, которое будет считаться тайм-аутом, в случае если позвонивший, прослушав все направления, предложенные ему в Announcement ничего не выбрал. По истечению данного времени, начнут работать другие правила, которые мы рассмотрим далее. Например, вызов сразу можно завершить или же предоставить звонящему ещё раз прослушать сообщение голосового меню. Invalid Retries - Количество попыток после неправильного ввода. Invalid Retry Recording - Запись, которая будет проигрываться после неправильного ввода номера или цифры, человеком, который находится в голосовом меню. Запись добавляется в модуле System Recordings. Если ничего не выбрать, то будет воспроизведена стандартная запись – Default. Append Announcement on Invalid - Опция, определяющая проигрывать ли звонящему основное сообщение IVR после неправильной попытки ввода. Return on Invalid - Данная опция необходима, когда существует 2 или более ступеней голосового меню, она определяет возвращать ли звонящего из под-меню в родительское, в случае неправильного ввода на последующих ступенях. Invalid Recording - Запись, которая будет проиграна в случае, если звонящий исчерпал все попытки Invalid Retries. Добавляется через модульSystem Recordings, по умолчанию – Default. Invalid Destination - Направление, на которое перенаправляется вызов, в случае если звонящий исчерпал все попытки Invalid Retries. Это может быть любое направление на IP-АТС. Timeout Retries - Как много раз звонящий может не выбирать никакую опцию, после озвученных ему вариантов голосового меню. Рекомендуется выставлять 1. Timeout Retry Recording - Запись, которая будет проиграна когда истечёт время, указанное в Timeout. Добавляется через модульSystem Recordings, по умолчанию – Default. Append Announcement on Timeout - Опция, определяющая проигрывать ли звонящему основное сообщение IVR после того как наступил тайм-аут. Return on Timeout - Данная опция необходима, когда существует 2 или более ступеней голосового меню, она определяет возвращать ли звонящего из под-меню в родительское, в случае наступления тайм-аута на последующих ступенях Timeout Recording - Запись, которая будет проиграна в случае, если звонящий исчерпал все попытки Timeout Retries . Добавляется через модульSystem Recordings, по умолчанию – Default. Timeout Destination - Направление, на которое перенаправляется вызов, наступил тайм-аут. Это может быть любое направление на IP-АТС. Return to IVR after VM - Опция, позволяющая пользователю вернуться в IVR после того как он был перенаправлен на голосовую почту. IVR Entries - Самое последнее, что остаётся настроить это сами маршруты и цифры (digits), по которым они будут доступны. В поле Ext надо выбрать указать цифру направления, например "1", в поле Destination выбрать само направление, по которому вы хотите отправить вызов, после того как звонящий нажмёт "1" на своём телефонном аппарате. Опция Return, если активирована, то позволяет вернуть пользователя в родительский IVR. В качестве примера мы создали ознакомительное голосовое меню First_Menu, приведенное ниже и сейчас подробно расскажем как оно будет работать. Итак, мы назвали новое голосовое меню – First_Menu, и дали понятное описание. В записи First_Line_Menu, человек, попавший в наше меню услышит сообщение, где девушка приятным голосом произнесёт что-то типа: "Добрый день, вы позвонили в компанию "Мерион", если Вы знаете внутренний номер сотрудника – наберите его в тоновом режиме" (Это потому что мы включили опцию Direct Dial). Затем она продолжит: "Если Вам необходимо связаться с отделом технической поддержки (Ring Group - 601 ) – нажмите "1", для связи с отделом продаж (Ring Group - 602) – "2", по вопроса партнёрских отношений ( Extension - 111)". Если по истечении 10 (Timeout) секунд после предложенных вариантов, пользователь не сделает выбор – то по Return on Timeout пользователю снова проиграют сообщение основного меню. Если во второй раз по истечении 10 минут пользователь не сделает выбор – вызов завершится по Timeout Destination. Если пользователь 3 раза (Invalid Retries) сделает неправильный выбор (введёт несуществующий внутренний номер или нажмёт несуществующую в меню цифру), то по Invalid Destination вызов отправится на линию технической поддержки Ring Group - Support 601.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59