470 likes | 630 Views
UAC mélyvíz. „Semmi sem az, mint aminek látszik”. Gál Tamás v-tagal@microsoft.com Microsoft Magyarország. Tartalom. Némi ismétlés A motorháztető alatt Virtualizáció UAC kompatibilitás – ACT 5.0 Csoportházirend opciók Összegzés Függelék. Némi ismétlés. Az UAC feladata többrétű
E N D
UAC mélyvíz „Semmi sem az, mint aminek látszik” Gál Tamás v-tagal@microsoft.com Microsoft Magyarország
Tartalom • Némi ismétlés • A motorháztető alatt • Virtualizáció • UAC kompatibilitás – ACT 5.0 • Csoportházirend opciók • Összegzés • Függelék
Némi ismétlés • Az UAC feladata többrétű • Az alkalmazások és az OS biztonságos kapcsolatának és kommunikációjának felügyelete • A feleslegesen magas jogosultsági szint használatának korlátozása • Adott esetben az emelt jogosultsági szint elfogadása és az alkalmazás ismételt futtatása > AAM • Virtualizáció (lásd később)
Némi ismétlés • UAC szkenáriók • Maximálisan javasolt: a desktop gépeken mindenki standard felhasználó és nincs emelt jogosultság szint megadási lehetőség – nincs visszaélés, az alkalmazások telepítése pl. centralizált lehet ekkor • Kevésbé javasolt: a desktop gépeken mindenki standard felhasználó, de van lehetőség interaktív módon emelt szintre lépni – a spéci alkalmazások vagy a laptopok, otthoni felhasználók esetén • Nem javasolt: kikényszerített, megerősítés nélküli, emelt szintű használat pl. a helyi „Administrators” csoportnak
Némi ismétlés • A fiókok harca • Standard vs. Admin csoporttagság • Admin csoport vs. Built-in Admin fiók • A Standard fiók is „ér”vmit • Vezeték néküli hálózat konfigurálás, Energia-ellátási opciók változtatása, VPN-kapcsolatok konfigurálása, Nyomtató- és egyéb eszközök hozzáadása (GP), Windows Update, Windows Defender, defragmentálás, időzóna-váltás, Eseménynapló (a Security naplót nem ) • A pajzs ikon mutatja, hogy mit nemlehet
Némi ismétlés • Standard vs. Admin tagság • Komoly különbség, pl. az alapvető OS komponensek legális elérésében • Rendszerszolgáltatások, eszközmeghajtók, folyamatok, registry kezelése • Alkalmazások, ActiveX kontrollok telepítése/eltávolítása • OS rendszerfájlok cseréje • Hálózati beállítások, tűzfal kezelése • Eseménynapló/Feladatütemező használata • Legális elérés > muszáj emelt jogosultságot kapnia
Némi ismétlés • Admin csoporttagság vs. Built-in Admininistrator fiók • Nem ugyanaz a szint! • A Vistában az UAC hatóköre egyáltalán nem terjed ki az Administrator fiókra • Mindig full token használat • Nincs megerősítés, nincs prompt • Viszont alapértelmezés szerint le van tiltva • Automatizmus a különböző szkenáriókra, pl. OS frissítés, csökkentett mód, stb.
Némi ismétlés • Nem interaktív belépésnél • Ha helyi (nem domain) fiókkal történik akkor: Standard User • Ha domain és admin illetve helyi System fiók akkor: az UAC nem érvényesül • Különleges interaktív kapcsolatok (pl. RDP, TS, stb.): normál UAC szabályok
A motorháztető alatt • Administrator Approval Mode • Administrator logon: RID tábla vizsgálat • Full token • Szűrt token • Split access token: • darabolás és raktározás • Explorer.exe • User logon:RID tábla vizsgálat • Explorer.exe • Szűrt token
A motorháztető alatt • Standard / FilteredUser Token • Az Admin SID-ek"Deny Only"-ra váltanak • Közepes integritási szint • A legtöbb magas jogosultság „kilőve” • Administrator / FullToken • Az Admin SID-ek korlátozás megszűnik • Magasintegritási szint • Magas jogosultságok elérhetőek
A motorháztető alatt • A kettős token megszerzésének feltétele a 18 dbminősített csoporttagság... • ...vagy a 9 dbkülönleges jogosultság
UAC Split Token • Deny SID, IL, privilégiumok
A motorháztető alatt • UAC nélkül (pl. XPSP2) • Az alkalmazás az indító felhasználó fiók jogosultsági szintjét örökli • Minden negatív illetve pozítiv vonzatával • USER • Explorer.exe • ShellExecute(Ex) • Create Process
A motorháztető alatt • Hogyan ingerelhetjük az UAC-ot? • A futtatható fájlokhoz mellékelt manifeszt fájl tartalma alapján • Heurisztika, azaz a fájl neve is számít • Az AppCompat adatbázis a fájlhoz tartalmaz egy „ElevateCreateProcess" shim-et (lásd később) • „Run as administrator”
A motorháztető alatt • USER • Vista (UAC) • AppCompat lista • Fusion: UAC-aware programok > manifeszt fájlok • Installer Heuristics: ismert minták • Explorer.exe • ShellExecute(Ex) • AppCompat • Error_elevation_required • Create Process • Fusion • Installer Heuristics
A motorháztető alatt • Manifeszt fájlok - belső és külső • Belső: az .exe-be fordítva • Ez az erősebb • Külső: gyakorlatilag egy szövegfájl • Az .exe neve + .manifest • Vista > új kulcs (requestedExecutionLevel), háromféle értékkel: • asInvoker: jelenlegi user jogaival • highestAvailable: Standard user nincs kérdés, Admin user: van kérdés (pl. mmc.exe, regedit.exe) • RequireAdministrator: mindig kérdez • Sigcheck.exe (Sysinternals)
A motorháztető alatt + Sigcheck.exe
A motorháztető alatt • Heurisztika • UAC megpróbálja detektálni a telepítőcsomagokat, pl. a fájlnév alapján • Setup, update, install, stb. • Bárhol lehet a névben • Félrevezető is lehet (pl. UserCertInstall.bat) • Csoportházirenddel viszont tiltható • A spéci „telepítési” biteket is figyeli • pl. egy .exe esetén • .msi: mindig telepítőnek tekinti
Heurisztika • Edit.com vs. Install.com
A motorháztető alatt • USER • Belép az AIS • Újabb 3 kör • Újabb Create Process • Majd: Secure Desktop • SYSTEM • Explorer.exe • AppInfo • (AIS) • ShellExecute(Ex) • AppCompat • Error_elevation_required • App-Compat • Create Process • Create • Process • (AsUser) • Fusion • Fusion • IH • Installer Heuristics
A motorháztető alatt • Secure Desktop • A’ la SAS (Secure Attention Sequence) • Az AIS indítja szeparált ablakként • Csak az UAC ablak aktív > „sötét képernyő” • Miért nincs „printscreen? • Komoly védelem szükséges, mivel ez egy igazán kényes szituáció • Session 0 • Közben indul a Consent.exe és...
A motorháztető alatt Megerősítések Aláírt OS alkalmazás Aláírt 3rd party alkalmazás 1 Blokkolás 2
A motorháztető alatt Promptok OS alkalmazás Aláírt alkalmazás Aláírás nélküli alkalmazás 1 2 3 Max. 2 percig, majd default tiltás
A motorháztető alatt • Külső alkalmazások vs. Secure Desktop • A manifeszt fáljnak tartalmaznia kell az UIAccess= „True” bejegyzést • Microsoft által aláírt és engedélyezett kód • „Biztonságos” helyről indulhat csak • Windows\System32 és almappái • Program Files és almappái • Program Files (x86) és almappái a 64bites rendszereken
Virtualizáció • Bizonyos alkalmazások… • Nem UAC kompatibilisek • Csak admin jogosultsággal futnak • Viszont szükségünk van rájuk • Virtuális „homokozó” – profilonként • Teljesen automatikusan (házirend) • Natív 64 bites alkalmazásoknál nem működik • A manifeszt fájlokkal szintén nem
Virtualizáció • Fájlvirtualizáció • A cél: %SystemRoot%, %windir%, %ProgramFiles%, %ProgramData% • A homokozó: • \Users\<username>\ Appdata\ Local\VirtualStore • A Task Managerből is engedélyezhető • Saját naplófájl (UAC-FileVirtualization) • Registry-virtualizáció • Cél: „HKLM\Software”; a homokozó: • HKey_Users\<SID>_Classes\VirtualStore • A fájlrendszerben: Usrclass.dat
Virtualizáció • Nem virtualizálható • Futtatható fájlok, pl. .EXE, .BAT, .VBS és .SCR • További kivételek: HKLM \ System \ CurrentControlSet \ Services \ Luafv \ Parameters \ ExcludedExtensionsAdd • Az összes Vista komponens • Folyamatok / alkalmazások admin jogokkal • Kernel módú alkalmazások • Nem interaktív bejelentkezésen keresztüli műveletek (pl.: fájlmegosztás) • A „Dont_Virtualize” jelzéssel megjelöltek (registry)
UAC <> ACT 5.0 • A korábbi / renitens alkalmazásoknál szükség lehet rá, mert segíthet... • Az UAC szituációkban • A WRP problémákon • Az IE7 védett módú használatánál • A GINA, Session 0 gondokon • Számos, a Vistában száműzött .dll, .exe, COM objektum és registry kulcs hiánya okozta helyzetben • OS verzióproblémákkal kapcsolatban
UAC <> ACT 5.0 • Segítség az alkalmazásoknak • A Vista integráltan tartalmaz egy listát • De mi is tudunk kreálni ún. „shim"-eket az ACT 5.0-val > demó! • A komponensei • Standard User Analyzer: a vizsgálathoz • Compatibility Administrator: a javítás elkészítéséhez • Sdbinst.exe: parancssori eszköz a javítás telepítéséhez
UAC <> ACT 5.0 • Egyéb ACT 5.0 jellemzők • Vista kompatibilis • De adminként kell futtatni • SQL kiszolgáló is kell hozzá • Működési szint belövése • RunAsAdmin opció • NoVirtualization opció • ... • Letölthető: http://tinyurl.com/2zrmuz
ACT 5.0 • Admin jogok hozzárendelése a renitens alkalmazáshoz
Összegzés • Emelt szintű belépés + UAC esetén… • Token darabolás megtörténik • A „Deny only SID"-ek alkalmazása is • A kiemelt jogosultságok eltávolításra kerülnek • Az „Integrity level"közepes szintre áll be • Fájl- és registry virtualizáció elindul • Az IE védett módba kapcsol (a legtöbb zónánál) • Secure Desktop engedélyezésre kerül • Jogosultság emelés elérhető / megjelenik
Összegzés • Az UAC nem vírus-, mal-, spyware irtó • Nem állítja meg a kártevőket • A „hatalomátvételt” nehezíti meg • Az UAC nem működik • Safe módban • A beépített Administrator fiókkal • A rendszerszolgáltatásokkal • A nem interaktív belépések esetén • Ha kikapcsoljuk
Összegzés • Az UAC kikapcsolható • CP/User Accounts (IE védett mód is) • Msconfig.exe • Csoportházirend • Nincs szelektív kikapcsolás • Drasztikusan az admin se kapcsolja ki • Problémák adódhatnak, pl. virtualizáció • Ha utáljuk is, csak finoman > csoport-házirenddel „némítsuk el”
Összegzés • Az UAC csak egy az új biztonsági eszközök között a Vistában, merthogy: • Service Security Hardening • Address Space Layout Randomization • Bitlocker Drive Encryption • Windows Defender • Windows Firewall • IE7 védett mód • IE7 phishing és CA szűrő
Terminológia, rövidítések • Split Access Token • A klasszikus token feldarabolása, a minősített jogosultságok és engedélyek kiszűrése • Standard User • „Aki” a szűrt tokent használja, alapértelmezés szerint minden egyes fiók (a kivételről később) • Administrator Approval Mode • Alapértelmezés szerint az adminok is csökkentett jogosultsággal futattnak mindent, ám adott esetben - tipikusan interaktívan - a megfelelő hitelesítési infókkal képesek emelt szintre jutni • Application Information Service (AIS) • Rendszerszolgáltás, amely segít az emelt szintet kérő alkalmazok futtatásánál: pl. új processzt készít és indít, immár az admin user full tokenjével
Terminológia, rövidítések • Application manifest • XML formátumú metadata a futtatható állományokhoz – az alkalmazás ezen keresztül „igazodhat” az UAC-hoz • BlockedUI • Dialógusdoboz a nem megbízható alkalmazásokhoz. Egy alkalmazás két módon juthat erre a sorsra: • Ha a tanúsítványa explicit nem megbízható (UntrustedPublisher Machine Certificate store) • Ha az UAC házirendben finomhangolást végzünk, a Trusted Root store-ral kapcsolatban • Windows Integrity Control (régebben MIC) • A különböző megbízhatósági szinten lévő folyamatok nem kommunikálhatnak egymással, ergo alapból „bizalmatlanok” egymáshoz
Terminológia, rövidítések • Interactive User • A konzolról vagy egy terminál-kapcsolaton keresztül belépett felhasználó • Az UAC csak az interaktív felhasználóknak nyújtja a speciális szolgáltatásait • Network User • Hálózati felhasznaló, kimarad az UAC előnyeiből, nincs token szűrés sem • Secure Desktop • Az az állapot, melyben az OS „kivár” a jogosultság emelés bekövetkeztéig
Terminológia, rövidítések • Consent.exe • Hostolja a ConsentUI / CredUI dialogusdobozokat. Ezeknek a jogosultságemelés interaktív folyamata során van szerepe • ConsentUI • Az alkalmazás futtatásához szükséges „beleegyezés” interaktív, a desktopon megjelenő megoldása. Az AIS futattja, és erősen védett a külső hatásoktól, például a WIC (MIC) által • CredUI • Ugyanaz mint az előző, csak prompttal, azaz hitelesítési infókat kér, a szűrés nélküli token használatáért cserébe
Csoportházirend opciók • Admin Approval Mode for the built-in administrator account • UAC használat a beépített admin fióknak • Allow UIAccess applications to prompt for elevation without using the secure desktop • Secure Desktop „kihagyása” – kizárólag aláírt, védett helyekről indított UIAccess alkalmazásoknak • Behavior of the elevation prompt for administrators in Admin Approval Mode • Mi történjen, ha az Admin csoport tagjainál jogosultság-emelésre van szükség (3)?
Csoportházirend opciók • Behavior of the elevation prompt for standard users • Mi történjen, ha az Users csoport tagjainál jogosultságemelésre van szükség (2)? • Detect application installations and prompt for elevation • Legyen-e heurisztikus telepítés figyelés? • Only elevate executables that are signed and validated • Legyen-e aláírva minden alkalmazás, amelyhez emelt szintű jogosultság szükséges?
Csoportházirend opciók • Only elevate UIAccess applications that are installed in secure locations • Csak a védett helyről induló UIAccess alkalmazások kaphassanak emelt szintű jogosultságot • Run all administrators in Admin Approval Mode • Legyen-e UAC az admin csoport számára? • Switch to the secure desktop when prompting for elevation • Használjuk-e egyáltalán a Secure Desktop-ot? • Virtualize file and registry write failures to per-user locations • Virtualizáció (mindkét típus) letiltása