+ All Categories
Home > Documents > Introduction to .NET Framework and Security Features · PDF file ·...

Introduction to .NET Framework and Security Features · PDF file ·...

Date post: 23-Mar-2018
Category:
Upload: dinhxuyen
View: 225 times
Download: 3 times
Share this document with a friend
14
Introduction to .NET Framework and Security Features Peter Ty Peter Ty Developer Evangelist Developer Evangelist Developer and Platform Group Developer and Platform Group Microsoft Hong Kong Microsoft Hong Kong .NET System Architecture .NET System Architecture Data Tier Data Tier Business Tier Business Tier Presentation Tier Presentation Tier Components Components Web Services Web Services XML XML Smart Smart App App Windows Form Windows Form IE/IIS IE/IIS Web Form Web Form Pocket Pocket PC PC Mobile Apps Mobile Apps
Transcript
Page 1: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

Introduction to .NET Framework and Security Features

Peter TyPeter TyDeveloper EvangelistDeveloper EvangelistDeveloper and Platform GroupDeveloper and Platform GroupMicrosoft Hong KongMicrosoft Hong Kong

.NET System Architecture.NET System Architecture

Data TierData Tier Business TierBusiness Tier Presentation TierPresentation Tier

ComponentsComponents

Web ServicesWeb Services

XMLXML SmartSmartAppApp

Windows FormWindows Form

IE/IISIE/IIS

Web FormWeb Form

PocketPocketPCPC

Mobile AppsMobile Apps

Page 2: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

The .NET FrameworkThe .NET Framework

•• Managed execution Managed execution environmentenvironment

•• Unified programming models Unified programming models across Rich/Thin Clientacross Rich/Thin Client

•• CrossCross--language integrationlanguage integration

•• One single set of APIOne single set of API

•• Delivers Rich/Thin Delivers Rich/Thin Clients/XML Web ServicesClients/XML Web Services

•• Supports Many LanguagesSupports Many Languages

•• Windows Application ServicesWindows Application Services

Win32Win32

MSMQMSMQ(Message(MessageQueuing)Queuing)

COM+COM+(Transactions, Partitions, (Transactions, Partitions,

Object Pooling, …)Object Pooling, …)IISIIS WMIWMI

Common Language RuntimeCommon Language Runtime

Base Class LibraryBase Class Library

ADO.NET: Data and XMLADO.NET: Data and XML

Web Services/Web Services/WebFormsWebForms WindowsWindowsFormsForms

VBVB C++C++ C#C#

ASP.NETASP.NET

JScriptJScript ……30+ Languages30+ Languages

The .NET FrameworkThe .NET Framework

Win32Win32

MSMQMSMQ(Message(MessageQueuing)Queuing)

COM+COM+(Transactions, Partitions, (Transactions, Partitions,

Object Pooling, …)Object Pooling, …)IISIIS WMIWMI

Common Language RuntimeCommon Language Runtime

Base Class LibraryBase Class Library

ADO.NET: Data and XMLADO.NET: Data and XML

Web Services/Web Services/WebFormsWebForms WindowsWindowsFormsForms

VBVB C++C++ C#C#

ASP.NETASP.NET

JScriptJScript ……30+ Languages30+ Languages

Visu

al Stu

dio

.NE

TV

isual S

tud

io.N

ET

Page 3: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

MSIL Security ImplicationsMSIL Security Implications�� .NET Framework programs compile to .NET Framework programs compile to

intermediate languageintermediate language�� Under native compilation, symbols are Under native compilation, symbols are

left outleft out�� Not so with .NET Framework AppsNot so with .NET Framework Apps

�� Decompilers already exist to recreate Decompilers already exist to recreate source code from compiled programssource code from compiled programs�� AnakrinoAnakrino

http://www.saurik.com/net/exemplar/http://www.saurik.com/net/exemplar/

�� SalamanderSalamanderhttp://www.remotesoft.com/salamander/http://www.remotesoft.com/salamander/

Page 4: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

What is Obfuscation?What is Obfuscation?

�� Technology of shrouding the factsTechnology of shrouding the facts�� Hide what’s required, remove the restHide what’s required, remove the rest�� Confuse observers, but give Runtime Confuse observers, but give Runtime

Environment the same deliveryEnvironment the same delivery

General Obfuscation General Obfuscation TransformsTransforms�� Symbol renaming Symbol renaming �� Removal of unnecessary metadataRemoval of unnecessary metadata�� Modification of control flow Modification of control flow �� String encryptionString encryption

DotfuscatorDotfuscator Community EditionCommunity EditionAA litelite version that performs overload version that performs overload induction renaming and Integrated ininduction renaming and Integrated inVisual Studio.NET 2003Visual Studio.NET 2003

Page 5: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

Common Language RuntimeCommon Language Runtime�� Manages running codeManages running code

�� Threading, Memory managementThreading, Memory management�� Eliminates memory management Eliminates memory management

drudgerydrudgery�� Kills entire classes of bugs (e.g., memory Kills entire classes of bugs (e.g., memory

corruption, ref counting)corruption, ref counting)�� AutoAuto--versioning, no more DLL Hellversioning, no more DLL Hell

�� FineFine--grained evidencegrained evidence--based securitybased security�� Code access + RoleCode access + Role--basedbased�� Integrated with underlying OSIntegrated with underlying OS

�� NoNo--touch deploymenttouch deployment�� XCOPY, no registry requiredXCOPY, no registry required

Page 6: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

CLR Security InfrastructureCLR Security Infrastructure�� Components and Security needsComponents and Security needs

