Безпека Microsoft Office. Частина перша

У цій статті мова піде про Microsoft Office OLE Structured Storage і природі недавніх програм-Дроппер і інших експлойтів, а також буде зроблена спроба дослідити недавні MS Office експлоїти.

Khushbu Jithra, переклад SecurityLab.ru

Велика кількість віднайдених останнім часом вразливостей в MS Office зробило необхідним розуміння механізмів архітектури його безпеки і потенційних вразливостей. У цій статті мова піде про Microsoft Office OLE Structured Storage і природі недавніх програм-Дроппер і інших експлойтів, а також буде зроблена спроба дослідити недавні MS Office експлоїти.

1. Аналіз недавніх вразливостей Microsoft Office

Уразливості в MS Office привели до підозрілого відношенню до документів, отриманих по email, або викачаних з Web сайтів. Деякі опубліковані уразливості дозволяють зробити пошкодження пам'яті або викликати переповнення буфера, а решта - підвищення привілеїв. В результаті все уразливості ведуть до компрометації вразливою системи. На наступній діаграмі показано приблизну кількість вразливостей в різних продуктах MS Office і їх тип.

Діаграма 1
Діаграма 1. Уразливості в MS Office.

У стовпці «Віддалене виконання коду» знаходяться уразливості різних рівнів небезпеки, але саме ці уразливості становлять найбільший ризик для систем. Відмова в обслуговуванні і пошкодження пам'яті представляють середню і високу небезпеку.

На діаграмі 2 зображено виконання довільного коду в різних додатках MS Office.

Діаграма 2
Діаграма 2. Уразливості в різних продуктах MS Office

На діаграмі кожен стовпець відображає уразливість в індивідуальному додатку. У стовпці MS Office відображені уразливості, які присутні у всіх додатках продукту.

2. Структурована сховище OLE

Одна з найперших вразливостей в цьому році в Microsoft Word експлуатувалася за допомогою програми-Дроппер, укладеного в структуру файлу MS Word. Деякі уразливості при обробці зображень і медіа об'єктів вимагатимуть розуміння структурованого сховища OLE і структури файлу MS Office.

У даній статті структуроване сховище OLE визначено як систематична організація компонентів в будь-якому документі MS Office. Кожен документ містить кореневої компонент, який включає в себе компоненти сховища і потоків. Структуроване сховище OLE можна асоціювати з структурою файлової системи, де сховищами є директорії, а потоками - файли, як показано на діаграмі 3:

Діаграма 3
Діаграма 3. Структурована сховище OLE

Компонент сховища може існувати як окремий компонент. Кожен компонент сховища може містити під-сховища і компоненти потоків. Кореневої компонент може безпосередньо містити потоки. MS Office 2000 і вище підтримують 2 формату файлів: OLE і XML файли. Обидва формати є структурованим сховищем, хоча останній є більш дружнім до браузерів.

2.1 Документи MS Office і його компоненти

Давайте розглянемо структуру документа Word, з включеним в нього об'єктом Excel.

Діаграма 4
Діаграма 4. Звичайний формат сховища документа Word

Компонент MS Word є Корев компонентом, який містить кілька потоків і одне сховище. Різні частини документа - такі як саме вміст, вставлена ​​таблиця, CompObj асоційований з DLL файлами для об'єктів, коротка інформація для вмісту, графічні зображення, дані про документ - приймають форму потоків всередині кореневого компонента. ObjectPool є сховищем для під-сховищ. На діаграмі зображено під-сховище компонента Excel. Сам по собі ExcelSheet є сховищем, яке містить Workbook, SummaryInformation і DocumentSummaryInformation.

Різні файли MS Office мають схожу структуру. Різні об'єкти можуть додаватися в документ і відповідні компоненти потоків / сховищ можуть отримувати до об'єктів доступ і оновлювати їх. У деяких компонентах COM і OLE були виявлені підвищенні привілеїв і некоректна обробка даних, яка могла привести до компрометації систем з встановленими додатками MS Office.

3. Простий механізм атаки

При звичайному сценарії атаки, вразливість експлуатується шляхом вставки зловмисного об'єкта в структуру документа. Для подібної атаки можуть використовуватися декілька вразливостей в MS Excel і MS Word.
Ще одним способом вставки зловмисного об'єкта є вразливість при обробці об'єкта покажчика в MS Word. Ця атака продемонстрована на діаграмі 5.

