topleft
topright

Microsoft Office Security, część 1 PDF Drukuj Email

Duża ilość słabych punktów związanych z pakietem Microsoft Office spowodowała, że zaczęto zastanawiać się nad mechaniką architektury zabezpieczeń MS Office’a (MS Office security architecture) i możliwymi punktami wstrzykiwania błędów. Poniższy artykuł omawia OLE Structured Storage Office’a oraz naturę niektórych programów typu „dropper” jak i innych agentów wykorzystujących luki w programach w celu zanalizowania działania kilku z nich. Druga część tego artykułu porównuje niektóre ścieżki badań sądowych poprzez różne funkcje MS Office’a. Fragmenty tego artykułu skupiają się na różnych lukach MS Office’a i omawiają ich naturę oraz metodę ich działania.

Tłumaczenie: Karina Duda, Katowice

1. Przegląd niektórych luk MS Office

Luki w pakiecie MS Office budziły obawy, szczególnie przy dokumentach MS Office otrzymywanych drogą e-mailową lub pobieranych ze stron internetowych. Niektóre rozpowszechnione luki umożliwiają uszkodzenie pamięci lub prowadzą do przepełnienia buforu, inne wzmagają przywileje, a wszystko to powoduje narażenie systemu ofiary na atak. Przybliżona ilość luk w różnych dokumentach MS Office’a wraz z rodzajem luki, obliczona na połowę sierpnia 2006 roku, pokazana jest na rysunku 1 poniżej.


Rysunek 1. Przegląd luk MS Office


W zakresie szeroko rozpowszechnionych luk, kryjących się pod nazwą 'Remote Code Execution', wszystkie mają zróżnicowane poziomy ryzyka. Jednak to one właśnie stwarzają największe niebezpieczeństwo dla systemów. Luki typu Denial of Service (Odmowa Obsługi) oraz Memory Corruption (Uszkodzenie Pamięci) stwarzają średnie do wysokiego ryzyko dla systemów.

Rozpowszechnianie luk dla różnych aplikacji MS Office i ogólnie dla wszystkich aplikacji, pokazane jest na rysunku 2 poniżej. Jest to przegląd różnych luk, oddziałujących na MS Excel, MS Word oraz MS Powerpoint.


Rysunek 2. Rozpowszechnianie luk wśród aplikacji MS Office


Każdy słupek z rysunku 2 ukazuje luki pojedynczej aplikacji, jednak słupek dla MS Office nie jest sumą trzech pozostałych. Słupek MS Office ukazuje luki, które mają wpływ na aplikacje MS Office zbiorowo. Następujące sekcje pozwolą na lepsze zrozumienie niektórych z tych luk.


2. OLE Structured Storage

Jedna z najwcześniejszych luk MS Word roku 2006 była wykorzystywana przy pomocy programu typu „dropper”, osadzonym w strukturze pliku MS Word. Kilka luk związanych ze zniekształconymi obrazami i obiektami mediów w MS Office w podobny sposób wymagało zrozumienia OLE Structured Storage, struktury pliku MS Office.


W kontekście tego artykułu OLE Structured Storage definiowany jest jako systematyczna organizacja komponentów każdego dokumentu MS Office. Każdy dokument posiada komponent katalogu głównego, zawierający komponenty przechowywania i komponenty strumieniowe. OLE Structured Storage jest jednoznaczny ze strukturą systemu plikowego w taki sposób, że komponenty „przechowywania” są równoważne katalogom, a komponenty „strumieniowe” plikom, jak pokazuje rysunek 3.


Rysunek 3. OLE Structured Storage


Komponent przechowywania może występować samodzielnie. Każdy komponent przechowywania może posiadać jeden lub więcej komponentów pod-przechowywania oraz komponentów strumieniowych. Także komponent katalogu głównego może bezpośrednio w sobie zawierać komponenty strumieniowe. MS Office 2000 i wersje późniejsze obsługują dwa formaty plików: OLE-binary i XML. Oba są formami strukturalnego przechowywania, z tym, że ten drugi jest opcją przechowywania dokumentów bardziej przyjazną dla przeglądarki. Rysunek 4 pokazuje odwzorowanie OLE Structured Storage do próbnej struktury dokumentu Word.


2.1 Dokumenty MS Office i ich komponenty

Przyglądnijmy się strukturze dokumentu Word z wbudowanym obiektem Excel, jak pokazuje rysunek 4 poniżej.



Rysunek 4. Próbny format przechowywania dokumentu Word


Komponent 'MS Word' jest katalogiem głównym, zawierającym kilka elementów strumieniowych i jeden przechowywania. Różne części dokumentu, np. rzeczywista zawartość, wstawione tabele, CompObj związane z plikami DLL dla obiektów, informacje podsumowujące zawartość, wstawione obrazki oraz informacje podsumowujące dokument – to wszystko przybiera formę strumieni pod komponentem katalogu głównego. ObjectPool jest wspólnym zbiorem wszystkich komponentów pod-przechowywania. Rysunek daje obraz jak wygląda komponent pod-przechowywania Excel. Arkusz Excel sam w sobie jest komponentem przechowywania wewnątrz ObjectPool i posiada swoje własne strumienie informacji: Workbook, SummaryInformation oraz DocumentSummaryInformation.


