SlideShare a Scribd company logo
1 of 140
Chapter 14: Protection
Chapter 14: Protection
•   Goals of Protection
•   Principles of Protection
•   Domain of Protection
•   Access Matrix
•   Implementation of Access Matrix
•   Access Control
•   Revocation of Access Rights
•   Capability-Based Systems
•   Language-Based Protection
Objectives
• Discuss the goals and principles of
  protection in a modern computer system
• Explain how protection domains combined
  with an access matrix are used to specify
  the resources a process may access
• Examine capability and language-based
  protection systems
Goals of Protection
• Operating system consists of a collection of
  objects, hardware or software

• Each object has a unique name and can be
  accessed through a well-defined set of operations

• Protection problem - ensure that each object is
  accessed correctly and only by those processes
  that are allowed to do so
Principles of Protection
• Guiding principle – principle of least
  privilege
  – Programs, users and systems should be given
    just enough privileges to perform their tasks
Domain Structure
• Access-right = <object-name, rights-set>
  where rights-set is a subset of all valid
  operations that can be performed on the
  object.

• Domain = set of access-rights
Domain Implementation (UNIX)
• System consists of 2 domains:
   – User
   – Supervisor

• UNIX
   – Domain = user-id
   – Domain switch accomplished via file system
      • Each file has associated with it a domain bit (setuid bit)
      • When file is executed and setuid = on, then user-id is set to
        owner of the file being executed. When execution completes
        user-id is reset
Domain Implementation
        (MULTICS)
• Let Di and Dj be any two domain rings
• If j < I ⇒ Di ⊆ Dj
Access Matrix
• View protection as a matrix (access matrix)

• Rows represent domains

• Columns represent objects

• Access(i, j) is the set of operations that a process
  executing in Domaini can invoke on Objectj
Access Matrix
Use of Access Matrix
• If a process in Domain Di tries to do “op” on
  object Oj, then “op” must be in the access matrix

• Can be expanded to dynamic protection
   – Operations to add, delete access rights
   – Special access rights:
      •   owner of Oi
      •   copy op from Oi to Oj
      •   control – Di can modify Dj access rights
      •   transfer – switch from domain Di to Dj
Use of Access Matrix (Cont)
• Access matrix design separates mechanism
  from policy
  – Mechanism
    • Operating system provides access-matrix + rules
    • If ensures that the matrix is only manipulated by
      authorized agents and that rules are strictly enforced
  – Policy
    • User dictates policy
    • Who can access what object and in what mode
Implementation of Access Matrix
• Each column = Access-control list for one
  object
  Defines who can perform what operation.
                          Domain 1 = Read, Write
                          Domain 2 = Read
                          Domain 3 = Read

                             
• Each Row = Capability List (like a key)
  Fore each domain, what operations allowed
  on what objects.
        Object 1 – Read
Objects




Figure B
Access Matrix with Copy Rights
Access Matrix With Owner
         Rights
Modified Access Matrix of
        Figure B
Access Control
• Protection can be applied to non-file resources
• Solaris 10 provides role-based access control
  (RBAC) to implement least privilege
   – Privilege is right to execute system call or use an option
     within a system call
   – Can be assigned to processes
   – Users assigned roles granting access to privileges and
     programs
Role-based Access Control in
         Solaris 10
Revocation of Access Rights
• Access List – Delete access rights from access list
   – Simple
   – Immediate

• Capability List – Scheme required to locate
  capability in the system before capability can be
  revoked
   –   Reacquisition
   –   Back-pointers
   –   Indirection
   –   Keys
Capability-Based Systems
• Hydra
  – Fixed set of access rights known to and interpreted by
    the system
  – Interpretation of user-defined rights performed solely
    by user's program; system provides access protection
    for use of these rights

• Cambridge CAP System
  – Data capability - provides standard read, write, execute
    of individual storage segments associated with object
  – Software capability -interpretation left to the
    subsystem, through its protected procedures
Language-Based Protection
• Specification of protection in a programming
  language allows the high-level description of
  policies for the allocation and use of resources

