Modelowanie zagrożeń - Instytut Informatyki Politechniki Poznańskiej

Download Report

Transcript Modelowanie zagrożeń - Instytut Informatyki Politechniki Poznańskiej

Modelowanie zagrożeń
Opracowali: dr inż. Maciej Miłostan 1,2, Gerard Frankowski2
1) Instytut Informatyki Politechniki Poznańskiej
2) Poznańskie Centrum Superkomputerowo-Sieciowe
Na podstawie: IT Infrastructure Threat Modeling Guide, Solution
Accelerators – Security and Compliance
Skrócone wprowadzenie do
ITI TM

Skrócona prezentacja dot. ITI TM (IT Infrastructure
Threat Modeling)



Oparta na IT Infrastructure Threat Modeling Guide, Solution
Accelerators – Security and Compliance
Cele procesu ITI TM
Identyfikacja zagrożeń





Adresowanie zagrożeń
Pełna wersja prezentacji:

2
Model zagrożeń STRIDE
Model oceny ryzyka DREAD
Krótkie ćwiczenie
http://www.microsoft.com/enus/download/confirmation.aspx?id=2220
OWASP o ITI TM


3
OWASP recommends Microsoft’s
threat modeling process because it
works well for addressing the
unique challenges facing web
application security and is simple to
learn and adopt by designers,
developers, code reviewers, and
the quality assurance team.
Więcej:
https://www.owasp.org/index.php/
Threat_Risk_Modeling
Agenda
Wprowadzenie i główne cele
 Proces modelowania zagrożeń
infrastruktury IT (z ang. ITI TM)

Wizja
 Model
 Identyfikacja zagrożeń
 Środki zaradcze
 Walidacja


Materiały szkoleniowe
Microsoft.com/SolutionAccelerators
Cele ITI TM

Kto?



Co?


Powtarzalny proces mający na celu pomoc w identyfikacji i adresowaniu
zagrożeń bezpieczeństwa infrastruktury IT
Kiedy?



Kto powinien kierować procesem ITI TM?
Kto powinien w tym procesie uczestniczyć?
Im wcześniej zaczniemy modelowanie zagrożeń (TM), tym więcej czasu mamy
na planowanie i środki zaradcze
Najgorszym momentem jest czas w trakcie audytu lub po ataku
Dlaczego?



Jeśli my („good guys”) sami nie przeanalizujemy zagrożeń, to zapewne zrobią to
inni z niekoniecznie dobrymi intencjami („bad guys”)
Po to, by znaleźć błędy w istniejącym systemie, jeśli jeszcze (lub już) jest czas
na ich usunięcie
Wykryć problemy w projektowanym systemie na tyle wcześnie, aby można go
było przeprojektować
Microsoft.com/SolutionAccelerators
Cele ITI TM: Kto?

Kto powinien kierować procesem ITI TM?






Operatorzy systemów
Inżynierowie systemowi
Architekci systemów
Zespół bezpieczeństwa
Każda z powyższych grup może kierować procesem
modelowania zagrożeń
Kto powinien w tym procesie uczestniczyć?






Zespoły operacyjne / implementacyjne
Zespoły odpowiedzialne za produkt
Pentesterzy
Audytorzy
Eksperci nie zorientowani na bezpieczeństwo
Wszyscy powinni uczestniczyć, każda grupa ma coś do
zaoferowania
Microsoft.com/SolutionAccelerators
Cele ITI TM: Co?


Analiza, dyskusja i dokumentacja
zagadnień bezpieczeństwa w sposób
ustrukturalizowany
Przegląd i dokumentacja




Komponenty / system jako całość
Cechy/funkcje produktu związane z
bezpieczeństwem
Płaszczyzna ataku
Upewnienie się, że proces modelowania
zagrożeń (ITI TM) został wykonany
dokładnie i starannie
Microsoft.com/SolutionAccelerators
Cele ITI TM: Kiedy?

Przed:


W trakcie:


Znajdź problemy przed przystąpieniem do
implementacji, tak aby w implementacji
uwzględnić wypracowane środki zaradcze
Analiza bezpieczeństwa na bieżąco w trakcie
implementacji może być uciążliwa i łatwo niektóre
problemy przeoczyć
Później (Za późno ;-) ):


Modelowanie zagrożeń (ITI TM) wykonywane
jako reakcja na zdarzenie
Wystąpił (często udany) atak lub niepomyślny
audyt
Microsoft.com/SolutionAccelerators
Cele ITI TM: Dlaczego?