Діаграма 5. Експлуатація уразливості.

експлуатація:

  1. Цільовий користувач відкриває зловмисний документ MS Word з email вкладення або Web станиці.
  2. При відкритті файлу виконується зловмисний компонент сховища (програма-дроппер) в структурованому сховищі OLE.
  3. Троянський кінь потрапляє на системи жкртви.
  4. Троянський кінь разом з бекдоров дають можливість атакуючому зібрати дані про систему, отримати доступ до командного рядка і зробити скріншоти і помістити їх в% System% \ Capture.bmp.

Давайте розіб'ємо вищеописаний сценарій на етапи. Перший етап - створення зловмисником зловмисного документа Word. Структуроване сховище OLE не перевіряє вміст компонента і дозволяє вставку виконуваних додатків, таких як троянський кінь. Другий етап - коли жертву обманом змушують відкрити зловмисний файл з email вкладення, або завантажити з Web сайту. Третій етап - при відкритті документа виконується зловмисний об'єкт, який запускає троянського коня. Четвертий етап - троянська програма встановлює бекдор, який дає можливість атакуючому скомпрометувати цільову систему.

3.1 Програма-дроппер
Дроппер є додатком, що дозволяє встановити одиночне зловмисне ПО (Троян, черь, бекдор) на систему. Зловмисний код найчастіше міститься в Дроппер в такому вигляді, щоб не бути поміченим антивірусними сканерами.

Дроппер трояна зазвичай розпаковує файли в тимчасову директорію і виконує їх. Дроппер рідко виявляються антивірусними програмами та сканерами вразливостей. Це відбувається з наступних причин:

  1. Дроппер не є самі по собі зловмисним ПЗ. Вони лише можуть містити шкідливий код, який встановлюють на цільову систему.
  2. У багатьох випадках Дроппер містять нешкідливі медіа файли для приховування зловмисної активності.
  3. Іноді Дроппер перезаписують зловмисний файл MS Office своїй незміненій копією для приховування доказів присутності зловмисного додатки. Наприклад Trojan.PDropper.B.
  4. Іноді Дроппер розпаковують компоненти безпосередньо в пам'ять і активують їх там, що не дозволяє антивірусного ПЗ виявити такий додаток.

Кілька інших вразливостей MS Office полягають в недостатній фільтрації вхідних даних, недостатню обробку рядка OLE функцій, недостатньою перевірки змінних компонента потоку (що призводить до переповнення буфера), пошкодженні пам'яті, і помилковому відтворенні властивостей OLE.

Практично всі уразливості вимагають від жертви перевірки джерела походження документа MS Office перед його відкриттям, що складно здійснити в разі використання агенти експлуатації як Дроппер. Так що, єдиним можливим рішенням є виправлення помилок в самому структурованому сховищі OLE.


4. Тимчасові рішення
Практично всі тимчасові інструкції починаються з попередження користувачів про те, що не слід відкривати вкладення від відомих і невідомих вам відправників. Microsoft публікує тимчасове рішення і запобіжники для різних вразливостей, щоб користувачі могли уникнути проблем до виходу офіційного виправлення:

  1. Документи MS Offce слід відкривати в режимі "Safe Mode" - запустіть додаток MS Office (Word, Excel, PowerPoint) в безпечному режимі, для цього утримуйте Control під час запуску програми. Якщо вам необхідно прочитати отримане вкладення, не відчиняйте його подвійним клацанням миші, а збережіть його і відкрийте з за допомогою програми MS Office, запущеного в безпечному режимі.
  2. Заблокуйте MS-TNEF (Transport Neutral Encapsulation Format) щоб захистити себе від спроб експлуатації вразливостей за допомогою email повідомлення залишається непоміченим. Microsoft TNEF email повідомлення відомі так само як Rich Text Formatted email повідомлення, які можуть містити зловмисні OLE об'єкти. Такі повідомлення містять зазвичай вкладений файл Winmail.dat, в якому зберігається TNEF інформація. Блокування цього файлу може захистити поштовий сервер і email клієнт від спроб експлуатації вразливостей.

5. Посилання

Дополнительная информация

rss
Карта