4. The Open Web Application Security Project
• OWASP Top 10
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
• OWASP Top 10 for Mobile 2014
https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_
-_Top_Ten_Mobile_Risks
• OWASP Top 10 for Mobile 2016 RC
https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
20. Common scenario’s
• Securing your on-premises email and collaboration infrastructure so that it can
be accessed by mobile devices and apps on the Internet
• Enabling your organization to issue hardware to its employees
• Enabling your organization to implement a secure “Bring Your Own Device
(BYOD)” or personal device strategy
23. Intune SDK Possibilities
• Manage different app parts with Microsoft Intune
• Available for iOS, Android, Xamarin (Forms) & Cordova
• Easy to integrate in a existing app
• When activated protect corporate data
24. How it works
• The SDK is in the app.
• Intune sends policies to the app.
• Based on these policies the SDK might change the behavior.
• The SDK will do nothing if the device or app is not managed.
36. Where to go from here
Xamarin Evolve Sessions:
• Addressing the OWASP Mobile Security Threats Using Xamarin
https://evolve.xamarin.com/session/56e1ff1efd00c0253cae339e
• Enterprise Mobility: Keep It Safe
https://evolve.xamarin.com/session/56ec8771790aae283cca279e
• Think Like a Hacker!
https://evolve.xamarin.com/session/56ec3cd4de91c6253c277bc0
Trial accounts:
• Getting started with Enterprise Mobility Suite
https://www.microsoft.com/en-us/server-cloud/enterprise-mobility/ems-trial.aspx
• Start with Microsoft Intune
https://www.microsoft.com/en-us/server-cloud/products/microsoft-intune/default.aspx
• Azure Active Directory federation compatibility list
https://msdn.microsoft.com/en-us/library/azure/jj679342.aspx
Onlangs naar Xamarin Evolve geweest met Vincent Hoogendoorn
Verschillende sessie bijgewoond o.a. over security omdat ik vind dat dit een steeds belangrijker onderdeel van het Software Development proces wordt. Niet alleen vanwege onze apps maar zeker ook met alle IoT apparaten die er de komende tijd aan gaan komen en waar veilige software voor geschreven moet worden.
Agenda: Awareness creeren
EMS Microsofts visie op Enterprise Mobility (MDM)
Intune SDK als MAM.
Waarbij Intune de management tool is voor zowel MDM als MAM.
Dit onderdeel is voornamlijk om een stukje awareness te creeeren. We gaan dus niet in detail in op alle onderdelen. Ieder onderdeel zou namelijk al een sessie op zich zelf kunnen zijn.
Vraag: Wie van ons zijn we allemaal app developers?
Vraag: Wie denkt er dat zijn apps veilig zijn?
Optioneel: Wie weet dat zijn app veilig zijn?
Wij als app developers hebben er goed vertrouwen in dat onze apps veilig zijn echter weten we dit niet zeker totdat dit ook aangetoont is.
Vraag: Wie is er bekend met OWASP?
Ik ben bekend geraakt met OWASP bij mijn vorige werkgever waar een college van me grote bijdrage heeft geleverd aan dit project. Dit ging toendertijd over web. Sinds 2014 is er een mobile versie
De huidige PROD versie is 2014 maar er is een Release Candidate lijst voor 2016.
De mensen van Arxan (Application Protection Company), die o.a. een sessie hebben gegeven over ‘Think like a hacker’, hebben een rapport opgesteld waaruit blijkt dat 92 procent van de financiele apps tenminste 2 van deze punten niet adresseerden.
8 stuks van deze lijst kwamen ook al voor in 2014 en je zou je afvragen waarom deze er 2 jaar later nog opstaan.
Snel moeten opleveren. Te maken hebben met het halen van deadlines
Onvoldoende testen. Te weinig / te laat
Malware in apps of devices. Jailbroken of Rooted devices op een bedrijfsnetwerk
Lagere security budgets for mobile devices. Mogelijk omdat de business denkt dat er minder kans bestaat op schade aagericht door mobile device
Te weinig expertise / policies
Niet goed gebruiken van platform features of niet gebruiken van de platform security mogelijkheden
Heeft te maken met data in rust (stand).
SQL Databases
Log Files
XML datastores / manifest files
Binary data stores
SD Card
Cloud sync’d folders
Hier gaat het om het uitwisselen van data tussen de app en de server
SSL certificate validity
Poor handshaking
Incorrect SLL versions
Weak negotiation
Cleartext communication of sensitive assets (mac address, ip address)
Je ziet soms dat de app een vervanging is van de webapp. Zorg er dan voor dat je op eenzelfde manier autheticeerd als in de browser. Het zou niet mogelijk moeten zijn om op de mobiel met minder authenticatie factoren te werken als in de browser.
Tip: gebruik nooit een device indentifier (UDID, IP, MAC address, IMEI) om een sessie te identificeren. Niet alleen omdat het niet slim is maar het mag in sommige regios juridisch ook niet.
Sla alleen de data op die je nodig heb.
Zorg dat secret key beschermd is tegen unauthorized access. (In keychain bijvoorbeeld)
Als je hardware info wilt gebruiken dan kan dat maar niet enkel en alleen maar deze info. Maak een combinatie van deze info met:- iets wat de gebruiker zelf invoert- iets wat nooit op het device staat.
Voorbeeld: Telebankieren apps.
Je bent wie je bent en je mag doen wat je mag doen maar laat het niet daarbij.
Als je veiliger wilt zijn check dit dan weer iop de server bij een request.
Je kan er niet vanuit gaan dat een device niet compromised (aangetast) is.
Hebben beiden te maken met de mogelijkheid om dynamisch zaken te kunnen veranderen aan het gedrag van de app. Voor personen die goed in deze materie (en die zijn er!) zitten hoeft dat niet moeilijk te zijn. Meer info hierover is te vinden in de ‘Think like a hacker session’.
Heeft alles te maken met het decompileren van de binarie files.
Stel voor dat je gaat voor het maximale code sharing en vervolgens distibueer je de app naar Windows, iOS & Android. Het is niet zoo moeilijk om de apk te verkijgen, er in te kijken (t’is een zip file), de binary te pakken en door een decompiler te halen en zo info te verkrijgen over de implementatie in de ander platformen.
Nieuw in 2016 op de lijst
Heeft te maken met zaken die in de app staan die er eigenlijk niet thuishoren (per ongeluk of moedwillig)
Work-a-round die in develop bepaalde check uitvinken en per ongeluk niet met een test naar voren komen en uitgeleverd worden.
Zorg dus dat er altijd voldoende test zijn die de beveiliging checken
Om een beetje een idee te krijgen in welke hoeveelheden deze threats voorkomen.
Je zou dit als handvat kunnen nemen om de prioriteit te bepalen welke je als eerste wilt adresseren.
Let wel: Dit gaat over de lijst van 2014. 2016 komt binnenkort beschikbaar.
The Enterprise Mobility Suite is Microsoft zijn visie op Enterprise Mobility en is a compleet geintegreerde set van tools en services voor de Enterprise. Inclusief productiviteit (Office 365), identity, access control, management and data beveiliging.
EMS is a complete integrated suite for enterprise mobility inclusive of productivity, identity, access control, management and data protection.
Enterprise Mobility Suite bied mogelijkheden voor:
Identity Management d.m.v. Azure Active Directory Premium
Mobile Device Management
Mobile Application Management
Data beveiliging
Microsoft Intune is the "management arm" of the Microsoft Enterprise Mobility Suite (EMS)
Voornaamste mogelijkheden
Mogelijkheid om devices aan te melden zodat je deze kan uitrollen, configureren, monitoren en acties te ondernemen zoals bijvoorbeeld wiping (schoonmaken).
Mogelijkheid om apps te publishen, te pushen, configureren, beveiligen, monitoren en te updaten.
Als onderdeel van het managen van een app bied Intune de mogelijkheid om data te beveiligen door persoonlijke data te isoleren van bedrijfsdata en deze laatste selectief te verwijderen.
Om een idee te krijgen waar Intune zich bevind binnen App Development
Beveiligen van on-premises email & data zodat deze veilig benaderd kan worden vanaf mobile devices
Uitleveren van bedrijfshardware aan informatie werkers
Het voorzien in een BYOD programma voor alle medewerkers
Set up users
Enable Device ManagementKies 'Set Mobile Device Management Authority'. For iOS there are some steps involved.1 - Download the 'APNs Certificate Request for Intune‘2 - Goto the 'Apple Push Certificates Portal' and create a new APN certificate by uploading the request file.3 - Upload the APN certificate you created in the portal with the correct AppleID
Create a policyYou have options to create Resource Access Profiles such as VPN & Wifi for Android, iOS, Windows & Windows Phone but that's beyond the scope of this demo.Create a Baseline Mobile Device Security Policy that will be applied to devices that will be enrolled to Intune.
Historie of the Intune SDK
Komt in eerste instantie vanuit het Office team van waaruit ze de visie hadden om de Desktop apps veilig te laten draaien op mobile apparaten
Vervolgens gekeken wat nog meer mogelijk was en ingebakken in thirth party apps (Box en andere bekende apps)
Met de ervaring die is opgedaan is er in eerste instantie een SDK gemaakt voor native iOS & Android apps.
Uitgebreid met crossplatform ondersteuning voor Xamarin (Forms) & Cordova.
Dit component is nog niet beschikbaar maar komt in de component store met Release Cycle 7
Zorgt ervoor dat onderdelen van de app gemanaged kunnen worden met Microsoft Intune
Beschikbaar voor iOS, Android, Xamarin (Forms) & Cordova
Is makkelijk te integreren in een bestaande app. De meeste onderdelen kunnen geintegreerd worden zonder dat het gedrag van de app veranderd hoeft te worden.
Zodra geactiveerd voor een app kan je resticties zetten in Intune zodat daarmee je bedrijfsgegevens beveiligd zijn
Pollicies currently available for Intune SDK:
Controle over het verplaatsen van bedrijfsdocumenten.
Je kan een policy instellen om te zorgen dat bepaalde data bijvoorbeeld niet gebackuped mag worden in de Cloud.
Controle over het clipboard.
Je kan een policie instellen om te zorgen dat data niet gekopie/pasted mag worden uit een managed app in een niet managed app
Controle over schermprints.
Je kan een policy instellen om te zorgen dat er geen schermprints gemaakt mogen worden van managed apps. LET OP: Momenteel enkel beschikbaar voor Android!
Afdwingen van data encryptie.
Je kan een policy instellen om te zorgen dat encryptie van de data afgedwongen wordt.
Verwijderen van bedrijfsdata.
Zodra een app via Intune unmanaged wordt kan de data verwijderd worden. Dit kan op basis van identity zodat enkel de data horende bij de desbetreffende indentity verwijderd wordt. Hiervoor moet wel de app worden aangepast. Deze moet o.b.v. user settings de indentity bepalen. Anders wordt de hele app directory verwijderd en wordt de gebruiker daarvan op de hoogte gesteld.
Afdwingen van een managed browser.
Je kan een policy instellen om te zorgen dat links in een managed app geopend worden binnen een Intune managed browser.
Afdwingen van een pincode.
Je kan een policy instellen om te zorgen dat er een pincode moet worden ingevoerd zodra de app start. Dit zorgt ervoor dat de gebruiker die aangemeld is bij Intune ook diezelfde is die de app gebruikt.
Bij het opstellen van de pincode maakt de Intune SDK gebruik van Azure Active Directory om de gebruikers credentials te verifieren tegen de credentials van toen het apparaat werd aangemeld bij Intune.
Afdwingen van credentials.
Je kan een policy instellen om te zorgen dat de gebruiker zijn credentials moet opgeven bij het starten van een managed app. De Intune SDK gebruikt daarbij de Azure Active Directory om een Single Sign On ervaring te creeren zodat bij de volgende keer aanloggen dezelfde credentials opnieuw gebruikt worden.
Ondersteuning voor authenticatie via Federated Indentity is ook aanwezig (beperkt!).
Controle van toestel status en compliance.
De status van het toestel en de compliance aan bedrijfspolicies kan gecontroleerd worden voor het starten van een managed app.
Op iOS controleert deze policy of het toestel Jailbroken is, op Android of hij Rooted is.
De manier waarop dat werkt is dat je gebruikelijk een app download, er wordt een certificaat geinstalleerd and het device is daarmee managed
BYOD is een goed voorbeeld daarvan. Er zijn veel mensen die productief willen zijn op het device waarvan zij vinden dat dit het beste bij hun past. Maar zij willen, wegens allerlei redenen, dan niet dat dit apparaat gemanaged wordt door het bedrijf maar wel dat de bedrijfdata die erop staat beveiligd is.
Vraag: Wie is er bekend met OWASP?
Ik ben bekend geraakt met OWASP bij mijn vorige werkgever waar een college van me grote bijdrage heeft geleverd aan dit project. Dit ging toendertijd over web. Sinds 2014 is er een mobile versie
De huidige PROD versie is 2014 maar er is een Release Candidate lijst voor 2016.