Building Secure Client Applications In Windows "Longhorn"

Slides:



Advertisements
Similar presentations
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Advertisements

Microsoft Windows XP SP2 Urs P. Küderli Strategic Security Advisor Microsoft Schweiz GmbH.
Windows Vista Security model and vulnerabilities.
Configuring Windows Vista Security Chapter 3. IE7 Pop-up Blocker Pop-up Blocker prevents annoying and sometimes unsafe pop-ups from web sites Can block.
Using Internet Information Server And Microsoft ® Internet Explorer To Implement Security On The Intranet HTTP.
Information for Developers Windows XP Service Pack 2 Information for Developers.
Introducing Quick Heal Endpoint Security 5.3. “Quick Heal Endpoint Security 5.3 is designed to provide simple, intuitive centralized management and control.
Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation.
Information for Developers Windows XP Service Pack 2 Information for Developers Tony Goodhew Product manager Developer Division Microsoft Corp
Threat Management Gateway 2010 Questo sconosciuto? …ancora per poco! Manuela Polcaro Security Advisor.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Mark Aslett Microsoft Introduction to Application Compatibility.
Section 11: Implementing Software Restriction Policies and AppLocker What Is a Software Restriction Policy? Creating a Software Restriction Policy Using.
Legion - A Grid OS. Object Model Everything is object Core objects - processing resource– host object - stable storage - vault object - definition of.
Security Summit West 2004 Redmond, WA Darren Canavor Longhorn Security.
Aaron Margosis Principal Consultant Microsoft Session Code: CLI405.
Operating Systems Security
Paul Cooke - CISSP Director Microsoft Session Code: CLI322.
Wireless and Mobile Security
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
Windows Vista: User Account Protection Securing Your Application with Least Privilege User Account Steve Hiskey FUN 406 Lead Program Manager, SBTU - Security.
Dilip Dwarakanath.  The topic I’m about to present was taken from a paper titled “Apple iOS 4 Security Evaluation” written by Dino A Dai Zovi.  Dino.
Internet Explorer 7 Updated Advice for the NHS 04 February 2008 Version 1.3.
Secure Data Access with SQL Server 2005 Doug Rees Associate Technologist, CM Group
Customizing.NET Security Permissions Nageswari Vallabhaneni.
Windows Server 2003 SP1 Technical Overview John Howard, IT Pro Evangelist, Microsoft UK
Active X and Signed Applets Chad Bollard. Overview ActiveX  Security Features  Hidden Problems Signed Applets  Security Features  Security Problems.
Boris Ulík Technology Solutions Professional Microsoft Slovakia Microsoft ® System Center 2012: System Center Endpoint Protection 2012.
By the end of this lesson you will be able to: 1. Determine the preventive support measures that are in place at your school.
ClickOnce Deployment (One-click Deployment)
Deployment Planning Services
Tactic 1: Adopt Least Privilege
Customer Guide to Limited-Time Offer
5/25/2018 2:39 AM © 2006 Microsoft Corporation. All rights reserved.
Introduction to ASP.NET 2.0
Windows Server 2016 Secure IaaS Microsoft Build /1/2018 4:00 AM
6/10/2018 5:07 PM THR2218 Deploying Windows Defender AV and more with Intune and Configuration Manager Amitai Senior Program Manager,
HARDENING CLIENT COMPUTERS
Microsoft Ignite /18/2018 8:30 PM BRK2065
Visual Studio Tools for Office 2005
A Fast Track into Device Guard
Threat Management Gateway
Security mechanisms and vulnerabilities in .NET
Security in Windows Store apps
Build /19/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Device Guard: AppLocker on steroids
Developing and Supporting Apps in Windows as a Service (WaaS)
The Application Lifecycle
Microsoft Ignite /20/2018 2:21 PM
Security in a Container based World
Bring existing desktop apps to UWP with the Desktop Bridge
Local Administrator Rights
Security & .NET 12/1/2018.
Better Together: Secure SQL Server on Secure Windows
Microsoft Virtual Academy
Microsoft Virtual Academy
Implementing Client Security on Windows 2000 and Windows XP Level 150
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
4/16/2019 4:15 PM How Microsoft does IT: How Microsoft IT is embracing modern to build SharePoint experiences Sam Crewdson Senior Program Manager Rene.
Forum on Application Compatibility for Windows “Longhorn”
Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
ClickOnce Deployment (One-click Deployment)
SharePoint Server Assessment Results
6. Application Software Security
Windows Forms in Visual Studio 2005: An Overview
What’s New for Developers in Office and SharePoint
Jamie Cool Program Manager Microsoft
Presentation transcript:

