SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Advances in secure
(ASP).NET development break the hackers' spirit
Alexandre Herzog
IT Security Analyst – Compass Security AG

Application Security Forum - 2013
Western Switzerland
15-16 octobre 2013 - Y-Parc / Yverdon-les-Bains
http://www.appsec-forum.ch
2

Agenda





Introduction to .NET
Configuration of (ASP).NET applications
New features of (ASP).NET 4.5
Key security points of application lifecycle
– Development
– Deployment
– Operations
– Third party component review
3

Aim of this talk
 Discover the (ASP).NET framework and its
limitations
 Give you a set of points to observe for your next
(ASP).NET application release
 No discussion about the code
 The focus is on applications, not infrastructure
nor Microsoft’s Security Development Lifecycle.
 This talk won’t be too technical,
just enough to cover these points
4

Bio of Alexandre Herzog
 Vaudois exilé d’abord en Valais, then Wellington
(NZ) und jetzt Zürich
 Mainly worked for banks as sysadmin / developer
 Just finished my MAS in Information Security (LU)
 Author of several security advisory
– Including CVE-2013-1330 patched in MS13-067

 Currently working as IT Security Analyst for
Compass Security AG in Bern & Rapperswil/Jona
5

Agenda





Introduction to .NET
Configuration of (ASP).NET applications
New features of (ASP).NET 4.5
Key security points of application lifecycle
– Development
– Deployment
– Operations
– Third party component review
6

Introduction to .NET
The .NET Framework is a development platform for building
apps for Windows, Windows Phone, Windows Server, and
Windows Azure.
It consists of the common language runtime (CLR) and the
.NET Framework class library, which includes
classes, interfaces, and value types that support an extensive
range of technologies.
The .NET Framework provides a managed execution
environment, simplified development and deployment, and
integration with a variety of programming
languages, including Visual Basic and Visual C#.
[MS_DotNet_Def]
7

Introduction to .NET
The .NET Framework is a development platform for building
apps for Windows, Windows Phone, Windows Server, and
Windows Azure.
It consists of the common language runtime (CLR) and the is
This framework
.NET Framework class library, which includes installed by default
classes, interfaces, and value types that support on any Windows
an extensive
device. It’s also
range of technologies.
used for Silverlight.
The .NET Framework provides a managed execution
environment, simplified development and deployment, and
integration with a variety of programming
languages, including Visual Basic and Visual C#.
[MS_DotNet_Def]
8

Introduction to .NET
The .NET Framework is a development platform for building
apps for Windows, Windows Phone, Windows Server, and
Windows Azure.
It consists of the common language runtime (CLR) and the
.NET Framework class library, which includes
classes, interfaces, and value types that support an extensive
range of technologies.
The .NET Framework provides a managed execution
environment, simplified development and deployment, and
integration with a variety of programming
languages, including Visual Basic and Visual C#.
[MS_DotNet_Def]
[Wiki_Components]
9

Introduction to .NET
The .NET Framework is a development platform for building
apps for Windows, Windows Phone, Windows Server, and
Windows Azure.
It consists of the common language runtime (CLR) and the
.NET Framework class library, which includes
Enhances the security (e.g. no
classes, interfaces, and value types that support an extensive
buffer overflow is possible).
range of technologies.
The .NET Framework provides a managed execution
environment, simplified development and deployment, and
integration with a variety of programming
languages, including Visual Basic and Visual C#.
[MS_DotNet_Def]
10

Introduction to .NET
The .NET Framework is a development platform for building
apps for Windows, Windows Phone, Windows Server, and
Windows Azure.
It consists of the common language runtime (CLR) and the
.NET Framework class library, which includes also compile
You can
F#, IronPython, extensive
classes, interfaces, and value types that support an IronRuby, J#
etc…
range of technologies.
[Wiki_IL_Lang]
The .NET Framework provides a managed execution
environment, simplified development and deployment, and
integration with a variety of programming
languages, including Visual Basic and Visual C#.
[MS_DotNet_Def]
11

Introduction to .NET
 Sounds like Java!
 Yes, because
– It’s byte code => the code can be reversed
– Multiplatform (can also run on Linux using Mono)

 No, because
– Different versioning scheme
• All versions of .NET but 1.0 are still supported
• Supported versions get security patches (1.1, 2.0, 3.0, 3.5, 4.0, 4.5)

– The .NET framework is pre-installed on Windows
12

Introduction to .NET
 .NET also features runtime Trust Level
– An app running with Trust Level set to medium cannot
e.g. access the registry or files outside the app’s folder
[MS_Trust]

– This is not related to the Windows Mandatory Integrity
Control (MIC)

 Close interaction of ASP.NET with IIS
 .NET is not (yet?) as targeted / vulnerable as Java
 You can compile .NET code on any Windows device
13

Agenda





Introduction to .NET
Configuration of (ASP).NET applications
New features of (ASP).NET 4.5
Key security points of application lifecycle
– Development
– Deployment
– Operations
– Third party component review
14

Config of (ASP).NET applications
 Typical configuration
– Proxy settings
– Cryptographic keys
– Cookie settings
– Compilation details
– Error handling
– Retail mode
– Trust level
– Database connections

– ViewState parameters
– Trace configuration
– Request validation
– Application settings
–…
– See
•
•
•

[MS_AspNet_config]
[MS_Net_config]
[HL_Decompile]
15

Config of (ASP).NET applications
 Configuration is based on .config files
 For .NET executables, the config hierarchy is
– Server level config (machine.config)
– Application specific config ([AppName].exe.config)
– Optional user settings (roaming.config & user.config)
16

Config of (ASP).NET applications
 Configuration is based on .config files
 For .NET executables, the config hierarchy is
– Server level config (machine.config)
– Application specific config ([AppName].exe.config)
– Optional user settings (roaming.config & user.config)

 Do not use Group Policy Preferences to distribute
configurations in your Windows domain!
– For more details see [CSNC_GPP]
17

