Has anyone had experience using Sword4J to determine permissions?
http://www.alphaworks.ibm.com/tech/sword4j

>From the site: "The Authorization Analysis functionality determines
which authorizations are needed in order to run Java code when a
SecurityManager is enabled. The Privilege Code Analysis functionality
identifies which portions of code could be made privileged."

On Tue, Nov 25, 2008 at 12:47 PM, John Wilander
<[EMAIL PROTECTED]> wrote:
> Hi all!
>
> I agree with Gunnar on this one.
>
> 2008-11-25 18.00, Gunnar Peterson wrote:
>
>> maybe the problem with least privilege is that it requires that
>> developers:
>>
>> 1. define the entire universe of subjects and objects
>> 2. define all possible access rights
>> 3. define all possible relationships
>> 4. apply all settings
>> 5. figure out how to keep 1-4 in synch all the time
>>
>> do all of this before you start writing code and oh and there are
>> basically no tools that smooth the adoption of the above.
>>
>> i don't think us software security people are helping anybody out in
>> 2008 by doing ritual incantations of a paper from the mid 70s that may
>> or may not apply to modern computing and anyhow is riddled with ideas
>> that have never been implemented in any large scale systems
>
> To the best of my knowledge the security policy framework for Java is more
> or less unused. Why? Because it's designed for static, once-in-a-lifetime
> releases of software.
>
> Writing the policy manually is infeasible so you need to ...
>
> 1. Instrument the code to output what permissions it needs. Typically with a
> custom SecurityManager that logs all checkPermission() calls. See the paper
> reference at the end of this email for more info.
>
> 2. Drive the application with your testbed to actually get the policy
> output. Your test cases won't cover all application code so you'll surely
> miss policy statements. Threading will be a headache here - you need to
> propagate the security context to all running threads so they all output
> their needed permissions.
>
> 3. Then you need to filter out what policy statements actually come from
> your application and not from your application server. That's quite easy
> based on the package names.
>
> 4. The next step is to collapse the resulting gigantic policy to something
> readable, e.g. merging individual file permissions to cover whole folders. A
> lot of parsing and ad hoc rules applied here. You have to write the
> collapsing code yourself. Not too nice.
>
> 5. Now you need to _review_ the generated policy so that it's compliant with
> the desired permissions of the application. Any suspicious policy statements
> will need to be investigated. This is a good driver for code review but
> that's another question. Code changes because of unwanted permissions means
> starting all over.
>
> 6. Then you merge it with the policy file for the application server. There
> is one, huh?
>
> 7. You dig into the application server documentation to sort out policy
> deployment.
>
> 9. System and acceptance testing. You might notice that the server's own
> policy doesn't work (server refuses to start). Why? It hasn't been
> maintained since nobody uses it. Good luck on updating that one. Here the
> missed policy statements from 2 hopefully will be found as security
> exceptions. Update testbed and re-iterate the whole process.
>
> 10. Time to ship. Off you go!
>
> 11. Darn! We need to patch a few things and release version 1.3.1. Guys, we
> need to start all over again with the policy. Anyone up for it?
>
>
> If I'm totally wrong please tell me what to do. I'd really like to deploy
> maintainable security policies. Mark Petrovic has written some good things
> on this issue
> (http://www.onjava.com/pub/a/onjava/2007/01/03/discovering-java-security-req
> uirements.html).
>
>   Regards, John Wilander
>
> --
> John Wilander, Security Architect
> www.omegapoint.se
>
> _______________________________________________
> Secure Coding mailing list (SC-L) SC-L@securecoding.org
> List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l
> List charter available at - http://www.securecoding.org/list/charter.php
> SC-L is hosted and moderated by KRvW Associates, LLC (http://www.KRvW.com)
> as a free, non-commercial service to the software security community.
> _______________________________________________
>



-- 
Rohit Sethi
Security Compass
http://www.securitycompass.com
_______________________________________________
Secure Coding mailing list (SC-L) SC-L@securecoding.org
List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l
List charter available at - http://www.securecoding.org/list/charter.php
SC-L is hosted and moderated by KRvW Associates, LLC (http://www.KRvW.com)
as a free, non-commercial service to the software security community.
_______________________________________________

Reply via email to