Chapter 7. Permissions Programming.Net Security, O’Reilly Publishers.

Slides:



Advertisements
Similar presentations
Security for Developers Code Access Security Steven Borg & Richard Hundhausen Accentient, Inc.
Advertisements

Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Ahead of Time Dynamic Translation PreJit/NGEN by any other name George Bosworth Microsoft MRE04 March 21, 2004.
© 2003 School of Computing, University of Leeds SY32 Secure Computing, Lecture 17 Secure Coding in Java and.NET Part 2: Code Access Control.
Java Script Session1 INTRODUCTION.
An Introduction to Java Programming and Object- Oriented Application Development Chapter 8 Exceptions and Assertions.
Security and the.NET Framework. Code Access Security Enforces security policy on code  Regardless of user running the code  Regardless of whether the.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 17 Exceptions and.
Chapter 8 Exceptions. Topics Errors and Exceptions try-catch throwing Exceptions Exception propagation Assertions.
 2006 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
Security in.NET Jørgen Thyme Microsoft Denmark. Topics & non-topics  Cryptography  App domains  Impersonation / delegation  Authentication  Authorization.
Code Access Security vs. Role-Based Security  RBS  Security identity attached to user accounts  Access to resources specified according to user’s group.
ASP.Net Security: Fundamentals Chapters 1-4 Freeman and Jones Book.
Exceptions. Many problems in code are handled when the code is compiled, but not all Some are impossible to catch before the program is run  Must run.
.NET Code security including 4.0 & Tools Jon C. Arce
Module 15 Configuring and Deploying Windows Client Applications.
Delivering Excellence in Software Engineering ® EPAM Systems. All rights reserved. ASP.NET Authentication.
Deployment of web Site. Preparing the web site for deployment you now have two versions of web site 1 -one running in the production environment 2-one.
Java Software Solutions Foundations of Program Design Sixth Edition
Preventing and Correcting Errors
ASSEMBLY. A SSEMBLY Assemblies are the fundamental units of applications in the.net framework An assembly can contain classes, structures, interfaces.
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
.NET Framework Danish Sami UG Lead.NetFoundry
Announcements Assignment 3 due. Invite friends, co-workers to your presentations. Course evaluations on Friday.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
Security in.NET. Objectives Security in.NET Basic concepts - permissions Using and Managing permissions Cryprography in.NET Administer.NET Security.
Java Software Solutions Lewis and Loftus Chapter 14 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Advanced Flow of Control --
.Net Security and performance
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
SECURITY ISSUES. Introduction The.NET Framework includes a comprehensive set of security tools –Low-level classes and an overall framework –Managing code.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Code Access Security CS 795. Terminology--CLR Common Language Runtime: –The.NET Framework provides a runtime environment which runs the code and provides.
G53SEC 1 Access Control principals, objects and their operations.
System.Security.Policy namespace Chinmay Lokesh.NET Security CS 795 Summer 2010.
Java server pages. A JSP file basically contains HTML, but with embedded JSP tags with snippets of Java code inside them. A JSP file basically contains.
Exceptions cs1043. Program Exceptions When a program detects an error, what should it do? – Nothing, simply allow the program to fail. – Implement a course.
Presented By: Ahmed ALSUM PhD Student CS 895:.Net Security Old Dominion University College of Science Department of Computer Science.
.NET Security and MSIL Tom Roeder CS fa. MSIL Common intermediate language really CIL in ECMA standard MSIL is common name Very close to C# (and.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Legion - A Grid OS. Object Model Everything is object Core objects - processing resource– host object - stable storage - vault object - definition of.
System.Security.Permissions namespace By Venkata Krishna Date: Instructor 06/19/2007 Dr. Ravi Mukkamala.
Multics CysecLab Graduate School of Information Security KAIST.
DEV240 Fundamentals of Code Access Security Sebastian Lange Program Manager Common Language Runtime Microsoft Corporation.
Exceptions and Assertions Chapter 15 – CSCI 1302.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Common Language Runtime Introduction  The common language runtime is one of the most essential component of the.Net Framework.  It acts.
System.Security.policy Namespace By: Marepalli Gayathri.
Understanding.NET Framework Security David LeBlanc Microsoft Office.
The Execution System1. 2 Introduction Managed code and managed data qualify code or data that executes in cooperation with the execution engine The execution.
CSE 501N Fall ’09 07: Iteration 17 September 2009 Nick Leidenfrost.
Repetition Statements b Repetition statements allow us to execute a statement multiple times repetitively b They are often simply referred to as loops.
Customizing.NET Security Permissions Nageswari Vallabhaneni.
And other languages…. must remember to check return value OR, must pass label/exception handler to every function Caller Function return status Caller.
Garbage Collection It Is A Way To Destroy The Unused Objects. To do so, we were using free() function in C language and delete() in C++. But, in java it.
Slide Set #24: Database security SY306 Web and Databases for Cyber Operations.
Java Exceptions a quick review….
.NET Security and MSIL Tom Roeder CS fa.
Android Runtime – Dalvik VM
Java Programming Language
Code Access Security CS 795.
Security mechanisms and vulnerabilities in .NET
Conditional Statements
Instructions to get MAX PLUS running
Languages and Compilers (SProg og Oversættere)
Chapter 8: Security Policy
CMPE 152: Compiler Design April 18 – 30 Labs
Exception Handling.
„Lambda expressions, Optional”
Presentation transcript:

Chapter 7. Permissions Programming.Net Security, O’Reilly Publishers

Granting Permissions CAS: Code Access Security Method 1: Map: Evidence to grants Types of evidence: Application directory, hash value of the assembly, publisher, site, URL, Internet explorer security zone Method 2: Identity permissions

Requesting Permissions Request for minimum permissions: assembly is not loaded if these are not possible Requesting optional permissions (in addition to the minimum): assembly is loaded but it is up to the assembly to handle situations where it does not have Refusing permissions: Permissions that a runtime must never grant

Permission Types Code access permissions: To represent actions and resoirces that are subject to security control E.g., System.Data.Common, System.Data.Odbc, System.Diagnsotics, System.DirectoryServices, Syste.Drawing.Printing, System.Net, System.Security.Permissions, etc.

Identity permissions: Represent certain types of host evidence an assembly presents to the runtime at load time. Types: Publisher, Site, StringName, Url, Zone Examples: To allow any code from the Local Intranet security zone to access your method To run your application only if it is executed from the website

Enforcing Code-access Security When loading an assembly, the.Net runtime evaluates an assembly, and determines what permissions to grant. A permissions object is created and assigned to the assembly. When the application calls for system service such as deleting a file, the delete method creates a FileIoPermission object that describes permissions needed to carry out the requested operation. Runtime checks the application’s permissions with those required. Answer is either a confirmation to the called method or an exception.

Stack Walks In case there is a chain of threads that resulted in a final call to the method, run time checks the permissions of all the threads involved in the call, not just the one that last called. It walks up the stack, from the most recent to the least recent

Overriding a Stack walk Assert: A layer vouches for all layers above it Eny: Opposite of assert PermitOnly: similar to dent but lets it limit the permissions

Security Statement Syntax Imperative security statements---appear in the body of programmer’s methods and functions and are hence part of the code in the assembly These can be used in conjunction with the normal program control constructs such as conditional and iterative statements Declarative security statements: Expressed using attributes which are compiled to form an assembly’s metadata