Config of (ASP).NET applications
 Config hierarchy for ASP.NET code
– Server level config (machine.config & web.config)
– Web site (web.config)
– ASP.NET application and subfolders (web.config)
– Further details available in [ASPNET_config]

 IIS configuration is also involved for ASP.NET code
• %windir%system32inetsrvconfigApplicationHost.config
18

Config of (ASP).NET applications

Source:
[CP_net_config]
19

Config of (ASP).NET applications
 The configuration can be locked at any level
[MS_lock_config]

 The configuration on the server level is
dependent of the .NET version and CPU
architecture
• %systemroot%Microsoft.NETFramework[64][version]CO
NFIG

 It is possible to encrypt sections of the
configuration file (only useful for web.config files)
[MS_enc_config]
20

Config of (ASP).NET applications
 Why encrypt the configuration file?
– Limits the impact of file inclusion issues or leaking
code / configuration files
– An attacker first needs to execute a command on the
web server before being the config is in clear text

 Recommended sections to encrypt
– <MachineKey />
– <ConnectionStrings />
– Any other settings where keys, passwords or endpoint
information is stored
21

Agenda





Introduction to .NET
Configuration of (ASP).NET applications
New features of (ASP).NET 4.5
Key security points of application lifecycle
– Development
– Deployment
– Operations
– Third party component review
22

New features of (ASP).NET 4.5
 Microsoft is continuously improving .NET
– Task based async model
– Enhanced Strong Naming for Windows Store apps
– WebSockets, etc

 Especially security relevant is that
– The standalone Anti-XSS library is now integrated
– Several changes occurred in the handling of
cryptography
23

New features of (ASP).NET 4.5
 Why such crypto improvements in version 4.5?
– “Cryptography in the Web: The Case of Cryptographic
Design Flaws in ASP.NET” research of [Duong_Rizzo]
– Padding oracle attack patched by Microsoft for all
versions in MS10-070
– All details of these changes in (ASP).NET 4.5 are
described in [MS_Improv_1] to [MS_Improv_3]
24

New features of (ASP).NET 4.5
 Visible impact of (ASP).NET 4.5
– Several changes are opt-in
• Action is required!

– ViewState fields will be encrypted
– Some compatibility with ASP.NET 2.0 may/will be lost
25

New features of (ASP).NET 4.5
 Extract of the appendix of this talk:
26

New features of (ASP).NET 4.5
 Do these changes justify migration to .NET 4.5?
– YES absolutely
– Several defence in-depth mechanisms were added
27

Agenda





Introduction to .NET
Configuration of (ASP).NET applications
New features of (ASP).NET 4.5
Key security points of application lifecycle
– Development
– Deployment
– Operations
– Third party component review
28

Key security points of app lifecycle >

Development
Why not use this opportunity to start setting up a
Security Development Lifecycle for your apps?
[MS_SDL]
29

Key security points of app lifecycle >

Development
Why not use this opportunity to start setting up a
Security Development Lifecycle for your apps?
[MS_SDL]

Source http://www.microsoft.com/security/sdl/
30

Key security points of app lifecycle >

Development
Why not use this opportunity to start setting up a
Security Development Lifecycle for your apps?
[MS_SDL]

Source http://www.microsoft.com/security/sdl/
31

Key security points of app lifecycle >

Development
 Develop on .NET 4.5 (especially for web apps) and
for a medium trust level whenever possible
 Use the free Microsoft SDL tools while developing
– FxCop [MS_FxCop] & CATNET [MS_CATNET]

 Do not turn off security features
– Request Validation, ViewState MAC, …

 Do not rely on client side only validation or
include/hide secrets in client side applications
 Teach best practices to your developers…
32

Key security points of app lifecycle >

Deployment
 Lock down the server and app configuration
 Consider an obfuscator for your client side apps
– Executable or Silverlight only

 Do not use GPPs to distribute configurations!
 Consider reducing the trust level of your app
whenever possible
 Perform a general server hardening (OS & IIS)
– Again, this “infrastructure” part is not covered here
33

Key security points of app lifecycle >

Operations
 Run ASP.NET 4.5 with medium trust apps[MS_Trust_expl]
 Encrypt sensitive sections of the web.config file
 Manage the cryptographic keys you use!
– Web.config encryption & ASP.NET features (Machine Key)

 Patch the server & configure IIS adequately
 Communicate
– Be ready in case of a (security) incident
– All technical stakeholders should come together…
34

Key security points of app lifecycle >

Third party component review
 The same recipes apply:
– As it’s just byte code, let’s decompile the application!
Loi sur le droit d’auteur
Art. 21 Décryptage de logiciels
1 La personne autorisée à utiliser un logiciel peut se procurer, par le décryptage
du code du programme, des informations sur des interfaces avec des
programmes développés de manière indépendante. Elle peut opérer elle-même
ou mandater un tiers.
2 Les informations sur des interfaces obtenues par le décryptage du code du
programme ne peuvent être utilisées que pour développer, entretenir et utiliser
des logiciels interopérables, pourvu qu'une telle utilisation ne porte pas atteinte
à l'exploitation normale du programme ni ne cause un préjudice injustifié aux
intérêts légitimes de l'ayant droit.
35

Key security points of app lifecycle >

Third party component review
 The same recipes apply:
– Audit source code & configuration
– Audit assemblies with static analysis tools
– Run the component with the lowest possible trust
level
– Regenerate all keys / secrets shipped by the vendor

 Manage the component by
– Monitoring for security patches
– Update it periodically
36

Agenda





Introduction to .NET
Configuration of (ASP).NET applications
New features of (ASP).NET 4.5
Key security points of application lifecycle
– Development
– Deployment
– Operations
– Third party component review
37

Conclusion
 Top security issues in .NET include
– Application information leak

Solved by configuration
(server or app)
Static code analysis
No secrets in the code!
Consider an obfuscator

• Verbose error messages
• Secrets stored within the code (executable or Silverlight)

– Injections

Education of devs, code
review & static analysis

