+ All Categories
Home > Technology > Security Model in .NET Framework

Security Model in .NET Framework

Date post: 17-Jul-2015
Category:
Upload: mikhail-shcherbakov
View: 360 times
Download: 5 times
Share this document with a friend
Popular Tags:
31
Transcript
Page 1: Security Model in .NET Framework
Page 2: Security Model in .NET Framework

Security Model in .NET Framework

Mikhail Shcherbakovsenior software developer

Positive Technologies

.NEXT conference

Page 3: Security Model in .NET Framework

About me

― Senior software developer at Positive Technologies

― Working on Application Inspector - source code analysis product

― Former team lead at Acronis and Luxoft

Page 4: Security Model in .NET Framework

Knowledge in Practice

― Sandboxing is the base of security

― Development of extensible and security-sensitive applications

― Troubleshooting and knowledge about the internals

ASP.NET / IIS Silverlight

SQL CLR XBAP

ClickOnce Sharepoint

Page 5: Security Model in .NET Framework

Knowledge in Practice

― Are there some security features in Paint.NET that restrict what a plugin can do and what it can access?

― There are no security features. And no, there is no guarantee of safety…

― If there are no security features, then ... whenever Paint.NET was running, it could look for interesting files and send them off to Russia.

“Plugins & Security?” topic, Paint.NET Forumhttp://bit.ly/1ABI3sH

#send2Russia

Page 6: Security Model in .NET Framework

Terms

C# 5.0 Language Specification http://bit.ly/1tXdOI2Common Language Infrastructure (CLI) Standard ECMA-335 http://bit.ly/1IesnAK

Page 7: Security Model in .NET Framework

.NET Framework 4 Security Architecture

Page 8: Security Model in .NET Framework

.NET Framework 4 Security Architecture

Page 9: Security Model in .NET Framework

.NET Framework 4 Security Architecture

Page 10: Security Model in .NET Framework

.NET Framework 4 Security Architecture

Page 11: Security Model in .NET Framework

Application Domains

Page 12: Security Model in .NET Framework

The verification process

Page 13: Security Model in .NET Framework

Just-in-time verification

Page 14: Security Model in .NET Framework

Code Access Security

Page 15: Security Model in .NET Framework

Policy

Page 16: Security Model in .NET Framework

Policy

deprecatedin .NET

Framework 4

Page 17: Security Model in .NET Framework

Permissions

Page 18: Security Model in .NET Framework

Permissions

Page 19: Security Model in .NET Framework

Enforcement

Page 20: Security Model in .NET Framework

Fully Trusted code in Partially Trusted AppDomain

Page 21: Security Model in .NET Framework

Transparency Model

Page 22: Security Model in .NET Framework

Level 2 Security Transparency

Critical

Full Trust code that can do anything

Safe Critical

Full Trust code Provides access to Critical code

Transparent

Only verifiable code Cannot p/invoke Cannot elevate/assert

Page 23: Security Model in .NET Framework

Security Transparency Attributes

Assembly Level

Type Level Member Level

SecurityTransparent

SecuritySafeCritical

SecurityCritical

AllowPartiallyTrustedCallers

SecAnnotate.exe – .NET Security Annotator Tool http://bit.ly/1A3vMw3

Page 24: Security Model in .NET Framework

Stack walking

Page 25: Security Model in .NET Framework

Sandbox implementation

Page 26: Security Model in .NET Framework

ASP.NET Partial Trust applications

2005 20142005 2006 2007 2008 2009 2010 2011 2012 2013

Use Medium trust in shared hosting environments bit.ly/1yABGqfAugust 2005

For Web servers that are Internet-facing, Medium trust is recommended bit.ly/1z83LVVJuly 2008

ASP.NET Partial Trust does not guarantee application isolationbit.ly/1CRv3UxJune 2012

ASP.NET Security and the Importance of KB2698981 in Cloud Environments bit.ly/1vXJ50J April 2013

“The official position of the ASP.NET team is that Medium Trust is obsolete”

-Levi Broderick, security developer at Microsoft bit.ly/1If14Gv

June 2013 ASP.NET MVC 5 no longer supports partial trust bit.ly/1w0xxuX

October 2013

Page 27: Security Model in .NET Framework

Trusted Chain attack

― DynamicMethod class

― MS13-015 vulnerability

Could Allow Elevation of Privilege (KB2800277)

Page 28: Security Model in .NET Framework

Trusted Chain attack

― DynamicMethod class

― MS13-015 vulnerability

Could Allow Elevation of Privilege (KB2800277)

Page 29: Security Model in .NET Framework

Summary

http://goo.gl/A5QrZm

Page 30: Security Model in .NET Framework

Summary

.NET Security:

― OWASP Top 10 for .NET developers bit.ly/1mpvG9R

― OWASP .NET Project bit.ly/1vCfknm

― Troy Hunt blog www.troyhunt.com

― The WASC Threat Classification v2.0 bit.ly/1G5d8rM

Sandboxing:

― Exploring the .NET Framework 4 Security Model bit.ly/1zBHDl7

― New Security Model: Moving to a Better Sandbox bit.ly/1qdLTYf

― How to Test for Luring Vulnerabilities bit.ly/1G5asdG

― Using SecAnnotate to Analyze Your Assemblies for Transparency Violations bit.ly/12AtGZF

Page 31: Security Model in .NET Framework

Thank you for your attention!

Mikhail Shcherbakov

linkedin.com/in/mikhailshcherbakov

[email protected]

github.com/yuske

@yu5k3

Positive Technologies


Recommended