Issuu on Google+

Молодежный инновационный форум Приволжского федерального округа Конкурс научно-технического творчества молодежи (НТТМ) Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2011 год УДК. 004.42

Модели и алгоритмы восстановления и обновления программных систем Пензенский Государственный Университет Карпов Андрей, студент Макарычев Пётр Петрович, д.т.н., профессор В настоящее время важными характеристиками качества программного обеспечения наряду с корректностью, повторным использованием, эффективностью и функциональностью становятся целостность, а также расширяемость. Целостность – способность программного обеспечения защищать свои компоненты от несанкционированного изменения [1]. Важность контроля целостности связана с растущими год от года темпами активности вредоносного кода. Расширяемость – лѐгкость адаптации к изменениям спецификаций [1]. Важность поддержки расширяемости связана с тем, что в настоящее время требования к программному обеспечению на реализацию какихлибо новых возможностей меняются очень быстро. Целью данной работы является наделение программных систем свойствами целостности и расширяемости. Для достижения данной цели разработаны модели и алгоритмы восстановления и обновления, которые были реализованы в соответствующей подсистеме. Для обеспечения целостности программной системы была решена задача восстановления еѐ объектов при их несанкционированном изменении. Объектами восстановления являются, применительно к программному обеспечения для операционных систем семейства Windows, во-первых файлы (исполнительные модули, библиотеки, драйверы), во-вторых ключи реестра. Восстанавливаемыми свойствами объектов могут быть как только содержимое – данные файлов и записи ключей реестра, так и дополнительные свойства, такие как права доступа к объектам, атрибуты файлов. Существующие средства, решающие задачу восстановления имеют ряд недостатков. Механизм Windows File Protection (WFP), реализованный в Windows XP, защищает только один вид объектов – файлы. При этом список защищаемых файлов строго зафиксирован изначально, а восстановление происходит только при изменении содержимого файла, атрибуты и права доступа не отслеживаются [2]. Реализованный в Windows Vista/7 механизм Windows Resource Protection (WRP) обеспечивает защиту как файлов, так и ключей реестра, но только тех, которые необходимы для загрузки ОС – это также очень узкий и строго фиксированный список объектов [3]. Защита основывается


Молодежный инновационный форум Приволжского федерального округа Конкурс научно-технического творчества молодежи (НТТМ) Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2011 год на установлении прав доступа к этим объектам. Восстановление же осуществляется пассивно - по требованию пользователя или по расписанию, что может привести к тому, что система может длительное время находится в модифицированном состоянии. В разработанной подсистеме восстановления реализован метод, обеспечивающий защиту как файлов, так и ключей реестра. Причѐм восстановление выполняется оперативно, как при изменении содержимого объектов, так и при модификации прав доступа, а для файлов – также их атрибутов. Кроме того изменѐнные файлы перед их восстановлением сохраняются в специальный каталог с целью из последующего анализа. Для обеспечения расширяемости программной системы была решена задача обновления еѐ объектов. Смысл обновления программной системы – это еѐ развитие, продление еѐ жизненного цикла, расширение функций, адаптация к новым требованиям, а также исправление ошибок. Задача обновления может решаться альтернативными методами. Наиболее надѐжными и безопасными являются методы, позволяющие при необходимости удалить обновление, возвращая при этом программную систему в предыдущее состояние. В данном проекте разработан именно такой метод. Большинство существующих средств обновления имеют ограничения, связанные с порядком установки и отката пакетов обновлений. Пакеты обновления должны устанавливаться в порядке возрастания версий, а удалятся – в порядке их убывания [4]. Разработанная подсистема не устанавливает таких ограничений, поскольку использует для установки и отката свой специальноразработанный алгоритм. Кроме того, в данной работе были разработаны и реализованы модели и алгоритмы, обеспечивающие возможность изменения конфигурации (состава компонентов) программной системы после установки множества пакетов обновлений. Обеспечение данной функциональности является уникальным и не поддерживается другими существующими средствами обновления программных систем. Разработанная подсистема были внедрена в состав крупной программной системы. Подсистема обеспечивает общую инфраструктуру для восстановления и обновления всех продуктов, входящих в состав системы. Применение данной подсистемы позволило, во-первых, повысить отказоустойчивость системы посредством обеспечения еѐ целостности, а во-вторых, гибко, надѐжно и безопасно расширять программную систему путѐм установки обновлений. Список литературы 1. Бертран Мейер. Объектно-ориентированное проектирование программных систем. – М.: Русская редакция, 2005. 2. Поддержка Microsoft [Электронный ресурс] . – Электрон. дан., 2010. – Режим доступа: http://support.microsoft.com/kb/222193. – Загл. с экрана 3. MSDN [Электронный ресурс]. – Электрон. дан., 2010. – Режим доступа: http://msdn.microsoft.com/en-us/library/aa382503(v=VS.85).aspx. – Загл. с экрана


Молодежный инновационный форум Приволжского федерального округа Конкурс научно-технического творчества молодежи (НТТМ) Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2011 год 4. Поддержка Microsoft [Электронный ресурс] . – Электрон. дан., 2010. – Режим доступа: http://support.microsoft.com/kb/262841. – Загл. с экрана


/Karpov_A