SlideShare a Scribd company logo
Know Your Security Model
Mikhail Shcherbakov
9-я конфСрСнция .NET Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
12 октября 2014
dotnetconf.ru
2
About me
β€’ Senior software developer at Positive
Technologies
β€’ Working on Application Inspector - source
code analyzer
β€’ Previous team lead at Acronis and Luxoft
3
Terms
C# 5.0 Language Specification
Common Language Infrastructure (CLI) Standard ECMA-335
4
.NET Framework 4 Security
Architecture
β€’ Application Domains
β€’ The verification process
β€’ Code Access Security (CAS)
o Policy
o Permissions
o Enforcement
β€’ Role-based security
o Authentication
o Authorization
o Principal and Identity
β€’ Cryptography
5
.NET Framework 4 Security
Architecture
β€’ Application Domains
β€’ The verification process
β€’ Code Access Security (CAS)
o Policy
o Permissions
o Enforcement
β€’ Role-based security
o Authentication
o Authorization
o Principal and Identity
β€’ Cryptography
6
Knowledge in Practice
β€’ CAS is the base of security
β€’ Development of extensible and security-
sensitive applications
β€’ Troubleshooting and knowledge about the
internals
o ASP.NET / IIS o Silverlight
o SQL CLR o XBAP
o ClickOnce o Sharepoint
7
Application Domains
β€’ Fully Trusted and Partially Trusted
β€’ Heterogeneous and Homogeneous
β€’ Sandboxing by AppDomain
8
Type Safety
β€’ C# compilation
β€’ Just-in-time (JIT) compilation
β€’ Native Image Generator (Ngen.exe)
β€’ PEVerify tool
9
Code Access Security
β€’ Policy (deprecated in .NET Framework 4)
β€’ Permissions
β€’ Enforcement
o Fully Trusted assemblies in Partially Trusted AppDomain
o Security Transparency Code
o Assert permissions
o SecurityPermission o RegistryPermission
o ReflectionPermission o SocketPermission
o FileIOPermission o WebPermission
10
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
11
Security Transparency Attributes
Assembly
Level
Type
Level
Member
Level
SecurityTransparent οƒΌ  
SecuritySafeCritical  οƒΌ οƒΌ
SecurityCritical οƒΌ οƒΌ οƒΌ
AllowPartiallyTrustedCallers οƒΌ  
SecAnnotate.exe - .NET Security Annotator Tool
12
Demo MS13-015 vulnerability
Could Allow Elevation of Privilege (KB2800277)
Exploited by Trusted Chain attack
13
Thank you for your attention!
Mikhail Shcherbakov
Positive Technologies
linkedin.com/in/mikhailshcherbakov
yuske.dev@gmail.com
github.com/yuske

More Related Content

PPTX
Aleksei Dremin - Application Security Pipeline - phdays9
PDF
Secure Application Development in the Age of Continuous Delivery
PDF
Securing Docker Containers
PDF
Security Scanning Overview - Tetiana Chupryna (RUS) | Ruby Meditation 26
PDF
OPNFV Security Panel
Β 
PPTX
Finding The Weak Link in Windows Binaries
PDF
[CONFidence 2016] Glenn ten Cate - OWASP-SKF Making the web secure by design,...
PDF
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015
Aleksei Dremin - Application Security Pipeline - phdays9
Secure Application Development in the Age of Continuous Delivery
Securing Docker Containers
Security Scanning Overview - Tetiana Chupryna (RUS) | Ruby Meditation 26
OPNFV Security Panel
Β 
Finding The Weak Link in Windows Binaries
[CONFidence 2016] Glenn ten Cate - OWASP-SKF Making the web secure by design,...
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015

What's hot (20)

