SlideShare a Scribd company logo
Week 15-16
Code Access vs. Event Based Security
BASIC SECURITY ISSUES:
 Confidentiality
 Disclose information only to authorized users
 Integrity
 Ensure that data is not modified without authorization
 Availability
 Decide who has access to information and how to
make access effective
 Authentication
 Identify a user securely
 Authorization
 Define a set of allowed actions for authorized users
 Non repudiation
 Log users, their actions, and the objects used.
Threats
 Stride model
 Spoofing identity
 Tampering with data
 Repudiation
 Information disclosure
 Denial of service
 Elevation of priviledge
Mitigating Threats
 Protection
 Make successful threats difficult
 Virtually always possible for attacks to succeed in complex
systems if the attacker has enough resources
 Detection
 Detect an attack in progress
 Response
 Put in place plans for each identified threat type
Spoofing
 Attacker claims false identity
 Claim client identity
 Gain access to sensitive data
 Run dangerous processes on server
 Gain administrative priviledges
 Claim server identity
 Collect sensitive data from clients
 Provide false data to clients
 Protection
 Strong authentication using crytography
Tampering with Data
 Tampering with persistent data
 Modify password tables
 Deface web pages
 Add viruses or Trojan horses to files
 Modify routing tables, DNS, …
 Modify audit logs
 Tampering with network packets
 Protection
 Hash codes, digital signatures, encryption
Repudiation
 Attacker denies an action which is hard to
verify
 Claim didn’t delete file
 Claim didn’t make purchase
 Claim didn’t receive services
 Protection
 Audit logs
 Require receipts
 Digital signatures
Information Disclosure
 Attacker sees sensitive data
 Local files
 Network packets
 Attacker gets information about system architecture
 Banners that display software type and version
 Protection
 Strong authentication and access control
 Encrytion of sensitive data
 Turn off banners, disable tracing and debugging
 Use terse error messages
DENIAL OF SERVICE
 Syn flooding
 Send partial connection requests to overflow
server’s list of pending connections
 Distributed Denial of Service
 Amplification attacks
 Send icmp echo requests to broadcast address,
spoofing victim’s address
 Protection
 Install server patches
 Block incoming icmp requests
 Throttle anonymous requests
ELEVATION OF PRIVILEDGE
 Gain administrator priviledge
 Buffer overflow attack
 Overflow designed to overwrite return
address of function with address of malicous
code.
 Exploit bugs in operating system
 Protection
 Avoid buffer overflows
 Validate user input
 Use principle of Least Priviledge
 Grant smallest set of priviledges needed to
function
 Patch operating system
SOCIAL ENGINEERING THREAT
 Social Engineering and Manipulation
 Trick someone into disclosing information, e.g., passwords, credit card ids, SSNs, …
 Manipulation Threats
 Phreaking
 Use fee-based services without payment
 Phishing
 Acquire sensitive information by luring attacks, usually by email.
 Pharming
 Redirecting DNS routes to unauthorized sites to get sensitive information.
 Your on-line banking redirected to Afganistan, for example.
 False representation
 Pretend to be service technician, manager, account owner, …
 Inside Job
 Employee conspires with attacker to compromise system or information.
SECURITY MODELS
 PDR
 Protection
 topic of this presentation
 Detection
 detect attacks
 Response
 plan responses for each threat category
• Call the sysAdmin
• Call the police
• Contact the FBI
• Contact Federal Trade Commission
 AAS - .Net Web Model
 Authentication
 Accept and validate credentials presented by user
 Authorization
 If validated, determine right to access some resource
 Secure communication
 Secure the channel
• SSL, IPsec
 Secure the data
• signing, hashing, cryptography
Windows and .Net
 Role-based
 Authenticate and authorize users, groups,
and accounts (System, Local service,
Network service)
 Actions are authorized through permissions
 Evidence-based or Code Access Security (CAS)
 Code is elevated to the security status of a
user.
 Authorization is based on evidence