�� Security flexibility for distributed Security flexibility for distributed applicationsapplications

�� Enforcement on all callers Enforcement on all callers –– direct and direct and indirectindirect

�� Code Access SecurityCode Access Security�� EvidenceEvidence

�� PolicyPolicy

�� PermissionsPermissions

EvidenceEvidenceDetermines what permissions to grant to codeDetermines what permissions to grant to code

�� EvidenceEvidence�� Known information about .NET Known information about .NET

assemblyassembly

�� As input to the Security policy As input to the Security policy mechanismmechanism

�� Types of EvidencesTypes of Evidences�� Where the code is loaded from: Site, Where the code is loaded from: Site, UrlUrl,,

Zone and Application DirectoryZone and Application Directory

�� Who wrote the code: Strong Name and Who wrote the code: Strong Name and PublisherPublisher

�� HashHash

Page 7: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

PolicyPolicyDetermines the permissions granted to assembliesDetermines the permissions granted to assemblies

�� Configurable by System admin and Configurable by System admin and usersusers

�� 4 Levels4 Levels�� UserUser�� MachineMachine�� EnterpriseEnterprise�� AppDomainAppDomain

�� Code Group hierarchyCode Group hierarchy�� Membership conditionsMembership conditions�� Permission SetsPermission Sets

PermissionsPermissionsRights for codeRights for code

�� Granted by code access security Granted by code access security policypolicy

�� Enforcing securityEnforcing security�� DemandsDemands

�� Walk through stack framesWalk through stack frames

�� Link DemandsLink Demands�� Only checks the immediate callerOnly checks the immediate caller

Page 8: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform
Page 9: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform
Page 10: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

Deployment OptionsDeployment Options

�� .NET offers several options for .NET offers several options for deploying and installing smart deploying and installing smart clientsclients�� Run From WebRun From Web�� Code downloadCode download�� MSIMSI--deployeddeployed

Run From Web Run From Web -- SecuritySecurity

�� Entire app is downloaded to Assembly Entire app is downloaded to Assembly Download CacheDownload Cache�� IEExec process launches the app with IEExec process launches the app with

restricted security settingsrestricted security settings

�� AdvantagesAdvantages�� Very easy to deploy / updateVery easy to deploy / update

�� LimitationsLimitations�� Runs only inside Internet Explorer 5.01+ Runs only inside Internet Explorer 5.01+

�� SemiSemi--trustedtrusted

�� Can be difficult for users to discoverCan be difficult for users to discover

Page 11: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

ASP.NET Page DevelopmentASP.NET Page Development

�� Rich server controlsRich server controls�� Provides VBProvides VB--Like ModelLike Model

�� Compiled languagesCompiled languages�� VB, C#, VB, C#, JScriptJScript, COBOL, etc., COBOL, etc.

�� Separation of code and contentSeparation of code and content�� Developers and designers can work Developers and designers can work

independentlyindependently

�� Automatic multiple client supportAutomatic multiple client support�� DHTML, HTML 3.2, WML, small devicesDHTML, HTML 3.2, WML, small devices

Page 12: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

ASP.NET SecurityASP.NET Security

AuthenticationAuthenticationAuthentication

AuthorizationAuthorizationAuthorization

ACL AuthorizationURL Authorization

WindowsPassportForms

ImpersonationImpersonationImpersonation

Who did the request come from?

What is the caller allowed to do?

Use process identity or caller identity?

ASP.NET AuthenticationASP.NET Authentication

�� Windows authenticationWindows authentication�� Uses existing Windows user accountsUses existing Windows user accounts

�� Ideal for intranet applicationsIdeal for intranet applications

�� Passport authenticationPassport authentication�� Convenient for users (single signConvenient for users (single sign--in)in)

�� Puts credential storage in hands of othersPuts credential storage in hands of others

�� Forms authenticationForms authentication�� Typically uses eBayTypically uses eBay--style login pagesstyle login pages

�� Ideal for Internet applicationsIdeal for Internet applications

Page 13: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

Web Services AuthenticationWeb Services Authentication

�� Windows auth (NTLM)Windows auth (NTLM)�� Easy choice for intranet applicationsEasy choice for intranet applications

�� RollRoll--youryour--ownown�� Recommended for interop with nonRecommended for interop with non--WSWS--

Security platformsSecurity platforms

�� Common path before WSE 2.0Common path before WSE 2.0

�� Web Services Enhancements (WSE) 2.0Web Services Enhancements (WSE) 2.0�� CrossCross--platform, evolving standardplatform, evolving standard

�� Uses standard SOAP header to Uses standard SOAP header to transmit caller’s credentialstransmit caller’s credentials

Technical ResourcesTechnical Resources�� MSDNMSDN

�� Online resources Online resources http://msdn.microsoft.com/http://msdn.microsoft.com/

�� www.gotdotnet.comwww.gotdotnet.com�� Windows Forms developmentWindows Forms development

www.windowsforms.netwww.windowsforms.net//�� ASP.NET redefines web development!ASP.NET redefines web development!

www.asp.netwww.asp.net

Page 14: Introduction to .NET Framework and Security Features · PDF file · 2004-05-17Introduction to .NET Framework and Security Features Peter Ty Developer Evangelist Developer and Platform

Local Developer CommunityLocal Developer Community�� Hong Kong .NET User Group Hong Kong .NET User Group

http://www.HKNetUG.comhttp://www.HKNetUG.com�� IT4All forum: Share and learn from peersIT4All forum: Share and learn from peers

http://www.it4all.com.hk/http://www.it4all.com.hk/


Recommended