Atakujący myśli inaczej



Dla pewności, że istniejące systemy są
bezpieczne
Po to by znaleźć problemy bezpieczeństwa w
trakcie fazy projektowania i implementacji


Nie będziesz myśleć jak atakujący (każdy patrzy
na system inaczej)
Poprawić architekturę i wdrożenie
Po to by zapewnić zgodność produktu z
wymaganiami, zadbać o wysoki poziom
bezpieczeństwa i jednocześnie zmieścić się w
budżecie
Microsoft.com/SolutionAccelerators
Krok 1 procesu - Wizja
Microsoft.com/SolutionAccelerators
Wizja

Opracuj wizję każdego komponentu
Gdzie komponent będzie wykorzystywany?
 Jak komponent będzie używany?

Microsoft.com/SolutionAccelerators
Krok 2 procesu: Model
Microsoft.com/SolutionAccelerators
Różne poziomy diagramów

Diagram 1 poziomu


Diagram 2 poziomu


Wysoki poziom abstrakcji; pojedynczy komponent
/ scenariusz
Niższego poziomu; szczegóły komponentów
podrzędnych i zależności
Diagram 3 poziomu


Znacznie bardziej szczegółowy
Zwykle trzy poziomy wystarczają – wyjątek
stanowią projekty dużej skali
Microsoft.com/SolutionAccelerators
Diagram 1 poziomu

Scenariusz wysokiego poziomu (diagram
kontekstowy)
Microsoft.com/SolutionAccelerators
Diagram 2 poziomu

Niższego poziomu; szczegóły
komponentów podrzędnych i zależności
Microsoft.com/SolutionAccelerator
s
Diagram 3 poziomu

Bardziej szczegółowy; specyfika
produktu, technologii i protokołu
Microsoft.com/SolutionAccelerators
Tworzenie diagramów

Rozpocznij od wysokiego poziomu abstrakcji





Sprawdź wynik swojej pracy



Kilka zewnętrznych połączeń interaktywnych
Jeden lub dwa procesy
Jedno lub dwa miejsca przechowywania danych
(opcjonalnie)
Przepływy danych, żeby je połączyć
Czy diagram przedstawia „opowieść”/kontekst w
sposób wystarczająco ogólny?
Czy diagram odzwierciedla rzeczywistość?
Przypisz etykiety wszystkim elementom na
diagramie
Microsoft.com/SolutionAccelerators
Tworzenie diagramów – ciąg
dalszy

Użyj diagramów przepływów danych (ang. data flow
diagrams (DFDs))

Diagramy przepływów danych są jednym ze sposobów
reprezentacji systemu





Uwzględnij punkty wejście, procesy, magazyny danych,
przepływy danych
Zdefiniuj granice przywilejów (ang. trust boundaries)
Diagram na scenariusz (takie podejście bywa pomocne)
Zaktualizuj diagramy po zmianie w komponentach
Wylistuj założenia i zależności
Microsoft.com/SolutionAccelerators
Elementy diagramów - przykłady
Jednostka
zewnętrzna
• Ludzie
• Inne systemy
Proces
• Komponenty
• Usługi
• Usługi sieciowe/
Web Services
Przepływ
Danych
• Ruch Sieciowy
• Zdalne
wywołania
procedur (RPC)
Granice przywilejów
• Zapora, urządzenie brzegowe
• Granice procesów
• System plików
Microsoft.com/SolutionAccelerators
Magazyn danych
• Baza danych
• Plik
• Rejestr
• Pamięć
współdzielona
• Kolejka/Stos
Granice przywilejów

Każdy proces komunikujący się za pośrednictwem
sieci zawsze posiada granice przywilejów (ang.
trust boundary)




Nawet w przypadku kanałów szyfrowanych wciąż
możemy wyróżnić niezależne byty
Szyfrowanie ruchu sieciowego jest „instynktownym”
środkiem zaradczym, ale nie w pełni adresuje problem
manipulacji (celowej modyfikacji) danych (ang.
tampering) lub problem podszywania się (ang.
spoofing)
Zdefiniuj granice przywilejów, przecinające
przepływy danych
Zidentyfikuj punkty i płaszczyzny, w których
atakujący może się podłączyć (ang. interject)
Microsoft.com/SolutionAccelerators
Analiza diagramów



Dokonaj analizy procesów i magazynów danych
Dokonaj identyfikacji interakcji, które pomiędzy
nimi zachodzą
A co, jeśli konieczne jest dodatkowe uściślenie /
identyfikacja komponentu?



