Re: [RFC] LSM changes for 2.5.38

From: Valdis.Kletnieksat_private
Date: Mon Sep 30 2002 - 07:19:18 PDT

  • Next message: Olaf Dietsche: "Re: [PATCH] accessfs v0.6 ported to 2.5.35-lsm1 - 1/2"

    On Fri, 27 Sep 2002 19:59:19 BST, Christoph Hellwig said:
    
    > insmod doesn't require modules to be in /lib/modules.
    
    This would probably be closed by this code in sys_create_module():
    
            /* check that we have permission to do this */
            error = security_ops->module_ops->create_module(name, size);
            if (error)
                    goto err1;
    
    Similarly, there are other hooks that will stop renaming of the interface (I
    have to admit I haven't had enough caffeine to verify whether doing a /bin/mv
    to rename an interface will change the name that's presented to the iptables
    rulesets), or did you have other "rename" methods in mind?
    
    > Given that we really want to fine-grained control who's netdevice can get what
    > names we'd` better place a hook in dev_alloc_name.
    
    However, you're missing the point - I was using that as *AN EXAMPLE* of "you
    might want to check what parameters are being passed".  Are you prepared to
    make the same sort of analysis for *EVERY* parameter of *every* module, and
    every combination thereof (including interacting parameters of different
    modules)?
    
    In order to assert that the hook to check parameters in module loading is
    useless, you'd have to verify that there exist *NO* modules that can have their
    security status changed by changing the parameters.  And even more importantly,
    you'd have to make this a permanent restriction on module parameters,
    which puts the onus on "getting it right" on the module author, rather than
    on the LSM author who's in a better position to know what is/isn't acceptable
    for his module.
    
    > And that's my whole point: LSM adds random hooks all over the place without
    > even thinking what they intend to protect.
    
    And quite a bit of thought *did* go into it - a *LOT* of those hooks got added
    along the way precisely *because* the writers of a module found that they were
    trying to enforce a policy, and found it could be backdoored by means like
    module parameters. Yes, there are some hooks that are unused by anything
    at the current time (and there's discussion on the LSM list about pruning those
    hooks), but I'll bet if you ask "why is hook XYZ in there?" on the LSM list,
    somebody will be able to reply with "to close the hole of ABC".
    
    
    
    -- 
    				Valdis Kletnieks
    				Computer Systems Senior Engineer
    				Virginia Tech
    
    
    
    

    _______________________________________________ linux-security-module mailing list linux-security-moduleat_private http://mail.wirex.com/mailman/listinfo/linux-security-module



    This archive was generated by hypermail 2b30 : Mon Sep 30 2002 - 07:21:34 PDT