Różne pliki MS Office mają podobną strukturę. Różne obiekty mogą zostać wbudowane w dokument i można do nich wejść i aktualizować z odpowiednich komponentów strumieniowych/przechowywania. Niektóre luki COM i OLE umożliwiają zwiększenie uprawnień, brak w nich właściwego filtrowania danych wejściowych, co prowadzi do narażenia systemu, pod którym uruchomione są aplikacje MS Office.


3. Przykładowy mechanizm ataku

W popularnym scenariuszu ataku luka jest wykorzystywana poprzez proste wstawienie zniekształconego lub złośliwego obiektu do struktury dokumentu. Niektóre luki MS Excel i MS Word są atakowane w taki sposób.

Innym przykładem wstawiania złośliwego obiektu jest luka o nazwie Microsoft Word Malformed Object Pointer Remote Code Execution Vulnerability. Rysunek 5 poniżej ilustruje taki atak.


Rysunek 5. Luka „malformed object pointer” (zniekształcony wskaźnik obiektu)


Kroki:

Krok 1: Ofiara otwiera złośliwy dokument MS Word poprzez załącznik w mailu lub na stronie WWW.
Krok 2: Złośliwy komponent przechowywania (program typu dropper) w OLE Structured Storage zostaje uruchomiony w momencie otwarcia pliku Word.
Krok 3: Trojan zostaje wpuszczony do systemu ofiary.
Krok 4: Trojan działa w sposób „backdoor”, co umożliwia zdalnemu atakującemu zebranie informacji systemowych, dostęp do powłoki poleceń oraz robienie zrzutów ekranu i przechowywanie ich jako
%System%\Capture.bmp.


W powyższym ataku – gdybyśmy mieli podzielić luki na różne etapy – pierwszym z nich byłaby możliwość zrobienia szkicu lub stworzenia złośliwego dokumentu Word przez atakującego. OLE Structured Storage nie jest w stanie sprawdzić zawartości komponentów przechowywania i umożliwia wstawienie plików 'wykonawców' takich jak Trojan. Drugim etapem jest chwila, gdy ofiara zostaje zwabiona i otwiera złośliwy dokument Word poprzez załącznik w mailu lub przez ściągnięcie ze strony WWW. Trzeci etap to zniekształcony wskaźnik obiektu, który umożliwia uruchomienie złośliwego komponentu przechowywania w momencie otworzenia dokumentu Word. Gdy ziarno zostaje zasadzone, Trojan rozpoczyna swoje działanie. Czwarty etap pomaga wbudowanemu Trojanowi zainstalować „backdoor”, co może pomóc zdalnemu atakującemu uruchomienie dowolnego kodu w systemie ofiary i w końcu włamanie się do niego. Aby to zrozumieć, w następnym rozdziale tego artykułu zajmiemy się działaniem programów typu „dropper”.


3.1 Programy typu „Dropper”

Dropper jest programem zaprojektowanym lub zmodyfikowanym w taki sposób, aby „instalował” na systemie wybranej ofiary samodzielne złośliwe oprogramowanie (takie jak Trojany, robaki, programy typu „backdoor”). Złośliwy kod zazwyczaj zawarty jest w dropperze tak, aby skanery antywirusowe nie mogły go wyśledzić.


Trojan-Dropper zazwyczaj rozpakowuje wszystkie swoje pliki do folderu tymczasowego i uruchamia je równocześnie. Programy dropper rzadko są wyłapywane przez programy antywirusowe czy skanery szukające luk. Dzieje się tak z następujących powodów:


  1. Programy typu „dropper” same w sobie nie są złośliwe, ale zawierają kod, który wrzuca złośliwą zawartość do systemu ofiary.
  2. W wielu przypadkach Trojan-droppery zawierają nieszkodliwe pliki multimedialne, pod którymi kryje się złośliwe działanie.
  3. Czasami programy dropper wstrzykują kod, aby nadpisać złośliwy dokument MS Office, by wydawał się czystą i świeżą kopią dokumentu i nie zostawiał śladów. Więcej informacji: Trojan.PPDropper.B.
  4. Zdarza się, że Trojan-droppery rozpakowują komponenty bezpośrednio do pamięci i tam je aktywują, co sprawia, że oprogramowanie antywirusowe nie może wykryć złośliwych programów typu „dropper”.

Kilka innych luk MS Office zostało wykorzystanych z powodu niewłaściwego filtrowania, nieodpowiednich funkcji OLE Structured Storage, niewłaściwego sprawdzenia możliwości parsowania łańcuchowego zmiennej komponentu łańcuchowego (co powoduje przepełnienie buforu), uszkodzenie pamięci oraz błędną wizualizację Zestawu Właściwości OLE.

