Основы безопасности при использовании макросов


Краткое описание

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


Подробное описание

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

Это важно по нескольким причинам:

  1. Автоматизация может сыграть с вами злую шутку. Например, вместо того, чтобы считать названия файлов в определенной директории, вы "случайно" можете всё удалить. Стоит всего лишь ошибиться в одном операторе, забыть закоментировать важную строку и досадное недоразумение необратимо. Возможность в автоматическом режиме выполнять операции над большими массивами данных - это серьезно, и когда используете какие-либо ответственные функции/процедуры нужно быть крайне внимательным.
  2. Нарушение конфиденциальности данных или иными словами воровство. Макросы пишут люди. Большинство пишут макросы в целях отчетности, а некоторые (нехорошие люди) могут написать макрос, чтобы получить доступ к конфиденциальным данным. Стоит вам всего лишь разрешить выполнение такого макроса (запустить его), и данные, доступные под вашим логином, могут быть переданы злоумышленнику. При этом такой код может состоять всего-лишь из нескольких строк, быть запрятан в любой отчет и самоудалиться после работы макроса. Особенно это актуально, когда скачиваете какие-то коды/файлы из интернета или получаете их иным образом из непроверенного источника.
  3. Широкие возможности использования и применения макросов. Это и работа с реестром, и работа с WinAPI функциями, работа с файлами/папками, работа с командной строкой, работа с SQL, работа с изображениями, работа с системными настройками, работа с интернетом и много чего еще. Важно! Если вы не уверены в действии какого-либо оператора, функции и тд. - не используйте его. Потратьте время на изучение описания/функционала данного блока кода, но зато вы точно будете знать его назначение и правила применения. Поверьте, поиск ошибок и их исправление будет куда утомительнее, чем чтение документации по интересующим вас функциям. 

Перефразируя и обобщив обозначенные выше моменты, можно сказать:

  1. внимательность
  2. осторожность
  3. предусмотрительность.

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

Вернуться к списку примеров

Комментарии (2)

  1. Евгений 18 июля 2016, 09:06 # 0
    Информационная безопасность сейчас действительно ключевой вопрос.
    1. voynik 19 июля 2016, 08:21 # 0
      Мы как раз сейчас решаем эту проблему, много «дыр» в отчетности, документации.