Implementace systémů HIPS: ve znamení 64bitových platforem. Martin Dráb martin.drab@email.cz



Podobné dokumenty
Implementace systémů HIPS: historie a současnost. Martin Dráb

Security-portal konference

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

S ovladačem do jádra! Martin Dráb

- kvalitní dokumentace k SW je vyžadovaným STANDARDEM. vzájemná provázanost SW (IS) ve velkých společnostech. aktuální přehledná srozumitelná

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

ČÁST 1. Základy 32bitového programování ve Windows

TÉMATICKÝ OKRUH Softwarové inženýrství

Základní typy struktur výpočetních systémů

Procesy a vlákna (Processes and Threads)

TÉMATICKÝ OKRUH Softwarové inženýrství

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

1. Úvod. 2. CryptoPlus jak začít. 2.1 HW a SW předpoklady. 2.2 Licenční ujednání a omezení. 2.3 Jazyková podpora. Požadavky na HW.

Identifikátor materiálu: ICT-2-05

400 Série Automatické testovací systémy

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Tomáš Borland Valenta

TC-502L TC-60xL. Tenký klient

CineStar Černý Most Praha

Systémové požadavky Xesar

Maturitní témata Školní rok: 2015/2016

České vysoké učení technické, Fakulta elektrotechnická Úvodní studie semestrálního projektu z X36SIN

CUZAK. Instalační příručka. Verze

.NET Framework verze Program pro připojení ke vzdálené ploše (RDC) verze

Informační Systém pro Psychiatrii HIPPO

User Account Control. a jak jej obejít. Martin Dráb martin.drab@ .cz

Návod na nastavení sítě Eduroam v prostorách 3.LF

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

Anotace V souboru typu pdf uzpůsobenému. Jazyk Autor. Windows, Ovládací panely, Miniaplikace. Organizace činnosti

TC-502L. Tenký klient

T-Mobile Internet. Manager. pro Windows NÁVOD PRO UŽIVATELE

Firmware řídící jednotky stejnosměrného generátoru

Testovací protokol čipová karta ACOS5

Management procesu I Mgr. Josef Horálek

Poznámky k verzi Remote support platform 3.1

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Manuál pro práci s kontaktním čipem karty ČVUT

Microsoft Windows 7. Mgr. Krejčí Jan (UJEP) Microsoft Windows října / 28

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Testovací protokol USB Token Cryptomate

CUZAK. Instalační příručka. Verze

Principy operačních systémů. Lekce 1: Úvod

Dokumentace. k projektu Czech POINT. Technická specifikace hardwarového a softwarového vybavení

50 Zápisník skupiny. Popis modulu

TÉMATICKÝ OKRUH Softwarové inženýrství

Desktop systémy Microsoft Windows

Dokumentace. k projektu Czech POINT. Technická specifikace hardwarového a softwarového vybavení

BLINDSHELL ROZHRANÍ PRO OVLÁDÁNÍ DOTYKOVÝCH TELEFONŮ S ANDROIDEM PRO ZRAKOVĚ POSTIŽENÉ UŽIVATELE

Kapitola 1 První kroky v tvorbě miniaplikací 11

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Tomáš Kantůrek. IT Evangelist, Microsoft

Vzdálený přístup k počítačům

Přístup k poště MS Office 365 mají pouze studenti 1. a 2. ročníku EkF prezenčního studia. Přístup k ostatním službám mají všichni studenti.

1. Úvod do obsluhy AutoCADu

Metodická příručka pro učitele. InspIS SET modul školní testování

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

TESTOVÁNÍ UŽIVATELSKÉHO ROZHRANÍ

Certifikát o hodnocení

Konfigurace Windows 7

Middleware eop. Instalační příručka pro práci s eop v prostředí MS Windows

Informační Systém PINEL plus

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Zabezpečení mobilních bankovnictví

Operační systémy. Přednáška 1: Úvod

A4300BDL. Ref: JC