• Language implementation can provide software
  for protection enforcement when automatic
  hardware-supported checking is unavailable

• Interpret protection specifications to generate calls
  on whatever protection system is provided by the
  hardware and the operating system
Protection in Java 2
• Protection is handled by the Java Virtual Machine
  (JVM)

• A class is assigned a protection domain when it is
  loaded by the JVM

• The protection domain indicates what operations
  the class can (and cannot) perform

• If a library method is invoked that performs a
  privileged operation, the stack is inspected to
  ensure the operation can be performed by the
Stack Inspection
End of Chapter 14
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection
Chapter 14: Goals and Principles of Protection

More Related Content

What's hot

Ch11 file system implementation
Ch11   file system implementationCh11   file system implementation
Ch11 file system implementationWelly Dian Astika
 
Board support package_on_linux
Board support package_on_linuxBoard support package_on_linux
Board support package_on_linuxVandana Salve
 
linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 
disk sechduling
disk sechdulingdisk sechduling
disk sechdulinggopi7
 
Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Peter Tröger
 
05 internal memory
05 internal memory05 internal memory
05 internal memorydilip kumar
 
Swap space management and protection in os
Swap space management and protection  in osSwap space management and protection  in os
Swap space management and protection in osrajshreemuthiah
 
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...ijesajournal
 

What's hot (20)

OSCh13
OSCh13OSCh13
OSCh13
 
OSCh14
OSCh14OSCh14
OSCh14
 
Ch11 file system implementation
Ch11   file system implementationCh11   file system implementation
Ch11 file system implementation
 
Module5 secondary storage
Module5 secondary storageModule5 secondary storage
Module5 secondary storage
 
Board support package_on_linux
Board support package_on_linuxBoard support package_on_linux
Board support package_on_linux
 
09. storage-part-1
09. storage-part-109. storage-part-1
09. storage-part-1
 
Linux Kernel
Linux KernelLinux Kernel
Linux Kernel
 
Windows XP operating system
Windows XP operating systemWindows XP operating system
Windows XP operating system
 
Pandi
PandiPandi
Pandi
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Secondary storage devices
Secondary storage devicesSecondary storage devices
Secondary storage devices
 
1 introduction
1 introduction1 introduction
1 introduction
 
disk sechduling
disk sechdulingdisk sechduling
disk sechduling
 
Ch8 main memory
Ch8   main memoryCh8   main memory
Ch8 main memory
 
Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)
 
OSCh21
OSCh21OSCh21
OSCh21
 
Os
OsOs
Os
 
05 internal memory
05 internal memory05 internal memory
05 internal memory
 
Swap space management and protection in os
Swap space management and protection  in osSwap space management and protection  in os
Swap space management and protection in os
 
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
 

Similar to Chapter 14: Goals and Principles of Protection

Protection Domain and Access Matrix Model -Operating System
Protection Domain and Access Matrix Model -Operating SystemProtection Domain and Access Matrix Model -Operating System
Protection Domain and Access Matrix Model -Operating SystemLalfakawmaKh
 
Ch18 OS
Ch18 OSCh18 OS
Ch18 OSC.U
 
Least privilege, access control, operating system security
Least privilege, access control, operating system securityLeast privilege, access control, operating system security
Least privilege, access control, operating system securityG Prachi
 
access-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdfaccess-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdfNohaNagy5
 
Protection and security of operating system
Protection and security of operating systemProtection and security of operating system
Protection and security of operating systemAbdullah Khosa
 
Creating a fortress in your active directory environment
Creating a fortress in your active directory environmentCreating a fortress in your active directory environment
Creating a fortress in your active directory environmentDavid Rowe
 
Week No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptxWeek No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptxXhamiiiCH
 
21CSC202J Operating Systems-Unit-V.pptx.pdf
21CSC202J Operating Systems-Unit-V.pptx.pdf21CSC202J Operating Systems-Unit-V.pptx.pdf
21CSC202J Operating Systems-Unit-V.pptx.pdfanusri1904
 
