オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.7.x/ccs-patch/README.ccs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1052 by kumaneko, Mon Mar 24 03:50:04 2008 UTC revision 1093 by kumaneko, Tue Apr 8 05:48:22 2008 UTC
# Line 1  Line 1 
1  Notes for TOMOYO Linux project  Notes for TOMOYO Linux project
2    
3  This is a handy Mandatory Access Control patch for Linux kernels.  This is a handy Mandatory Access Control patch for Linux kernels.
4  This patch is released under the GPL.  This patch is released under the GPLv2.
5    
6  Project URL: http://tomoyo.sourceforge.jp/  Project URL: http://tomoyo.sourceforge.jp/
7    
# Line 1247  Fix 2008/02/29 Line 1247  Fix 2008/02/29
1247        By default, this handler does nothing (i.e. merely reject execve()        By default, this handler does nothing (i.e. merely reject execve()
1248        request). You can specify any program to start what you want to do.        request). You can specify any program to start what you want to do.
1249    
1250        You can redirect attackers to somewhere else (e.g. honeypot).        You can redirect attackers to somewhere else (e.g. honey pot).
1251        This makes it possible to act your Linux box as an on-demand honeypot        This makes it possible to act your Linux box as an on-demand honey pot
1252        while keeping regular services for your usage.        while keeping regular services for your usage.
1253    
1254        You can collect information of the attacker (e.g. IP address) and        You can collect information of the attacker (e.g. IP address) and
# Line 1301  Fix 2008/03/04 Line 1301  Fix 2008/03/04
1301    
1302  Fix 2008/03/10  Fix 2008/03/10
1303    
1304      @ Rename "force_alt_exec" keyword to "preferred_execute_handler".      @ Rename "force_alt_exec" keyword to "execute_handler".
1305    
1306        To be able to use different programs for validating execve() parameters,        To be able to use different programs for validating execve() parameters,
1307        I moved the location to specify the program's pathname from profile        I moved the location to specify the program's pathname from profile
1308        to domain policy.        to domain policy.
1309    
1310        The "preferred_execute_handler" keyword takes one pathname which is        The "execute_handler" keyword takes one pathname which is
1311        invoked whenever execve() request is issued. Thus, any "allow_execute"        invoked whenever execve() request is issued. Thus, any "allow_execute"
1312        keywords in a domain with "preferred_execute_handler" are ignored.        keywords in a domain with "execute_handler" are ignored.
1313        This keyword is designed for validating expected/desirable execve()        This keyword is designed for validating expected/desirable execve()
1314        requests in userspace, although there is no way to tell the caller        requests in userspace, although there is no way to tell the caller
1315        that the execve() request was rejected.        that the execve() request was rejected.
1316    
1317      @ Rename "alt_exec" keyword to "default_execute_handler".      @ Rename "alt_exec" keyword to "denied_execute_handler".
1318    
1319        The "default_execute_handler" keyword takes one pathname which is        The "denied_execute_handler" keyword takes one pathname which is
1320        invoked only when execve() request was rejected. In other words,        invoked only when execve() request was rejected. In other words,
1321        this program is invoked only when the following conditions are met.        this program is invoked only when the following conditions are met.
1322    
1323          (1) None of "allow_execute" keywords in the domain didn't match.          (1) None of "allow_execute" keywords in the domain matched.
1324          (2) The execve() request was rejected in enforcing mode.          (2) The execve() request was rejected in enforcing mode.
1325          (3) "preferred_execute_handler" keyword is not used by the domain.          (3) "execute_handler" keyword is not used by the domain.
1326    
1327        This keyword is designed for handling unexpected/undesirable execve()        This keyword is designed for handling unexpected/undesirable execve()
1328        requests, to redirect the process issuing such requests to somewhere.        requests, to redirect the process issuing such requests to somewhere.
# Line 1336  Fix 2008/03/18 Line 1336  Fix 2008/03/18
1336    
1337        Locking order in pre_vfs_link() and pre_vfs_unlink() for 2.4 kernels        Locking order in pre_vfs_link() and pre_vfs_unlink() for 2.4 kernels
1338        after 2.4.33 were different from before 2.4.32 .        after 2.4.33 were different from before 2.4.32 .
1339    
1340    Fix 2008/03/28
1341    
1342        @ Disable execute handler loop.
1343    
1344          To be able to use "execute_handler" in a "keep_domain" domain,
1345          ignore "execute_handler" and "denied_execute_handler" keywords
1346          if the current process is executing programs specified by
1347          "execute_handler" or "denied_execute_handler" keyword.
1348    
1349          This exception is needed to avoid infinite execute handler loop.
1350          If a domain has both "keep_domain" and "execute_handler",
1351          any execute request by that domain is handled by an execute handler,
1352          and the execute handler attempts to process original execute request.
1353          But the original execute request is handled by the same execute handler
1354          unless the execute handler ignores "execute_handler".
1355    
1356        @ Update coding style.
1357    
1358          I rewrote the code to pass scripts/checkpatch.pl as much as possible.
1359          Function names were changed to use only lower letters.
1360    
1361    Version 1.6.0 2008/04/01   Feature enhancement release.
1362    
1363    Fix 2008/??/??
1364    
1365        @ Fix "Compilation failures" and "Initialization ordering bugs"
1366          with kernels before 2.4.30/2.6.11 .
1367    
1368          2.6 kernels before 2.6.9 didn't have include/linux/hardirq.h ,
1369          resulting compilation error at #include <linux/hardirq.h> .
1370          I added #elif condition.
1371    
1372          2.6 kernels before 2.6.11 calls do_execve() before initialization of
1373          ccs_alloc(), resulting NULL pointer dereference.
1374          I changed __initcall to fs_initcall.
1375    
1376          Some distributions with 2.6.9 kernels backported kzalloc() from 2.6.14 ,
1377          resulting compilation error at kzalloc().
1378          I modified prototype of kzalloc().

Legend:
Removed from v.1052  
changed lines
  Added in v.1093

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26