PPTX
Static Files in the Modern Web Age
PDF
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
PPTX
Defensive programming
ODP
Dos and Don'ts of Android Application Security (Security Professional Perspec...
PDF
The Log4Shell Vulnerability – explained: how to stay secure
PPTX
[OWASP Poland Day] Saving private token
Β 
PPTX
Hp fortify source code analyzer(sca)
PDF
Securing Serverless - By Breaking In
PDF
Attacking and defending GraphQL applications: a hands-on approach
PDF
[OWASP Poland Day] OWASP for testing mobile applications
Β 
PDF
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup
PDF
Luncheon 2015-01-15 - Managing Security Requirements in Software Projects by ...
PPTX
Secure Coding 101 - OWASP University of Ottawa Workshop
PDF
DevSecOps, The Good, Bad, and Ugly
PDF
Why Security Engineer Need Shift-Left to DevSecOps?
PPTX
DevSecCon Boston2018 - advanced mobile security automation with bdd
PPTX
Best practice recommendations for utilizing open source software (from a lega...
PDF
Secure JAX-RS
PPTX
Standards and methodology for application security assessment
PPTX
[Wroclaw #2] iOS Security - 101
Β 
Static Files in the Modern Web Age
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
Defensive programming
Dos and Don'ts of Android Application Security (Security Professional Perspec...
The Log4Shell Vulnerability – explained: how to stay secure
[OWASP Poland Day] Saving private token
Β 
Hp fortify source code analyzer(sca)
Securing Serverless - By Breaking In
Attacking and defending GraphQL applications: a hands-on approach
[OWASP Poland Day] OWASP for testing mobile applications
Β 
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup
Luncheon 2015-01-15 - Managing Security Requirements in Software Projects by ...
Secure Coding 101 - OWASP University of Ottawa Workshop
DevSecOps, The Good, Bad, and Ugly
Why Security Engineer Need Shift-Left to DevSecOps?
DevSecCon Boston2018 - advanced mobile security automation with bdd
Best practice recommendations for utilizing open source software (from a lega...
Secure JAX-RS
Standards and methodology for application security assessment
[Wroclaw #2] iOS Security - 101
Β 
Ad

Viewers also liked (8)

PPTX
The bell la padula model
PDF
Inversion of Control Π² .NET
PDF
ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΏΡ€Π°Π²Π° ΠΈΠ· ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΈΠ»ΠΈ с Ρ‡Π΅ΠΌ ...
PDF
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ .NET
PPTX
ΠΎΡ‚ Π°Π²Π³ΠΈΠ΅Π²Ρ‹Ρ… конюшСн ΠΊ Π·Π²Π΅Π·Π΄Π°ΠΌ
PPTX
Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство GC
PPTX
МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ .NET
PDF
Customer satisfaction для программистов
The bell la padula model
Inversion of Control Π² .NET
ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΏΡ€Π°Π²Π° ΠΈΠ· ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΈΠ»ΠΈ с Ρ‡Π΅ΠΌ ...
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ .NET
ΠΎΡ‚ Π°Π²Π³ΠΈΠ΅Π²Ρ‹Ρ… конюшСн ΠΊ Π·Π²Π΅Π·Π΄Π°ΠΌ
Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство GC
МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ .NET
Customer satisfaction для программистов
Ad

Similar to Know Your Security Model (20)

PPTX
DevSecCon Tel Aviv 2018 - End2End containers SSDLC by Vitaly Davidoff
PPTX
Sandboxing in .NET CLR
PPTX
Started In Security Now I'm Here
PDF
Proactive Security AppSec Case Study
PDF
ShiftGearsWithInformationSecurity.pdf
PPTX
Programming languages and techniques for today’s embedded andIoT world
PPSX
Meetup code security
PDF
Attacking and Defending Mobile Applications
PPTX
Integrating security into the application development process
PDF
AppSec in an Agile World
PPTX
Application security meetup k8_s security with zero trust_29072021
PPTX
Thick client pentesting_the-hackers_meetup_version1.0pptx
PPTX
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
PDF
Cncf checkov and bridgecrew
PPTX
Contain your risk: Deploy secure containers with trust and confidence
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
PDF
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
PDF
Advanced-Penetration-Testing_course_content
PDF
Nicolas destor pres_f5agility2018
PPTX
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
DevSecCon Tel Aviv 2018 - End2End containers SSDLC by Vitaly Davidoff
Sandboxing in .NET CLR
Started In Security Now I'm Here
Proactive Security AppSec Case Study
ShiftGearsWithInformationSecurity.pdf
Programming languages and techniques for today’s embedded andIoT world
Meetup code security
Attacking and Defending Mobile Applications
Integrating security into the application development process
AppSec in an Agile World
Application security meetup k8_s security with zero trust_29072021
Thick client pentesting_the-hackers_meetup_version1.0pptx
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Cncf checkov and bridgecrew
Contain your risk: Deploy secure containers with trust and confidence
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
Advanced-Penetration-Testing_course_content
Nicolas destor pres_f5agility2018
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls

More from Mikhail Shcherbakov (20)

PPTX
Delegates and events in C#
PPTX
Mythbusters - Web Application Security
PPTX
ΠœΠΈΡ…Π°ΠΈΠ» Π©Π΅Ρ€Π±Π°ΠΊΠΎΠ² "WinDbg сотоварищи"
PPTX
Apache Ignite.NET Π² дСйствии
PPTX
АрхитСктура Apache Ignite .NET
PPTX
Знакомство с In-Memory Data Grid
PDF
сцСнарии использования статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°
PPTX
WCF. Π›Π΅Π³ΠΊΠΎ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ
PDF
Поиск ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° языкС C#
PPTX
Когда Π² C# Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ C++ . Π§Π°ΡΡ‚ΡŒ 3.
PDF
Project Rider
PPTX
WinDbg Π² Ρ€ΡƒΠΊΠ°Ρ… .NET Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
PPTX
Structured logging
PPTX
RESTful API: Best practices, versioning, design documentation
PPTX
ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ WEB-сСрвСр Π½Π° .NET
PPTX
ИспользованиС Visual Studio Tools for Apache Cordova Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…
PPTX
Когда Π² C# Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ C++ . Π§Π°ΡΡ‚ΡŒ 2.
PDF
РаспространённыС ошибки ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ .NET-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
PPTX
Когда Π² C# Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ C++
PDF
Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚: DLR
Delegates and events in C#
Mythbusters - Web Application Security
ΠœΠΈΡ…Π°ΠΈΠ» Π©Π΅Ρ€Π±Π°ΠΊΠΎΠ² "WinDbg сотоварищи"
Apache Ignite.NET Π² дСйствии
АрхитСктура Apache Ignite .NET
Знакомство с In-Memory Data Grid
сцСнарии использования статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°
WCF. Π›Π΅Π³ΠΊΠΎ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ
Поиск ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° языкС C#
Когда Π² C# Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ C++ . Π§Π°ΡΡ‚ΡŒ 3.
Project Rider
WinDbg Π² Ρ€ΡƒΠΊΠ°Ρ… .NET Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
Structured logging
RESTful API: Best practices, versioning, design documentation
ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ WEB-сСрвСр Π½Π° .NET
ИспользованиС Visual Studio Tools for Apache Cordova Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…
Когда Π² C# Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ C++ . Π§Π°ΡΡ‚ΡŒ 2.
РаспространённыС ошибки ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ .NET-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Когда Π² C# Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ C++
Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚: DLR

Recently uploaded (20)

PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Hybrid model detection and classification of lung cancer
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Mushroom cultivation and it's methods.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Web App vs Mobile App What Should You Build First.pdf
Β 
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
OMC Textile Division Presentation 2021.pptx
Hindi spoken digit analysis for native and non-native speakers
Hybrid model detection and classification of lung cancer
A novel scalable deep ensemble learning framework for big data classification...
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25-Week II
Mushroom cultivation and it's methods.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
DP Operators-handbook-extract for the Mautical Institute
A comparative study of natural language inference in Swahili using monolingua...
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Getting Started with Data Integration: FME Form 101
Digital-Transformation-Roadmap-for-Companies.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Web App vs Mobile App What Should You Build First.pdf
Β 
Chapter 5: Probability Theory and Statistics
Group 1 Presentation -Planning and Decision Making .pptx
OMC Textile Division Presentation 2021.pptx

Know Your Security Model

  • 1. Know Your Security Model Mikhail Shcherbakov 9-я конфСрСнция .NET Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² 12 октября 2014 dotnetconf.ru
  • 2. 2 About me β€’ Senior software developer at Positive Technologies β€’ Working on Application Inspector - source code analyzer β€’ Previous team lead at Acronis and Luxoft
  • 3. 3 Terms C# 5.0 Language Specification Common Language Infrastructure (CLI) Standard ECMA-335
  • 4. 4 .NET Framework 4 Security Architecture β€’ Application Domains β€’ The verification process β€’ Code Access Security (CAS) o Policy o Permissions o Enforcement β€’ Role-based security o Authentication o Authorization o Principal and Identity β€’ Cryptography
  • 5. 5 .NET Framework 4 Security Architecture β€’ Application Domains β€’ The verification process β€’ Code Access Security (CAS) o Policy o Permissions o Enforcement β€’ Role-based security o Authentication o Authorization o Principal and Identity β€’ Cryptography
  • 6. 6 Knowledge in Practice β€’ CAS is the base of security β€’ Development of extensible and security- sensitive applications β€’ Troubleshooting and knowledge about the internals o ASP.NET / IIS o Silverlight o SQL CLR o XBAP o ClickOnce o Sharepoint
  • 7. 7 Application Domains β€’ Fully Trusted and Partially Trusted β€’ Heterogeneous and Homogeneous β€’ Sandboxing by AppDomain
  • 8. 8 Type Safety β€’ C# compilation β€’ Just-in-time (JIT) compilation β€’ Native Image Generator (Ngen.exe) β€’ PEVerify tool
  • 9. 9 Code Access Security β€’ Policy (deprecated in .NET Framework 4) β€’ Permissions β€’ Enforcement o Fully Trusted assemblies in Partially Trusted AppDomain o Security Transparency Code o Assert permissions o SecurityPermission o RegistryPermission o ReflectionPermission o SocketPermission o FileIOPermission o WebPermission
  • 10. 10 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
  • 11. 11 Security Transparency Attributes Assembly Level Type Level Member Level SecurityTransparent οƒΌ   SecuritySafeCritical  οƒΌ οƒΌ SecurityCritical οƒΌ οƒΌ οƒΌ AllowPartiallyTrustedCallers οƒΌ   SecAnnotate.exe - .NET Security Annotator Tool
  • 12. 12 Demo MS13-015 vulnerability Could Allow Elevation of Privilege (KB2800277) Exploited by Trusted Chain attack
  • 13. 13 Thank you for your attention! Mikhail Shcherbakov Positive Technologies linkedin.com/in/mikhailshcherbakov yuske.dev@gmail.com github.com/yuske