Návod pro Windows 8. Automatická konfigurace Windows 8 umožňují použít konfiguraci WiFi připojení pomocí programu eduroamcuni2.exe.

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

A G O N O T. RNDr. Filip Zavoral, Ph.D. Počet řešitelů: 4 5. Termín dokončení: červen 2013 ORGANIZÁ TOR TU R NA JŮ

Zadávací dokumentace

Instalace a připojení čtečky čipových karet v systému CryptoPlus Eval

Konfigurace pracovní stanice pro ISOP-Centrum verze

úvod Historie operačních systémů

Middleware eop. Instalační příručka pro práci s eop v prostředí MS Windows

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

FPGA + mikroprocesorové jádro:

Tipy na vytvoření kvalitní prezentace PowerPoint. Martin Mazánek

Testovací protokol USB token etoken PRO 32K

Návod pro Windows XP. Příprava

Obsah. Nastavení elektronické komunikace v IS PREMIER

Advance Concrete 2010 SP3 Co je nového. Tento dokument popisuje vylepšení a opravy, které jsou obsaževy v SP3

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Příručka pro dodavatele. Systém EZVR 1.1 Verze dokumentu 1.3 Datum vydání:


Nápověda a postupy. Instalace a aktivace PDF-XChange Viewer Pro. Instalace a aktivace software. Nápověda a postupy. 1 z

Testovací protokol čipová karta etoken PRO SmartCard 32K

Novinky. Autodesk Vault helpdesk.graitec.cz,

Instalace a konfigurace web serveru. WA1 Martin Klíma

Pokyny pro zájemce o doškolovací kurzy

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Výpočetní technika

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

Technologické postupy práce s aktovkou IS MPP

Transkript:

Implementace systémů HIPS: ve znamení 64bitových platforem Martin Dráb martin.drab@email.cz

HIPS: základní definice Majoritně používané operační systémy disponují bezpečnostními modely, které dovolují jednotlivým uživatelům určit, co smějí a co nesmějí. V případě Windows je většina domácích uživatelů zvyklá pracovat neustále s oprávněním administrátora, což činí bezpečnostní model značně neefektivní. Systémy HIPS programy, které monitorují, oznamují (a blokují) podezřelé aktivity v operačním systému.

Čemu se budeme věnovat 64bitovým verzím Windows Rozhraním, která pro ulehčení (a umožnění) implementace poskytuje Microsoft. Zajímavým aspektům jádra, které mohou při implementaci systému HIPS pomoci (ač k tomuto účelu původně zamýšleny nebyly)

Čemu se budeme věnovat Patchguard OB Filtering Model Chráněné procesy GUI a možnosti s ním spojené Případně něco dalšího

Architektura systému

Patchguard Ochrana integrity některých součástí jádra Nedeterministický Ověřování kontrolních součtů různých oblastí V případě zjištění nesrovnalosti je běh systému zastaven modrou obrazovkou smrti V režimu ladění není aktivní Implementován tak, aby nebylo snadné naň užít reversní inženýrství

Patchguard Není tedy možná jen tak modifikovat kód a důležité datové struktury jádra Souborový systém Registr Procesy a vlákna Síť Některá jsou použitelná až od Windows Vista SP1

Objektový model Jádro Windows reprezentuje mnoho entit (procesy, vlákna, klíče registru, otevřené soubory...) jednotným způsobem; entitou zvanou objekt jádra (kernel object) Jednotná reprezentace dává těmto entitám například možnost pojmenování či nastavení ochrany v rámci bezpečnostního modelu. Aplikace s objekty jádra pracují prostřednictvím nepřímých odkazů handle. Každé handle v sobě nese zakódovanou informaci o cílovém objektu a o tom, co skrz něj může s objektem aplikace dělat.

OB Filtering Model Oficiálně dokumentované, a tedy legitimní Dovoluje monitorovat (někdy i blokovat či měnit) přístup k objektům jádra Zatím podporovány pouze procesy a vlákna Dává jistou kontrolu pouze nad vytvářením handle, ostatní operace nejsou podporovány. Dostupné od Windows Vista SP1

