Security Professionals - ipfw add deny all from eindgebruikers to any

Microsoft App-V als security maatregel?

07-07-2014, 08:48 door TraxDigitizer, 9 reacties
Ik loop regelmatig tegen het gebruik van Microsoft App-V (http://en.wikipedia.org/wiki/Microsoft_App-V) aan binnen mijn organisatie. Dit is een soort van Sandbox ("bubbel") waarbinnen applicaties kunnen worden gestart zonder dat deze dan wijzigingen kunnen doorvoeren in het onderliggende besturingssysteem. Bijvoorbeeld omdat een oudere legacy applicatie alleen maar werkt met een oude Java versie, wordt de werkplek (client) voorzien van een App-V met daarin de applicatie en de oude Java versie. In de reguliere omgeving (dus buiten de bubbel) kan dan gewoon de laatste Java versie worden geïnstalleerd voor alle andere applicaties.

Dit wekt de indruk dat de bubbel het besturingssysteem beschermt tegen exploits die zijn gericht op de App-V. Dus een hacker kan middels een exploit gericht op de App-V niet de controle over het volledige systeem overnemen, maar zal gevangen zitten in de sandbox.

Ik vraag me echter af of App-V inderdaad gezien mag worden als een security maatregel. Als ik op zoek ga naar meer informatie via bijvoorbeeld Google, kom ik voornamelijk stukken tegen waarbij App-V wordt beschreven/getest vanuit een functioneel perspectief. Maar ik zou graag weten of dit nu ook voldoende bescherming biedt tegen exploits. Hoe 'goed' is de Sandbox?

Ik begrijp dat je als organisatie ook een serieus probleem kan hebben, wanneer een hacker in een App-V gevangen zit. Een gecompromitteerde applicatie kan wat dat betreft nog steeds gevolgen hebben voor de vertrouwelijkheid en integriteit van de data waar deze applicatie toegang tot heeft. Waar het mij hier om gaat is of deze gecompromitteerde sandbox niet alsnog kan worden gebruikt als stepping-stone naar andere delen binnen de ICT infrastructuur.

Iemand hier toevallig ervaring mee?
Reacties (9)
07-07-2014, 10:51 door Anoniem
Klinkt als een vraag van een informatie beveiliger die op zoek is naar iets interessants voor tijdens de MT vergadering.
07-07-2014, 11:18 door Anoniem
Er is in ieder geval een manier om in de bubbel te komen: http://webcache.googleusercontent.com/search?q=cache:UGCz7oDfkYMJ:www.virtualvibes.co.uk/breaking-into-the-virtual-environment-in-app-v-5-0/+&cd=8&hl=en&ct=clnk&gl=kh

Ik ben wel benieuwd of je hiermee een gestreamde applicatie aan zou kunnen passen waarbij de wijziging vervolgens naar andere clients gestreamed wordt.

Vanuit de bubbel het OS aanvallen heb ik na een korte google actie nog niet gevonden. Misschien eens in Blackhat archieven duiken of er onderzoek naar geweest is.
07-07-2014, 12:47 door Anoniem
App-v is geen echte geisoleerde sandbox. Om applicaties te draaien (Word Excel Outlook zij n bijvoorbeeld de applicaties) moeten er verbindingen naar het echte central OS deel opengezet worden. (office plugins / connection groups).

Het belangrijkste voordeel is dat de bekende dll-hell problematiek aangepakt kan worden. Er zijn te veel "applicaties" die een bepaalde versie van een driver nodig hebben van Windows die ook nog eens global in het Windows register bijgehouden moet worden. Voor profile datasets en settings moet een en ander toch als persoonlijke profielsettings meekomen. Dat blijft dus een kwetsbaar punt.

Het gebruik van zero-footprint applicaties (geen dll en geen registry en geen profile data) voorkomt dat ook.
Daarmee heb je nog geen veilige ingerichte omgeving.

Wat me verbaast is het noemen van java als een voorbeeld. JVM is al een virtuele machine, de naam zegt het al. Waarom zou je een virtuele machine in een virtuele machine willen draaien?. Met goed beheer van java versies (Private Java Run Time) kun je vele java versies op de machine hebben. Java heeft Windows en het Windows register niet nodig, het is zelf een zero footprint aanpak.

De uitzondering waar java wel effect heeft met het windows register is de browser. Die afhankelijk wil je toch niet...
Een versie specifieke browser voor websites door eisen op de plugins..... Als je dat wil testen (website developping) heb je daaarvoor een heel aparte aanpak voor.
07-07-2014, 14:54 door TraxDigitizer
Dank voor de reacties zover. Ik gebruik Java als voorbeeld, omdat hier regelmatig ernstige kwetsbaarheden in hebben gezeten die relatief makkelijk te exploiten zijn. Ons patchbeleid zegt dan dat er z.s.m. geupdate moet worden naar een nieuwere versie (als deze er al is), terwijl er ook webapplicaties (dus browsers) in het landschap zijn die dan niet meer goed functioneren en dus het liefst een oudere javaversie gebruiken. Een van de oplossingen die toen vanuit de beheerders werd aangedragen is het gebruik van App-V om enerzijds die ene applicatie te streamen met de oudere Java versie, en anderzijds om de impact van het exploiten van de oude Java versie te verkleinen. En ik zat me dus al enige tijd af te vragen of App-V daar eigenlijk wel geschikt voor is.
07-07-2014, 15:51 door Anoniem
Je kunt dat absoluut zo inrichten wanneer je ervoor zorgt dat die webapplicaties alleen gestart kunnen worden via die Java App-v packages en dat gebruikers vanuit die webapplicaties niet naar andere sites toe kunnen (zoals nu.nl etc) dan is het zeker veilig.
Windows weet niet dat je een oudere versie van java hebt draaien in App-v.
07-07-2014, 19:44 door Anoniem
Je hebt dus webapplicaties via een browser die a/ en java eisen en b/ een bepaalde java vereisen?
Kun je beter zien te dumpen voor een alternatieve applicatie die niet zulke eisen stelt.

Er zijn genoeg java applicaties die onnodig een bepaalde java versie willen maar met updates naar een hogere java versie te brengen zijn of los te koppelen zijn van die browser and een eigen JPRE kunnen gebruiken.

Even slimmer kijken naar oplossingen van het echte probleem. KISS toepassen.... Keep It SImple Stupid of was het nou Keep it Stupid Simple? Voor je het weet heb je nieuwe issues door vele aparte browsers met eigen release management issues.
08-07-2014, 13:43 door TraxDigitizer
Ik ben het helemaal met je eens, en daar is ook naar gekeken. Maar in complexe en grote ICT-omgevingen is het uitfaseren van bedrijfskritische applicatie niet zomaar voor elkaar. Daar gaan soms jaren overheen. Zeker wanneer de applicatie zelf nog voldoet en wordt ondersteund door de leverancier.
09-07-2014, 09:21 door Anoniem
Hmmm grotere complexe ICT-omgevingen zijn over het algemeen heel goed om de simple JPRE methode niet te willen zien. Ik herken dat. Compleet vast in processen die gevolgd moet worden zonder verder inzicht.
Als je dan komt bij de leverancier voor die JPRE dan past het ook niet in zijn denkwereld. En zo'n JPRE kan zo simpel zijn als je het doorhebt. Tjaa gaat verder dan setup intkikken (het proces - kafkiaans ).
10-07-2014, 08:20 door Anoniem
Hallo Trax. Uitstekende vraag die je stelt. Ik werk al jaren met onder andere App-V, geef ook presentaties maar heb voor zover ik me kan herinneren nog nooit deze vraag gehad.

De vraag of App-V een security maatregel is kan simpel met Nee beantwoord worden. Maar het is zeker goed om er even over na te denken.

Kort door de bocht zou je kunnen zeggen dat het virtualiseren van applicaties is een vervanging van het installeren van applicaties. Uiteraard is er meer over te zeggen maar daar gaat dit topic niet over dus ik laat het even hierbij. Voordat virtualisatie werd toegepast werden in grote netwerken veel applicaties gedistibueerd met msi en setup.exe file. Distributie mechanisme waren onder andere MS SMS (opgevolgd door MS SCCM) en Alitris. Elke werkplek en elke terminal server kreeg alle benodigigde software geinstalleerd en geconfigureerd. Dat betekende dat wanneer je in de programs directory, registry en services van de betreffende machine ging kijken je daar ook daadwerkelijk de programma onderdelen kon vinden.

In de App-V wereld worden applicaties gestreamd naar de machine (desktop/laptop/terminal server). Wanneer je in de program's directory, registry en services van de machine gaat kijken zul je daar geen programma onderdelen vinden.

Ondanks dat het programma niet op de machine in de traditionele zin is terug te vinden kunnen de gestreamde applicaties wel besturingssysteem elementen aanroepen. Ook kan een applicatie vanuit een App-V bubble het netwerk op. Immers je stopt geen data bases in een bubble.

Wanneer een applicatie een stuk code bevat waarmee schade aan te richten valt aan OS of data base maakt het niet uit of het een traditioneel lokaal geinstalleerde applicatie of een gestreamde App-V applicatie is. Maar omdat een App-V niet lokaal geinstalleerd is zal niet elke exploid werken vanuit een bubble.

Hoop dat je hier verder mee kunt.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.