一种实现操作系统安全的方法和装置的制造方法_2

文档序号:9708678阅读:来源:国知局
操作系统内核被更改,保持原操作系统内核,在步骤102之后,在步骤103之前,进一步包括:建立各种维护策略与钩子操作函数集中钩子函数的对应关系;在将当前操作与第二目标维护策略进行匹配之后,进一步包括:根据对应关系,运行第二目标维护策略对应的钩子操作函数集中的目标钩子函数。
[0050]在本发明一个实施例中,为了保证维护的完整性,当前操作,包括:读、写、执行、删除、重命名以及链接中的任意一种或多种。
[0051 ]在本发明一个实施例中,该方法应用于1 inux内核,此时步骤101的【具体实施方式】:获取sel inux_opS数据结构的内存地址,并将内存地址映射到第二地址。
[0052]如图2所示,本发明另一实施例提供一种实现操作系统安全的方法,该方法可以包括如下步骤:
[0053]步骤200:设置web界面;
[0054]通过该web界面,用户可以选择需要保护的进程和文件等等来实现为这些进程和文件单独编写规范的代码。
[0055]步骤201:获取钩子操作函数集的第一地址,并将第一地址映射到第二地址;
[0056]在该步骤中,以基于selinux实现linux操作系统安全为例展开说明,可以通过获取selinux_opS数据结构的内存地址,并将内存地址映射到第二地址,此时,可在第二地址中也存在相应的se 1 inux_ops数据结构,而用户可对第二地址中的数据结构进行修改。
[0057]步骤202:在第二地址修改钩子操作函数集,预设各种维护策略;
[0058]例如:在该步骤中,可以对创建文件检查的钩子函数进行修改,实现预设新的创建文件检查的维护策略。
[0059]原创建文件检查的钩子函数:
[0060]static int selinux_inode_create(struct inode*dir,struct dentry*dentry,int mask)
[0061]{
[0062]return may_create(dir,dentry,SECCLASS_FILE);
[0063]}
[0064]替换为以下函数(即预设新的创建文件检查的维护策略):
[0065]static int my_selinux_inode_create(struct inode*dir,struct dentry*dentry,int mask)
[0066]{
[0067]/*实现自己的判断代码*/
[0068]return selinux_ops->se1inux_inode_create(dir,dentry,mask);
[0069]//调用原钩子实现
[0070]}
[0071]其中,/*实现自己的判断代码*/过程,是用户可以根据自己的需求配置相应的策略,进一步增强了维护策略配置的灵活性。
[0072]步骤203:建立各种维护策略与钩子操作函数集中钩子函数的对应关系;
[0073]在该步骤中,保证了操作系统内核不被改变,同时,将维护策略与操作系统内核关联,同时保证操作系统内核中原钩子函数的运行。
[0074]步骤204:通过web界面接收选定的至少一个目标,并通过web界面为至少一个目标配置所述各种维护策略中的目标维护策略;
[0075]例如为/etc/passwd文件配置所有操作进程和用户等主体,对/etc/passwd文件具有只读权限,那么,在该步骤中,只需要在web界面选定/etc/passwd文件,在步骤202预设好的维护策略中,选定只读权限的策略配置给/etc/passwd文件。
[0076]步骤205:拦截当前操作;
[0077]上述步骤200至步骤204为实现维护策略的配置过程,在步骤205之后,为配置好的维护策略,在操作系统运行过程中的维护过程。
[0078]在该步骤中,拦截的当前操作,包括:读、写、执行、删除、重命名以及链接中的任意一种或多种。使得操作能够被全面地控制,以保证操作系统的安全性。
[0079]步骤206:获取当前操作对应的当前进程和/或当前文件;
[0080]步骤207:在第一目标维护策略中,确定当前进程和/或当前文件对应的第二目标维护策略;
[0081 ]例如:在前面步骤中,为10个文件一共设置了 100个维护策略,其中,仅有5个维护策略是当前文件的,那么,在该步骤中,仅确定出这5个维护策略,以提高步骤208的匹配效率。
[0082]步骤208:将当前操作与第二目标维护策略进行匹配,判断当前操作是否满足第二目标维护策略,如果是,则执行步骤209;否则,执行步骤210;
[0083]例如:当前操作是对/etc/passwd文件进行读操作,而在前面已经配置了/etc/passwd文件具有只读权限,那么,该当前操作则满足维护策略;相反地,当前操作是对/etc/passwd文件进行修改,而在前面已经配置了/etc/passwd文件具有只读权限,那么,该当前操作则不满足维护策略。
[0084]步骤209:控制操作系统执行当前操作,并执行步骤211;
[0085 ]步骤210:控制操作系统拒绝当前操作;
[0086]步骤211:根据对应关系,运行第二目标维护策略对应的钩子操作函数集中的目标钩子函数。
[0087]例如:创建文件的检查过程,需要运行下面函数,由于下面函数结尾设置了//调用原钩子实现,那么,在运行完下面函数之后,还需要运行内核中原来的钩子函数。
[0088]static int my_selinux_inode_create(struct inode*dir,struct dentry*dentry,int mask)
[0089]{
[0090]/*实现自己的判断代码*/
[0091 ] return selinux_ops->se1inux_inode_create(dir,dentry,mask);
[0092]//调用原钩子实现
[0093]}
[0094]如图3所示,本发明实施例提供一种实现操作系统安全的装置,该装置包括:
[0095]映射单元301,用于获取钩子操作函数集的第一地址,并将第一地址映射到第二地址;
[0096]第一设置单元302,用于在映射单元301映射的第二地址修改钩子操作函数集,预设各种维护策略;
[0097]配置单元303,用于接收选定的至少一个目标,为至少一个目标配置第一设置单元302设置的各种维护策略中的第一目标维护策略。
[0098]如图4所示,在本发明另一实施例中,该装置进一步包括:第二设置单元401,其中,
[0099]第二设置单元401,用于设置web界面;
[0100]配置单元303,用于通过第二设置单元401设置的web界面接收选定的至少一个目标,并通过web界面为至少一个目标配置第一设置单元302预设的各种维护策略中的目标维护策略。
[0101]如图5所示,在本发明又一实施例中,该装置进一步包括:获取单元501、确定单元502、匹配单元503和控制单元504,其中,
[0102]获取单元501,用于拦截当前操作,并获取当前操作对应的当前进程和/或当前文件;
[0103]确定单元502,用于在配置单元303配置的第一目标维护策略中,确定当前进程和/或当前文件对应的第二目标维护策略;
[0104]匹配单元503,用于将获取单元501拦截的当前操作与确定单元502确定的第二目标维护策略进行匹配,判断当前操作是否满足第二目标维护策略,并触发控制单元504;
[0105]控制单元504,用于接收到匹配单元503触发时,如果当前操作满足第二目标维护策略,则控制操作系统执行当前操作,否则,控制操作系统拒绝当前操作。
[0106]在本发明另一实施例中,该装置进一步包括:构建单元和运行单元(图中未示出),其中,
[0107]构建单元,用于建立第一设置单元302预设的各种维护策略与钩子操作函数集中钩子函数的对应关系;
[0108]运行单元,用于根据构建单元建立的对应关系,运行确定单元502确定的第二目标维护策
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1