From: ramsdell@mitre.org (John D. Ramsdell)
To: Karl MacMillan <kmacmillan@tresys.com>
Cc: SE Linux <selinux@tycho.nsa.gov>
Subject: Re: Information flow models
Date: 10 Dec 2003 08:18:17 -0500 [thread overview]
Message-ID: <ogtu148yfom.fsf@divan.mitre.org> (raw)
In-Reply-To: <1070906232.6729.53.camel@colossus.columbia.tresys.com>
Karl MacMillan <kmacmillan@tresys.com> writes:
> In the soon to be released version nodes represent either a
> type used as a source or a type / object class pair used as a
> target.
...
> The new version would generate a graph that looks like this:
>
> [a_t]<-[b_t:blk_file] [b_t:tcp_socket]<-[c_t]
I'm afraid I am unable to understand the model of information flow you
describe. I expected a permission would be a part of what is used to
label either an edge or a node, but no such label appears.
The mls file I'm currently using states that system calls that must
meet the file getattr control requirement have read-like flow, and the
ones that meet the file setattr control requirement have write-like
flow. System calls that must meet file relabelfrom have information
flow in both direction, and the ones that meet file lock have no flow
as a result of this requirement.
How does your representation handle information flow caused by system
calls that must meet the file setattr control requirement?
Additionally, please expand on the discussion on transitivity. I
could not see why you changed away from nodes as types, and edges
labeled with a control requirement. What was the motivation for the
change?
> I have no idea how slat handles these problems (or even if it does). I
> tried to empirically test these examples with slat, but couldn't get
> things working in the time I had to devote to this.
If you send me specific questions with transcripts, I'll help you get
slat running. Be sure to include a description of the platform on
which you are running slat. As a first pass, I recommend running on a
version of Linux that does not have SELinux enabled so you don't have
to worry about policy violations. Model checking goes faster if you
have a machine with muscle.
> > Using a security context as a node gives a model that more accurately
> > reflects the policy being analyzed,
>
> I'm not convinced that the information gained is useful or important in
> the context of information flow.
We need to agree on what is meant by information flow before this
discussion is useful, so I'll get back to you on this one.
> First, how large are the graphs? I have large policies that create
> graphs with over 8,000 nodes that our system handles easily
> (analysis takes less than 5 seconds).
>
> Model checkers might be a valid way to solve these problems, but I
> doubt that the graphs are large enough that standard graph
> algorithms fail.
We use a model checker because our security goals make assertions
about all possible paths through the information flow graph. Using
graph traversal algorithms to perform the same checks would require the
enumeration of every path in the flow graph. Furthermore, many paths
are infinite, so one would have to handle loops.
John
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2003-12-10 13:18 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-05 14:57 Problems loading policy Stephen
2003-12-05 18:36 ` Dale Amon
2003-12-05 20:32 ` Information flow models John D. Ramsdell
2003-12-08 17:57 ` Karl MacMillan
2003-12-10 13:18 ` John D. Ramsdell [this message]
2003-12-10 15:11 ` Karl MacMillan
2003-12-10 15:29 ` John D. Ramsdell
2003-12-10 15:37 ` Karl MacMillan
2003-12-10 19:06 ` Joshua D. Guttman
2003-12-10 20:18 ` Karl MacMillan
2003-12-11 13:10 ` John D. Ramsdell
2003-12-11 16:04 ` Karl MacMillan
2003-12-11 17:43 ` Joshua D. Guttman
2003-12-11 20:23 ` Stephen Smalley
2003-12-11 20:45 ` Stephen Smalley
2003-12-11 20:46 ` Karl MacMillan
2003-12-11 21:00 ` Stephen Smalley
2003-12-23 19:12 ` Trent Jaeger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ogtu148yfom.fsf@divan.mitre.org \
--to=ramsdell@mitre.org \
--cc=kmacmillan@tresys.com \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.