Zaznacz, że konieczne jest dalsze uściślenie, żeby w
pełni wyjaśnić wpływ implementacji na
bezpieczeństwo
Wskaż, co przekracza granice przywilejów
Słowa i zwroty takie jak „czasami”, „w niektórych
przypadkach” oraz „także” oznaczają, że
prawdopodobnie mamy do czynienia z połączeniem
elementów, które może warto zdekomponować
Microsoft.com/SolutionAccelerators
Tworzenie diagramów: analiza
czy synteza?

Strategia „top down” (od ogółu do szczegółu)




Strategia „bottom up” (od szczegółu do ogółu)




Kontekst jest wyrażony na diagramie pierwszego
poziomu
Koncentruje się na systemie jako całości
Strategia jest bardziej pracochłonna na początku
Eksperci znają funkcje komponentów
Procesy nie są zaprojektowane w sposób
ułatwiający syntezę
Więcej pracy w skali całego projektu
Jeśli czas pozwala, zastosuj obie strategie
Microsoft.com/SolutionAccelerators
Standardy oceny diagramów

Czy dane pojawiają się w sposób
magiczny?
Zamówienie
Klient
Serwer
WWW
Baza danych SQL
Potwierdzenie
Dane pochodzą od jednostek zewnętrznych lub
z magazynów danych
Microsoft.com/SolutionAccelerators
Standardy oceny diagramów –
ciąg dalszy

Czy są ujścia danych (ang. data sink)?
transakcja
Serwer
WWW
Baza danych SQL
Raport dla działu
HR
Nie zapisujesz danych bez powodu;
komuś są one potrzebne
Microsoft.com/SolutionAccelerators
Standardy oceny diagramów –
ciąg dalszy

Dane nie przepływają w sposób magiczny…
Baza zamówień
Baza zamówień
AZT
Baza zwrotów
Autoryzacja
Zwrotu
Towaru
Baza zwrotów
…wymiana odbywa się poprzez procesy
Microsoft.com/SolutionAccelerators
Krok 3 procesu: Identyfikacja Zagrożeń
Microsoft.com/SolutionAccelerators
Identyfikacja zagrożeń


Eksperci mogą przeprowadzić burzę mózgów, ale co w przypadku,
gdy nie czujesz się ekspertem?
Użyj metodyki STRIDE, żeby przeanalizować elementy diagramu

Pomyśl w jaki sposób zagrożenia są manifestowane
Threat/Zagrożenie
Property/Właściwość
Spoofing / Podszywanie się
Authentication (Uwierzytelnianie)
Tampering / Modyfikacja
Integrity (Spójność)
Repudiation / Zaprzeczenie
Non-repudiation (Niezaprzeczalność)
Information Disclosure / Ujawnienie
informacji
Confidentiality (Poufność)
Denial of Service / Odmowa usługi
Availability (Dostępność)
Elevation of Privilege /Eskalacja
przywilejów
Authorization (Autoryzacja)
Microsoft.com/SolutionAccelerators
Zrozumienie zagrożeń
Zagrożenie
(Threat)
Właściwość
(Property)
Definicja
Przykład
Podszywanie się
Uwierzytelnianie
(Authentication)
Podszywanie się pod kogoś
lub pod coś
Udawanie, że jest się dyrektorem, albo witryną
microsoft.com, lub biblioteki ntdll.dll.
Spójność,
Integralność
(Integrity)
Niezaprzeczalność
(Non-repudiation)
Modyfikacja danych lub kodu
Modyfikacja pliku DLL na dysku lub innym nośniku
pamięci, modyfikacja pakietu w trakcie przesyłu
przez sieć LAN.
„Nie wysłałem tego e-maila,” „To nie ja
zmodyfikowałem plik,” „Mój drogi, ja z pewnością nie
odwiedziłem tej strony!”
(Spoofing)
Modyfikacja
(Tampering)
Zaprzeczenie, wyparcie
się
Utrzymywanie, że nie
wykonało się określonej akcji
(Repudiation)
Ujawnienie Informacji
Poufność
(Information Disclosure) (Confidentiality)
Odmowa Usługi
(Denial of Service)
Eskalacja przywilejów
(Elevation of Privilege)
Dostępność
(Availability)
Autoryzacja
(Authorization)
Ekspozycja informacji w
sposób umożliwiający ich
zobaczenie przez osoby do
tego nie uprawnione
Uniemożliwienie dostępu do
usługi uprawnionym
użytkownikom lub
zdegradowanie poziomu ich
obsługi
Umożliwienie komuś odczytu kodu źródłowego
systemu Windows®; publikowanie listy klientów w
witrynie internetowej.
Uzyskiwanie możliwości
działania bez właściwej
autoryzacji
Pozwalanie zdalnym nieuwierzytelnionym
użytkownikom na wykonywanie kodu, uzyskanie
uprawnień administratora przy korzystaniu z konta
zwykłego użytkownika
Destabilizacja pracy systemu lub usługi sieciowej (np.
portalu), rozsyłanie pakietów i zużywanie cennych
sekund czasu procesora, lub przekierowywanie
pakietów do czarnej dziury.
Zrozumienie zagrożeń – ciąg dalszy

