Проверка файлов Office 2010Источник: blogstechnet
Привет, меня зовут Дэвид Б. Хейз, и я работаю в отделе безопасности Office, отвечающем за тестирование проверки файлов Office (кодовое имя: Gatekeeper). В связи с новой возможностью проверки файлов в Microsoft Office 2010 появились некоторые недоразумения, и я надеюсь их прояснить и объяснить, что и как. Зачем проверять двоичные файлы?За прошедшие годы офисные двоичные файлы неизбежно развивались, рос их размер и увеличивалась сложность. Мы обнаружили, что злоумышленники используют двоичные файлы для заражения компьютера пользователя, поэтому мы решили придумать способ, как это остановить. При поступлении в Майкрософт новых заявок об атаках с помощью файлов Office мы выполняли проверку своими средствами, чтобы узнать, как обстоят дела. Что ж, пока все хорошо! Что такое Gatekeeper?Проверка файлов Office - это возможность, впервые представленная в Publisher 2007 для проверки PUB-файлов. Она позволяет убедиться, что двоичный файл соответствует ожиданиям приложения. В Office 2010 эта возможность значительно расширена и теперь позволяет проверять файлы Word, Excel и PowerPoint. Обратите внимание, что эта возможность применяется только для проверки двоичных файлов (т. е. PUB, DOC, XLS, PPT и т. д.), а XML-документы не проверяются (например, DOCX, XLSX, PPTX и т. д.), как и макросы и другие пользовательские элементы. Проверяется структура файла, например, в XLS-файле есть структура FONTINDEX, и если значение ifnt равно 4 (что является недопустимым для этого элемента), проверка завершается с ошибкой. Как это работает?При загрузке недоверенного двоичного файла (т. е. файла, не расположенного в надежной папке и не являющегося надежным документом) в Word, PowerPoint или Excel выполняется проверка его действительности. При проверке анализируются части файла, которые будут обрабатываться приложением, т. е. соответствующие потоки OLESS. Если они прошли проверку, файл открывается обычным образом, и делать нам больше нечего. Однако если файл оказывается недопустимым, он передается (по умолчанию) в режим защищенного просмотра. Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_2.png" target=_blank style=color:white;>Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_2.png" target=_blank mce_href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_2.png"> Если щелкнуть этот текст, будет включен режим Backstage, в котором можно открыть файл со всеми доступными функциями приложения. Учтите, что при этом файл будет отмечен как надежный и НЕ будет проверяться при следующем открытии. После окончания работы с файлом и завершения работы вы можете увидеть следующее: Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_4.png" target=_blank style=color:white;>Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_4.png" target=_blank mce_href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_4.png"> Это сообщение появляется максимум один раз в две недели (для каждого приложения) и позволяет отправить файл (или файлы) с ошибкой нам с помощью службы отчетов об ошибках Windows. Конечно, можно удалить один или два файла, если вы не хотите делиться этими данными, но если их отправить, мы сможем их проанализировать для дальнейшего улучшения функции проверки файлов Office. Как этим управлять?С помощью политикиМы понимаем, что многим администраторам (или пользователям, заботящимся о безопасности) не понравится идея открытия файла, не прошедшего проверку, поэтому есть групповая политика для управления действием по умолчанию при ошибке проверки файла. Эти политики расположены под разделом "Параметры\Безопасность\Центр управления безопасностью\Режим защищенного просмотра" в шаблонах групповой политики для каждого приложения. Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_6.png" target=_blank style=color:white;>Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_6.png" target=_blank mce_href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_6.png"> С помощью реестраЕсть несколько разделов реестра, которые управляют различными аспектами проверки файлов Office.
С помощью скриптовДля пользовательских решений на основе Office есть ряд интересных свойств, добавленных в объекты Application, которые отключают проверку файлов для этого сеанса. Также есть дополнительный параметр для Excel, управляющий проверкой кэшей сводных данных (т. е. данных, кэшированных в файле, для сводных таблиц и диаграмм). Вот пример скрипта Powershell, показывающего, как установить эти два параметра для Excel (свойство FileValidation также применяется для Word и PPT):
Это все здорово, но умеет ли она готовить?Мы добились определенных успехов в ускорении проверки файлов. Да, теперь требуется больше времени для открытия файла, но всего на несколько миллисекунд. Кроме того, найти файл среднего размера, который проверяется дольше 1 секунды, очень сложно - время проверки большинства файлов лежит в пределах от 1 до 100 мс. Конечно, если файл огромный и сверхсложный и чтобы просто его открыть требуется час, проверка займет больше одной секунды, но скорее всего вы все равно ее не заметите. Если же файл проверяется дольше 5 секунд (это происходит с очень сложными файлами), есть возможность отменить проверку и перейти напрямую в режим защищенного просмотра. В конце концов, мы не можем позволить открыть файл в обычном режиме, так как хакеры просто делали бы свои файлы по-настоящему сложными, получали управление компьютером и делали именно то, что данная возможность пытается предотвратить. Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_8.png" target=_blank style=color:white;>Открыть в полный размер' href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_8.png" target=_blank mce_href="http://blogs.technet.com/blogfiles/office2010/WindowsLiveWriter/Office2010FileValidation_6097/image_8.png"> Если проверка файла занимает много времени (если проверка выполнена, не пройдена или пропущена), отображается такое же сообщение об отправке отчета в службу отчетов об ошибках Windows в виде файла с ошибкой, что позволяет вам отправить файл нам для анализа. Краткость - сестра талантаПообщавшись с разработчиками, мы как-то сочинили следующий диалог:
По сути проверка файлов Office - это действительно функция с двумя вариантами (да или нет), информирующая приложение о допустимости или недопустимости файла, но это по-настоящему важная функция! Кроме того, это очень сложная функция, что могут подтвердить все, кто смотрел спецификации форматов файлов. Что ж, вкратце, все. Проверка файлов Office проверит двоичный файл на допустимость и, если что-то не так, можно отправить файл нам для анализа! |