Chráněné procesy Speciální typ procesu dostupný od Windows Vista Systém brání obyčejným procesům získat k těm chráněným některá oprávnění. Mezi chráněnými procesy navzájem žádná bariéra neexistuje. Chráněné procesy nemohou mít děti Hlavní soubor chráněného procesu a jím používané knihovny musí být podepsány speciálním certifikátem

Chráněné procesy Chráněné procesy lze: Násilně ukončit Čekat na ukončení Zjistit některé vlastnosti Pozastavit Chráněná vlákna lze: Pozastavit Čekat na ukončení Číst některé vlastnosti Měnit některé vlastnosti (ale kontext k nim nepatří)

Chráněné procesy Důvodem vzniku není pomoci systémům HIPS, ale lepší podmínky pro implementaci DRM System a audodg.exe Vytvoření chráněného procesu Změna bitu ve struktuře procesu Okamžitý účinek Patchguard to zřejmě nehlídá

Grafické uživatelské rozhraní Implementováno v rámci ovladače win32k.sys Vlastní tabulka systémových volání Mnoho ovládacích prvků (okna, tlačítka, textová pole...) reprezentováno objekty zvanými okna (windows) Založeno na zasílání zpráv příslušným oknům, případně vláknům Příliš nepodléhá bezpečnostnímu modelu (okna nepatří mezi objekty exekutivy)

Grafické uživatelské rozhraní Služby ovladače win32k.sys jsou zajímavé pro malware či spyware. Proto by se mělo jednat i o předmět zájmu systémů HIPS Škodlivý kód může prostřednictvím win32k.sys:... Ukončovat ostatní procesy Injektovat vlastní knihovny do cizích procesů Monitorovat nejen události myši a klávesnice Útočit na GUI ostatních aplikací Windows zatím nedisponují žádnými speciálními rozhraními.

Grafické uživatelské rozhraní Ovladač win32k.sys však není hlídán technologií Patchguard Obranu lze založit na modifikaci jeho kódu Také lze modifikovat jeho tabulku systémových volání Obtížnější než na 32bitových verzích Windows V některých případech lze použít i elegantnější způsoby, které jsou založené na implementaci jednotlivých nebezpečných mechanismů.

Tabulka systémových volání na x64

Windows Hooks Velmi staré rozhraní (snad již od Windows 3.x), které umožňuje monitorovat a ovlivňovat zejména transport přijímání zpráv Při většině použití dochází k samovolnému vložení knihovny DLL s monitorovacím kódem do adresového prostoru aplikace přijímající zprávy. Prováděno líným algoritmem. Rozhraní tedy poskytuje možnost injekce kódu do cizích procesů, naštěstí její rozsah lze i legitimními způsoby omezit

Implementace rozhraní Windows Hooks

Důsledky a zajímavosti Aplikace se může rozhodnout, zda bude pomocí WH monitorována (a ovlivňována) Lze zajistit pouze pomocí modifikací knihoven v uživatelském režimu, pokud si ohlídáme, aby tyto modifikace nemohly být odstraněny Funguje i na některé další mechanismy ovladače win32k.sys použitelné pro špatnou věc Podobným způsobem lze monitorovat i předávání výjimek a APC

Další zajímavé koncepty Objekty Desktop a WindowStation Omezení dosahu zpráv a rozhraní Windows Hooks na vlákna/procesy běžící na v rámci jednoho objektu Desktop (WindowsStation). Objekty Job (omezení na skupinu procesů) Zprávy pouze v rámci procesů v objektu Zákaz změny rozlišení, změny nastavení systému... I standardní limity (paměť, doba běhu, počet...) Primárně pro systémy HIPS nepoužitelné, nelze se dotázat uživatele. Sandbox realizovatelný Chromium, Avast,...

Závěr Jsou nějaké otázky? Kontakt Email: martin.drab@email.cz ICQ: 332970040 Máte-li s sebou moji knížku a chcete-li ji podepsat, přijďte nyní nebo kdykoliv během konference