• url, zone, publisher, strong name,
custom assembly attributes
 Actions are authorized through policies
WIN SECURITY DEFINITIONS
 Definitions for people and groups of people
 SID – Security IDentifier
 Data structure used to identify user or group.
 Access Token
 A data structure that holds a SID for a security principal, the SIDs for each
group the principal belongs to, and a list of the principal’s priviledges on the
local computer.
 Principal
 An account holder that is assigned a SID for access to resources, e.g., user,
group, service, or computer.
 Combinations of people and objects
 Security Context
 Set of rules for a user’s actions on a protected object
 Combination of user’s access token and object’s security descriptor
 Security Policy
 Rules that define the allowable contexts and mandatory groups.
ROLE-BASED SECURITY
 Use role-based security in programs to control access to methods or
properties at run-time.
 Host authenticates user and provides identity and role information to
CLR.
 Uses NTFS access control lists, IIS security settings.
 CLR makes that information available to code via APIs and permission
demands.
 Can isolate security from code using attributes defined in
System.Security or EnterpriseServices
 System.Security is limited to Windows user groups
 EnterpriseServices uses COM+ roles
 Classes have to inherit from EnterpriseServices
 Which to choose?
 If application has both managed and unmanaged use COM+.
 If application is entirely managed then System.Security is
appropriate.
CODE ACCESS SECURITY
 Goals
 End-user experience
 Managed apps just run
 Safe defaults, no run-time decisions needed
 Administrator
 All settings in one place and easy to customize
 Simple policy model
 Security administration tools
• .Net configuration, CASPOL
 Developer
 Focus on application, security comes free
 Easy to understand and extend when needed
MOBIL CODE
 Old Model
 Obtained from a network, often via a web page.
 Without CAS have either full trust or no trust.
 User decides whether to run.
 If run, code has all the user’s priviledges.
 Inproc COM component, when loaded, becomes
part of the process.
 Can’t distinguish between library code and original
application code.
 CAS model
 Operation based on evidence.
 Allowed actions can be defined at very detailed
level.
 Each assembly can have its own security context.
EVIDENCE-BASED SECURITY
 Definitions
 Permissions
 Objects that represent specific authorized actions
 Permission grant is an authorization for an action given to an
assembly
 Permission demand is a security check for specific grants
 Policy
 Set of permissions granted to an assembly
 Evidence
 Inputs to policy about code
 All three can be extended using security APIs.
STANDARD PERMISSIONS
 Permissions for framework resources
 Data, environment, file IO, Message Queue,
reflection, sockets
 Directory services, event log, web, performance
counters, registry, UI
 DNS, file dialog, isolated storage, printing, security
system
 Identity permissions
 Publisher, site, string name, url, zone
 User identity permission
 Only non-code access permission in Framework.
CODE ACCESS SECURITY IS EVIDENCE-BASED?
 Most permissions are code access
 Demanding permission performs a stack walk checking for grants of all
callers
 Two ways to make checks
 Imperative – call a method
 Declarative
• Attributes in code
• Attributes in configuration file
 Get security by
 Calling class libraries in Framework
 Calling application code with checks
 HOW IT WORKS?
 Loader extracts evidence from assembly
 Evidence is input to policy
 Each level, Enterprise, Machine, User, and
AppDomain, are evaluated
 For each level the union of grants for each
matching code group is determined
 Intersection of permissions from each of
these levels are granted to the assembly
 Apply any assembly permission requests
 Result is the permissions granted to the assembly.
STACK WALK MODIFIERS
 Assertions
 If code vouches for its callers then checks for permissions stop here.
 Gatekeeper classes
 Managed wrappers for unmanaged resources
 Demand permission to call unmanaged
 Assert permission to call unmanaged
 Make the call to unmanaged
 CODE ACCESS CONTROL
 Identity permissions can apply to code as well as users and
groups
 Based on evidence – signature, location, …
 Declarative checks made by JIT at compile-time.
 Imperative checks made by CLR at run-time.