• SQL injections due to unsafe database requests

– Unsafe application settings
• Unencrypted communication
• Unsafe distribution of credentials

Education of
devs, code and config
review
No secrets in the code!
Rely on Windows auth.
when possible
38

Conclusion
 Top security issues in ASP.NET include
– Application information leak
• Secrets stored in the ViewState
• Verbose error messages

– Unsafe application settings
• Session cookie parameters
• Request validation disabled
• Unencrypted configuration file

– Injections

Configure this field to
be encrypted or
migrate to ASP.NET 4.5
Hardening / lockdown
of the configuration
(server or app)
Static code analysis
Encryption of
configuration file
Education of devs, code
review & static analysis

• XSS due to user inputs in JS or HTML attributes
• SQL injections due to unsafe database requests
39

Conclusion
 .NET is a secure framework following
the SD3+C principle[MS_SD3C]:
– Secure by Design, Secure by Default, Secure in
Deployment, and Communications

 Your applications can also benefit from this
security during their lifecycle
 This talk focused on application security
– You still have to harden your infrastructure (OS & IIS)!
40

Questions?
41

Danke/Merci/Thank you!
Contact:
alexandre.herzog@csnc.ch
Company blog
LinkedIn
G+

http://blog.csnc.ch/

Slides

http://slideshare.net/ASF-WS/presentations

http://ch.linkedin.com/in/alexandreherzog/
https://plus.google.com/u/1/109572456864701444940/
42

References (1/2)












[MS_DotNet_Def] http://msdn.microsoft.com/en-us/library/w0x726c2.aspx
[Wiki_Components]
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/DotNet.svg/250px-DotNet.svg.png
[Wiki_IL_Lang] http://en.wikipedia.org/wiki/Category:.NET_programming_languages
[ASPNET_config] http://msdn.microsoft.com/en-Us/library/ms178685.aspx
[CP_net_config] http://www.codeproject.com/Articles/19675/Cracking-the-Mysteries-of-NET-2-0Configuration
[CSNC_GPP] http://blog.csnc.ch/2012/04/exploit-credentials-stored-in-windows-group-policypreferences/
[HL_Decompile] http://media.hackinglab.com/largefiles/7205/Paper_DisassembleDotNetClient_v2.0.pdf
[MS_lock_config] http://msdn.microsoft.com/en-us/library/ms228167(v=vs.100).aspx
[MS_AspNet_config] http://msdn.microsoft.com/en-us/library/zeshe0eb(v=vs.85).aspx
[MS_Net_config] http://msdn.microsoft.com/en-us/library/1fk1t1t0.aspx
[Duong_Rizzo] http://www.ieee-security.org/TC/SP2011/PAPERS/2011/paper030.pdf
43

References (2/2)














[MS_Improv_1] http://blogs.msdn.com/b/webdev/archive/2012/10/22/cryptographicimprovements-in-asp-net-4-5-pt-1.aspx
[MS_Improv_2] http://blogs.msdn.com/b/webdev/archive/2012/10/23/cryptographicimprovements-in-asp-net-4-5-pt-2.aspx
[MS_Improv_3] http://blogs.msdn.com/b/webdev/archive/2012/10/24/cryptographicimprovements-in-asp-net-4-5-pt-3.aspx
[MS_enc_config] http://msdn.microsoft.com/en-us/library/dtkwfdky(v=VS.100).aspx
[MS_SD3C] http://msdn.microsoft.com/en-us/library/ms995349.aspx
[MS_SDL] http://www.microsoft.com/security/sdl/default.aspx
[MS_FxCop] http://www.microsoft.com/en-us/download/details.aspx?id=6544
[MS_CATNET] http://www.microsoft.com/en-us/download/details.aspx?id=5570
[MS_Trust] http://msdn.microsoft.com/en-us/library/tkscy493(v=vs.85).aspx
[MS_Trust_expl] http://msdn.microsoft.com/En-Us/library/wyts434y.aspx
[MS_Run_45] http://blogs.msdn.com/b/webdev/archive/2012/11/19/all-about-httpruntimetargetframework.aspx
[MS_Trust_HowTo] http://msdn.microsoft.com/en-us/library/ff648344.aspx
44

Configuration checklist
 This checklist is by no means complete. It’s just
the starting point of your configuration journey…
 Depending on your situation, you may want to
configure these settings on a server (e.g.
machine.config) and lock them or on an
application level (web.config)
45

Configuration checklist
 List of configuration which should be forced on an
integration / production server
 In the machine.config for all .NET versions
[…]
<system.web>
<deployment retail="true" />
<pages viewStateEncryptionMode="Always" />
<httpCookies httpOnlyCookies="true" requireSSL="true" />
</system.web>
<authentication>
<forms requireSSL= true" />
</authentication>
[…]
46

Configuration checklist
 List of settings which are secure by default. They
should not be disabled in configuration or code:
– For the <pages> configuration section
• Property enableEventValidation should stay true
• Property enableViewStateMac should stay true
• Property validateRequest should stay true

– For the <forms> configuration section
• Property enableCrossAppRedirects should stay disabled
• Property protection should stay all
47

Configuration checklist
 List of settings which are secure by default. They
should not be disabled in configuration or code:
– For the <trace> configuration section
• Property enabled should stay false

– For the <customErrors> configuration section
• Property mode should stay RemoteOnly or On

– For the <compilation> configuration section
• Property debug should stay false

 All these properties are set to a safe value if
<system.web><deployment retail="true" />
48

Configuration checklist
 If you run ASP.NET 4.5
– Ensure section <httpRuntime> enables all new feature
with attribute targetFramework="4.5"[MS_Run_45]
– Once done, ensure the following config sections are
either absent or set to the following values:
• <machineKey compatibilityMode="Framework45" />
• <compilation targetFramework="4.5" />
• <pages controlRenderingCompatibilityVersion="4.5"/>