Różne rodzaje zagrożeń wpływają na każdy rodzaj
elementów modelowanego systemu
Element
S
T
R I D E
Jednostka zewnętrzna
Proces
Magazyn danych
Przepływ danych
Metod DREAD – ocena ryzka

Pięć składowych







Damage potential (potencjalne uszkodzenia)
Reproducibility (odtwarzalność)
Exploitablity (możliwość wykorzystania)
Affected users (użytkownicy, których dotyka)
Discoverability (wykrywalność)
Dla każdej składowej przyznajemy punkty ze
zdefiniowanego przedziału np. [0-3]
Miara oceny ryzyka jest średnią z ocen
składowych
Microsoft.com/SolutionAccelerators
Ćwiczenie

Proszę ocenić następującą potencjalną podatność przy
wykorzystaniu metodyki oceny ryzyka DREAD (skala 0-3):





Damage potential (potencjalne uszkodzenia)
Reproducibility (odtwarzalność)
Exploitablity (możliwość wykorzystania)
Affected users (użytkownicy, których dotyka)
Discoverability (wykrywalność)
Uwierzytelniony użytkownik w Aplikacji może załadować plik z
treścią multimedialną. Nazwa pliku wyświetlana jest w aplikacji.
Jeżeli przechwyci się żądanie HTTP i zmieni nazwę zbioru na
zawierającą odpowiednio sformatowany fragment kodu
JavaScript, istnieje możliwość kradzieży tokena sesji

31
Czas: 3 minuty
Ćwiczenie – przykładowa
odpowiedź


Poszczególne oceny mogą się nieco różnić
Proponowane ryzyka cząstkowe DREAD:





32
Damage potential – 1 (można przejąć tożsamość użytkownika,
ale tylko w aplikacji – zakładamy, że nie umożliwi to
wykonania kodu)
Reproducibility – 3 (można wywołać za każdym
powtórzeniem)
Exploitability – 2 (eksploitacja możliwa, jeśli uwierzytelniony
użytkownik odwiedzi konkretną podstronę z treścią, co jest
prawdopodobne, ale nie musi zdarzyć się za każdym razem)
Affected users – 2 (dotyka wszystkich uwierzytelnionych
użytkowników, którzy odwiedzą podatną podstronę)
Discoverability – 1 (podatność może zauważyć tylko
uwierzytelniony użytkownik o złośliwych intencjach –
konieczne użycie HTTP proxy)
Krok 4 procesu: propozycja środków
zaradczych – adresowanie zagrożeń
Microsoft.com/SolutionAccelerators
Propozycja środków zaradczych: kluczowy
punkt procesu modelowania zagrożeń
Adresowanie lub łagodzenie zagrożenia
 Ochrona zasobów
 Implementacja zabezpieczonych
systemów
 Po co w ogóle zajmować się
modelowaniem zagrożeń, jeśli nie
chcemy szukać środków zaradczych?
 Znajdź problemy i je zaadresuj

Microsoft.com/SolutionAccelerators
Jak adresować zagrożenia?

Cztery sposoby adresowania zagrożeń:
Przeprojektuj, by wyeliminować
 Zastosuj standardowe techniki/środki
zaradcze
 Stwórz (wymyśl) nowe techniki/środki
zaradcze (bardziej ryzykowne)
 Zaakceptuj lukę w architekturze lub
implementacji


Upewnij się, że zaadresowano każde
wykryte zagrożenie
Microsoft.com/SolutionAccelerators
Przykładowe środki zaradcze*
Podszywanie się
(Spoofing)
Uwierzytelnianie
(Authentication)






Modyfikacja
(Tampering)
Integralność
(Integrity)
Zaprzeczenie
(Repudiation)
Niezaprzeczalność
(Non Repudiation)










