Главная » Статьи » Excel » Безопасность данных

Ваши файлы читают посторонние люди?

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

Идея контроля

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

Идея в том, что в файл встраивается программный код, который пришлёт вам электронное письмо, когда файл кто-то открывает. Идея простая, но условия для её осуществления наступили сравнительно недавно. Основное условие - повальное распространение интернета. То есть файл сможет подать вам весточку, только если у него будет доступ в интернет. А это сейчас практически везде. Мне возразят, что доступ во многих организациях не прозрачный, что для выхода в интернет может требоваться авторизация, что почтовые протоколы так вообще закрыты в 90% организаций. Это всё так. Однако, тенденции таковы, что доступ в сеть всё больше и больше облегчают, так как и бизнес всё больше сливается с сетью, облачные технологии победно шагают по планете, в сети появляется масса бесплатных и интересных для бизнеса сервисов. Для всего этого требуется широкополосный доступ в интернет, а не через прокси сервер, который в сколь-нибудь большой компании просто не прокачает такой трафик. А уж дома у людей вообще всё хорошо - любой утюг скоро без интернета будет отказываться работать.

Второе возражение, которое я услышу будет такое: "Ха! Ну и кто же позволит запустить твоему файлу макросы?" На это я скажу, что этот аспект меня беспокоит куда меньше наличия доступа в сеть, так как в подавляющем своём большинстве люди - ни ухом ни рылом в макросах. Файл открылся - и слава Богу. Далее, если макросы не будут разрешены для этого файла, то человек просто не увидит данных. Он увидит, вот такую невинную заставку:

К сожалению или к счастью, люди по своей природе в основном беспечны. И если даже неавторизованный человек предпримет все меры предосторожности и обманет файл, то пройдёт какое-то время, чувство опасности притупится и бам - файлик будет запущен, как положено, и вы хоть и с задержкой, но всё равно узнаете об утечке.

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

Ну и последнее возражение: "Вся эта защита в Excel ломается за 1 минуту". И я должен сказать, что это правда. Любая стандартная защита Excel потрошится весьма быстро, однако, много ли вы лично знаете таких потрошителей? Ради интереса проведите опрос среди своих друзей, знакомых и коллег. Задайте один единственный вопрос, почему на планете Земля существует такое явление, как смена времён года (зима и лето). Провели? Если люди в своём подавляющем большинстве не знают ТАКИЕ фундаментальные вещи, то о каком потрошении защиты Excel вы изволите говорить? Смешно! Всё это будет работать на УРА в 80-90% случаев.

Пошаговая инструкция


Настройка защиты

  • В файле есть лист Signal, на котором находятся все немногочисленные настройки.

    Пройдёмтесь по полям:

    1. Поле Кому - это ваш реальный ящик, который будет принимать письма от файла (файлов). Я рекомендую создать вам отдельный ящик для этих целей на популярных ресурсах (Google, Yandex, etc). Адрес warning@mail.box вымышленный, с ним ничего работать не будет.

    2. Поле От кого - от имени этого адреса к вам придёт письмо. Поле надо заполнить. Можно оставить то, что вы видите на экране. Если вы захотите ввести что-то своё, то позаботьтесь, чтобы это напоминало реальный почтовый адрес, так как я не тестировал, как система отреагирует на произвольные текстовые константы в этом поле. Русских букв тут быть не должно.

    3. Поле Тема уведомления - тема должна вам подсказывать, о каком вашем файле идёт речь, так как подобных файлов у вас может быть несколько (бизнес-план, зарплаты сотрудников). Только латинские буквы и арабские цифры!

    4. Поле Белый список ПК - это список серийных номеров компьютеров, с которых уведомления присылаться не будут, так как это авторизованные компьютеры. Кнопка Добавить этот ПК добавляет серийный номер компьютера, на котором в данный момент запущен файл. Список можно править руками.

    5. Поле Пользователь SendGrid. Вот тут внимательно. Для отправки сообщений я пользуюсь сервисом с ресурса https://sendgrid.com/, который позволяет отправлять до 400 сообщений в день бесплатно. Пользователь DSB75 и пароль к нему - это мой пользователь, которого я специально зарегистрировал для тестовых целей. Если данный инструмент будет хоть немного популярен, а это вполне вероятно, то свой лимит в 400 сообщений этот пользователь быстро выберет и всё у всех перестанет работать. Поэтому! Если вы всерьёз хотите от чего то защищаться, то вам необходимо самостоятельно зарегистрировать бесплатный эккаунт на этом сервисе и прописать своего пользователя и пароль к нему.

    6. Поле Пароль SendGrid - пароль хранится в зашифрованном виде, штатно посмотреть, какой сейчас пароль нельзя. Будьте внимательны при вводе.

    7. Кнопка Тестовое сообщение. Заполнив все поля, согласно этой инструкции, вы можете протестировать работает ли отправка. Она должна работать. Если нет, то пишите мне.

  • Ваши данные должны быть скопированы в мой файл, а не наоборот. В вашем файле не должно быть макросов.

  • Держите в тайне информацию, что файл защищён.

  • У защищенных файлов появляется очень важная особенность - их невозможно закрыть без сохранения. Если вы выходите из файла, то он сохранит себя принудительно. В противном случае этот тип защиты невозможен. Учитывайте это! Если что-то не то сделали в файле, то отменяйте через Ctrl+Z, выйти без сохранения не получится.

Активация защиты

  • Призведите настройку согласно раздела "Настройка защиты"

  • На листе Signal нажмите кнопку Активировать.

  • Выйдите из файла. Он сохранит изменения автоматически.

  • Переименуйте файл, если в этом есть необходимость.

  • Запустите файл снова. Вы должны увидеть, что лист Signal исчез (он становится скрытым) и видны только листы с данными. Однако, если файл запущен с выключенными макросами, то вы увидите единственный лист Info с предложением включить макросы для корректной работы с файлом (иллюстрация уже приводилась в начале статьи).