File Protection in Operating System
File Protection in Operating SystemFile Protection in Operating System
File Protection in Operating SystemMeghaj Mallick
 
Week 13, Protection and Security.ppt
Week 13, Protection and Security.pptWeek 13, Protection and Security.ppt
Week 13, Protection and Security.pptPriyadarshiSharma7
 
3. security architecture and models
3. security architecture and models3. security architecture and models
3. security architecture and models7wounders
 
SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)Jumping Bean
 

Similar to Chapter 14: Goals and Principles of Protection (20)

Ch13 protection
Ch13   protectionCh13   protection
Ch13 protection
 
Protection
ProtectionProtection
Protection
 
Chapter 14 - Protection
Chapter 14 - ProtectionChapter 14 - Protection
Chapter 14 - Protection
 
Protection Domain and Access Matrix Model -Operating System
Protection Domain and Access Matrix Model -Operating SystemProtection Domain and Access Matrix Model -Operating System
Protection Domain and Access Matrix Model -Operating System
 
Ch18 OS
Ch18 OSCh18 OS
Ch18 OS
 
OSCh18
OSCh18OSCh18
OSCh18
 
OS_Ch18
OS_Ch18OS_Ch18
OS_Ch18
 
Least privilege, access control, operating system security
Least privilege, access control, operating system securityLeast privilege, access control, operating system security
Least privilege, access control, operating system security
 
Topic 7 access control
Topic 7 access controlTopic 7 access control
Topic 7 access control
 
access-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdfaccess-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdf
 
Protection and security of operating system
Protection and security of operating systemProtection and security of operating system
Protection and security of operating system
 
운영체제론 Ch18
운영체제론 Ch18운영체제론 Ch18
운영체제론 Ch18
 
Creating a fortress in your active directory environment
Creating a fortress in your active directory environmentCreating a fortress in your active directory environment
Creating a fortress in your active directory environment
 
Week No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptxWeek No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptx
 
21CSC202J Operating Systems-Unit-V.pptx.pdf
21CSC202J Operating Systems-Unit-V.pptx.pdf21CSC202J Operating Systems-Unit-V.pptx.pdf
21CSC202J Operating Systems-Unit-V.pptx.pdf
 
File Protection in Operating System
File Protection in Operating SystemFile Protection in Operating System
File Protection in Operating System
 
Week 13, Protection and Security.ppt
Week 13, Protection and Security.pptWeek 13, Protection and Security.ppt
Week 13, Protection and Security.ppt
 
3. security architecture and models
3. security architecture and models3. security architecture and models
3. security architecture and models
 
Protection 80386
Protection 80386Protection 80386
Protection 80386
 
SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)
 

More from gopal10scs185 (20)

Os5
Os5Os5
Os5
 
Os4
Os4Os4
Os4
 
Os1
Os1Os1
Os1
 
Os8
Os8Os8
Os8
 
Os6
Os6Os6
Os6
 
Os4
Os4Os4
Os4
 
Os3
Os3Os3
Os3
 
Os2
Os2Os2
Os2
 
Unit4 desiging classes
Unit4 desiging classesUnit4 desiging classes
Unit4 desiging classes
 
Unit three identifying actors
Unit three  identifying actorsUnit three  identifying actors
Unit three identifying actors
 
Unit 5 testing
Unit 5 testingUnit 5 testing
Unit 5 testing
 
Unit 5
Unit 5Unit 5
Unit 5
 
Unit 5 usability and satisfaction test
Unit 5 usability and satisfaction testUnit 5 usability and satisfaction test
Unit 5 usability and satisfaction test
 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
 
Unit 4
Unit 4Unit 4
Unit 4
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classification
 
Unit 3 attributes, methods, relationships
Unit 3 attributes, methods, relationshipsUnit 3 attributes, methods, relationships
Unit 3 attributes, methods, relationships
 
Unit 3
Unit 3Unit 3
Unit 3
 
