Перевірка файлів Office 2010, MS Office, Програмні керівництва, статті

Привіт, мене звуть Девід Б. Хейз, і я працюю у відділі безпеки 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. Якщо вони пройшли перевірку, файл відкривається звичайним чином, і робити нам більше нічого. Однак якщо файл виявляється неприпустимим, він передається (за замовчуванням) в режим захищеного перегляду.



Якщо клацнути цей текст, буде включений режим Backstage, в якому можна відкрити файл з усіма доступними функціями програми. Врахуйте, що при цьому файл буде відзначений як надійний і НЕ буде перевірятися при наступному відкритті.


Після закінчення роботи з файлом і завершення роботи ви можете побачити наступне:



Це повідомлення з’являється максимум один раз на два тижні (для кожної програми) і дозволяє відправити файл (або файли) з помилкою нам за допомогою служби звітів про помилки Windows. Звичайно, можна видалити один або два файли, якщо ви не хочете ділитися цими даними, але якщо їх відправити, ми зможемо їх проаналізувати для подальшого поліпшення функції перевірки файлів Office.


Як цим керувати?


З допомогою політики


Ми розуміємо, що багатьом адміністраторам (або користувачам, які піклуються про безпеку) не сподобається ідея відкриття файлу, що не пройшов перевірку, тому є групова політика для управління дією за замовчуванням при помилку перевірки файлу. Ці політики розташовані під розділом “ПараметрыБезопасностьЦентр управління безопасностьюРежім захищеного перегляду” в шаблонах групової політики для кожного додатки.



За допомогою реєстру


Є кілька розділів реєстру, які управляють різними аспектами перевірки файлів Office.



Загальні розділи


HKCUSoftwareMicrosoftOffice14.0CommonSecurityFileValidation ReportingInterval – це значення DWORD, що управляє кількістю днів між відображенням діалогового вікна про відправлення файлів за допомогою служби звітів про помилки Windows.



HKCUSoftwareMicrosoftOffice14.0CommonSecurityFileValidationDisableReporting – це значення DWORD. Якщо воно дорівнює 1, діалогове вікно не відображається (і відправити файли не можна).



Розділи, що відносяться до різних програм


Для прикладу я буду використовувати “Excel”, але цей приклад працює і для “PowerPoint” та “Word”



HKCUSoftwareMicrosoftOffice14.0ExcelSecurityFileValidationEnableOnLoad – це значення DWORD, якщо воно дорівнює 0, Office не перевіряє файли.


HKCUSoftwareMicrosoftOffice14.0ExcelSecurityFileValidationDisableEditFromPV – це значення DWORD, якщо воно дорівнює 1, редагування файлів, які не пройшли перевірку, заборонено.



Розділи, пов’язані з Excel

HKCUSoftwareMicrosoftOffice14.0ExcelSecurityFileValidationPivotOptions – це значення DWORD, що управляє різними параметрами перевірки кешу зведених даних (з метою підвищення продуктивності) у файлах, в яких вони є.


0 = ніколи не перевіряти кеш зведених даних
1 = перевіряти кеш зведених даних у наступних випадках: (1) Файл відкрито в Інтернеті і платформа локально відзначає його, як відкритий в Інтернеті. (2) Файл – вкладення повідомлення електронної пошти Microsoft Outlook. (3) Користувач спеціально відкрив файл в режимі захищеного перегляду. (4) Файл відкрито з відомого “ненадійного” ресурсу, в якому кешується інтернет-вміст, або будь-якого певного користувачам місця, якщо захищений перегляді ненадійних документів відключений за допомогою іншого розділу реєстру. (5) Файл відкритий і кеш зведених даних аналізується при завантаженні.
2 = завжди перевіряти кеш зведених даних.


За допомогою скриптів


Для користувальницьких рішень на основі Office є ряд цікавих властивостей, доданих в об’єкти Application, які відключають перевірку файлів для цього сеансу. Також є додатковий параметр для Excel, керуючий перевіркою кешей зведених даних (тобто даних, кешованих у файлі, для зведених таблиць і діаграм). Ось приклад скрипта Powershell, що показує, як встановити ці два параметри для Excel (Властивість FileValidation також застосовується для Word і PPT):



$excel = New-Object -comobject Excel.Application
# Допустимі значення:
# msoFileValidationDefault = 0
# msoFileValidationSkip = 1
$excel.FileValidation = msoFileValidationSkip
# Допустимі значення:
# XlFileValidationPivotDefault = 0 (робіть все, що ви робите зазвичай, наприклад, використовуйте параметри реєстру за замовчуванням),
# XlFileValidationPivotRun = 1 (перевірка всіх кешей зведених даних),
# XlFileValidationPivotSkip = 2 (не перевіряти кеші зведених даних)
$excel.FileValidationPivot = xlFileValidationPivotSkip


Це все здорово, але чи вміє вона готувати?


Ми домоглися певних успіхів у прискоренні перевірки файлів. Так, тепер потрібно більше часу для відкриття файлу, але всього на кілька мілісекунд. Крім того, знайти файл середнього розміру, який перевіряється довше 1 секунди, дуже складно – час перевірки більшості файлів лежить в межах від 1 до 100 мс. Звичайно, якщо файл величезний і надскладний і щоб просто його відкрити потрібний час, перевірка займе більше однієї секунди, але швидше за все ви все одно її не помітите. Якщо ж файл перевіряється довше 5 секунд (це відбувається з дуже складними файлами), є можливість скасувати перевірку і перейти безпосередньо в режим захищеного перегляду. Зрештою, ми не можемо дозволити відкрити файл у звичайному режимі, так як хакери просто робили б свої файли по-справжньому складними, отримували управління комп’ютером і робили саме те, що дана можливість намагається запобігти.



Якщо перевірка файлу займає багато часу (якщо перевірка виконана, не пройдена або пропущена), відображається таке саме повідомлення про відправку звіту в службу звітів про помилки Windows у вигляді файла з помилкою, що дозволяє вам відправити файл нам для аналізу.


Стислість – сестра таланту


Поспілкувавшись з розробниками, ми якось склали наступний діалог:



“Так над чим ти працюєш?”


“Над перевіркою файлів Office”


“А що це?”


“Перевірка файлу Office, щоб переконатися, що з ним все в порядку”


“Значить, ти витратив останні два роки на написання логічної функції?”


“Ну … мм … так, але це дуже важлива функція!”


По суті перевірка файлів Office – це дійсно функція з двома варіантами (так чи ні), що інформує додаток про допустимість або неприпустимість файлу, але це по-справжньому важлива функція! Крім того, це дуже складна функція, що можуть підтвердити всі, хто дивився специфікації форматів файлів. Що ж, коротко, все. Перевірка файлів Office перевірить двійковий файл на допустимість і, якщо щось не так, можна відправити файл нам для аналізу!

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*