POLICY
 Process of determining what permissions to grant to code.
 Per-assembly basis
 Policy levels
 Enterprise
 Machine
 User
 Application domain
 Each policy level is a collection of code groups
 All code, internet zone, intranet zone, site, strong name (MS Office),
publisher
 Permission grants are intersection of policy levels and union of collection of code
groups.
 Code gets only permissions common to Enterprise, Machine, user,
AppDomain
 Gets all permissions of all groups to which it belongs.
DEFAULT POLICIES
 Local Computer
 Unrestricted
 Intranet
 Limited read environment, UI, isolated storage,
assertion, web access to same site, file read to
same UNC directory
 Internet
 Safe UI, isolated storage, web access to same site
 Restricted
 No access, can’t execute
 Strong name (Framework classes)
 Unrestricted
FRAMEWORK SUPPORT
 Classes used to represent evidence
 Zone, Url, Site, ApplicationDirectory, StrongName, Publisher, Hash
 Classes used to represent permissions
 DBDataPermission, PrintingPermission, SocketPermission,
FileIOPermission, RegistryPermission, …
.NET CONFIGURATION TOOL
EDITING PERMISSIONS
ALL STANDARD PERMISSIONS
CREATING A USER CODE GROUP
EVIDENCE
 Evidence is input to policy
 Strong name, publisher identity, location
 Evidence is extensible
 Any object can become evidence
 Only affects permission grants if some code group
condition uses it
 Hosts
 Machine, IIS, ASP.Net, SQL Server
 Fully trusted hosts specify implicitly trusted evidence.
 Semi-trusted hosts cannot provide evidence.
 Hosts can limit policy for AppDomains they create.
Ad

More Related Content

Similar to Week Topic Code Access vs Event Based.pptx (20)

Seucrity in a nutshell
Seucrity in a nutshellSeucrity in a nutshell
Seucrity in a nutshell
Yahia Kandeel
 
Ch08 Authentication
Ch08 AuthenticationCh08 Authentication
Ch08 Authentication
Information Technology
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- org
Dharmalingam S
 
Security As A Service
Security As A ServiceSecurity As A Service
Security As A Service
Olav Tvedt
 
How to protect your corporate from advanced attacks
How to protect your corporate from advanced attacksHow to protect your corporate from advanced attacks
How to protect your corporate from advanced attacks
Microsoft
 
Why Penetration Testing Services Cyber51
Why Penetration Testing Services Cyber51Why Penetration Testing Services Cyber51
Why Penetration Testing Services Cyber51
martinvoelk
 
Web application security (eng)
Web application security (eng)Web application security (eng)
Web application security (eng)
Anatoliy Okhotnikov
 
zero trust - how to build zero trust.pdf
zero trust - how to build zero trust.pdfzero trust - how to build zero trust.pdf
zero trust - how to build zero trust.pdf
AliAlwesabi
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testing
srivinayak
 
Importance of Identity Management in Security - Microsoft Tech Tour @Towson
Importance of Identity Management in Security - Microsoft Tech Tour @TowsonImportance of Identity Management in Security - Microsoft Tech Tour @Towson
Importance of Identity Management in Security - Microsoft Tech Tour @Towson
Adam Levithan
 
Zero Trust Model Presentation
Zero Trust Model PresentationZero Trust Model Presentation
Zero Trust Model Presentation
Gowdhaman Jothilingam
 
Corporate Security Issues and countering them using Unified Threat Management...
Corporate Security Issues and countering them using Unified Threat Management...Corporate Security Issues and countering them using Unified Threat Management...
Corporate Security Issues and countering them using Unified Threat Management...
Rishabh Dangwal
 
19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)
Jeff Green
 
19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)
Jeff Green
 
RAZORPOINT SECURITY GLOSSARY
RAZORPOINT SECURITY GLOSSARYRAZORPOINT SECURITY GLOSSARY
RAZORPOINT SECURITY GLOSSARY
Razorpoint Security
 
