Случалось ли вам волноваться по поводу утечки корпоративных или личных данных за пределы круга допущенных к ним лиц? Если вы руководитель, скажем, отдела, то, я думаю, ответ будет утвердительным. А если же вы руководитель более крупного ранга или хозяин бизнеса, то эти "волнения", полагаю, у многих носят перманентный характер, плавно переходящий в невроз. Но как узнать, кто помимо авторизованных лиц просматривает ваши файлы? Об этой задаче я думал давно, но для успешной реализации всегда чего-то не хватало. И вот недавно, наконец, все компоненты нашлись, сложились в единое целое и я готов вам представить готовый продукт.
Идея контроля
Предположим, что вы - владелец важной бизнес-информации, которую вы храните в формате MS Excel. Информация реально важна и доступ к ней имеют небольшое количество приближенных сотрудников. Утечка крайне нежелательна и создаёт серьёзные риски для бизнеса. Согласитесь, что было бы хорошо, если бы вы получали сигнал, о том, что ваш важный конфиденциальный файл вдруг открывает человек, который этого делать не должен. Да простят меня айтишники, но в половине случаев это именно они :) Либо это авторизованный сотрудник перепоручил свою работу секретарю, либо ваш файл уже вышел за пределы компании и его смотрит бог знает кто... Перед вами именно такая защита.
Идея в том, что в файл встраивается программный код, который пришлёт вам электронное письмо, когда файл кто-то открывает. Идея простая, но условия для её осуществления наступили сравнительно недавно. Основное условие - повальное распространение интернета. То есть файл сможет подать вам весточку, только если у него будет доступ в интернет. А это сейчас практически везде. Мне возразят, что доступ во многих организациях не прозрачный, что для выхода в интернет может требоваться авторизация, что почтовые протоколы так вообще закрыты в 90% организаций. Это всё так. Однако, тенденции таковы, что доступ в сеть всё больше и больше облегчают, так как и бизнес всё больше сливается с сетью, облачные технологии победно шагают по планете, в сети появляется масса бесплатных и интересных для бизнеса сервисов. Для всего этого требуется широкополосный доступ в интернет, а не через прокси сервер, который в сколь-нибудь большой компании просто не прокачает такой трафик. А уж дома у людей вообще всё хорошо - любой утюг скоро без интернета будет отказываться работать.
Второе возражение, которое я услышу будет такое: "Ха! Ну и кто же позволит запустить твоему файлу макросы?" На это я скажу, что этот аспект меня беспокоит куда меньше наличия доступа в сеть, так как в подавляющем своём большинстве люди - ни ухом ни рылом в макросах. Файл открылся - и слава Богу. Далее, если макросы не будут разрешены для этого файла, то человек просто не увидит данных. Он увидит, вот такую невинную заставку:
К сожалению или к счастью, люди по своей природе в основном беспечны. И если даже неавторизованный человек предпримет все меры предосторожности и обманет файл, то пройдёт какое-то время, чувство опасности притупится и бам - файлик будет запущен, как положено, и вы хоть и с задержкой, но всё равно узнаете об утечке.
Есть ещё такое возражение: а как, собственно, Excel макрос сможет идентифицировать чужой компьютер, чтобы вы поняли, кто это. Ну, в корпоративной среде это вообще не проблема, так как все компьютеры проинвентаризированы, а сетевые пользователи, как правило, индивидуальны, а, что касается личных квартир, то тут, конечно, могут возникнуть некоторые сложности. Но будем надеяться, что вам повезет. В любом случае, вскроется самое важное - факт утечки, а дальше надо проводить расследование.
Ну и последнее возражение: "Вся эта защита в Excel ломается за 1 минуту". И я должен сказать, что это правда. Любая стандартная защита Excel потрошится весьма быстро, однако, много ли вы лично знаете таких потрошителей? Ради интереса проведите опрос среди своих друзей, знакомых и коллег. Задайте один единственный вопрос, почему на планете Земля существует такое явление, как смена времён года (зима и лето). Провели? Если люди в своём подавляющем большинстве не знают ТАКИЕ фундаментальные вещи, то о каком потрошении защиты Excel вы изволите говорить? Смешно! Всё это будет работать на УРА в 80-90% случаев.
Пошаговая инструкция
Настройка защиты
-
В файле есть лист Signal, на котором находятся все немногочисленные настройки.
Пройдёмтесь по полям:
Поле Кому - это ваш реальный ящик, который будет принимать письма от файла (файлов). Я рекомендую создать вам отдельный ящик для этих целей на популярных ресурсах (Google, Yandex, etc). Адрес warning@mail.box вымышленный, с ним ничего работать не будет.
Поле От кого - от имени этого адреса к вам придёт письмо. Поле надо заполнить. Можно оставить то, что вы видите на экране. Если вы захотите ввести что-то своё, то позаботьтесь, чтобы это напоминало реальный почтовый адрес, так как я не тестировал, как система отреагирует на произвольные текстовые константы в этом поле. Русских букв тут быть не должно.
Поле Тема уведомления - тема должна вам подсказывать, о каком вашем файле идёт речь, так как подобных файлов у вас может быть несколько (бизнес-план, зарплаты сотрудников). Только латинские буквы и арабские цифры!
Поле Белый список ПК - это список серийных номеров компьютеров, с которых уведомления присылаться не будут, так как это авторизованные компьютеры. Кнопка Добавить этот ПК добавляет серийный номер компьютера, на котором в данный момент запущен файл. Список можно править руками.
Поле Пользователь SendGrid. Вот тут внимательно. Для отправки сообщений я пользуюсь сервисом с ресурса https://sendgrid.com/, который позволяет отправлять до 400 сообщений в день бесплатно. Пользователь DSB75 и пароль к нему - это мой пользователь, которого я специально зарегистрировал для тестовых целей. Если данный инструмент будет хоть немного популярен, а это вполне вероятно, то свой лимит в 400 сообщений этот пользователь быстро выберет и всё у всех перестанет работать. Поэтому! Если вы всерьёз хотите от чего то защищаться, то вам необходимо самостоятельно зарегистрировать бесплатный эккаунт на этом сервисе и прописать своего пользователя и пароль к нему.
Поле Пароль SendGrid - пароль хранится в зашифрованном виде, штатно посмотреть, какой сейчас пароль нельзя. Будьте внимательны при вводе.
- Кнопка Тестовое сообщение. Заполнив все поля, согласно этой инструкции, вы можете протестировать работает ли отправка. Она должна работать. Если нет, то пишите мне.
-
Ваши данные должны быть скопированы в мой файл, а не наоборот. В вашем файле не должно быть макросов.
-
Держите в тайне информацию, что файл защищён.
-
У защищенных файлов появляется очень важная особенность - их невозможно закрыть без сохранения. Если вы выходите из файла, то он сохранит себя принудительно. В противном случае этот тип защиты невозможен. Учитывайте это! Если что-то не то сделали в файле, то отменяйте через Ctrl+Z, выйти без сохранения не получится.
Активация защиты
-
Призведите настройку согласно раздела "Настройка защиты"
-
На листе Signal нажмите кнопку Активировать.
-
Выйдите из файла. Он сохранит изменения автоматически.
-
Переименуйте файл, если в этом есть необходимость.
-
Запустите файл снова. Вы должны увидеть, что лист Signal исчез (он становится скрытым) и видны только листы с данными. Однако, если файл запущен с выключенными макросами, то вы увидите единственный лист Info с предложением включить макросы для корректной работы с файлом (иллюстрация уже приводилась в начале статьи).
Деактивация защиты
-
Для деактивации защиты, поскольку лист Signal скрыт, предусмотрен специальный алгоритм - на любом листе файла в ячейку с адресом WWW1 введите 1. Чтобы быстро перейти на WWW1 введите адрес ячейки в вдресной строке:
-
После этого закройте файл и откройте снова. Должен появиться лист Signal с панелью управления, а вашу единичку в WWW1 программа сотрёт сама. Деактивированный файл свой служебный лист Signal не прячет и сообщений не рассылает, однако прячет лист Info, чтобы он никого не смущал. Даже деактивированная защита будет требовать включения макросов, в противном случае увидите лист с шестерёнкой.
Отчёт от защиты
Вот отчёт, который сформирован на моём ноутбуке:
-
Дата и время - это момент времени, когда программе удалось отправить сообщение. В большинстве случаев это будет совпадать со временем открытия файла. Однако, если на момент открытия файла связи не было, то программа будет предпринимать повторные попытки и тогда время может не совпасть. Например, в процессе работы с файлом пользователю взбрело в голову подключить 3G модем и связь неожиданно появилась.
-
Имя пользователя MS Office - многие указывают своё настоящее имя тут:
-
Имя пользователя - это имя пользователя на компьютере
-
Доменное имя пользователя - в корпоративной среде имена пользователей регистрируются на специальных серверах. Если это поле заполнено, то пользователь явно трудится в какой-то компании с достаточно развитой IT инфраструктурой
-
Имя домена - имя так называемого домена MS Active Directory. Часто имя домена соответствует названию компании.
-
Доменное полное имя - полное имя в домене. Если пользователь в домене может называться RU522123, то тут уже может быть расшифровка (типа Batianov Denis).
-
Имя компьютера - или имя хоста. Все компьютеры в сети, как правило, имеют уникальные имена. Поскольку я работаю дома, то я назвал так, как мне вздумалось. В корпоративной среде такие имена строятся по какой-то системе.
-
Модель компьютера - информация о точной модели ПК злоумышленника явно не повредит.
-
Серийный номер компьютера - это убойное доказательство. Ключевое поле.
-
IP и MAC адреса - для специалистов также будут иметь значение, особенно в корпоративной среде. MAC адрес уникален, выдача IP логируется на сервере. Хотя, имея серийный номер ПК - это уже нюансы, как говорится "до кучи".
-
Операционная система - ну и этот параметр не помещает.
Таким образом, скорее всего у вас будет достаточно зацепок, чтобы предположить, кто стибрил файлик. Данный инструмент может несколько ускорить естественный отбор в стане IT специалистов. Ну что ж ... Звание специалиста надо заслужить.
Технические замечания для профессионалов
Мне очень понравился сервис SendGrid. Сообщения я отправляю методом HTTP POST. Это позволяет отправить сообщение, если в компании открыт только TCP 80. SMTP порты, конечно же, в 99% организаций закрыты наглухо. Рекомендую ознакомиться с кодом отправки сообщений.
Наконец-то научился делать профессиональные формы по типу приведенной выше с настройками программы. Согласитесь, выглядит отлично.
Всю идентификационную информацию добываю в основном через WMI классы. Если вы ранее с ними не сталкивались, то посмотрите - это довольно интересно и просто.
Механизм ввода и хранения пароля тоже довольно любопытен.
Ну и последнее, что заслуживает внимания, это реализация динамического скрытия / показа листов. При сохранении все листы кроме Info скрываются на случай, если следующий запуск будет без макросов.
Предупреждение
ГРАЖДАНЕ! ДАННОЕ СРЕДСТВО ПРЕДНАЗНАЧЕНО ДЛЯ ЗАЩИТЫ ВАШИХ ДАННЫХ. Я КАТЕГОРИЧЕСКИ ВОЗРАЖАЮ, ЧТОБЫ ВЫ ЕГО ИСПОЛЬЗОВАЛИ ДЛЯ ЛЮБЫХ ИНЫХ ЦЕЛЕЙ. ИСПОЛЬЗУЙТЕ ДАННЫЙ ИНСТРУМЕНТ НА СВОЙ СТРАХ И РИСК. Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПРЯМЫЕ И/ИЛИ КОСВЕННЫЕ НЕГАТИВНЫЕ ПОСЛЕДСТВИЯ, ЕСЛИ ВДРУГ ТАКОВЫЕ БУДУТ ИМЕТЬ МЕСТО. В ТО ЖЕ ВРЕМЯ Я ПОДТВЕРЖДАЮ, ЧТО ДАННАЯ ПРОГРАММА СОДЕРЖИТ В СЕБЕ ТОЛЬКО ЗАЯВЛЕННУЮ ФУНКЦИОНАЛЬНОСТЬ И НИЧЕГО СВЕРХ НЕЁ.
Скачать программу
Если вы вдруг почувствовали внезапное непреодолимое желание отблагодарить автора, то вы можете это сделать тут:
|