Uwierzytelnianie podstawowe (Basic authentication)
Uwierzytelnianie w oparciu o funkcje skrótu (Digest
authentication)
Uwierzytelnianie w oparciu o „ciasteczka” (Cookie authentication)
Uwierzytelnianie oparte o mechanizmy Windows (Windows
authentication (NTLM))
Uwierzytelnianie przy wykorzystaniu systemu Kerberos (Kerberos
authentication)
Systemy oparte o infrastrukturę klucza publicznego (PKI systems
such as SSL/TLS and certificates)
Certyfikaty cyfrowe (Digital signatures)
Funkcje hashowe (Hashes)
Listy kontroli dostępu (ACLs)
Podpisy cyfrowe (Digital signatures)
Kod uwierzytelniania wiadomości (Message Authentication Codes)
Silne mechanizmy uwierzytelniania (Strong Authentication)
Bezpieczne logowanie i audyty (Secure logging and auditing)
Podpisy cyfrowe (Digital Signatures)
Bezpieczne znaczniki czasowe (Secure time stamps)
Wykorzystanie zaufanych stron trzecich (Trusted third parties)
* Lista nie wyczerpuje wszystkich możliwości
Przykładowe środki zaradcze* - cd.
Ujawnienie informacji
(Information Disclosure)
Odmowa Usługi
(Denial of Service)
Poufność
(Confidentiality)
Dostępność
(Availability)


Szyfrowanie (Encryption)
Listy kontrolne (ACLS)




Eskalacja przywilejów
(Elevation of privilege)
Autoryzacja
(Authorization)


Filtrowanie (Filtering)
Kwoty (Quotas)
Uwierzytelnianie (Authorization)
Architektura wysokodostępna (High
availability designs)
Listy kontrolne (ACLs)
Grupy i role (Group or role
membership)
Własność przywilejów (Privilege
ownership)
Uprawnienie (Permissions)
Weryfikacja wejścia (Input
validation)



* Lista nie wyczerpuje wszystkich możliwości
Microsoft.com/SolutionAccelerators
Tworzenie (ang. inventing) nowych
środków zaradczych jest trudne



Środki zaradcze leżą w zakresie dziedzin eksperckich
takich jak: sieci komputerowe, systemy baz danych,
kryptografia
Amatorzy popełniają błędy i profesjonaliści też
Niewłaściwe rozwiązania będą uważane za
poprawnie funkcjonujące dopóty, dopóki:



Nie spojrzy na nie ekspert…
… i ekspert będzie po Twojej stronie
Kiedy musisz zaproponować nowe rozwiązanie
wykrytego problemu, to:


Uzyskaj pomoc eksperta
Upewnij się, że dobrze przetestowałeś proponowane
rozwiązanie
Microsoft.com/SolutionAccelerators
Krok 5 procesu: walidacja
Microsoft.com/SolutionAccelerators
Walidacja procesu

Dokonaj walidacji całego procesu modelowania
zagrożeń




Czy diagram odpowiada implementacji?
Czy wszystkie znane zagrożenia zostały wymienione?
Minimum: metodyka STRIDE została zastosowana dla
każdego elementu, który „dotyka” granicy przywilejów
Czy model został zweryfikowany w fazie testów?


Podejście testowe często znajduje problemy w modelu
zagrożeń lub szczegółach
Czy każde zagrożenie zostało zaadresowane?


Czy zaadresowano je we właściwy sposób?
Czy zastosowane środki zaradcze zostały
przetestowane?
Microsoft.com/SolutionAccelerators
Walidacja zagrożeń i środków

Zagrożenia




Przegląd ataku
Przegląd kontekstu
Przegląd skutków
Środki zaradcze




Powiązanie z zagrożeniami
Opis metody adresującej zagrożenie
Przypisanie etykiety do środka
zaradczego/metody adresującej zagrożenie
(dokumentacja!)
Bezpieczeństwo / testy penetracyjne są
elementem taktyki, a nie środkiem zaradczym
Microsoft.com/SolutionAccelerators
Walidacja uchwyconych
informacji

Zależności
Jakie inne komponenty współpracują ze
sobą?
 Jakie funkcje bezpieczeństwa są w tych
innych komponentach?
 Jesteś pewien?


Założenia

Rzeczy, które zanotowałeś w trakcie
procesu modelowania zagrożeń
Microsoft.com/SolutionAccelerators
Przykładowe środki zaradcze

