Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка программного комплекса оценки качества и надежности программных продуктов без исходных текстов Самарин Николай Николаевич

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Самарин Николай Николаевич. Разработка программного комплекса оценки качества и надежности программных продуктов без исходных текстов: диссертация ... кандидата Технических наук: 05.02.23 / Самарин Николай Николаевич;[Место защиты: ФГБОУ ВО «Московский технологический университет»], 2018.- 143 с.

Содержание к диссертации

Введение

Глава 1. Анализ задачи оценки качества и надежности программных продуктов без исходных текстов 11

1.1. Общая характеристика предметной области 11

1.2. Классификация методов анализа и оценки качества программных продуктов 13

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

1.4. Виды потенциально опасных возможностей, реализуемых вредоносным кодом программного продукта при оценке на качество 26

1.5. Обзор и сравнительная характеристика программных средств виртуализации, используемых при оценке качества и надежности программного продукта 31

1.6. Определение среды для исследований 43

1.7. Цели и задачи работы 43

Глава 2. Выбор и обоснование моделей оценки качества и надежности программных продуктов 46

2.1. Моделирование общих требований к качеству программного продукта 47

2.2. Модели оценки надежности программных продуктов 54

2.2.1. Аналитические модели 55

2.2.2. Статические модели 61

2.2.3. Эмпирические модели 64

2.3. Выводы к главе 2 65

Глава 3 Разработка программного комплекса оценки качества и надежности программных продуктов без исходных текстов 66

3.1. Алгоритм контроля обращений процессора к областям памяти используемой программным продуктом 66

3.2. Описание алгоритма контроля обращений процессора к областям памяти, используемой программным продуктом 71

3.3. Формальный подход к контролю использования оперативной памяти программным продуктом с целью выявления дефектов и потенциальных угроз 72

3.4. Определение оптимальной длины последовательности команд процессора, оперирующих с адресами оперативной памяти, для получения характеристической сигнатуры программного продукта 77

3.5. Разработка алгоритма контроля использования областей памяти программным продуктом без исходных текстов 83

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

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

3.7.1.Структурная схема комплекса 94

3.7. 2 Алгоритм представления результатов анализа использования памяти программным продуктом 97

3.8. Технология применения метода анализа программного продукта без исходных текстов 99

3.9. Выводы к главе 3 100

Глава 4 Результаты применения программного комплекса оценки качества и надежности программных продуктов без исходных текстов 101

4.1. Оценка качества и надежности программного продукта без исходных текстов 101

4.1.1. Исследование работы резидентного вируса Abbas 1100 102

4.1.1.10 Выводы по результатам исследования вируса Abbas1100 107

4.1.2. Исследование работы резидентного вируса Bomzh3809 108

4.2. Оценка качества функционирования программного продукта и визуальный контроль 111

4.3. Оценка надежности программного комплекса контроля и визуализации областей памяти электронной вычислительной системы 114

4.4. Выводы к главе 119

Список сокращений и условных обозначений 121

Термины и определения 123

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

Приложение А 136

Приложение В 138

Приложение С 139

Введение к работе

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

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

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

Количество программного продукта (далее по тексту – ПП) каждые 10 лет растет примерно на порядок, а его объем исчисляется десятками и сотнями миллионов строк программного текста. По данным исследователей, на 1000 строк кода приходится от 5 до 15 ошибок, которые влияют на работоспособность программного продукта (Carnegie-Mellon).

По результатам исследований, проведенных в 2001 году американской компанией, из десяти тысяч проверенных приложений, ошибки обнаружены в 84% случаях (Veracode). Убытки, возникающие из-за недостаточно развитой инфраструктуры устранения дефектов в ПП, составляют от 22 до 60 миллиардов долларов в год (Национальный Институт стандартов и Технологий США). Стоимость устранения ошибок, допущенных на этапах разработки и тестирования, возрастает после выпуска программы в сто раз. Потребителю поставляется продукт в инсталляционном (коробочном) виде без исходных текстов, в защищенном от взлома виде и зачастую без руководства по эксплуатации, а любые справочные материалы становятся доступны только при подключении компьютера к глобальной сети Интернет.