Szczegółowe omawianie każdej luki nie jest możliwe w tym artykule, ale możemy dokonać ogólnej obserwacji luk. Prawie wszystkie luki wymagają oceny natury docelowego dokumentu MS Office przed jego otworzeniem. Staje się to trudniejsze, jeśli program antywirusowy jest poddany działaniom agentów, takich jak programy typu dropper. I dlatego jedynym rozwiązaniem jest poprawa mechanizmu samego OLE Structured Storage.


Wiele luk zostało opisanych w biuletynach „Microsoft Security Bulletins”, można także wprowadzić szybkie obejścia dla różnych luk. Zostanie to omówione w kolejnym rozdziale.


4. Skonsolidowane obejścia

Prawie wszystkie obejścia rozpoczynają się od ostrzeżenia użytkownika przed niezapowiedzianymi załącznikami, pochodzącymi zarówno od znanych jak i nieznanych jednostek. Można jednak zrobić więcej, aby ochronić system przed atakiem. Istnieją obejścia dostarczane przez Microsoft na różne okoliczności i dla różnych luk MS Office i to wszystko może być używane jako ogólne wskazówki do radzenia sobie z dokumentami MS Office aż do momentu wypuszczenia aktualizacji lub łat:


  1. Otwieraj dokumenty MS Office w „bezpiecznym trybie” - Uruchamiaj aplikacje Microsoft Office (np. Word, Excel, PowerPoint) w „bezpiecznym trybie”, przytrzymując przycisk ‘control’ w czasie uruchamiania. Użytkownik zostanie zapytany czy chce uruchomić aplikację w „bezpiecznym trybie” i tryb ten pojawi się na pasku tytułowym. Jeśli ktoś otrzyma dokument Office w mailu i musi go koniecznie przeczytać, powinien go zachować i otworzyć w programie trybu bezpiecznego, a nie otwierać poprzez dwukrotne kliknięcie na załącznik w programie e-mailowym. Więcej szczegółów: MS Office Online Assistance.
  2. Zablokuj MS-TNEF (Transport Neutral Encapsulation Format), aby pomóc w ochronie przed próbami wykorzystywania luk poprzez mail SMTP – można skonfigurować systemy w taki sposób, aby blokowały określone typy plików przesyłane mailowo. Zakodowane maile Microsoft TNEF, powszechnie zwane Rich Text Formatted e-mail, mogą zawierać złośliwe obiekty OLE. Te maile zawierają załącznik plikowy, który zazwyczaj nosi nazwę Winmail.dat i służy do przechowywania informacji TNEF. Zablokowanie takiego pliku i zablokowanie typu MIME aplikacji/ms-tnef może pomóc chronić zarówno Exchange Servers jak i inne programy przed próbami wykorzystania tej luki.

Jak wszyscy wiemy, architektura MS Office’a jest bardzo łatwa w obsłudze i dostarcza dobrych opcji robienia kopii zapasowych oraz odzyskiwania. Dostarcza również doskonałych możliwości przeglądania dokumentów grupowo, wstawiania oraz osadzania niezależnych obiektów aplikacji do aplikacji MS Office. Jednak te same możliwości dają nam interfejs wielu ścieżek badań sądowych, które mogą się okazać bardzo użyteczne.


5. Podsumowanie części pierwszej

W pierwszej części przyglądnęliśmy się pobieżnie niektórym problemom związanym z bezpieczeństwem (security), występującym przy aplikacjach Microsoft Office. Ostatnie luki i ich wykorzystywanie od nowa wzbudzają zainteresowanie tematem bezpieczeństwa dokumentów biurowych w firmach, w rządzie jak i w domu.


6. Przegląd części drugiej

Druga część tej serii będzie pomocna przy fazie ‘analizy’ badań śledczych. Istnieje wiele dostępnych funkcji i narzędzi i je właśnie będziemy szczegółowo omawiać. Rozpoczniemy od popularnej funkcji zmian ścieżki, która uwidacznia ukryte znaczniki w MS Office 2003 i 2002 oraz dostarcza skrypt, pomagający w usuwaniu dużej ilości komentarzy z dokumentu. Następnie przyglądniemy się temu, co się dzieje z dokumentem, gdy zostaje wysłany poprzez funkcję Office’a „wyślij mailem” w systemie Exchange.


Przyjrzymy się także odzyskiwaniu niewidocznych meta-danych w aplikacjach Office’a, funkcjom 'SummaryInformation' Microsoftu i różnym sposobom usuwania informacji osobistych z dokumentu.


Tłumaczenie: Karina Duda, Katowice




Zmieniony ( 21.08.2008. )
 
« poprzedni artykuł   następny artykuł »
| Informacje o firmie | Kontakt |
Joomla Templates by JoomlaShack Joomla Templates