Деактивация защиты

  • Для деактивации защиты, поскольку лист Signal скрыт, предусмотрен специальный алгоритм - на любом листе файла в ячейку с адресом WWW1 введите 1. Чтобы быстро перейти на WWW1 введите адрес ячейки в вдресной строке:

  • После этого закройте файл и откройте снова. Должен появиться лист Signal с панелью управления, а вашу единичку в WWW1 программа сотрёт сама. Деактивированный файл свой служебный лист Signal не прячет и сообщений не рассылает, однако прячет лист Info, чтобы он никого не смущал. Даже деактивированная защита будет требовать включения макросов, в противном случае увидите лист с шестерёнкой.

Отчёт от защиты

Вот отчёт, который сформирован на моём ноутбуке:

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

  2. Имя пользователя MS Office - многие указывают своё настоящее имя тут:

  3. Имя пользователя - это имя пользователя на компьютере

  4. Доменное имя пользователя - в корпоративной среде имена пользователей регистрируются на специальных серверах. Если это поле заполнено, то пользователь явно трудится в какой-то компании с достаточно развитой IT инфраструктурой

  5. Имя домена - имя так называемого домена MS Active Directory. Часто имя домена соответствует названию компании.

  6. Доменное полное имя - полное имя в домене. Если пользователь в домене может называться RU522123, то тут уже может быть расшифровка (типа Batianov Denis).

  7. Имя компьютера - или имя хоста. Все компьютеры в сети, как правило, имеют уникальные имена. Поскольку я работаю дома, то я назвал так, как мне вздумалось. В корпоративной среде такие имена строятся по какой-то системе.

  8. Модель компьютера - информация о точной модели ПК злоумышленника явно не повредит.

  9. Серийный номер компьютера - это убойное доказательство. Ключевое поле.

  10. IP и MAC адреса - для специалистов также будут иметь значение, особенно в корпоративной среде. MAC адрес уникален, выдача IP логируется на сервере. Хотя, имея серийный номер ПК - это уже нюансы, как говорится "до кучи".

  11. Операционная система - ну и этот параметр не помещает.

Таким образом, скорее всего у вас будет достаточно зацепок, чтобы предположить, кто стибрил файлик. Данный инструмент может несколько ускорить естественный отбор в стане IT специалистов. Ну что ж ... Звание специалиста надо заслужить.

Технические замечания для профессионалов

  1. Мне очень понравился сервис SendGrid. Сообщения я отправляю методом HTTP POST. Это позволяет отправить сообщение, если в компании открыт только TCP 80. SMTP порты, конечно же, в 99% организаций закрыты наглухо. Рекомендую ознакомиться с кодом отправки сообщений.

  2. Наконец-то научился делать профессиональные формы по типу приведенной выше с настройками программы. Согласитесь, выглядит отлично.

  3. Всю идентификационную информацию добываю в основном через WMI классы. Если вы ранее с ними не сталкивались, то посмотрите - это довольно интересно и просто.

  4. Механизм ввода и хранения пароля тоже довольно любопытен.

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

Предупреждение

ГРАЖДАНЕ! ДАННОЕ СРЕДСТВО ПРЕДНАЗНАЧЕНО ДЛЯ ЗАЩИТЫ ВАШИХ ДАННЫХ. Я КАТЕГОРИЧЕСКИ ВОЗРАЖАЮ, ЧТОБЫ ВЫ ЕГО ИСПОЛЬЗОВАЛИ ДЛЯ ЛЮБЫХ ИНЫХ ЦЕЛЕЙ. ИСПОЛЬЗУЙТЕ ДАННЫЙ ИНСТРУМЕНТ НА СВОЙ СТРАХ И РИСК. Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПРЯМЫЕ И/ИЛИ КОСВЕННЫЕ НЕГАТИВНЫЕ ПОСЛЕДСТВИЯ, ЕСЛИ ВДРУГ ТАКОВЫЕ БУДУТ ИМЕТЬ МЕСТО. В ТО ЖЕ ВРЕМЯ Я ПОДТВЕРЖДАЮ, ЧТО ДАННАЯ ПРОГРАММА СОДЕРЖИТ В СЕБЕ ТОЛЬКО ЗАЯВЛЕННУЮ ФУНКЦИОНАЛЬНОСТЬ И НИЧЕГО СВЕРХ НЕЁ.

Скачать программу

Версия 1.00 от 12.04.2015


Если вы вдруг почувствовали внезапное непреодолимое желание отблагодарить автора, то вы можете это сделать тут:



Категория: Безопасность данных | Добавил: dsb75 (12.04.2015) | Автор: Батьянов Денис E W
Просмотров: 3056 | Комментарии: 6 | Теги: защита от неавторизованного доступа | Рейтинг: 5.0/2
Всего комментариев: 5
4 ivanlishaev   (30.07.2016 10:34)
Денис, а можно посмотреть код? Там же самое интересное).

1
5 dsb75   (30.07.2016 10:55)
Иван, сломайте VBA пароль - это не очень сложно. В интернетах много рецептов smile

3 dmitriyelesin   (28.06.2016 15:26)
Денис, добавь ещё в табличку такую информацию: ActiveWorkbook.Path и ActiveWorkbook.Name

0
2 dsb75   (13.06.2015 20:42)
Увы, в 2007 офисе не всё работает, как в более поздних (выдаёт при старте 430-ю ошибку). Возможно, исправлю на досуге.

0
1 dsb75   (28.04.2015 09:14)
28 апреля 2015 сменился пароль у DSB75 в SendGrid, файл Signal.xlsm обновлён.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс.Метрика