CSF18 - Incident Response in the Cloud - Yuri Diogenes
CSF18 - Incident Response in the Cloud - Yuri DiogenesCSF18 - Incident Response in the Cloud - Yuri Diogenes
CSF18 - Incident Response in the Cloud - Yuri Diogenes
NCCOMMS
 
"Evolving Cybersecurity Strategies" - Identity is the new security boundary
"Evolving Cybersecurity Strategies" - Identity is the new security boundary"Evolving Cybersecurity Strategies" - Identity is the new security boundary
"Evolving Cybersecurity Strategies" - Identity is the new security boundary
Dean Iacovelli
 
Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...
Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...
Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...
NetworkCollaborators
 
Cisco Connect 2018 Thailand - Telco service provider network analytics
Cisco Connect 2018 Thailand - Telco service provider network analytics Cisco Connect 2018 Thailand - Telco service provider network analytics
Cisco Connect 2018 Thailand - Telco service provider network analytics
NetworkCollaborators
 
Network security
Network securityNetwork security
Network security
Fekadu Abera
 
Seucrity in a nutshell
Seucrity in a nutshellSeucrity in a nutshell
Seucrity in a nutshell
Yahia Kandeel
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- org
Dharmalingam S
 
Security As A Service
Security As A ServiceSecurity As A Service
Security As A Service
Olav Tvedt
 
How to protect your corporate from advanced attacks
How to protect your corporate from advanced attacksHow to protect your corporate from advanced attacks
How to protect your corporate from advanced attacks
Microsoft
 
Why Penetration Testing Services Cyber51
Why Penetration Testing Services Cyber51Why Penetration Testing Services Cyber51
Why Penetration Testing Services Cyber51
martinvoelk
 
zero trust - how to build zero trust.pdf
zero trust - how to build zero trust.pdfzero trust - how to build zero trust.pdf
zero trust - how to build zero trust.pdf
AliAlwesabi
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testing
srivinayak
 
Importance of Identity Management in Security - Microsoft Tech Tour @Towson
Importance of Identity Management in Security - Microsoft Tech Tour @TowsonImportance of Identity Management in Security - Microsoft Tech Tour @Towson
Importance of Identity Management in Security - Microsoft Tech Tour @Towson
Adam Levithan
 
Corporate Security Issues and countering them using Unified Threat Management...
Corporate Security Issues and countering them using Unified Threat Management...Corporate Security Issues and countering them using Unified Threat Management...
Corporate Security Issues and countering them using Unified Threat Management...
Rishabh Dangwal
 
19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)
Jeff Green
 
19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)19.) security pivot (policy byod nac)
19.) security pivot (policy byod nac)
Jeff Green
 
CSF18 - Incident Response in the Cloud - Yuri Diogenes
CSF18 - Incident Response in the Cloud - Yuri DiogenesCSF18 - Incident Response in the Cloud - Yuri Diogenes
CSF18 - Incident Response in the Cloud - Yuri Diogenes
NCCOMMS
 
"Evolving Cybersecurity Strategies" - Identity is the new security boundary
"Evolving Cybersecurity Strategies" - Identity is the new security boundary"Evolving Cybersecurity Strategies" - Identity is the new security boundary
"Evolving Cybersecurity Strategies" - Identity is the new security boundary
Dean Iacovelli
 
Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...
Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...
Cisco Connect 2018 Thailand - Security automation and programmability mr. kho...
NetworkCollaborators
 
Cisco Connect 2018 Thailand - Telco service provider network analytics
Cisco Connect 2018 Thailand - Telco service provider network analytics Cisco Connect 2018 Thailand - Telco service provider network analytics
Cisco Connect 2018 Thailand - Telco service provider network analytics
NetworkCollaborators
 

More from ArjayBalberan1 (20)

PPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdf
PPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdfPPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdf
PPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdf
ArjayBalberan1
 
PPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdf
PPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdfPPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdf
PPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdf
ArjayBalberan1
 