Автоматизированные системы управления стратегическими объектами,
тепловыми электростанциями, гидроэлектростанциями, объектами

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

В результате ужесточения санкционной политики Запада, в сентябре 2014 года Президент РФ, В.В. Путин, выдвинул требования о необходимости разработки отечественных программных продуктов для оборонной и гражданской сфер, поскольку, по данным главы Минкомсвязи, в России три четверти программного продукта поставляется из-за рубежа.

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

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

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

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

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

Предмет исследования. Инструментарий, позволяющий выполнять

оценку качества и надежности программных продуктов на разных стадиях их жизненных циклов.

Задачи исследования.

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

  1. Разработка принципов и алгоритмизация контроля обращений процессора к областям памяти, используемой программным продуктом.

  2. Разработка алгоритма контроля использования областей памяти программным продуктом без исходных текстов.

  3. Разработка системотехнических решений и принципа оценки качества функционирования программного продукта без исходных текстов на основе визуализации событий выполнения программы.

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

Методы исследования, обоснованность и достоверность.

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

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

Достоверность результатов и выводов работы обусловлена

использованием фундаментальных теоретических положений. Эффективность разработанного программного комплекса подтверждена многочисленными результатами экспериментов, а также объективными данных, полученными при проведении сертификационных испытаний программных продуктов в ФИЦ ИУ РАН и ООО НТП «Криптософт».

Соответствие паспорту специальности.

Согласно паспорту специальности 05.02.23 «Стандартизация и

управление качеством продукции», задачи, рассмотренные в диссертации, соответствуют областям исследований:

  1. Методы стандартизации и менеджмента (контроль, управление, обеспечение, повышение, планирование) качества объектов и услуг на различных стадиях жизненного цикла продукции.

  2. Совершенствование направлений сертификации продукции (услуг), систем качества, производств.

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

Основные положения, выносимые на защиту:

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

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

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

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

Результаты диссертационной работы использованы в отраслевых стандартах ФГУП «НИИ «Квант», что подтверждено соответствующими актами.

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

использованы для подготовки отраслевых стандартов ФГУП «НИИ «Квант».

Публикации и апробация работы. Основные результаты диссертации докладывались на научно-технических конференциях и семинарах: 21-я и 22-я научно-технические конференции «Методы и технические средства обеспечения безопасности информации», Санкт-Петербург, 2012 и 2013гг; международная научно-техническая конференция «INTERMATIC – 2013», Москва, 2013г.; 11-я Международная научная школа молодых ученых и специалистов, ИПКОН РАН, Москва, 2014г.; международные научные симпозиумы «Неделя горняка», МГГУ, Москва, в 2014г. и в 2015г.

По теме диссертации опубликовано 17 научных работ, в том числе 7 научных статей [1-7] в рецензируемых журналах, входящих в перечень журналов, рекомендованных ВАК РФ. Получено 3 свидетельства о государственной регистрации программы для ЭВМ. В работе [3] описан алгоритм контроля использования областей памяти программным продуктом без исходных текстов. В работе [11] приведен метод оценки качества функционирования программного продукта на основе визуализации событий его выполнения. В работах [6, 7, 10] представлены результаты экспериментов, проведенных автором диссертации.

Личный вклад автора. Все результаты, приведенные в данной работе получены автором самостоятельно.

Структура и объем работы. Диссертация состоит из введения, 4 глав, заключения и списка литературы. Диссертация содержит 144 страницы текста, 19 таблиц, 55 иллюстраций. Список использованной литературы содержит 86 наименований.

Виды потенциально опасных возможностей, реализуемых вредоносным кодом программного продукта при оценке на качество

Указанные выше способы выявления уязвимостей (ошибок, дефектов) применимы только для программного продукта, который имеет исходный текст. Как показывает статистика, на территории Российской Федерации используется более 70% импортного ПП, который не имеет исходных текстов и не может быть подвергнуто исследованию, предлагаемому по РД, поэтому автоматизированный процесс исследования для этого программного продукта не применим. Выполненный анализ показывает, что большинство программ хорошо справляются со статическим анализом, динамический анализ присутствует не у всех, однако самым важным выявленным аспектом является неприменимость программного продукта, указанного в Таблице 3, для анализа продуктов, у которых отсутствуют исходные тексты.

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

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