– Configure AntiXSS to be the default encoding routine
<httpRuntime […] encoderType="System.Web.Security.AntiXss.
AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, Pu
blicKeyToken=b03f5f7f11d50a3a" />
49

Configuration checklist
 Trust level and their impact [MS_Trust_HowTo]
– Example of a web app running with medium trust
<system.web>
<trust level="Medium" originUrl="" />
</system.web>

– This web application would not be able to
•
•
•
•
•
•
•
•

Call unmanaged code.
Call serviced components.
Write to the event log.
Access Microsoft Message Queuing queues.
Access ODBC, OleDb, or Oracle data sources.
Access files outside the application directory.
Access the registry.
Make network or Web service calls
(allowed URLs can be defined)

Restrictions due to high
trust level
Additional restrictions
due to medium trust level

Weitere ähnliche Inhalte

Was ist angesagt?

Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version Historyvoltaincx
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.netsuraj pandey
 
Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...SoftServe
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework OverviewDoncho Minkov
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics PresentationSudhakar Sharma
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net frameworkLalit Kale
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET FrameworkANURAG SINGH
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Dot net interview_questions
Dot net interview_questionsDot net interview_questions
Dot net interview_questions9292929292
 
.Net framework
.Net framework.Net framework
.Net frameworkViv EK
 

Was ist angesagt? (19)

Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
.net frameworks
.net frameworks.net frameworks
.net frameworks
 
.Net
.Net.Net
.Net
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
 
Session i
Session iSession i
Session i
 
Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...
 
4.129 tybsc it
4.129 tybsc it4.129 tybsc it
4.129 tybsc it
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
Managed Extensibility Framework
Managed Extensibility FrameworkManaged Extensibility Framework
Managed Extensibility Framework
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net framework
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
.Net Migration
.Net Migration .Net Migration
.Net Migration
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
R2b_DC__ENG
R2b_DC__ENGR2b_DC__ENG
R2b_DC__ENG
 
Dot net interview_questions
Dot net interview_questionsDot net interview_questions
Dot net interview_questions
 
.Net framework
.Net framework.Net framework
.Net framework
 

Andere mochten auch

Top 5 .NET Challenges, Performance Monitoring Tips & Tricks
Top 5 .NET Challenges, Performance Monitoring Tips & TricksTop 5 .NET Challenges, Performance Monitoring Tips & Tricks
Top 5 .NET Challenges, Performance Monitoring Tips & TricksAppDynamics
 
Natural Laws of Software Performance
Natural Laws of Software PerformanceNatural Laws of Software Performance
Natural Laws of Software PerformanceGibraltar Software
 
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)OWASP Ottawa
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Toni de la Fuente
 
Under the Hood: Monitoring Azure and .NET - AppSphere16
Under the Hood: Monitoring Azure and .NET - AppSphere16Under the Hood: Monitoring Azure and .NET - AppSphere16
Under the Hood: Monitoring Azure and .NET - AppSphere16AppDynamics
 
Operations and-maintenance-best-practices
Operations and-maintenance-best-practicesOperations and-maintenance-best-practices
Operations and-maintenance-best-practicesNikhil Nangia
 
Audit Checklist for Information Systems
Audit Checklist for Information SystemsAudit Checklist for Information Systems
Audit Checklist for Information SystemsAhmad Tariq Bhatti
 

Andere mochten auch (9)

Chapter 09
Chapter 09Chapter 09
Chapter 09
 
Top 5 .NET Challenges, Performance Monitoring Tips & Tricks
Top 5 .NET Challenges, Performance Monitoring Tips & TricksTop 5 .NET Challenges, Performance Monitoring Tips & Tricks
Top 5 .NET Challenges, Performance Monitoring Tips & Tricks
 
Natural Laws of Software Performance
Natural Laws of Software PerformanceNatural Laws of Software Performance
Natural Laws of Software Performance
 
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
Under the Hood: Monitoring Azure and .NET - AppSphere16
Under the Hood: Monitoring Azure and .NET - AppSphere16Under the Hood: Monitoring Azure and .NET - AppSphere16
Under the Hood: Monitoring Azure and .NET - AppSphere16
 
Call quality
Call qualityCall quality
Call quality
 
Operations and-maintenance-best-practices
Operations and-maintenance-best-practicesOperations and-maintenance-best-practices
Operations and-maintenance-best-practices
 
Audit Checklist for Information Systems
Audit Checklist for Information SystemsAudit Checklist for Information Systems
Audit Checklist for Information Systems
 

Ähnlich wie ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ spirit par Alexandre Herzog

Unit I- Introduction to .NET Framework.pdf
Unit I- Introduction to .NET Framework.pdfUnit I- Introduction to .NET Framework.pdf
Unit I- Introduction to .NET Framework.pdfUjwala Junghare
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworksnawal saad
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 
Learn .NET Core - Introduction
Learn .NET Core - IntroductionLearn .NET Core - Introduction
Learn .NET Core - IntroductionEng Teong Cheah
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iRakesh Joshi
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iRakesh Joshi
 
Dot net interview_questions
Dot net interview_questionsDot net interview_questions
Dot net interview_questionsnehadhamecha
 
Dot net interview_questions
Dot net interview_questionsDot net interview_questions
Dot net interview_questionsJayesh Kheradia
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Clint Edmonson
 
Net framework
Net frameworkNet framework
Net frameworkArun Pal
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiesPresentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiespranavaa
 
Overview of asp .net
Overview of asp .netOverview of asp .net
Overview of asp .netSajan Sahu
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notesWE-IT TUTORIALS
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp EnGregory Renard
 

Ähnlich wie ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ spirit par Alexandre Herzog (20)

Unit I- Introduction to .NET Framework.pdf
Unit I- Introduction to .NET Framework.pdfUnit I- Introduction to .NET Framework.pdf
Unit I- Introduction to .NET Framework.pdf
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
Learn .NET Core - Introduction
Learn .NET Core - IntroductionLearn .NET Core - Introduction
Learn .NET Core - Introduction
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Crack mcts.com
Crack mcts.comCrack mcts.com
Crack mcts.com
 