LESSON 5 LESSON 5 LESSON 5 LESSON 5.pptx
LESSON 5 LESSON 5 LESSON 5 LESSON 5.pptxLESSON 5 LESSON 5 LESSON 5 LESSON 5.pptx
LESSON 5 LESSON 5 LESSON 5 LESSON 5.pptx
ArjayBalberan1
 
LESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptx
LESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptxLESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptx
LESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptx
AUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptxAUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptx
AUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptxAUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata8Chapter7.pptx
AUTOMATA AUTOMATA Automata8Chapter7.pptxAUTOMATA AUTOMATA Automata8Chapter7.pptx
AUTOMATA AUTOMATA Automata8Chapter7.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptxAUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptx
AUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptxAUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptx
AUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata5Chapter4.pptx
AUTOMATA AUTOMATA Automata5Chapter4.pptxAUTOMATA AUTOMATA Automata5Chapter4.pptx
AUTOMATA AUTOMATA Automata5Chapter4.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata4Chapter3.pptx
AUTOMATA AUTOMATA Automata4Chapter3.pptxAUTOMATA AUTOMATA Automata4Chapter3.pptx
AUTOMATA AUTOMATA Automata4Chapter3.pptx
ArjayBalberan1
 
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptxAUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
ArjayBalberan1
 
automata theory and formal languages Automata2Chapter1.pptx
automata theory and formal languages Automata2Chapter1.pptxautomata theory and formal languages Automata2Chapter1.pptx
automata theory and formal languages Automata2Chapter1.pptx
ArjayBalberan1
 
Group-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptx
Group-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptxGroup-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptx
Group-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptx
ArjayBalberan1
 
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptxMYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptx
ArjayBalberan1
 
Introduction to Algorithms Introduction to Algorithms.pptx
Introduction to Algorithms Introduction to Algorithms.pptxIntroduction to Algorithms Introduction to Algorithms.pptx
Introduction to Algorithms Introduction to Algorithms.pptx
ArjayBalberan1
 
MYSQL DATABASE MYSQL DATABASEGroup-1.pptx
MYSQL DATABASE MYSQL DATABASEGroup-1.pptxMYSQL DATABASE MYSQL DATABASEGroup-1.pptx
MYSQL DATABASE MYSQL DATABASEGroup-1.pptx
ArjayBalberan1
 
Appdev appdev appdev app devAPPDEV 1.2.pptx
Appdev appdev appdev app devAPPDEV 1.2.pptxAppdev appdev appdev app devAPPDEV 1.2.pptx
Appdev appdev appdev app devAPPDEV 1.2.pptx
ArjayBalberan1
 
Rizals-Family-Childhood-Early-Education.pptx
Rizals-Family-Childhood-Early-Education.pptxRizals-Family-Childhood-Early-Education.pptx
Rizals-Family-Childhood-Early-Education.pptx
ArjayBalberan1
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptx
ArjayBalberan1
 
PPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdf
PPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdfPPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdf
PPE-Module-1.2 PPE-Module-1.2 PPE-Module-1.2.pdf
ArjayBalberan1
 
PPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdf
PPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdfPPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdf
PPE-Module-1.1 PPE-Module-1.1 PPE-Module-1.1.pdf
ArjayBalberan1
 
LESSON 5 LESSON 5 LESSON 5 LESSON 5.pptx
LESSON 5 LESSON 5 LESSON 5 LESSON 5.pptxLESSON 5 LESSON 5 LESSON 5 LESSON 5.pptx
LESSON 5 LESSON 5 LESSON 5 LESSON 5.pptx
ArjayBalberan1
 
LESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptx
LESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptxLESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptx
LESSON 1 AUTOMATA LESSON 1 AUTOMATA.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptx
AUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptxAUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptx
AUTOMATA AUTOMATA Automata10Chapter-8-and-9.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptxAUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata9Chapter8.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata8Chapter7.pptx
AUTOMATA AUTOMATA Automata8Chapter7.pptxAUTOMATA AUTOMATA Automata8Chapter7.pptx
AUTOMATA AUTOMATA Automata8Chapter7.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptxAUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptx
AUTOMATA AUTOMATA AUTOMATAAutomata7Chapter6.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptx
AUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptxAUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptx
AUTOMATA AUTOMATA AUTOMATA Automata6Chapter5.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata5Chapter4.pptx
AUTOMATA AUTOMATA Automata5Chapter4.pptxAUTOMATA AUTOMATA Automata5Chapter4.pptx
AUTOMATA AUTOMATA Automata5Chapter4.pptx
ArjayBalberan1
 
AUTOMATA AUTOMATA Automata4Chapter3.pptx
AUTOMATA AUTOMATA Automata4Chapter3.pptxAUTOMATA AUTOMATA Automata4Chapter3.pptx
AUTOMATA AUTOMATA Automata4Chapter3.pptx
ArjayBalberan1
 
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptxAUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
ArjayBalberan1
 
automata theory and formal languages Automata2Chapter1.pptx
automata theory and formal languages Automata2Chapter1.pptxautomata theory and formal languages Automata2Chapter1.pptx
automata theory and formal languages Automata2Chapter1.pptx
ArjayBalberan1
 
Group-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptx
Group-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptxGroup-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptx
Group-1 (1) Group-1 (1) Group-1 (1)Group-1 (1).pptx
ArjayBalberan1
 
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptxMYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptx
MYSQL DATABASE MYSQL DATABASE MYSQL DATABASECSS.pptx
ArjayBalberan1
 
Introduction to Algorithms Introduction to Algorithms.pptx
Introduction to Algorithms Introduction to Algorithms.pptxIntroduction to Algorithms Introduction to Algorithms.pptx
Introduction to Algorithms Introduction to Algorithms.pptx
ArjayBalberan1
 
MYSQL DATABASE MYSQL DATABASEGroup-1.pptx
MYSQL DATABASE MYSQL DATABASEGroup-1.pptxMYSQL DATABASE MYSQL DATABASEGroup-1.pptx
MYSQL DATABASE MYSQL DATABASEGroup-1.pptx
ArjayBalberan1
 
Appdev appdev appdev app devAPPDEV 1.2.pptx
Appdev appdev appdev app devAPPDEV 1.2.pptxAppdev appdev appdev app devAPPDEV 1.2.pptx
Appdev appdev appdev app devAPPDEV 1.2.pptx
ArjayBalberan1
 
Rizals-Family-Childhood-Early-Education.pptx
Rizals-Family-Childhood-Early-Education.pptxRizals-Family-Childhood-Early-Education.pptx
Rizals-Family-Childhood-Early-Education.pptx
ArjayBalberan1
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptx
ArjayBalberan1
 
Ad

Recently uploaded (20)

Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Ad

