MS Office 2000 для разработчиков

Защита от макровирусов в Office 2000

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

- российская привычка рассылать материал в Word-файлах;

- представление пользователей о том, что опасными являются только исполняемые файлы;

- проблемы идентификации макровирусов (методы, отработанные на вирусах, которые реализованы в машинных кодах, тут не слишком подходят).

В Office 97 для решения это проблемы был предусмотрен механизм предупреждения о наличии программного кода в приложении (устанавливается командой Tools|Options|General, флажок Macro Virus Protection). Однако этого было явно недостаточно, учитывая, например, простую ситуацию, когда этот режим просто отключался, если пользователи (авторы статьи в том числе) часто работали с программируемыми документами.

MS Office 2000 предлагает усовершенствованный вариант защиты, использующий методику электронной подписи VBA-проектов. Последняя включает два элемента:

  1. Каждый пользователь может создать собственный сертификат (электронную подпись) и даже несколько. Это можно сделать тремя способами: создать личный сертификат, получить его у администратора сети (если на предприятии разработаны собственные стандарты) или получить фирменный сертификат в специализированном центре. Собственный сертификат создается автономной утилитой SelfCert.exe (рис. 9), которая находится на компакт-диске дистрибутива и переписывается на компьютер вручную. Затем электронная подпись может прикрепляться к программному коду в среде VBA командой Tools|Digital Signature.
  2. В среде офисного приложения с помощью команды Tools|Marco|Security устанавливается режим защиты (рис. 10). Мы рекомендуем установить «средний», но в любом случае полезно прочитать подробное описание функционирования режимов защиты в Справке. (К сожалению, в Справке самого диалогового окна информация очень неполная, полные сведения доступны только через команду Help.)

Далее при загрузке файла с программным кодом пользователю выдается соответствующее сообщение и предлагается выбрать одно из решений о загрузке документа (рис. 11). При этом, если в документе есть цифровая подпись, пользователь может автоматически занести ее в свой список «доверенных лиц». (В любой момент можно удалить какую-либо подпись из этого списка с помощью той же команды Tools|Macro|Security.) Кроме того, можно посмотреть более детальную информацию о сертификате, нажав на диалоговом окне кнопку «Настройка» (рис. 12). Это полезно сделать, так как любой пользователь в своем сертификате может задать известное имя, а подделать номер (он формируется автоматически) чрезвычайно сложно. Все документы с авторизованными на данном компьютере подписями загружаются автоматически.

Проблема 1. Она заключается в том, что в настоящий момент в русской версии Office этот механизм не работает из-за ошибок в программе. Во-первых, не работает утилита SelfCetr.exe (не раскрывается диалоговое окно). Но ее исправленный вариант уже существует и, наверное, будет выложен на российском сервере Microsoft (www.microsoft.com/rus) и появится в ближайшем пакете обновлений. Во-вторых, если в локализованной версии исправить программный код с чужой подписью, то приложение можно сохранить, только убрав в нем подпись. При попытке сохранить исправленный проект с чужой или своей подписью выдается неверная диагностика о том, что на диске нет достаточного пространства.

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

Возврат


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует