SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Implementace systemu HIPS

Vlastimil Krejčíř - Systémový pohled na software Archivematica
Vlastimil Krejčíř - Systémový pohled na software ArchivematicaVlastimil Krejčíř - Systémový pohled na software Archivematica
Vlastimil Krejčíř - Systémový pohled na software ArchivematicaLTP-portal-cz
 
Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...
Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...
Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...Jaroslav Prodelal
 
Bezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytik
Bezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytikBezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytik
Bezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytikTUESDAY Business Network
 
View5 technicka 2011
View5 technicka 2011View5 technicka 2011
View5 technicka 2011Vladan Laxa
 
Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?Radim Klaška
 
Přechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchPřechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchMarketingArrowECS_CZ
 
Aktivace technologie Intel vPro v2
Aktivace technologie Intel vPro v2Aktivace technologie Intel vPro v2
Aktivace technologie Intel vPro v2Frantisek Fait
 
Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...
Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...
Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...Security Session
 
McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí MarketingArrowECS_CZ
 
Oracle Solaris Day 2013 - Oracle DB and OS Solaris
Oracle Solaris Day 2013 - Oracle DB and OS SolarisOracle Solaris Day 2013 - Oracle DB and OS Solaris
Oracle Solaris Day 2013 - Oracle DB and OS SolarisMartin Cerveny
 
SmartCard Forum 2011 - Systém GlobalPlatform
SmartCard Forum 2011 - Systém GlobalPlatformSmartCard Forum 2011 - Systém GlobalPlatform
SmartCard Forum 2011 - Systém GlobalPlatformOKsystem
 
Microservices - morning talk
Microservices -  morning talkMicroservices -  morning talk
Microservices - morning talkJindřich Kubát
 

Ähnlich wie Implementace systemu HIPS (20)

Vlastimil Krejčíř - Systémový pohled na software Archivematica
Vlastimil Krejčíř - Systémový pohled na software ArchivematicaVlastimil Krejčíř - Systémový pohled na software Archivematica
Vlastimil Krejčíř - Systémový pohled na software Archivematica
 
Clanek intelvpro
Clanek intelvproClanek intelvpro
Clanek intelvpro
 
Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...
Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...
Webinář: Nekupujte počítače a zjednodušte si život využíváním virtuálních des...
 
Lecture01
Lecture01Lecture01
Lecture01
 
Bezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytik
Bezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytikBezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytik
Bezpečnost otevřených a uzavřených řešení - Martin Mačok, bezpečnostní analytik
 
TNPW2-2016-04
TNPW2-2016-04TNPW2-2016-04
TNPW2-2016-04
 
View5 technicka 2011
View5 technicka 2011View5 technicka 2011
View5 technicka 2011
 
Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?
 
Přechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchPřechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítích
 
Policy Compliance Testing (2011)
Policy Compliance Testing (2011)Policy Compliance Testing (2011)
Policy Compliance Testing (2011)
 
Aktivace technologie Intel vPro v2
Aktivace technologie Intel vPro v2Aktivace technologie Intel vPro v2
Aktivace technologie Intel vPro v2
 
Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...
Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...
Co vše skrývá síťový provoz a jak detekovat kybernetické hrozby? / MARTIN ŠKO...
 
McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí McAfee Adaptive threat intelligence i ve virtuálním prostředí
McAfee Adaptive threat intelligence i ve virtuálním prostředí
 
OS & App Security
OS & App SecurityOS & App Security
OS & App Security
 
TNPW2-2013-06
TNPW2-2013-06TNPW2-2013-06
TNPW2-2013-06
 
Oracle Solaris Day 2013 - Oracle DB and OS Solaris
Oracle Solaris Day 2013 - Oracle DB and OS SolarisOracle Solaris Day 2013 - Oracle DB and OS Solaris
Oracle Solaris Day 2013 - Oracle DB and OS Solaris
 
TNPW2-2014-04
TNPW2-2014-04TNPW2-2014-04
TNPW2-2014-04
 
SmartCard Forum 2011 - Systém GlobalPlatform
SmartCard Forum 2011 - Systém GlobalPlatformSmartCard Forum 2011 - Systém GlobalPlatform
SmartCard Forum 2011 - Systém GlobalPlatform
 
Microservices - morning talk
Microservices -  morning talkMicroservices -  morning talk
Microservices - morning talk
 
TNPW2-2012-06
TNPW2-2012-06TNPW2-2012-06
TNPW2-2012-06
 

Mehr von Security Session

Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...
Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...
Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...Security Session
 
Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...
Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...
Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...Security Session
 
Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...
Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...
Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...Security Session
 
Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]
Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]
Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]Security Session
 
Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...
Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...
Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...Security Session
 
Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...
Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...
Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...Security Session
 
#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]
#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]
#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]Security Session
 
Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]
Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]
Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]Security Session
 
Exploitace – od minulosti po současnost - Jan Kopecký
Exploitace – od minulosti po současnost - Jan KopeckýExploitace – od minulosti po současnost - Jan Kopecký
Exploitace – od minulosti po současnost - Jan KopeckýSecurity Session
 
Research in Liveness Detection - Martin Drahanský
Research in Liveness Detection - Martin DrahanskýResearch in Liveness Detection - Martin Drahanský
Research in Liveness Detection - Martin DrahanskýSecurity Session
 
Dolování dat z řeči pro bezpečnostní aplikace - Jan Černocký
Dolování dat z řeči pro bezpečnostní aplikace - Jan ČernockýDolování dat z řeči pro bezpečnostní aplikace - Jan Černocký
Dolování dat z řeči pro bezpečnostní aplikace - Jan ČernockýSecurity Session
 
