Эта запись опубликована
02.09.2009 в 11:58. Рубрики: SCCM, безопасность. Вы можете следить
за ответами к этой записи через RSS 2.0.
Вы можете оставить отзыв или трекбек со своего сайта.
Шифрование не означает защиту
Зачастую шифрование всего и вся внедряется не когда есть время на разработку стратегии, а когда поступает информация о скором визите незваных гостей. При этом шифрование применяется бездумно, как универсальная панацея против всех проблем, начиная от непосредственно защиты конфиденциальной информации и заканчивая наличием установленного нелицензионного программного обеспечения.
Как показывает мой опыт, рядовые сотрудники редко понимают,что идя на сотрудничество с гостями, они вовсе не обеспечивают себе защиту доброжелательно следователя, который так мягко просит ему просто помочь.
Увы, все оказывается ровно наоборот — готовые сотрудничать лишь обеспечивают уникальную доказательную базу против самих себя, как соучастников каждого действия, доказательства которому будут впоследствии найдены внутри зашифрованного хранилища данных. Сложно отрицать свою осведомленность о существовании и содержании документа, если тот был найден внутри криптоконтейнера, ключ от которого был только у тебя, а о последнем факте, в предыдущем протоколе даже есть собственноручно подписанные показания.
Тот же, кто громко всех доказывает невозможность подобных действий со стороны здравомыслящих взрослых людей, очень плохо себе представляет, как себя ощущает и во что готов поверить человек, которому в прокуренном кабинете спокойным голосом рассказывают, что в обмен на сотрудничество прямо сейчас отпустят домой, а не повезут в СИЗО. И что вовсе ведь не обязательно красивой молодой девушке из-за своего глупого упорства ломать всю оставшуюся жизнь и карьеру криминальным пятном в биографии — ведь информацию все равно ищут не против нее, а всего лишь против ее работодателя.
Скажите, вам никогда не показывали, как ломается табуретка о спину? Даже если эта табуретка ломается не о вашу спину (сотрудники силовых ведомств, как известно, всегда действуют жестко в рамках соблюдения закона и прав человека), я полагаю, что зрелище способно подтолкнуть к тому, чтобы вспомнить не только все забытые пароли, но даже то, о чем ранее не подозревали.
Когда системный администратор небольшой компании с пеной у рта доказывает, что разработанная им система защиты абсолютно надежна, что каскад из двух надежных криптоалгоритмов можно вскрыть лишь полным перебором символов ключевой фразы… Он прав. Но в цепи всегда остается слабое звено, которому можно показать ту сломанную табуретку.
Но к технологиям все вышенаписанное отношения действительно почти не имеет.
А имеет отношение то, что в порыве внедрения шифрования всего подряд, очень мало кто задумывается, что будет, если информация будет расшифрована кем-то, кроме владельца. Если на рабочем столе лежат документы, подтверждающие деяния начиная с коммерческого подкупа тендерного комитета и заканчивая схемой таможенной очистки товара, то эти документы необходимо не зашифровать, а срочно уничтожить и более не хранить в столь очевидных местах.
При пожарном методе внедрения, как правило принимается решения о прозрачном шифровании всего содержимого дисков рабочих станций. Это верное решение, так как вне зависимости от места хранения конфиденциальной информации, всегда есть шанс найти много интересного, проведя восстановления удаленных временных файлов. Да и не столь велики шансы того, что все пользователи всегда добросовестно используют предоставленное им средство для надежного уничтожения конфиденциальной информации, а не ограничиваются помещением файлов в корзину 😉
Только необходимо понимать, что при этом диск будет зашифрован посекторно, то есть, со всей информацией, которая с точки зрения файловой системы уже давно является свободным пространством.
Есть достаточно простое решение для того, чтобы даже после падения последнего рубежа обороны конфиденциальной информации, сама эта информация не оказалась нежданным подарком. По большому счету, если речь идет о подобной ситуации, то не столь и важно, насколько велики будут потери. Но пусть они станут хоть немного меньшими.
Кстати, средство крайне рекомендуется для использования теми, кого жареных петух еще не клевал и кто еще не задумывался о внедрении шифрования вообще.
Не все знают, что кроме массы дорогостоящих средств для надежного уничтожения информации, существует бесплатное решение, которое можно скачать с сайта, принадлежащего компании Microsoft. Речь идет о разработанной компанией Sysinternals утилите командной строки под названием sdelete.
Итак, что нам необходимо уничтожить:
- Все временные файлы, созданные при посещении ВЕБ страниц и открытии файлов непосредственно из сообщений в стандартной корпоративной почтовой программе
- Все временные файлы, создаваемые теми или иными приложениями в процессе своей работы, которые затем традиционно не удаляются из-за природной лени авторов этих программ
- Системные временные файлы, среди которых редко можно встретить что-то ценное, но зачем хранить мусор?
- Содержимое корзины. Лично я против отключения перемещения файлов в корзину и включения немедленного удаления — рука может дрогнуть у кого угодно. Но периодически содержимое корзины имеет смысл очищать принудительно.
- Содержимое кэша установки пакетов SCCM.
- Пространство, отмеченное как незанятое на основных жестких дисках рабочей станции
Замечательно, скачаем саму утилиту sdelete и напишем командный сценарий, производящий все необходимые действия. После чего создадим на его основе пакет установки, запускающийся в разумное время и с разумной периодичностью. Очистка незанятого пространства процедура достаточно долгая, а процедура очистки корзины процедура несколько неоднозначная, поэтому необходимо тщательно продумать время и периодичность запуска.
Сам файл tempshread.cmd может выглядеть примерно следующим образом:
@echo off
for /D %%f in («C:\Documents and Settings\*») do for /D %%z in («%%f\Local Settings\Temporary Internet Files») do sdelete -p 2 -q -s %%z
for /D %%f in («C:\Users\*») do for /D %%z in («%%f\AppData\Local\Temp») do sdelete -p 2 -q -s %%z
for /D %%f in («C:\Users\*») do for /D %%z in («%%f\AppData\Local\Microsoft\Windows\Temporary Internet Files») do sdelete -p 2 -q -s %%z
for /D %%f in («C:\Documents and Settings\*») do for /D %%z in («%%f\Local Settings\Temp») do sdelete -p 2 -q -s %%z
for /D %%f in («C:\RECYCLER») do sdelete -p 3 -q -s %%f
for /D %%f in («d:\RECYCLER») do sdelete -p 3 -q -s %%f
for /D %%f in («e:\RECYCLER») do sdelete -p 3 -q -s %%f
for /D %%f in («f:\RECYCLER») do sdelete -p 3 -q -s %%f
for /D %%f in («g:\RECYCLER») do sdelete -p 3 -q -s %%f
for /D %%f in («%systemroot%\temp») do sdelete -p 1 -q -s %%f
sdelete -p 1 -z c:
sdelete -p 1 -z d:
sdelete -p 1 -z e:
sdelete -p 1 -z f:
sdelete -p 1 -z g:
for /D %%f in («%systemroot%\system32\ccm\Cache») do sdelete -p 1 -q -s %%f
for /D %%f in («%systemroot%\syswow64\ccm\Cache») do sdelete -p 1 -q -s %%f
Про то, что часть строк не является циклом, а является чесанием левого уха правой пяткой, можно в комментариях не писать — мне просто удобнее ориентироваться в такой структуре.
Есть, правда, в предложенном решении небольшая неприятная деталь: при своем первом запуске под каждым из пользователей рабочей станции, все утилиты Sysinternals выводят окно принятие пользовательского соглашения. Можно, конечно, добавить в начало нашего сценария строчку
regedit /S sdeleteadd.reg
И создать файл sdeleteadd.reg следующего содержания:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Sysinternals\SDelete]
«EulaAccepted»=dword:00000001
Но, если задуматься, это уже некорректно с точки зрения соблюдения прав использования предоставленной производителем программы.
Я, кстати, серьезно: даже такой внешне безобидный обход защиты бесплатного программного обеспечения, формально, является уголовно наказуемым деянием. Как говорится, кому не нравится принимать условия производителя, имеет полное право самостоятельно написать подобную утилиту и распространять ее со свободной лицензией.