Hasła / Polityki nieaktywności
Środek (ang. mitigation) #1:
Urządzenia mobilne muszą być chronione
hasłem / blokowane i licznik czasu
nieaktywności musi wykorzystywany do
automatycznego blokowania urządzenia
Środek #2:
Magazyn danych na urządzeniu musi być
szyfrowany
Środek #3:
Zdalne wymazanie (możliwość skasowania ze
zdalnej lokalizacji wszystkich danych na
urządzeniu mobilnym) musi być dostępne.
Microsoft.com/SolutionAccelerators
Modelowanie zagrożeń –
organizacja efektywnych spotkań


Zacznijcie od przeglądu diagramów przepływów
(DFD)
Zidentyfikujcie najbardziej interesujące
komponenty



Istotne zasoby (aktywa)
Punkty wejścia / granice przywilejów
Zastosuj STRIDE do tych zagrożeń, które
przekraczają granice komponentów / powtórz
ten krok

Rozważ standardy
Microsoft.com/SolutionAccelerators
Materiały szkoleniowe

Artykuł MSDN® “Uncover Security Design
Flaws Using The STRIDE Approach”


Microsoft Security Risk Management Guide



http://msdn.microsoft.com/security/aa570411.aspx
http://go.microsoft.com/fwlink/?linkid=30794
Modelowanie zagrożeń/Threat Modeling, książka
autorstwa Franka Swiderskiego i Windowa
Snydera, 2004 (dostępna w języku polskim i
angielskim)
Microsoft Operations Framework (MOF) 4.0

http://go.microsoft.com/fwlink/?LinkId=130522
Microsoft.com/SolutionAccelerators
Do dzieła / Call to Action

Modeluj zagrożenia Twojej infrastruktury IT!




Zacznij wcześnie
Śledź zmiany
Dyskutuj „zależności” i założenia
bezpieczeństwa z odpowiednimi zespołami
Pogłębiaj wiedzę

Książki, kursy online, artykuły MSDN
Microsoft.com/SolutionAccelerators
„Niekończąca się opowieść”
•
•
•
Zapewnianie bezpieczeństwa jest nigdy nie
kończącym się procesem
Proces biegnie cyklicznie nawet wtedy, gdy
implementacja komponentu lub systemu
uzyskała status produkcyjny
Zadbaj o to, by
•
•
•
Diagramy odwzorowywały implementacje
Zagrożenia i środki zaradcze zostały
zidentyfikowane dla wszystkich elementów na
diagramach
Środki zaradcze były walidowane poprzez
kontrolę jakości i testy
Microsoft.com/SolutionAccelerator
s
Copyright © 2009 Microsoft Corporation. All rights reserved. Complying with the applicable copyright laws is your responsibility.
By using or providing feedback on this documentation, you agree to the license agreement below.
If you are using this documentation solely for non-commercial purposes internally within YOUR company or organization, then this
documentation is licensed to you under the Creative Commons Attribution-NonCommercial License. To view a copy of this license,
visit http://creativecommons.org/licenses/by-nc/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San
Francisco, California, 94105, USA.
This documentation is provided to you for informational purposes only, and is provided to you entirely "AS IS". Your use of the
documentation cannot be understood as substituting for customized service and information that might be developed by Microsoft
Corporation for a particular user based upon that user’s particular environment. To the extent permitted by law, MICROSOFT
MAKES NO WARRANTY OF ANY KIND, DISCLAIMS ALL EXPRESS, IMPLIED AND STATUTORY WARRANTIES, AND ASSUMES NO
LIABILITY TO YOU FOR ANY DAMAGES OF ANY TYPE IN CONNECTION WITH THESE MATERIALS OR ANY INTELLECTUAL
PROPERTY IN THEM.
Microsoft may have patents, patent applications, trademarks, or other intellectual property rights covering subject matter within
this documentation. Except as provided in a separate agreement from Microsoft, your use of this document does not give you any
license to these patents, trademarks or other intellectual property.
Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless
otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and
events depicted herein are fictitious.
Microsoft, ActiveSync, MSDN, Windows, and Windows Mobile are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be
the trademarks of their respective owners.
You have no obligation to give Microsoft any suggestions, comments or other feedback ("Feedback") relating to the
documentation. However, if you do provide any Feedback to Microsoft then you provide to Microsoft, without charge, the right to
use, share and commercialize your Feedback in any way and for any purpose. You also give to third parties, without charge, any
patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft
software or service that includes the Feedback. You will not give Feedback that is subject to a license that requires Microsoft to
license its software or documentation to third parties because we include your Feedback in them.
Microsoft.com/SolutionAccelerator
48