Homework #5 Revision 1

Due: March 15, 2024
Points: 100


Revision 1, March 14, 2024: The variable in 2(c) was misnamed. It should have been filelist[fid].access_control_list, not filelist[fid].access_control.



Questions

  1. (30 points) Let L = (SL, ≤L) be a lattice. Define:
    1. SIL = { [a, b] | a, bSLaL b }
    2. IL = { ([a1, b1], [a2, b2]) | a1L a2b1L b2 }
    3. lubIL([a1, b1], [a2, b2]) = (lubL(a1, a2), lubL(b1, b2))
    4. glbIL([a1, b1], [a2, b2]) = (glbL(a1, a2), glbL(b1, b2))
    Prove that the structure IL = (SIL, ≤IL) is a lattice.

  2. (30 points) The following system call adds read permission for a process (for_pid) if the caller (call_pid) owns the file, and does nothing otherwise. (The operating system supplies call_ pid; the caller supplies the two latter parameters.)
    
    function addread(call_pid, for_pid: process_id; fid: file_id): integer;
    begin
    	if (call_pid = filelist[fid].owner) then
    		addright(filelist[fid].access_control_list, for_pid, "r");
    	result := (call_pid - filelist[fid].owner);
    	return result
    end.
    
    1. Is the variable result directly or indirectly visible, or not visible?
    2. Is the variable filelist[fid].owner directly or indirectly visible, or not visible?
    3. Is the variable filelist[fid].access_control_list directly or indirectly visible, or not visible?

  3. (40 points) Section 18.3.2.3 derives a formula for I(A; X). Prove that this formula is a maximum with respect to p when p = M1/m/(1+mM1/m), with M and m as defined in that section. (The value of p in the book is incorrect.)

UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 235B, Foundations of Computer and Information Security
Version of March 8, 2024 at 11:36AM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh