Hi!

The saga continues. Now we look at the development assurance
measures. Unfortunately this part is where open source is
not good at (not saying that closed source is better).
This is because writing documentation is quite
boring, and ADV is about writing design documentation.

I personally think that the mental activities behind this
assurance class are done in most part, and most of the
information is available scattered throught mailing lists
and documentations. Also, the code speaks for itself:)
Unfortunately this is not an excuse.

I would be happy to find that my assumptions are false, so
feel free to correct me.

I will only list requirements corresponding to EAL3 where
they are not easily met.

ADV_FSP.1 Informal functional specification (EAL1-3)
ADV_FSP.1.1D   The developer shall provide a functional specification.
        (Well, this is lacking for the distribution as a whole,
        and for most of the packages.)
ADV_FSP.1.1C   The functional specification shall describe the TSF and
        its external interfaces using an informal style.
        (The trusted security functions aren't identified.
        However if they would be identified, the corresponding manpages
        would more than suffice.)
ADV_FSP.1.2C   The functional specification shall be internally
        consistent.
        (I think the manpages meet this)
ADV_FSP.1.3C   The functional specification shall describe the purpose
        and method of use of all external TSF interfaces, providing
        details of effects, exceptions and error messages, as
        appropriate.
        (Also, man pages meet this)
ADV_FSP.1.4C   The functional specification shall completely represent
        the TSF.
        (If we would know what the TSF is...)

ADV_FSP.2.5 is EAL4, and more with the following requirement:
ADV_FSP.2.5C The functional specification shall include rationale
        that the TSF is completely represented.
        (I guess it would be easy to do if we could define the TSF).


ADV_HLD.2 Security enforcing high-level design (EAl3, EAL4)

ADV_HLD.2.1D The developer shall provide the high-level design of the
        TSF.
        (Some packages have developers' guide. Some don't. Those
        which have may or may not give an appropriate high level
        design.)
ADV_HLD.2.1C The presentation of the high-level design shall be
        informal.
        (well, if they have, it is informal)
ADV_HLD.2.2C The high-level design shall be internally consistent.
        (sometimes...)
ADV_HLD.2.3C The high-level design shall describe the structure of the
        TSF in terms of subsystems.
        (some do, some don't)
ADV_HLD.2.4C The high-level design shall describe the security
        functionality provided by each subsystem of the TSF.
        (maybe pam does this, rsbac and selinux does this,
        others don't I'm afraid)
ADV_HLD.2.5C The high-level design shall identify any underlying
        hardware, firmware, and/or software required by the TSF
        with a presentation of the functions provided by the
        supporting protection mechanisms implemented in that
        hardware, firmware, or software.
        (the identification is done in the dependencies. the
        presentation of supporting protection mechanisms is
        very rare.)
ADV_HLD.2.6C The high-level design shall identify all interfaces to the
        subsystems of the TSF.
        (back to man pages. I think it is in better shape than the
        other parts)
ADV_HLD.2.7C The high-level design shall identify which of the
        interfaces to the subsystems of the TSF are externally visible.
        (if the interfaces are described, it most probably does)
ADV_HLD.2.8C The high-level design shall describe the purpose and method
        of use of all interfaces to the subsystems of the TSF, providing
        details of effects, exceptions and error messages, as
        appropriate.
        (some do, some don't)

ADV_IMP.2 Implementation of the TSF (EAL5)
        (Yes, we are good at it. This is what open source is about.)
ADV_IMP.2.1D   The developer shall provide the implementation
        representation for the entire TSF.
        (Use the source, Luke!)
ADV_IMP.2.1C   The implementation representation shall unambiguously
        define the TSF to a level of detail such that the TSF can be
        generated without further design decisions.
        (run debuild, and do not think even a bit:)
ADV_IMP.2.2C   The implementation representation shall be internally
        consistent.
        (It would not compile othervise. Okay, some packages need
        code cleanup.)
ADV_IMP.2.3C   The implementation representation shall describe the
relationships between all portions of the implementation.
        (The Depends: et al control fields)

ADV_IMP.3, which is EAL7, is more with:
ADV_IMP.3.4C The implementation representation shall be structured into
        small and comprehensible sections.
        (I don't know if having several packages or having several
        source files in packages counts as an answer to it.)

ADV_INT.1 Modularity (EAL5)
(If we take packages as modules, we are good at it. I would not say
the same for modules of all packages though.)
ADV_INT.1.1D The developer shall design and structure the TSF in a
        modular fashion that avoids unnecessary interactions between
        the modules of the design.
        (This is a practice of open source developers. We could not
        work otherwise.)
ADV_INT.1.2D The developer shall provide an architectural description.
        (some do, some don't)
ADV_INT.1.1C The architectural description shall identify the modules of
        the TSF.
        (some don't, some don't)
ADV_INT.1.2C The architectural description shall describe the purpose,
        interface, parameters, and effects of each module of the TSF.
        (manpages)
ADV_INT.1.3C The architectural description shall describe how the TSF
        design provides for largely independent modules that avoid
        unnecessary interactions.
        (some do, some don't)

ADV_RCR.1 Informal correspondence demonstration (EAL1-4)
ADV_RCR.1.1D   The developer shall provide an analysis of correspondence
        between all djacent pairs of TSF representations that are
        provided.
        (It should not so hard, but don't know what counts as analysis
        of correspondence. Should look it up in CEM.)
ADV_RCR.1.1C   For each adjacent pair of provided TSF representations,
        the analysis shall demonstrate that all relevant security
        functionality of the more abstract TSF representation is
        correctly and completely refined in the less abstract TSF
        representation.
        (hmmm.)


-- 
GNU GPL: csak tiszta forrásból


Reply via email to