Co se skrývá v datovém provozu? - Pavel Minařík
Co se skrývá v datovém provozu? - Pavel MinaříkCo se skrývá v datovém provozu? - Pavel Minařík
Co se skrývá v datovém provozu? - Pavel MinaříkSecurity Session
 
Jak odesílat zprávy, když někdo vypne Internet - Pavel Táborský
Jak odesílat zprávy, když někdo vypne Internet - 	Pavel TáborskýJak odesílat zprávy, když někdo vypne Internet - 	Pavel Táborský
Jak odesílat zprávy, když někdo vypne Internet - Pavel TáborskýSecurity Session
 
Two Years with botnet Asprox - Michal Ambrož
Two Years with botnet Asprox - Michal AmbrožTwo Years with botnet Asprox - Michal Ambrož
Two Years with botnet Asprox - Michal AmbrožSecurity Session
 
Falsifikace biometricke charakteristiky a detekce zivosti
Falsifikace biometricke charakteristiky a detekce zivostiFalsifikace biometricke charakteristiky a detekce zivosti
Falsifikace biometricke charakteristiky a detekce zivostiSecurity Session
 
Detekcia kompromitacie z pohladu pracovnika bezpecnosti
Detekcia kompromitacie z pohladu pracovnika bezpecnostiDetekcia kompromitacie z pohladu pracovnika bezpecnosti
Detekcia kompromitacie z pohladu pracovnika bezpecnostiSecurity Session
 

Mehr von Security Session (20)

Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...
Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...
Getting your hands dirty: How to Analyze the Behavior of Malware Traffic / SE...
 
Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...
Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...
Základy reverse engineeringu a assembleru / KAREL LEJSKA, MILAN BARTOŠ [DEFEN...
 
Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...
Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...
Zabezpečení nejen SSH na serveru pomocí Fail2Ban a jednoduchého honeypotu. / ...
 
Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]
Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]
Insights of a brute-forcing botnet / VERONICA VALEROS [CISCO]
 
Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...
Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...
Wintel Hell: průvodce devíti kruhy Dantova technologického pekla / MARTIN HRO...
 
Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...
Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...
Robots against robots: How a Machine Learning IDS detected a novel Linux Botn...
 
#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]
#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]
#ochranadat pred sebou samotným / MATEJ ZACHAR [SAFETICA TECHNOLOGIES S.R.O.]
 
Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]
Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]
Bezpečnější pošta díky protokolu DANE / ONDŘEJ CALETKA [CESNET]
 
Prezentace brno
Prezentace brnoPrezentace brno
Prezentace brno
 
OSINT and beyond
OSINT and beyondOSINT and beyond
OSINT and beyond
 
Exploitace – od minulosti po současnost - Jan Kopecký
Exploitace – od minulosti po současnost - Jan KopeckýExploitace – od minulosti po současnost - Jan Kopecký
Exploitace – od minulosti po současnost - Jan Kopecký
 
Research in Liveness Detection - Martin Drahanský
Research in Liveness Detection - Martin DrahanskýResearch in Liveness Detection - Martin Drahanský
Research in Liveness Detection - Martin Drahanský
 
Dolování dat z řeči pro bezpečnostní aplikace - Jan Černocký
Dolování dat z řeči pro bezpečnostní aplikace - Jan ČernockýDolování dat z řeči pro bezpečnostní aplikace - Jan Černocký
Dolování dat z řeči pro bezpečnostní aplikace - Jan Černocký
 
Turris - Robert Šefr
Turris - Robert ŠefrTurris - Robert Šefr
Turris - Robert Šefr
 
Co se skrývá v datovém provozu? - Pavel Minařík
Co se skrývá v datovém provozu? - Pavel MinaříkCo se skrývá v datovém provozu? - Pavel Minařík
Co se skrývá v datovém provozu? - Pavel Minařík
 
Jak odesílat zprávy, když někdo vypne Internet - Pavel Táborský
Jak odesílat zprávy, když někdo vypne Internet - 	Pavel TáborskýJak odesílat zprávy, když někdo vypne Internet - 	Pavel Táborský
Jak odesílat zprávy, když někdo vypne Internet - Pavel Táborský
 
Two Years with botnet Asprox - Michal Ambrož
Two Years with botnet Asprox - Michal AmbrožTwo Years with botnet Asprox - Michal Ambrož
Two Years with botnet Asprox - Michal Ambrož
 
Falsifikace biometricke charakteristiky a detekce zivosti
Falsifikace biometricke charakteristiky a detekce zivostiFalsifikace biometricke charakteristiky a detekce zivosti
Falsifikace biometricke charakteristiky a detekce zivosti
 
Nehacknutelny web
Nehacknutelny webNehacknutelny web
Nehacknutelny web
 
Detekcia kompromitacie z pohladu pracovnika bezpecnosti
Detekcia kompromitacie z pohladu pracovnika bezpecnostiDetekcia kompromitacie z pohladu pracovnika bezpecnosti
Detekcia kompromitacie z pohladu pracovnika bezpecnosti
 

Implementace systemu HIPS

  • 1. Implementace systémů HIPS: ve znamení 64bitových platforem Martin Dráb martin.drab@email.cz
  • 2. 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.
  • 3. Č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)
  • 4. Č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
  • 6. 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í
  • 7. 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
  • 8. 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.
  • 9. 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
  • 10. 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
  • 11. 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ří)
  • 12. 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á
  • 13. 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)
  • 14. 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.
  • 15. 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ů.
  • 17. 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
  • 19. 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
  • 20. 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, ...
  • 21. 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