Week Topic Code Access vs Event Based.pptx

  • 1. Week 15-16 Code Access vs. Event Based Security
  • 2. BASIC SECURITY ISSUES:  Confidentiality  Disclose information only to authorized users  Integrity  Ensure that data is not modified without authorization  Availability  Decide who has access to information and how to make access effective  Authentication  Identify a user securely  Authorization  Define a set of allowed actions for authorized users  Non repudiation  Log users, their actions, and the objects used. Threats  Stride model  Spoofing identity  Tampering with data  Repudiation  Information disclosure  Denial of service  Elevation of priviledge
  • 3. Mitigating Threats  Protection  Make successful threats difficult  Virtually always possible for attacks to succeed in complex systems if the attacker has enough resources  Detection  Detect an attack in progress  Response  Put in place plans for each identified threat type Spoofing  Attacker claims false identity  Claim client identity  Gain access to sensitive data  Run dangerous processes on server  Gain administrative priviledges  Claim server identity  Collect sensitive data from clients  Provide false data to clients  Protection  Strong authentication using crytography
  • 4. Tampering with Data  Tampering with persistent data  Modify password tables  Deface web pages  Add viruses or Trojan horses to files  Modify routing tables, DNS, …  Modify audit logs  Tampering with network packets  Protection  Hash codes, digital signatures, encryption Repudiation  Attacker denies an action which is hard to verify  Claim didn’t delete file  Claim didn’t make purchase  Claim didn’t receive services  Protection  Audit logs  Require receipts  Digital signatures
  • 5. Information Disclosure  Attacker sees sensitive data  Local files  Network packets  Attacker gets information about system architecture  Banners that display software type and version  Protection  Strong authentication and access control  Encrytion of sensitive data  Turn off banners, disable tracing and debugging  Use terse error messages DENIAL OF SERVICE  Syn flooding  Send partial connection requests to overflow server’s list of pending connections  Distributed Denial of Service  Amplification attacks  Send icmp echo requests to broadcast address, spoofing victim’s address  Protection  Install server patches  Block incoming icmp requests  Throttle anonymous requests
  • 6. ELEVATION OF PRIVILEDGE  Gain administrator priviledge  Buffer overflow attack  Overflow designed to overwrite return address of function with address of malicous code.  Exploit bugs in operating system  Protection  Avoid buffer overflows  Validate user input  Use principle of Least Priviledge  Grant smallest set of priviledges needed to function  Patch operating system SOCIAL ENGINEERING THREAT  Social Engineering and Manipulation  Trick someone into disclosing information, e.g., passwords, credit card ids, SSNs, …  Manipulation Threats  Phreaking  Use fee-based services without payment  Phishing  Acquire sensitive information by luring attacks, usually by email.  Pharming  Redirecting DNS routes to unauthorized sites to get sensitive information.  Your on-line banking redirected to Afganistan, for example.  False representation  Pretend to be service technician, manager, account owner, …  Inside Job  Employee conspires with attacker to compromise system or information.
  • 7. SECURITY MODELS  PDR  Protection  topic of this presentation  Detection  detect attacks  Response  plan responses for each threat category • Call the sysAdmin • Call the police • Contact the FBI • Contact Federal Trade Commission  AAS - .Net Web Model  Authentication  Accept and validate credentials presented by user  Authorization  If validated, determine right to access some resource  Secure communication  Secure the channel • SSL, IPsec  Secure the data • signing, hashing, cryptography
  • 8. Windows and .Net  Role-based  Authenticate and authorize users, groups, and accounts (System, Local service, Network service)  Actions are authorized through permissions  Evidence-based or Code Access Security (CAS)  Code is elevated to the security status of a user.  Authorization is based on evidence • url, zone, publisher, strong name, custom assembly attributes  Actions are authorized through policies WIN SECURITY DEFINITIONS  Definitions for people and groups of people  SID – Security IDentifier  Data structure used to identify user or group.  Access Token  A data structure that holds a SID for a security principal, the SIDs for each group the principal belongs to, and a list of the principal’s priviledges on the local computer.  Principal  An account holder that is assigned a SID for access to resources, e.g., user, group, service, or computer.  Combinations of people and objects  Security Context  Set of rules for a user’s actions on a protected object  Combination of user’s access token and object’s security descriptor  Security Policy  Rules that define the allowable contexts and mandatory groups.
  • 9. ROLE-BASED SECURITY  Use role-based security in programs to control access to methods or properties at run-time.  Host authenticates user and provides identity and role information to CLR.  Uses NTFS access control lists, IIS security settings.  CLR makes that information available to code via APIs and permission demands.  Can isolate security from code using attributes defined in System.Security or EnterpriseServices  System.Security is limited to Windows user groups  EnterpriseServices uses COM+ roles  Classes have to inherit from EnterpriseServices  Which to choose?  If application has both managed and unmanaged use COM+.  If application is entirely managed then System.Security is appropriate. CODE ACCESS SECURITY  Goals  End-user experience  Managed apps just run  Safe defaults, no run-time decisions needed  Administrator  All settings in one place and easy to customize  Simple policy model  Security administration tools • .Net configuration, CASPOL  Developer  Focus on application, security comes free  Easy to understand and extend when needed
  • 10. MOBIL CODE  Old Model  Obtained from a network, often via a web page.  Without CAS have either full trust or no trust.  User decides whether to run.  If run, code has all the user’s priviledges.  Inproc COM component, when loaded, becomes part of the process.  Can’t distinguish between library code and original application code.  CAS model  Operation based on evidence.  Allowed actions can be defined at very detailed level.  Each assembly can have its own security context. EVIDENCE-BASED SECURITY  Definitions  Permissions  Objects that represent specific authorized actions  Permission grant is an authorization for an action given to an assembly  Permission demand is a security check for specific grants  Policy  Set of permissions granted to an assembly  Evidence  Inputs to policy about code  All three can be extended using security APIs.
  • 11. STANDARD PERMISSIONS  Permissions for framework resources  Data, environment, file IO, Message Queue, reflection, sockets  Directory services, event log, web, performance counters, registry, UI  DNS, file dialog, isolated storage, printing, security system  Identity permissions  Publisher, site, string name, url, zone  User identity permission  Only non-code access permission in Framework. CODE ACCESS SECURITY IS EVIDENCE-BASED?  Most permissions are code access  Demanding permission performs a stack walk checking for grants of all callers  Two ways to make checks  Imperative – call a method  Declarative • Attributes in code • Attributes in configuration file  Get security by  Calling class libraries in Framework  Calling application code with checks
  • 12.  HOW IT WORKS?  Loader extracts evidence from assembly  Evidence is input to policy  Each level, Enterprise, Machine, User, and AppDomain, are evaluated  For each level the union of grants for each matching code group is determined  Intersection of permissions from each of these levels are granted to the assembly  Apply any assembly permission requests  Result is the permissions granted to the assembly. STACK WALK MODIFIERS  Assertions  If code vouches for its callers then checks for permissions stop here.  Gatekeeper classes  Managed wrappers for unmanaged resources  Demand permission to call unmanaged  Assert permission to call unmanaged  Make the call to unmanaged
  • 13.  CODE ACCESS CONTROL  Identity permissions can apply to code as well as users and groups  Based on evidence – signature, location, …  Declarative checks made by JIT at compile-time.  Imperative checks made by CLR at run-time. POLICY  Process of determining what permissions to grant to code.  Per-assembly basis  Policy levels  Enterprise  Machine  User  Application domain  Each policy level is a collection of code groups  All code, internet zone, intranet zone, site, strong name (MS Office), publisher  Permission grants are intersection of policy levels and union of collection of code groups.  Code gets only permissions common to Enterprise, Machine, user, AppDomain  Gets all permissions of all groups to which it belongs.
  • 14. DEFAULT POLICIES  Local Computer  Unrestricted  Intranet  Limited read environment, UI, isolated storage, assertion, web access to same site, file read to same UNC directory  Internet  Safe UI, isolated storage, web access to same site  Restricted  No access, can’t execute  Strong name (Framework classes)  Unrestricted FRAMEWORK SUPPORT  Classes used to represent evidence  Zone, Url, Site, ApplicationDirectory, StrongName, Publisher, Hash  Classes used to represent permissions  DBDataPermission, PrintingPermission, SocketPermission, FileIOPermission, RegistryPermission, …
  • 18. CREATING A USER CODE GROUP
  • 19. EVIDENCE  Evidence is input to policy  Strong name, publisher identity, location  Evidence is extensible  Any object can become evidence  Only affects permission grants if some code group condition uses it  Hosts  Machine, IIS, ASP.Net, SQL Server  Fully trusted hosts specify implicitly trusted evidence.  Semi-trusted hosts cannot provide evidence.  Hosts can limit policy for AppDomains they create.