Эвристический анализ. Слово "эвристика" происходит от греческого глагола "находить". Суть эвристических методов состоит в том, что решение проблемы основывается. Эвристические методы анализа

Nokia 28.06.2019
Nokia

От переводчика: Эвристический анализ, пожалуй, единственный метод тестирования юзабилити, который реально осуществим в белорусских условиях. Полномасштабное тестирование на пользователях требует серьезных денежных затрат, которые неадекватны получаемым за сайты суммам, так что возврата инвестиций не будет. Эвристический анализ &mdash самый дешевый способ, который не требует специального оборудования, так что он представляет реальный интерес.

Рассматриваемый вопрос:

Вы хотите быть уверенными в том, что ваш продукт соответствует принципам юзабилити (эвристикам).

Определение:

«Эвристический анализ — это инспектирование пользовательского интерфейса, направленное на выявление проблем в проектировании интерфейса, которые могут появляться при итеративном процессе» (Нильсен, 1993)

Преимущества/недостатки:

Преимущества и недостатки эвристического анализа показаны в таблице.

Процедура:

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

Эвристика Объяснение
Простые и естественные диалоги Диалоги не должны содержать неподходящую по смыслу информацию, или информацию, которая редко бывает нужна
Говорите на языке пользователя Используйте слова и термины, понятные пользователям
Минимизируйте затраты памяти пользователя Не заставляйте пользователя запоминать вещи от одно действия к другому
Последовательность Пользователи должны иметь возможность обучиться последовательности действий с одной частью системы и использовать ее с другой частью
Обратная связь Дайте пользователю знать, какой эффект на систему окажет их действие
Ясно обозначенные выходы Если пользователь попал в область системы, которая в данный момент ему не интересна, он должен иметь возможность легко вернуться назад ничего не повредив
Быстрый вызов действий Опытные пользователи должны иметь возможность быстро вызывать нужные действия
Хорошие сообщения об ошибках Правильные сообщения об ошибках объясняют пользователям в чем заключается проблема и как ее решить
Предотвращение ошибок Каждый раз, когда вы выводите сообщение об ошибке, вы должны думать, можно ли этой ошибки избежать?
Помощь и документация Даже если систему можно использовать без документации, все равно документация и помощью должны быть предоставлены

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

Определение

Наблюдатель (Test Monitor) — ответственный за контроль над командой тестировщиков, работает с зазработчиками над созданием тестов, собирает и передает результаты тестирования. Обычно, наблюдатель &mdash это человек, который управляет всеми аспектами тестирования.

В течение эвристического анализа комментарии эксперта можно записывать двумя разными способами. Каждый эксперт может записывать свои комментарии во время изучения интерфейса. Если это не подходит, то рядом с экспертом может сидеть наблюдатель (Test Monitor) и записывать его комментарии. В этом случае эксперт должен озвучивать свои комментарии. Преимущество второго подхода в том, что наблюдатель может отвечать на вопросы, которые возникают у эксперта во время инспекции интерфейса. Важно отметить, что эксперт не обязан знать ту область, в которой будет применяться интерфейс, потому что он просто инспектирует интерфейс на предмет соответствия набору эвристик. Так что наблюдатель может отвечать на вопросы, связанные с предметной областью. Кроме того, если возникают непредвиденные проблемы (например, система падает), наблюдатель может помочь их устранить.

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

На выходе:

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

Для проведения эвристического анализа вам понадобится:

  • Набор эвристик
  • Эксперты
  • Пачка бумаги для записи обнаруженных недостатков
  • Наблюдатель (опционно)
  • Компьютерное оборудование (опционно)

Когда проводить?

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

Эвристический анализ

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

Технология эвристического анализа

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

В ряде случаев, эвристические методы оказываются чрезвычайно успешными, к примеру, в случае очень коротких программных частей в загрузочном секторе: если, программа производит запись в сектор 1, дорожку 0, сторону 0, то это приводит к изменению раздела накопителя. Но кроме вспомогательной программы FDISK эта команда больше нигде не используется, и потому в случае ее неожиданного появления речь идет о загрузочном вирусе.

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

Другим распространенным методом эвристического анализа, применяемым большой группой антивирусов, является декомпиляция подозрительной программы и анализ ее исходного кода. Исходный код подозрительного файла проходит сверку и сравнение с исходным кодом известных вирусов и образчиков вирусной активности. В случае, если определенный процент исходного кода идентичен коду известного вируса или вирусной активности, файл отмечается как подозрительный, о чем оповещается пользователь.

Недостатки эвристического сканирования

  • Чрезмерная подозрительность эвристического анализатора может вызывать ложные срабатывания при наличии в программе фрагментов кода, выполняющего действия и/или последовательности, в том числе и свойственные некоторым вирусам. В частности, распаковщик в файлах, запакованных PE-упаковщиком (Win)Upack вызывает ложные срабатывания целого ряда антивирусных средств, де-факто не признающих такой проблемы. Другой проблемой анализаторов является ошибочное срабатывание при проверке совершенно безобидного кода.

К примеру, скомпилированный с помощью Delphi 7 или Delphi 2007 код:

Program XDC; {$APPTYPE CONSOLE} uses SysUtils; begin if (paramstr (3 ) ="d" ) then begin FileSetReadOnly (paramstr (2 ) ,false ) ; DeleteFile (paramstr (2 ) ) ; end ; end .