Dot net interview_questions
Dot net interview_questionsDot net interview_questions
Dot net interview_questions
 
Dot net interview_questions
Dot net interview_questionsDot net interview_questions
Dot net interview_questions
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Net framework
Net frameworkNet framework
Net framework
 
Dotnet basics
Dotnet basicsDotnet basics
Dotnet basics
 
Visual studio
Visual studioVisual studio
Visual studio
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiesPresentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
 
Overview of asp .net
Overview of asp .netOverview of asp .net
Overview of asp .net
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
Webhouse
WebhouseWebhouse
Webhouse
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 

Mehr von Cyber Security Alliance

Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Cyber Security Alliance
 
iOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itiOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itCyber Security Alliance
 
Why huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksWhy huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksCyber Security Alliance
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCyber Security Alliance
 
Introducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsIntroducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsCyber Security Alliance
 
Understanding the fundamentals of attacks
Understanding the fundamentals of attacksUnderstanding the fundamentals of attacks
Understanding the fundamentals of attacksCyber Security Alliance
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemCyber Security Alliance
 
Easy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fEasy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fCyber Security Alliance
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Cyber Security Alliance
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupCyber Security Alliance
 
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...Cyber Security Alliance
 
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptWarning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptCyber Security Alliance
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureCyber Security Alliance
 

Mehr von Cyber Security Alliance (20)

Bug Bounty @ Swisscom
Bug Bounty @ SwisscomBug Bounty @ Swisscom
Bug Bounty @ Swisscom
 
Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?
 
iOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itiOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce it
 
Why huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksWhy huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacks
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomware
 
Blockchain for Beginners
Blockchain for Beginners Blockchain for Beginners
Blockchain for Beginners
 
Le pentest pour les nuls #cybsec16
Le pentest pour les nuls #cybsec16Le pentest pour les nuls #cybsec16
Le pentest pour les nuls #cybsec16
 
Introducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsIntroducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging apps
 
Understanding the fundamentals of attacks
Understanding the fundamentals of attacksUnderstanding the fundamentals of attacks
Understanding the fundamentals of attacks
 
Rump : iOS patch diffing
Rump : iOS patch diffingRump : iOS patch diffing
Rump : iOS patch diffing
 
An easy way into your sap systems v3.0
An easy way into your sap systems v3.0An easy way into your sap systems v3.0
An easy way into your sap systems v3.0
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Easy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fEasy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 f
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setup
 
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
 
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptWarning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented feature
 
Rump attaque usb_caralinda_fabrice
Rump attaque usb_caralinda_fabriceRump attaque usb_caralinda_fabrice
Rump attaque usb_caralinda_fabrice
 
Operation emmental appsec
Operation emmental appsecOperation emmental appsec
Operation emmental appsec
 

