[trustable-software] Integrating software security in the Trustable framework
Paul Albertella
paul.albertella at codethink.co.uk
Fri May 24 11:18:17 BST 2019
Hi,
On 24/05/2019 09:59, Charles-H. Schulz wrote:
> This could be somewhat tricky considering that security requirements are
> usually applied as a group of criteria marking a specific level of
> security. Taken individually, each requirement may not mean much,
> because it has to be considered in connection with other demands.
> But let's see, it could be possible to select some higher level security
> criteria that could be included in the Trustable framework.
Apologies for the confusion - that's not what I meant to suggest.
I understand that you would want to consider a full set of security
requirements when considering whether a piece of software meets a
specified level of security. What I am interested to understand is
whether it is possible to describe such a set of requirements using our
model, which may mean focussing on some specific types of criteria
initially, in order to identify where this may be difficult.
However, I appreciate that working with an unproven and incomplete
abstract model (see next comment) has its own challenges, so it may be
better to focus on identifying these types of criteria for security and
describing how existing standards and certification programmes expect
software creators to demonstrate that they've been met.
> Thank you. I actually have a question on the HAP model: do you happen to
> have a page or some sort of resources explaining clearly how it works?
The HAP model is what we refer to as 'the ontology' in the current
versions of the documents. It is still a work in progress, so there is
no user-friendly explanation or illustration of how it works yet, but
the following document describes the basic model:
https://gitlab.com/trustable/documents/blob/master/ontology/elements.md
and this document describes the higher-level concepts:
https://gitlab.com/trustable/documents/blob/master/ontology/concepts.md
As you'll see, the focus is on modelling the process of proposing,
reviewing and incorporating changes to artifacts into a history, which
we believe must underpin any formalised software engineering process.
The higher-level concepts frame the desired characteristics and
constraints for the software and the system that it will realise, and
the process of creating and refining it.
Note that 'artifacts' in this context means everything associated with
the creation of software, including source code, tests, binary
dependencies and intermediate outputs, requirements, build scripts,
design docs and anything else that might be used in the process.
It's also important to stress that, while 'history' in this context
might mean a single git repository (or some other VCS) and could equally
be something less sophisticated (e.g. a mailing list or a shared file
system), in practice, it is likely to be something a *lot* more complex
e.g. a coordinated set of dev and test repositories, requirements
database(s) and/or issue management system(s).
Regards,
Paul
More information about the trustable-software
mailing list