Вызывает ложные срабатывания у антивирусов типа Panda (независимо от версии компилятора), Webwasher GateWay (при компиляции Delphi 2007 ), F-Secure (при компиляции Delphi 7 ). Как видно из примера, программа абсолютно безопасна и совершенно отсутствуют какие-либо признаки вредоносного кода и вирусного функционала (весь функционал примера: если в качестве третьего параметра указан ключ «d», программа удаляет файл, указанный во втором параметре).

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

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

  • Даже при успешном определении, лечение неизвестного вируса практически всегда является невозможным. Как исключение, некоторыми продуктами возможно лечение однотипных и ряда полиморфных, шифрующихся вирусов, не имеющих постоянного вирусного тела, но использующих единую методику внедрения. В таком случае, для лечения десятков и сотен вирусов может существовать одна запись в вирусной базе, как это реализовано, к примеру, в антивирусе И. Данилова.

См. также

Ссылки

Внешние ссылки

Wikimedia Foundation . 2010 .

Смотреть что такое "Эвристический анализ" в других словарях:

    - (эвристика) алгоритм решения задачи, не имеющий строгого обоснования, но, тем не менее, дающий приемлемое решение задачи в большинстве практически значимых случаев. Содержание 1 Определение 2 Применение … Википедия

    У этого термина существуют и другие значения, см. Полиморфизм. Полиморфизм компьютерного вируса (греч. πολυ много + греч. μορφή форма, внешний вид) специальная техника, используемая авторами вредоносного программного… … Википедия

    Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии … Википедия

    Проактивные технологии – совокупность технологий и методов, используемых в антивирусном программном обеспечении, основной целью которых, в отличие от реактивных (сигнатурных) технологий, является предотвращение заражения системы пользователя, а… … Википедия

    Эта статья или раздел грубый перевод статьи на другом языке (см. Проверка переводов). Он мог быть сгенерирован программой переводчиком или сделан человеком со слабыми познаниями в языке оригинала. Вы можете помочь … Википедия

    Разработчик ОС Windows XP/Vista Лицензия Сайт … Википедия

    Скриншот программы Тип … Википедия

    OllyDbg … Википедия

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

Сканирование

Антивирусная защита.

Основным средством борьбы с вирусами были и остаются антивирусные программы. Можно использовать антивирусные программы (антивирусы), не имея представления о том, как они устроены. Однако без понимания принципов устройства антивирусов, знания типов вирусов, а также способов их распространения, нельзя организовать надежную защиту компьютера. Как результат, компьютер может быть заражен, даже если на нем установлены антивирусы.

Сегодня используется несколько основополагающих методик обнаружения и защиты от вирусов:

· сканирование;

· эвристический анализ;

· использование антивирусных мониторов;

· обнаружение изменений;

· использование антивирусов, встроенных в BIOS компьютера.

Кроме того, практически все антивирусные программы обеспечивают автоматическое восстановление зараженных программ и загрузочных секторов. Конечно, если это возможно.

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

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

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

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

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

Практически все современные антивирусные программы реализуют собственные методы эвристического анализа. На рис. 1 мы показали одну из таких программ - сканер McAffee VirusScan, запущенный вручную для антивирусной проверки диска.

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

Если это возможно, антивирус вылечивает файл, восстанавливая его содержимое. В противном случае предлагается только одна возможность - удалить зараженный файл и затем восстановить его из резервной копии (если, конечно, она у Вас есть).

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


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


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


Поиск вирусов, выполняющих подозрительные действия Метод основан на выделении основных вредоносных действий, таких как, например: 1. Удаление файла 2. Запись в файл 3. Запись в определенные области системного реестра 4. Открытие порта на прослушивание 5. Перехват данных вводимых с клавиатуры 6. Рассылка писем и др. Выполнение каждого действия по отдельности не повод считать программу вредоносной. Но если программа последовательно выполняет несколько таких действий эта программа по меньшей мере подозрительна.


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


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


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




Модуль управления По мере увеличения количества модулей в антивирусе возникает необходимость в дополнительном модуле для управления и настройки. В простейшем случае - это общий интерфейсный модуль, при помощи которого можно в удобной форме получить доступ к наиболее важным функциям: 1. Настройке параметров антивирусных модулей 2. Настройке обновлений 3. Настройке периодического запуска обновления и проверки 4. Запуску модулей вручную, по требованию пользователя 5. Отчетам о проверке 6. Другим функциям, в зависимости от конкретного антивирус


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

Cтраница 1


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

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

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

Этим мы завершаем наш эвристический анализ звездной спекл-интерферометрии.  

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

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

В 1998 г. Создана система визуального эвристического анализа числовых матриц Visual HCA под руководством профф. Неоднократно публиковались доклады на конференциях в Мексике (Китай, Бельгия) и статьи в зарубежных и отечественных журналах. В 2000 г. разработана прикладная система визуального мониторинга данных измерений загрязнения Мехико с применением системы визуального эвристического анализа.  

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

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

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

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

Маклорена и что деление произойдет, когда растущее отношение т достигнет критического значения ть 0 14 (см. разд. Из этого эвристического анализа следуют два интересных результата. Во-первых, звезды с М 0 8 MQ достигают главной последовательности и перестают сжиматься, прежде чем в их ядре может произойти деление, вызванное вращением.  

Структурная схема системы автоматизированного организационно-технологического проектирования линии сборки РЭА.  

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

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



Рекомендуем почитать

Наверх