Kürzlich hochgeladen

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Kürzlich hochgeladen (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ spirit par Alexandre Herzog

  • 1. Advances in secure (ASP).NET development break the hackers' spirit Alexandre Herzog IT Security Analyst – Compass Security AG Application Security Forum - 2013 Western Switzerland 15-16 octobre 2013 - Y-Parc / Yverdon-les-Bains http://www.appsec-forum.ch
  • 2. 2 Agenda     Introduction to .NET Configuration of (ASP).NET applications New features of (ASP).NET 4.5 Key security points of application lifecycle – Development – Deployment – Operations – Third party component review
  • 3. 3 Aim of this talk  Discover the (ASP).NET framework and its limitations  Give you a set of points to observe for your next (ASP).NET application release  No discussion about the code  The focus is on applications, not infrastructure nor Microsoft’s Security Development Lifecycle.  This talk won’t be too technical, just enough to cover these points
  • 4. 4 Bio of Alexandre Herzog  Vaudois exilé d’abord en Valais, then Wellington (NZ) und jetzt Zürich  Mainly worked for banks as sysadmin / developer  Just finished my MAS in Information Security (LU)  Author of several security advisory – Including CVE-2013-1330 patched in MS13-067  Currently working as IT Security Analyst for Compass Security AG in Bern & Rapperswil/Jona
  • 5. 5 Agenda     Introduction to .NET Configuration of (ASP).NET applications New features of (ASP).NET 4.5 Key security points of application lifecycle – Development – Deployment – Operations – Third party component review
  • 6. 6 Introduction to .NET The .NET Framework is a development platform for building apps for Windows, Windows Phone, Windows Server, and Windows Azure. It consists of the common language runtime (CLR) and the .NET Framework class library, which includes classes, interfaces, and value types that support an extensive range of technologies. The .NET Framework provides a managed execution environment, simplified development and deployment, and integration with a variety of programming languages, including Visual Basic and Visual C#. [MS_DotNet_Def]
  • 7. 7 Introduction to .NET The .NET Framework is a development platform for building apps for Windows, Windows Phone, Windows Server, and Windows Azure. It consists of the common language runtime (CLR) and the is This framework .NET Framework class library, which includes installed by default classes, interfaces, and value types that support on any Windows an extensive device. It’s also range of technologies. used for Silverlight. The .NET Framework provides a managed execution environment, simplified development and deployment, and integration with a variety of programming languages, including Visual Basic and Visual C#. [MS_DotNet_Def]
  • 8. 8 Introduction to .NET The .NET Framework is a development platform for building apps for Windows, Windows Phone, Windows Server, and Windows Azure. It consists of the common language runtime (CLR) and the .NET Framework class library, which includes classes, interfaces, and value types that support an extensive range of technologies. The .NET Framework provides a managed execution environment, simplified development and deployment, and integration with a variety of programming languages, including Visual Basic and Visual C#. [MS_DotNet_Def] [Wiki_Components]
  • 9. 9 Introduction to .NET The .NET Framework is a development platform for building apps for Windows, Windows Phone, Windows Server, and Windows Azure. It consists of the common language runtime (CLR) and the .NET Framework class library, which includes Enhances the security (e.g. no classes, interfaces, and value types that support an extensive buffer overflow is possible). range of technologies. The .NET Framework provides a managed execution environment, simplified development and deployment, and integration with a variety of programming languages, including Visual Basic and Visual C#. [MS_DotNet_Def]
  • 10. 10 Introduction to .NET The .NET Framework is a development platform for building apps for Windows, Windows Phone, Windows Server, and Windows Azure. It consists of the common language runtime (CLR) and the .NET Framework class library, which includes also compile You can F#, IronPython, extensive classes, interfaces, and value types that support an IronRuby, J# etc… range of technologies. [Wiki_IL_Lang] The .NET Framework provides a managed execution environment, simplified development and deployment, and integration with a variety of programming languages, including Visual Basic and Visual C#. [MS_DotNet_Def]
  • 11. 11 Introduction to .NET  Sounds like Java!  Yes, because – It’s byte code => the code can be reversed – Multiplatform (can also run on Linux using Mono)  No, because – Different versioning scheme • All versions of .NET but 1.0 are still supported • Supported versions get security patches (1.1, 2.0, 3.0, 3.5, 4.0, 4.5) – The .NET framework is pre-installed on Windows
  • 12. 12 Introduction to .NET  .NET also features runtime Trust Level – An app running with Trust Level set to medium cannot e.g. access the registry or files outside the app’s folder [MS_Trust] – This is not related to the Windows Mandatory Integrity Control (MIC)  Close interaction of ASP.NET with IIS  .NET is not (yet?) as targeted / vulnerable as Java  You can compile .NET code on any Windows device
  • 13. 13 Agenda     Introduction to .NET Configuration of (ASP).NET applications New features of (ASP).NET 4.5 Key security points of application lifecycle – Development – Deployment – Operations – Third party component review
  • 14. 14 Config of (ASP).NET applications  Typical configuration – Proxy settings – Cryptographic keys – Cookie settings – Compilation details – Error handling – Retail mode – Trust level – Database connections – ViewState parameters – Trace configuration – Request validation – Application settings –… – See • • • [MS_AspNet_config] [MS_Net_config] [HL_Decompile]
  • 15. 15 Config of (ASP).NET applications  Configuration is based on .config files  For .NET executables, the config hierarchy is – Server level config (machine.config) – Application specific config ([AppName].exe.config) – Optional user settings (roaming.config & user.config)
  • 16. 16 Config of (ASP).NET applications  Configuration is based on .config files  For .NET executables, the config hierarchy is – Server level config (machine.config) – Application specific config ([AppName].exe.config) – Optional user settings (roaming.config & user.config)  Do not use Group Policy Preferences to distribute configurations in your Windows domain! – For more details see [CSNC_GPP]
  • 17. 17 Config of (ASP).NET applications  Config hierarchy for ASP.NET code – Server level config (machine.config & web.config) – Web site (web.config) – ASP.NET application and subfolders (web.config) – Further details available in [ASPNET_config]  IIS configuration is also involved for ASP.NET code • %windir%system32inetsrvconfigApplicationHost.config
  • 18. 18 Config of (ASP).NET applications Source: [CP_net_config]
  • 19. 19 Config of (ASP).NET applications  The configuration can be locked at any level [MS_lock_config]  The configuration on the server level is dependent of the .NET version and CPU architecture • %systemroot%Microsoft.NETFramework[64][version]CO NFIG  It is possible to encrypt sections of the configuration file (only useful for web.config files) [MS_enc_config]
  • 20. 20 Config of (ASP).NET applications  Why encrypt the configuration file? – Limits the impact of file inclusion issues or leaking code / configuration files – An attacker first needs to execute a command on the web server before being the config is in clear text  Recommended sections to encrypt – <MachineKey /> – <ConnectionStrings /> – Any other settings where keys, passwords or endpoint information is stored
  • 21. 21 Agenda     Introduction to .NET Configuration of (ASP).NET applications New features of (ASP).NET 4.5 Key security points of application lifecycle – Development – Deployment – Operations – Third party component review
  • 22. 22 New features of (ASP).NET 4.5  Microsoft is continuously improving .NET – Task based async model – Enhanced Strong Naming for Windows Store apps – WebSockets, etc  Especially security relevant is that – The standalone Anti-XSS library is now integrated – Several changes occurred in the handling of cryptography
  • 23. 23 New features of (ASP).NET 4.5  Why such crypto improvements in version 4.5? – “Cryptography in the Web: The Case of Cryptographic Design Flaws in ASP.NET” research of [Duong_Rizzo] – Padding oracle attack patched by Microsoft for all versions in MS10-070 – All details of these changes in (ASP).NET 4.5 are described in [MS_Improv_1] to [MS_Improv_3]
  • 24. 24 New features of (ASP).NET 4.5  Visible impact of (ASP).NET 4.5 – Several changes are opt-in • Action is required! – ViewState fields will be encrypted – Some compatibility with ASP.NET 2.0 may/will be lost
  • 25. 25 New features of (ASP).NET 4.5  Extract of the appendix of this talk:
  • 26. 26 New features of (ASP).NET 4.5  Do these changes justify migration to .NET 4.5? – YES absolutely – Several defence in-depth mechanisms were added
  • 27. 27 Agenda     Introduction to .NET Configuration of (ASP).NET applications New features of (ASP).NET 4.5 Key security points of application lifecycle – Development – Deployment – Operations – Third party component review
  • 28. 28 Key security points of app lifecycle > Development Why not use this opportunity to start setting up a Security Development Lifecycle for your apps? [MS_SDL]
  • 29. 29 Key security points of app lifecycle > Development Why not use this opportunity to start setting up a Security Development Lifecycle for your apps? [MS_SDL] Source http://www.microsoft.com/security/sdl/
  • 30. 30 Key security points of app lifecycle > Development Why not use this opportunity to start setting up a Security Development Lifecycle for your apps? [MS_SDL] Source http://www.microsoft.com/security/sdl/
  • 31. 31 Key security points of app lifecycle > Development  Develop on .NET 4.5 (especially for web apps) and for a medium trust level whenever possible  Use the free Microsoft SDL tools while developing – FxCop [MS_FxCop] & CATNET [MS_CATNET]  Do not turn off security features – Request Validation, ViewState MAC, …  Do not rely on client side only validation or include/hide secrets in client side applications  Teach best practices to your developers…
  • 32. 32 Key security points of app lifecycle > Deployment  Lock down the server and app configuration  Consider an obfuscator for your client side apps – Executable or Silverlight only  Do not use GPPs to distribute configurations!  Consider reducing the trust level of your app whenever possible  Perform a general server hardening (OS & IIS) – Again, this “infrastructure” part is not covered here
  • 33. 33 Key security points of app lifecycle > Operations  Run ASP.NET 4.5 with medium trust apps[MS_Trust_expl]  Encrypt sensitive sections of the web.config file  Manage the cryptographic keys you use! – Web.config encryption & ASP.NET features (Machine Key)  Patch the server & configure IIS adequately  Communicate – Be ready in case of a (security) incident – All technical stakeholders should come together…
  • 34. 34 Key security points of app lifecycle > Third party component review  The same recipes apply: – As it’s just byte code, let’s decompile the application! Loi sur le droit d’auteur Art. 21 Décryptage de logiciels 1 La personne autorisée à utiliser un logiciel peut se procurer, par le décryptage du code du programme, des informations sur des interfaces avec des programmes développés de manière indépendante. Elle peut opérer elle-même ou mandater un tiers. 2 Les informations sur des interfaces obtenues par le décryptage du code du programme ne peuvent être utilisées que pour développer, entretenir et utiliser des logiciels interopérables, pourvu qu'une telle utilisation ne porte pas atteinte à l'exploitation normale du programme ni ne cause un préjudice injustifié aux intérêts légitimes de l'ayant droit.
  • 35. 35 Key security points of app lifecycle > Third party component review  The same recipes apply: – Audit source code & configuration – Audit assemblies with static analysis tools – Run the component with the lowest possible trust level – Regenerate all keys / secrets shipped by the vendor  Manage the component by – Monitoring for security patches – Update it periodically
  • 36. 36 Agenda     Introduction to .NET Configuration of (ASP).NET applications New features of (ASP).NET 4.5 Key security points of application lifecycle – Development – Deployment – Operations – Third party component review
  • 37. 37 Conclusion  Top security issues in .NET include – Application information leak Solved by configuration (server or app) Static code analysis No secrets in the code! Consider an obfuscator • Verbose error messages • Secrets stored within the code (executable or Silverlight) – Injections Education of devs, code review & static analysis • SQL injections due to unsafe database requests – Unsafe application settings • Unencrypted communication • Unsafe distribution of credentials Education of devs, code and config review No secrets in the code! Rely on Windows auth. when possible
  • 38. 38 Conclusion  Top security issues in ASP.NET include – Application information leak • Secrets stored in the ViewState • Verbose error messages – Unsafe application settings • Session cookie parameters • Request validation disabled • Unencrypted configuration file – Injections Configure this field to be encrypted or migrate to ASP.NET 4.5 Hardening / lockdown of the configuration (server or app) Static code analysis Encryption of configuration file Education of devs, code review & static analysis • XSS due to user inputs in JS or HTML attributes • SQL injections due to unsafe database requests
  • 39. 39 Conclusion  .NET is a secure framework following the SD3+C principle[MS_SD3C]: – Secure by Design, Secure by Default, Secure in Deployment, and Communications  Your applications can also benefit from this security during their lifecycle  This talk focused on application security – You still have to harden your infrastructure (OS & IIS)!
  • 42. 42 References (1/2)            [MS_DotNet_Def] http://msdn.microsoft.com/en-us/library/w0x726c2.aspx [Wiki_Components] http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/DotNet.svg/250px-DotNet.svg.png [Wiki_IL_Lang] http://en.wikipedia.org/wiki/Category:.NET_programming_languages [ASPNET_config] http://msdn.microsoft.com/en-Us/library/ms178685.aspx [CP_net_config] http://www.codeproject.com/Articles/19675/Cracking-the-Mysteries-of-NET-2-0Configuration [CSNC_GPP] http://blog.csnc.ch/2012/04/exploit-credentials-stored-in-windows-group-policypreferences/ [HL_Decompile] http://media.hackinglab.com/largefiles/7205/Paper_DisassembleDotNetClient_v2.0.pdf [MS_lock_config] http://msdn.microsoft.com/en-us/library/ms228167(v=vs.100).aspx [MS_AspNet_config] http://msdn.microsoft.com/en-us/library/zeshe0eb(v=vs.85).aspx [MS_Net_config] http://msdn.microsoft.com/en-us/library/1fk1t1t0.aspx [Duong_Rizzo] http://www.ieee-security.org/TC/SP2011/PAPERS/2011/paper030.pdf
  • 43. 43 References (2/2)             [MS_Improv_1] http://blogs.msdn.com/b/webdev/archive/2012/10/22/cryptographicimprovements-in-asp-net-4-5-pt-1.aspx [MS_Improv_2] http://blogs.msdn.com/b/webdev/archive/2012/10/23/cryptographicimprovements-in-asp-net-4-5-pt-2.aspx [MS_Improv_3] http://blogs.msdn.com/b/webdev/archive/2012/10/24/cryptographicimprovements-in-asp-net-4-5-pt-3.aspx [MS_enc_config] http://msdn.microsoft.com/en-us/library/dtkwfdky(v=VS.100).aspx [MS_SD3C] http://msdn.microsoft.com/en-us/library/ms995349.aspx [MS_SDL] http://www.microsoft.com/security/sdl/default.aspx [MS_FxCop] http://www.microsoft.com/en-us/download/details.aspx?id=6544 [MS_CATNET] http://www.microsoft.com/en-us/download/details.aspx?id=5570 [MS_Trust] http://msdn.microsoft.com/en-us/library/tkscy493(v=vs.85).aspx [MS_Trust_expl] http://msdn.microsoft.com/En-Us/library/wyts434y.aspx [MS_Run_45] http://blogs.msdn.com/b/webdev/archive/2012/11/19/all-about-httpruntimetargetframework.aspx [MS_Trust_HowTo] http://msdn.microsoft.com/en-us/library/ff648344.aspx
  • 44. 44 Configuration checklist  This checklist is by no means complete. It’s just the starting point of your configuration journey…  Depending on your situation, you may want to configure these settings on a server (e.g. machine.config) and lock them or on an application level (web.config)
  • 45. 45 Configuration checklist  List of configuration which should be forced on an integration / production server  In the machine.config for all .NET versions […] <system.web> <deployment retail="true" /> <pages viewStateEncryptionMode="Always" /> <httpCookies httpOnlyCookies="true" requireSSL="true" /> </system.web> <authentication> <forms requireSSL= true" /> </authentication> […]
  • 46. 46 Configuration checklist  List of settings which are secure by default. They should not be disabled in configuration or code: – For the <pages> configuration section • Property enableEventValidation should stay true • Property enableViewStateMac should stay true • Property validateRequest should stay true – For the <forms> configuration section • Property enableCrossAppRedirects should stay disabled • Property protection should stay all
  • 47. 47 Configuration checklist  List of settings which are secure by default. They should not be disabled in configuration or code: – For the <trace> configuration section • Property enabled should stay false – For the <customErrors> configuration section • Property mode should stay RemoteOnly or On – For the <compilation> configuration section • Property debug should stay false  All these properties are set to a safe value if <system.web><deployment retail="true" />
  • 48. 48 Configuration checklist  If you run ASP.NET 4.5 – Ensure section <httpRuntime> enables all new feature with attribute targetFramework="4.5"[MS_Run_45] – Once done, ensure the following config sections are either absent or set to the following values: • <machineKey compatibilityMode="Framework45" /> • <compilation targetFramework="4.5" /> • <pages controlRenderingCompatibilityVersion="4.5"/> – Configure AntiXSS to be the default encoding routine <httpRuntime […] encoderType="System.Web.Security.AntiXss. AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, Pu blicKeyToken=b03f5f7f11d50a3a" />
  • 49. 49 Configuration checklist  Trust level and their impact [MS_Trust_HowTo] – Example of a web app running with medium trust <system.web> <trust level="Medium" originUrl="" /> </system.web> – This web application would not be able to • • • • • • • • Call unmanaged code. Call serviced components. Write to the event log. Access Microsoft Message Queuing queues. Access ODBC, OleDb, or Oracle data sources. Access files outside the application directory. Access the registry. Make network or Web service calls (allowed URLs can be defined) Restrictions due to high trust level Additional restrictions due to medium trust level

Hinweis der Redaktion

  1. Why no code? Because it’s language dependentSeveral references and examples are provided in the appendixWho is technical related in the room?
  2. Master ofAdvanced StudiesSAPMicrosoftNevisProxy / SESOpen source softwareVulnerabilities in Microsoft SharePoint Server Could Allow Remote Code Execution
  3. Max 04:00
  4. Provides memory management (no pointers, free etc)Provides thread and exception handlingGarbage collectionCombination of various .NET languages in a projectAdvantages of managed code: http://stackoverflow.com/questions/5325668/managed-code-advantages
  5. Site webExecutablesServicesSilverlightPlugin pour Office…
  6. Provides memory management (no pointers, free etc)Provides thread and exception handlingGarbage collectionCombination of various .NET languages in a projectAdvantages of managed code: http://stackoverflow.com/questions/5325668/managed-code-advantages
  7. Provides memory management (no pointers, free etc)Provides thread and exception handlingGarbage collectionCombination of various .NET languages in a projectAdvantages of managed code: http://stackoverflow.com/questions/5325668/managed-code-advantages
  8. Provides memory management (no pointers, free etc)Provides thread and exception handlingGarbage collectionCombination of various .NET languages in a projectAdvantages of managed code: http://stackoverflow.com/questions/5325668/managed-code-advantages
  9. Max 12:00
  10. enableViewStateMac, validateRequest, viewStateEncryptionMode, &lt;machineKeycompatibilityMode=&quot;Framework20SP1&quot; /&gt;
  11. We can discuss if this enhances the integrity of the file. Yes for an unskilled attacker (not able to change a given config) but this feature could also be used to backdoor a configuration (e.g. decrypt web.config, alter config with backdoor, encrypt web.config).
  12. Max 19:00
  13. Added entropyKey derivationPurpose of encryptionAbility to write your own crypto provider for a variety of usage…
  14. Added entropyKey derivationPurpose of encryptionAbility to write your own crypto provider for a variety of usage…
  15. Added entropyKey derivationPurpose of encryptionAbility to write your own crypto provider for a variety of usage…
  16. Added entropyKey derivationPurpose of encryptionAbility to write your own crypto provider for a variety of usage…
  17. ASP.NET 4.5 does not run on Windows 2003, only Windows 2008Windows 2003 R2 will end its support in July 2015 and IIS 7.0 / 7.5 is recommended anyway…
  18. Max 25:00
  19. Microsoft SDL Conformsto ISO/IEC 27034-1:2011SO/IEC 27034 provides guidance for a risk based and continuously improving software security management system applied across the application lifecycle.
  20. Microsoft SDL Conformsto ISO/IEC 27034-1:2011SO/IEC 27034 provides guidance for a risk based and continuously improving software security management system applied across the application lifecycle.
  21. Microsoft SDL Conformsto ISO/IEC 27034-1:2011SO/IEC 27034 provides guidance for a risk based and continuously improving software security management system applied across the application lifecycle.
  22. Max 35:00
  23. It’s here where you break the hacker’s spirit.
  24. It’s here where you break the hacker’s spirit.