Design rule 31
Design rule 31Design rule 31
Design rule 31
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 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
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Chapter 14: Goals and Principles of Protection

  • 1.
  • 3. Chapter 14: Protection • Goals of Protection • Principles of Protection • Domain of Protection • Access Matrix • Implementation of Access Matrix • Access Control • Revocation of Access Rights • Capability-Based Systems • Language-Based Protection
  • 4. Objectives • Discuss the goals and principles of protection in a modern computer system • Explain how protection domains combined with an access matrix are used to specify the resources a process may access • Examine capability and language-based protection systems
  • 5. Goals of Protection • Operating system consists of a collection of objects, hardware or software • Each object has a unique name and can be accessed through a well-defined set of operations • Protection problem - ensure that each object is accessed correctly and only by those processes that are allowed to do so
  • 6. Principles of Protection • Guiding principle – principle of least privilege – Programs, users and systems should be given just enough privileges to perform their tasks
  • 7. Domain Structure • Access-right = <object-name, rights-set> where rights-set is a subset of all valid operations that can be performed on the object. • Domain = set of access-rights
  • 8. Domain Implementation (UNIX) • System consists of 2 domains: – User – Supervisor • UNIX – Domain = user-id – Domain switch accomplished via file system • Each file has associated with it a domain bit (setuid bit) • When file is executed and setuid = on, then user-id is set to owner of the file being executed. When execution completes user-id is reset
  • 9. Domain Implementation (MULTICS) • Let Di and Dj be any two domain rings • If j < I ⇒ Di ⊆ Dj
  • 10. Access Matrix • View protection as a matrix (access matrix) • Rows represent domains • Columns represent objects • Access(i, j) is the set of operations that a process executing in Domaini can invoke on Objectj
  • 12. Use of Access Matrix • If a process in Domain Di tries to do “op” on object Oj, then “op” must be in the access matrix • Can be expanded to dynamic protection – Operations to add, delete access rights – Special access rights: • owner of Oi • copy op from Oi to Oj • control – Di can modify Dj access rights • transfer – switch from domain Di to Dj
  • 13. Use of Access Matrix (Cont) • Access matrix design separates mechanism from policy – Mechanism • Operating system provides access-matrix + rules • If ensures that the matrix is only manipulated by authorized agents and that rules are strictly enforced – Policy • User dictates policy • Who can access what object and in what mode
  • 14. Implementation of Access Matrix • Each column = Access-control list for one object Defines who can perform what operation. Domain 1 = Read, Write Domain 2 = Read Domain 3 = Read  • Each Row = Capability List (like a key) Fore each domain, what operations allowed on what objects. Object 1 – Read
  • 16. Access Matrix with Copy Rights
  • 17. Access Matrix With Owner Rights
  • 18. Modified Access Matrix of Figure B
  • 19. Access Control • Protection can be applied to non-file resources • Solaris 10 provides role-based access control (RBAC) to implement least privilege – Privilege is right to execute system call or use an option within a system call – Can be assigned to processes – Users assigned roles granting access to privileges and programs
  • 20. Role-based Access Control in Solaris 10
  • 21. Revocation of Access Rights • Access List – Delete access rights from access list – Simple – Immediate • Capability List – Scheme required to locate capability in the system before capability can be revoked – Reacquisition – Back-pointers – Indirection – Keys
  • 22. Capability-Based Systems • Hydra – Fixed set of access rights known to and interpreted by the system – Interpretation of user-defined rights performed solely by user's program; system provides access protection for use of these rights • Cambridge CAP System – Data capability - provides standard read, write, execute of individual storage segments associated with object – Software capability -interpretation left to the subsystem, through its protected procedures
  • 23. Language-Based Protection • Specification of protection in a programming language allows the high-level description of policies for the allocation and use of resources • Language implementation can provide software for protection enforcement when automatic hardware-supported checking is unavailable • Interpret protection specifications to generate calls on whatever protection system is provided by the hardware and the operating system
  • 24. Protection in Java 2 • Protection is handled by the Java Virtual Machine (JVM) • A class is assigned a protection domain when it is loaded by the JVM • The protection domain indicates what operations the class can (and cannot) perform • If a library method is invoked that performs a privileged operation, the stack is inspected to ensure the operation can be performed by the