Виды опасных возможностей представлены на схеме (рис. 4). Каждый из которых представляет собой:

передачу управления в область модифицированных данных;

самомодификацию или изменение кода других программ в оперативной памяти или на внешних носителях;

самодублирование, подмену собой других программ или перенос своих фрагментов в область оперативной или внешней памяти, не принадлежащие программе;

сохранение информации из областей оперативной памяти, не принадлежащих программе;

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

скрытие своего присутствия в программной среде.

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

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

Отсюда следует невозможность полного восстановления алгоритма (всех его вариантов) путем статического анализа.

Модификация кода других программ в оперативной или внешней памяти приводит к изменению их функциональности и может использоваться для внедрения закладок.

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

Искажение, блокирование или подмена информации, которые стали результатом работы других программ, представляют собой новые данные, размещаемые в оперативной памяти или на внешних носителях. Такое искажение, блокирование или подмена преследуют цель навязывания входной или выходной информации. К примеру, навязывание результата проверки пароля, навязывание длины файла, подлежащего шифрованию, изменение файла перед установкой ЭЦП4, и т. п.

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

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

Аналитические модели

Модель Джелински - Моранды

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

При известных значениях k; t1,t2, .,tk из (7) и (8) можно найти значения параметров модели CD и N, затем интенсивность отказов, время между отказами tk+1, вероятность безотказной работы через время tk+1после последнего отказа.

Достоинством модели является простота расчетов, а основным недостатком, что при неточном определении величины N интенсивность отказов программы может стать отрицательной [33].

Модель Шумана

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

Пусть всего проводятся к этапов тестирования. Обозначим продолжительность каждого этапа через ti, ., tk, а число ошибок, обнаруженных на каждом этапе, через ті, ., ти.

Пусть T= ti+ + tk- общее время тестирования; п= mi+ + тК - общее число обнаруженных и исправленных при тестировании ошибок; иг= ті + + т, число ошибок, исправленных к началу (/+ 1)-го этапа тестирования (по= 0).

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

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

Модель Муса

В этой модели надежность ПП на этапе эксплуатации оценивается по результатам тестирования.

Пусть Т- суммарное время тестирования, п- число отказов, произошедших за время тестирования, тогда по модели Муса средняя наработка до отказа после тестирования на этапе эксплуатации определяется по формуле.

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

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

Модель Ла Падула

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

Недостатком является, необходимость накопления статистической информации об ошибках и сбоях во время выполнения тестирования.

Модель Шика — Волвертона

В основе модели лежит предположение, согласно которому частота ошибок пропорциональна не только количеству ошибок в программах, но и времени тестирования, т.е. вероятность обнаружения ошибок с течением времени возрастает. Интенсивность обнаружения ошибок предполагается постоянной в течение интервала времени U и пропорциональна числу ошибок, оставшихся в программе по истечении (і - 1)—го интервала; но она пропорциональна также и суммарному времени, уже затраченному на тестирование: ЛІ = C(N -щ-1)(ті-1+1), (18) где С — коэффициент пропорциональности; N — число ошибок, первоначально присутствующих в программе; пг1 — число ошибок, оставшихся в программе по истечении (i - 1)-го интервала; TІ-1 — суммарное время, затраченное на тестирование в течение (i - 1) этапов; ti — среднее время выполнения программы в текущем интервале.

Достоинство: позволяет достаточно точно рассчитывать надежность ПП и проста в применении.

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

Формальный подход к контролю использования оперативной памяти программным продуктом с целью выявления дефектов и потенциальных угроз

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

Как говорилось ранее, исследования проводились в операционной системе DOS, в которой распределение памяти по адресам осуществляется следующим образом (Рисунок 23).

Полученные результаты возможно распространить под операционные системы семейства Windowsи Unix.

За такт процессор выполняет одну операцию, меняя состояние одной ячейки области памяти, содержащейся в строке. Это может быть любой тип памяти из семи представленных на рисунке 22. За N тактов получено построчное заполнение областей, схематичное представление которых имеет следующий вид (Рисунок 24).

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

Трасса работы вычислительной системы формируется на основе тактирования процессора и представляется в виде конъюнкции использования программой оперативной памяти. Математическая модель, построенная на базе исчисления высказываний, имеет следующий вид (29). F= Ri& Wm& Xi& Wiv& Xi& R11X11 (29)

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

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

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

Переведя значения, отраженные на Рисунке 26 в табличный вид, получим матрицу размера 7 на N, Таблица 9. Таблица 9 -Матричное представление использования процессором областей памяти

Исследование работы резидентного вируса Abbas 1100

Вирус Abbas1100 активирует функцию размножения при каждом четвёртом запуске любой программы.

Условие и порядок выполнения эксперимента:

1) Действия выполняются на чистой системе.

2) Запускаются штатные программы MEM и TREE на чистой системе.

3) Выполняется заражение (инфицирование) системы.

4) Повторяем запуски штатных программ в инфицированной системе с целью их заражения.

5) Фиксируем области памяти, в которых выполняются программы.

6) Определяем скрытые угрозы, реализуемые программным продуктом без исходного кода.

4.1.1.1 Запуск программы MEM на чистой системе

Рисунок 37- Запуск программы MEM на чистой системе

4.1.1.2 Повторный запуск программы MEM на чистой системе

На Рисунке 37 приведена лента событий, сформированная в процессе запуска штатной программы MEM из комплекта DOS на «чистой» системе. Кругом отмечен фрагмент исполнения кода программы, который будет модифицирован вирусом.

104 На Рисунке 38 показанная лента событий эквивалентна предыдущей. Тем самым приводится повторяемость эксперимента. Рисунок 38- Повторный запуск программы MEM на чистой системе

4.1.1.3 Запуск программы TREE на чистой системе

Запустим программу TREE из комплекта DOS на не инфицированной системе (Рисунок 39). Из ленты видно, что на не инфицированной системе запущена другая программа, при этом её выполнение аналогично программе MEM. Ромбом обозначен фрагмент процесса загрузки программы, который типичен для штатного запуска программы.

Рисунок 39 - Запуск программы TREE на чистой системе.

4.1.1.4 Активизация вируса

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

4.1.1.5 Запуск программы MEM на заражённой системе

Квадратом отмечена нить резидентного процесса вируса (Рисунок 41). Вирус, постоянно функционируя, разместился в верхних адресах основной памяти. Кругом обозначен фрагмент исполнения кода, который содержит характерный вид запуска программы на инфицированной системе. Обозначенную область можно сравнить с областью на Рисунках 36– 37, на которых заметно отсутствие графического следа.

4.1.1.6 Повторный запуск программы MEM на зараженной системе

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

4.1.1.7 Первый запуск программы TREE на зараженной системе при пассивном поведении вируса

Учитывая особенности вируса Abbas1100, при первом запуске наблюдается штатная работа программы на заражённой машине (Рисунок 43). В ромбе фрагмент загрузки кода программы, который визуально не отличается от работы на не инфицированной системе. В круге фрагмент запуска кода программы, содержащий признак работы в зараженной системе. Квадратом отмечена область памяти, содержащая код вируса.

4.1.1.8 Четвёртый запуск программы TREE на заражённой системе

На Рисунке 44 кругом отмечен признак запуска программы в зараженной системе, а ромбом признак размножения вируса. Он эквивалентен признаку, указанному на Рисунке 41, который наблюдался при первичном заражении системы. Другими словами, мы зафиксировали, как на зараженной системе при запуске чистой программы срабатывает тот же самый код размножения, который сработал при инфицировании системы от зараженной программы

4.1.1.9 Запуск заражённой программы TREE на зараженной системе

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

4.1.1.10 Выводы по результатам исследования вируса Abbas1100

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

а) передача управления в область модифицированных данных

б) изменение кода других программ в оперативной памяти;

в) самодублирование и перенос своих фрагментов в области оперативной памяти. Указанные выше действия программного продукта реализуют скрытые угрозы.