Building Secure Client Applications In Windows "Longhorn" 6/26/2018 3:53 AM Session Code: CLI411 Building Secure Client Applications In Windows "Longhorn" Steve Hiskey Program Manager, Windows Security Microsoft Corporation sthiskey@microsoft.com © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Security Pain Developer Pain Customer Pain 6/26/2018 3:53 AM Security Pain Developer Pain Devs want to make their apps secure Try to lower attack surface Time spent doing security testing Bad Deployment Experience Customer Pain 40% click no to every dialog, 20% random Users are afraid to try new stuff Unintelligible security messages, often after the fact. © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Intro And Agenda SEE – Secure Execution Environment 6/26/2018 3:53 AM Intro And Agenda SEE – Secure Execution Environment Quick Code Access Security overview What is the SEE? SEE Principles LUA –Limited User Account / PA – Protected Admin / Application Impact Management Why Least Privilege is important Longhorn Plan Call to Action © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Code Access Security (CAS) 6/26/2018 3:53 AM Code Access Security (CAS) Based on trust of code Recognizes that trusted users (e.g. admin) run less trusted code (e.g. browsing the web) System intersects rights of code with rights of user = 2 levels of defense Key features Evidence (location, signature, etc.) is combined with policy to grant permissions to code Protected operations require permissions All callers must have permissions so bad code cannot “trick” good code and be exploited © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

CAS: How It Works Managed code verifiably robust 6/26/2018 3:53 AM CAS: How It Works Managed code verifiably robust No buffer overruns! No unsafe casting! Only well-defined interactions (no ptrs) Components can protect their interfaces Trusted libraries as security gate keepers Before doing a protected operations, library demands permission of its callers Stack walk – all callers must have permission to proceed; otherwise exception prevents it When demand succeeds the library can override (Assert) and do the operation safely © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

CAS Permission Enforcement 6/26/2018 3:53 AM CAS Permission Enforcement Library code enforces permissions before allowing protected operation Form permission that is to be required Demand all callers have permission EnvironmentPermission ep = new EnvironmentPermission ( EnvironmentPermissionAccess.Read, "variable"); ep.Demand(); © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Code Access Security (CAS) 6/26/2018 3:53 AM Code Access Security (CAS) Demand must be satisfied by all callers Ensures all code in causal chain is authorized Cannot exploit other code with more privilege A has P? Code A B has P? calls Code B demand calls Code C © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM CAS © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

What Is The Secure Execution Environment? 6/26/2018 3:53 AM What Is The Secure Execution Environment? A new platform for secure applications Code written to the SEE is inherently more secure because only safe operations are possible within it Security restrictions are enforced by CLR Permission Elevation is possible in a declarative and predictable way, and there is a user experience. The SEE is simply a default grant set of Code Access Security permissions © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Why Code To The SEE? Deploy without Trust Dialogs! Reduce test surface 6/26/2018 3:53 AM Why Code To The SEE? Deploy without Trust Dialogs! Reduce test surface You know that your code cannot harm users machine Reduce TCO Business: admin doesn’t have to worry about what the code might do. Home: SEE app cannot harm your machine © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Why The SEE Is Safe SEE applications Security principles 6/26/2018 3:53 AM Why The SEE Is Safe SEE applications All code has only limited safe permissions Can only use SEE-approved trusted libraries Security principles Code can further restrict self to least privilege Application isolation Library code is limited to a known safe set © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

SEE Principles Platform: Only Longhorn Top Priority: Web scenarios 6/26/2018 3:53 AM SEE Principles Platform: Only Longhorn Top Priority: Web scenarios Education /Entertainment DHTML Presentation Media Second Priority: Line-of-Business scenarios No user security decisions! © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Authoring In Least Privilege 6/26/2018 3:53 AM Authoring In Least Privilege © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

What To Do Now Code in Least Privilege (less than full trust) 6/26/2018 3:53 AM What To Do Now Code in Least Privilege (less than full trust) Code to Windows Forms Attempt to stay within the Internet-Zone permission set © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM SEE Q&A © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM Limited User Account(LUA) Protected Admin (PA) Application Impact Management © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM LUA Problem Statement Running with elevated privilege leads to disasters One reason why viruses can cause damaged is because too many people run with full privilege Wash Post even is telling us to run without privilege Every Admin tells us they want to limit users, but… Most people demand to run as admin because: Rich web experience, dependant on ActiveX installation, currently requires admin privilege “If we don’t run as admin, stuff breaks” Testing is really easy when everyone’s an admin! Everything works including malicious code! Our customers want tools and help “Please help us to get applications that run with Least Privilege” Win98 & XP users are admin, so apps are built for admin This is the vicious circle that we must break © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

LUA – The Good And The Bad 6/26/2018 3:53 AM LUA – The Good And The Bad Long term: we will greatly improve the TCO and “Secure by Deployment” story with Limited User LUA apps have no legitimate reason to ask for admin privilege Good LUA apps do not try to change system or domain state – they work on XP today as LUA Bad LUA apps (the majority) inadvertently change system state Short term: some LUA apps will not be fixable by Application Impact Management The target is to have only 20% of apps in this category The expected behavior is that these apps will fail for Longhorn © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Three Customers For LUA 6/26/2018 3:53 AM Three Customers For LUA Fully locked down corporations Lots of research shows that the enterprise admin wants this feature Reduce security threats Reduce number of apps loaded Reduce TCO Admins that need a safe place to run apps Should have the least privilege needed by app At Home where the admin wants to increase security Parental controls, so that the child uses only age-appropriate apps User self lockdown to protect PC from security problems © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM LUA In Longhorn All applications will have a manifest listing the application parts Enabling Windows to provide a safe environment for the application to run. All applications will undergo a Trust Evaluation Contain applications to limit potential damage Create Compartments where code can run Least-privileged User Account (LUA) Most apps can run with user privileges in user space Apps run in LUA space by default in LH Admin Privilege (Protected Admin) Only trusted applications will run with admin privilege in admin space Admins will not enable PA if LUA is not useful © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Fixable Admin  LUA Apps 6/26/2018 3:53 AM App Operations Built for LUA Apps SEE Apps Fixable Admin  LUA Apps (AIM) Full Admin Apps © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Code Validation Process 6/26/2018 3:53 AM Code Validation Process All code validation is a human decision Publishers can get signed app manifest (need to be in cert store) Domain admins can sign deployment manifest (enterprise store) Local admins can “bless” apps By policy user can decide to change default behavior All local validation decisions are preserved in App Context Code Integrity is assured by checking every .EXE and .DLL for validity Application trust is assured at Runtime © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Application Impact Management And LUA/PA 6/26/2018 3:53 AM Application Impact Management And LUA/PA All system impact changes are logged for potential rollback on uninstall LUA & Admin apps will have their impactful registry writes monitored as well Apps are given their own view of certain files & regkeys © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM User Experience Goals Longhorn is Secure by Default yet the system is as flexible and easy to use as Windows XP Users know when they are about to do something potentially unsafe and are able to make an informed decision Longhorn always gives strong Security recommendations Users can undo damaging changes Users feel confident they can install or run any program without compromising their data or their PCs They feel that, compared to previous versions of Windows, Longhorn is much safer. They trust Longhorn more than any other OS Users do not need to learn any major new concepts or procedures to be protected © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM LUA / PA © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Other Big Changes Winlogon is being rewritten for Longhorn 6/26/2018 3:53 AM Other Big Changes Winlogon is being rewritten for Longhorn Addressing reliability issues - too many unnecessary processes in Winlogon Addressing performance issues - too many unnecessary components loaded in Winlogon Winlogon in Longhorn will no longer support replaceable GINAs, new mechanisms provide existing functionality New, simpler Credential Provider model Eventing mechanism Stacking/chaining © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Call To Action All applications include a manifest We are in this together! Target the SEE To avoid user trust dialogs have the manifest signed by a Trusted Publisher If the machine state is not changed – run as LUA Test as LUA! Run your applications with least privilege Build Internet deployed app with managed code Think about vulnerabilities. Can an attacker exploit your feature? © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM Relevant Info Jude’s CLI 312 talk on “Enhancements for a Trustworthy Application Experience” Deals a LOT with win32 applications Wednesday, October 29, 5:00:00 PM SECSYM – Security Symposium Thursday, 8:30am Code Access Security http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcodeaccesssecurity.asp Newsgroup: Microsoft.public.windows.developer.winfx.general AppVerify: http://www.microsoft.com/windows/appcompatibility/default.mspx mailto:isvlab@microsoft.com © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6/26/2018 3:53 AM Q&A © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

© 2003-2004 Microsoft Corporation. All rights reserved. 6/26/2018 3:53 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.