home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.24 / text0028.txt < prev    next >
Encoding:
Text File  |  1991-09-03  |  8.4 KB  |  192 lines

  1. Submitted-by: pc@hillside.co.uk (Peter Collinson)
  2.  
  3. USENIX Standards Watchdog Committee
  4. Stephen R. Walli <stephe@usenix.org>, Report Editor
  5. Report on POSIX.6: Security Extensions
  6.  
  7.  
  8. Ana Maria De Alvare <anamaria@sgi.COM> reports on the April
  9. 15-19, 1991 meeting in Chicago, IL:
  10.  
  11. Summary
  12.  
  13. The POSIX.6 group spent the week preparing draft 11 of their document
  14. for internal ``mock'' ballot. They began work on their test assertions
  15. document. The IEEE balloting group formation process is now officially
  16. closed.
  17.  
  18. The Privilege subgroup discussed a proposal to remove the global
  19. constant POSIX_PRIV_EFFECTIVE from the draft. The Audit subgroup will
  20. not be able to address the portable audit format before balloting
  21. begins, but they will define the audit trail header. The liaison group
  22. between POSIX.6, POSIX.7 (System Administration) and the Distributed
  23. Services groups will report back to the TCOS-SS Sponsor Executive
  24. Committee (SEC) at the July meeting, recommending a new coordination
  25. group be formed.
  26.  
  27. Report
  28.  
  29. The POSIX.6 group met for the entire week in Chicago. The group
  30. concentrated their efforts on cleaning up draft 10 of the document.
  31. The balloting solicitation process has been closed.  If you requested
  32. to be in the balloting group, please confirm you are on the list by
  33. calling the IEEE, Anna Kacznarek (908-562-3811).
  34.  
  35. A major action item was the creation of the test assertions document
  36. for POSIX.6.  This will be a separate parallel document.  The
  37. definitions and overview sections of POSIX.6 were addressed this
  38. week.  Each subgroup will be responsible for creating the test
  39. assertions for the document sections they are working on.  The
  40. subgroups will maintain consistency between the test assertions and
  41. the POSIX.6 document.  Modifications to the POSIX.6 document will
  42. signal modifications to the test assertion document.
  43.  
  44. In the next meeting we are planning to integrate test assertion
  45. sections from POSIX.3.1 (Test Assertions for POSIX.1) into our
  46. document.  Dave Rogers (Data Logic) and I are co-chairing this
  47. effort.  If you are interested in participating in the test assertion
  48. work, please let me know (anamaria@sgi.com or 415-335-7309).
  49.  
  50. POSIX.6 will mock ballot draft 11 within the working group before
  51. July.  We plan to review written comments to this mock ballot at the
  52. July meeting.  If all the written comments are addressed, we will try
  53. to ship the document for IEEE ballot after July.  We could then start
  54. resolving the ballot objections at the October meeting.
  55.  
  56. Privileges
  57.  
  58. Secureware's VP of Marketing proposed eliminating from the standard
  59. the system global constant, POSIX_PRIV_EFFECTIVE, which turns on/off
  60. all the privileges already set by the process or set by the file
  61. privileges in effect.  The system global constant can increase or
  62. decrease the effective privilege set.
  63.  
  64. The argument against the system global constant was that when
  65. POSIX_PRIV_EFFECTIVE is on, a privilege aware program (i.e. a trusted
  66. application) will have effective privileges on before it uses them.
  67. This violates the concept of least privilege, since the process
  68. contains more privileges than it needs.  It is the responsibility of
  69. that trusted application to turn off all effective privileges and then
  70. turn them on one by one as it needs them.
  71.  
  72. Another argument against the global constant is that it gives the
  73. system manager a central point to turn on/off privileges.  With the
  74. new scheme, programs that turn ``priv_effective'' on are consciously
  75. given permission to do so, a point that brings higher granularity.
  76.  
  77. A vote was taken and the group decided to eliminate the system global
  78. constant, POSIX_PRIV_EFFECTIVE and use ``priv_effective'' as an
  79. additional file privilege.  The standard now contains three privilege
  80. sets associated with a process, (inheritable, permitted, effective)
  81. and two privilege flags (``allowed'' and ``forced'') associated with
  82. each privilege on a file. The two file privilege flags are:
  83.  
  84.    - Allowed - a flag associated with a file privilege that will
  85.      authorize it to be on during the execution of that program, if
  86.      the process possesses that privilege.
  87.  
  88.    - Forced - a flag associated with a file privilege that will be on
  89.      during the execution of that program even if the process does not
  90.      possess that privilege.  This allows for old setuid programs to
  91.      continue to work under POSIX.6 without source code modifications.
  92.  
  93. The new file privilege ``priv_effective'' will turn on the process's
  94. effective privilege set.  If your file has ``priv_effective', your
  95. file makes effective all of the privileges that are on after
  96. calculating ``allowed'' and ``forced'' flags against the process's
  97. inheritable flags.
  98.  
  99. A process possesses three sets of privilege flags:  inheritable,
  100. permitted, and effective.  For a process to access a file, the
  101. process's effective privilege set (built from its inherited and
  102. permitted sets) is tested against the file's privilege set. To be able
  103. to pass a privilege from the inheritable set (from its parent
  104. process), to the permitted set, the system will test the process's
  105. inheritable privilege against the file's ``allowed'' and ``forced''
  106. flags for that privilege.  If the file privilege's ``allowed'' flag is
  107. set, then the privilege is turned on in the process's permitted set.
  108. If the file privilege's ``forced'' flag is set, then the privilege is
  109. turned on in the process's permitted set even if the privilege was not
  110. inherited.
  111.  
  112. To be on in the process's effective set, the system compares the
  113. inheritable privilege against the file's ``allowed'', and ``forced''
  114. flags. If the process's inherited privilege is in the file's
  115. ``allowed'' set and the file's ``priv_effective'' privilege is set,
  116. then the privilege becomes effective.  If the process's inherited
  117. privilege is in the file's ``forced'' set and the file's
  118. ``priv_effective'' privilege is set, then the privilege becomes
  119. effective.  In other words, to be set effective the file's
  120. ``priv_effective'' flag must be on.
  121.  
  122. Some of you might think that this scheme still gives me a trusted
  123. application with effective privileges turned on.  The list of programs
  124. with privileges turned on, however, is smaller than using the system
  125. global constant.  In addition the effective privilege set is not on
  126. for all processes.
  127.  
  128. All of this can become very confusing.  Sometimes I have trouble
  129. understanding all of the benefits.  Every time I read the document new
  130. questions come to mind.  Sometimes I agree and other times I don't.
  131. Hopefully the mock ballot will call attention to any ambiguous areas
  132. left in the draft document.
  133.  
  134. Access Controls
  135.  
  136. Both the discretionary and mandatory access control subgroups (DAC and
  137. MAC) are ready for our internal mock ballot. The primary DAC related
  138. changes for draft 10 concerned default access control list (ACL)
  139. behaviour and the command 
  140.     chacl
  141. which changes the ACL.  The MAC group had no hot issues to discuss.
  142.  
  143.  
  144. 1.  Audit
  145.  
  146. The Audit group finished modifying the draft and writing the rationale
  147. for integrity protection, header flexibility, and cross references.
  148. The group felt they cannot address the portable audit format before
  149. balloting, however, they are planning to define the audit trail header
  150. containing:
  151.  
  152.    - POSIX audit indicator field,
  153.  
  154.    - version ID,
  155.  
  156.    - data format indicator (type XDR, little endian, big
  157.      endian),
  158.  
  159.    - time zone offset,
  160.  
  161.    - machine id, and
  162.  
  163.    - audit style.
  164. The audit file format remains up in the air.
  165.  
  166. POSIX.6/POSIX.7/Distributed Services Liaison
  167.  
  168. The liaison group met on Wednesday.  Mike Ressler stepped down and I
  169. became the chair of the group.  We discussed the status of the group
  170. and what we should bring forward to the TCOS-SS Sponsor Executive
  171. Committee (SEC). Everyone agreed that we have enough information to
  172. create a report to the SEC discussing the problems we discovered and
  173. to make recommendations.
  174.  
  175. I will present our report at the July meeting with the help of the
  176. liaison group.  The report will include an overview of each subgroups
  177. objectives, a list of problem areas discovered during our meetings,
  178. and recommendations to solve these problems.  I hope that SEC acts
  179. upon our recommendations.
  180.  
  181. One recommendation we want immediate action on is the lack of a
  182. mechanism to ensure that one POSIX extension can interoperate with
  183. another POSIX extension.  An example of this interoperability issue is
  184. having POSIX.6 and POSIX.8 (Transparent File Access) on the same
  185. system.  We are proposing a new group be formed which will check that
  186. POSIX standards interoperate with each other or to at least document
  187. where different POSIX extensions cannot interoperate.
  188.  
  189.  
  190. Volume-Number: Volume 24, Number 29
  191.  
  192.