[apparmor] GSoC proposal text v2
Christian Boltz
apparmor at cboltz.de
Mon Mar 11 00:56:42 UTC 2013
Hello,
Am Sonntag, 10. März 2013 schrieb John Johansen:
> On 03/10/2013 07:54 AM, Christian Boltz wrote:
> > Am Samstag, 9. März 2013 schrieb John Johansen:
> >> The base part of the project will be to implement a library and
> >> basic
> >> tool using the library that can develop a profile from logs files,
> >
> > + (audit.log)
>
> hrmm what do you mean by audit.log? While log files is vague
> (intentially), audit.log might be too specific. As that could be
> construed as not working while syslog etc.
I just wanted to give a hint - of course syslog is also possible.
> >> The remainder of the project will be to extend the base library and
> >> tool, in any of several possible directions:
> >>
> >> doing inter-rule and inter-profile static analysis,
> >
> > What do you mean with that?
>
> Ah, inter-rule analysis is analyzing the rules with in the profile,
> so simplification, suggesting pattern matches, identifying potential
> security problems (overlapping w and x). So what genprof/logprof
> currently do and then some.
Ah, OK. Should we mention this in the description? (IMHO: yes, and it
should be a must-have)
> inter-profile would be doing that type of analysis between profiles.
> So you could discover and pull out common abstractions, point out
> potential security issues (overlapping w and x, alias or hardlink
> rules that result in things being less secure, ...)
Especially the part about pulling out abstractions sounds useful ;-) but
nevertheless I'd call this optional.
> >> doing static analysis on applications
> >> to extract possible rule patterns,
> >
> > In other words and extremely simplified:
> > strings /usr/bin/foo | grep /
> > ? ;-)
>
> err yeah that could be a common pattern but I was hoping for more,
> like say noticing that a whole bunch of profiles are doing just read
> accesses on /usr/share/icons/ based files and suggesting that this
> could be globbed maybe even made into/added to an include abstraction.
OK, so my understanding was correct - and there's a reason why I wrote
"extremely simplified" ;-)
Anyway, this might become interesting[tm] because if you want to get the
full picture, it will have to follow each library etc. - and OTOH it
should only honor the parts of a library that are actually used by the
application.
I have a feeling that running aa-logprof is easier and faster ;-)
> >> or developing a better interface that will aid the user in being
> >> able to find abstractions,
> >
> > That's already part of aa-logprof/aa-genprof, so I wouldn't put this
> > in the part with optional stuff.
>
> Well I wanted to give some freedom of direction for a student. So if
> they where really interested in doing profile analysis they could
> focus on that, or if they are interested in human interface design
> they could focus there.
There's nothing wrong with that as long as we get something that can
fully replace aa-logprof ;-)
> > I'd also
> > + The profile development tool should be written in Python or Go.
> >
> > (assuming Go is another programming language you'd like ;-)
>
> Well yes and no. Its a possibility and it is something that I am
> supposed to learn, so its in the set of languages for maintenance.
BTW: would perl also be an option or do you want to get rid of it?
> >> Skill Level: Intermediate - Hard (depends on implementation route)
> >>
> >> Mentor: John Johansen, Christian Boltz
> >
> > Looks like I might have a new "job" in the summer ;-) No problem,
> > but I'll probably forward the more technical questions to you.
>
> Right, well I expected it would be mostly be you acting as a second
> point of contact.
OK.
> And uh might explain things in more understandable
> terms than me.
;-)
> Alright and now for v2 of the text, I've taken most of Christian's
> suggestions and reworded a few things to hopefully make them easier to
> understand.
The text looks quite good, and the next round (after integrating some
of the things from above and the inline comments) could be the final
one ;-)
> AppArmor profile development tool
>
> Description: The AppArmor project is a MAC like security extension for
> Linux. Its policy is based around profiles that are used to define
> the set of permission an application will be granted.
>
> The project goal is to implement a new smarter profile development
> tool, that is better at creating abstractions, and inter-profile
> policy analysis.
>
> The base part of the project will be to implement a library and basic
> tool using the library that can develop a profile from audit log
> files, and basic user interaction. This tool will replace the
> existing aa-logprof and aa-genprof tools, which are unmaintained and
> out of date.
>
> The remainder of the project will be to extend the base library and
> tool, in any of several possible directions: doing analysis on the
> interaction of rules within a profile as well as how the profiles
> interact, doing static analysis on applications to extract possible
> rules and rule patterns, creating a tool to merge multiple profiles
> into (working similar to logprof, but takes a profile instead of a
into _one_ - or drop "into"
> log as input) or developing a better interface that will aid the user
> in being able to find abstractions, and analyze inter-profile
> behavior.
This paragraph is probably better readable if you
- split it to a bullet list
- add a short description or example to every part
I'd also add "update the YaST module to work with the new code" as
another point.
> Required knowledge: Python or Go,
> Helpful knowledge: C and Perl as some components are written in these
> languages YCP (if the student decides to update the YaST module as
> part of depenent on implementation route), some knowledge of Perl
> would be good but is not required
>
> Skill Level: Intermediate - Hard (depends on implementation route)
>
> Mentors: John Johansen, Christian Boltz
>
> Student:
Regards,
Christian Boltz
--
> > Danke an alle, die mir bei der Geburt geholfen haben, das Baby
> > brennt ;)
> Hat das weh getan, ein brennendes Baby zu gebären? *scnr* ;)))
Qualmt es der Mama neben dem Schenkel,
weiss der Opa, es gibt 'nen heißen Enkel!
[> Michael Raab und Thorsten von Plotho-Kettner in suse-linux]
More information about the AppArmor
mailing list