书签 分享 收藏 举报 版权申诉 / 13

审计系统及审计检测方法.pdf

  • 上传人:1**
  • 文档编号:4704122
  • 上传时间:2018-10-28
  • 格式:PDF
  • 页数:13
  • 大小:844.13KB
  • 摘要
    申请专利号:

    CN201410640780.6

    申请日:

    2014.11.13

    公开号:

    CN104392173A

    公开日:

    2015.03.04

    当前法律状态:

    驳回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的驳回IPC(主分类):G06F 21/55申请公布日:20150304|||实质审查的生效IPC(主分类):G06F 21/55申请日:20141113|||公开

    IPC分类号:

    G06F21/55(2013.01)I; H04L29/06

    主分类号:

    G06F21/55

    申请人:

    普华基础软件股份有限公司

    发明人:

    江水; 车烈权; 张志高

    地址:

    200030上海市徐汇区虹漕路448号1幢12楼

    优先权:

    专利代理机构:

    上海申新律师事务所31272

    代理人:

    朱俊跃

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了审计系统及审计检测方法,所述审计系统的接收单元用以接收启动信号或审计事件,所述审计事件由多条日志记录组成;存储单元用以存储所述审计事件;检测单元连接所述存储单元,用以对所述审计事件中的每条日志记录逐条进行检测,检测所述日志记录是否存在入侵行为;处理单元连接所述接收单元、所述存储单元和所述检测单元,用以根据所述启动信号读取所述审计系统内预设的配置文件,启动所述检测单元;执行单元连接所述检测单元,用以根据所述检测单元的检测结果执行相应的操作。本发明能检测出多种以合法权限对系统进行的入侵,并将其强制终止;可适时的入侵进行检测;精确的入侵检测;用简单、有效的方式对入侵进行处理。

    权利要求书

    权利要求书
    1.  一种审计系统,其特征在于,包括:
    接收单元,用以接收启动信号或审计事件,所述审计事件由多条日志记录组成,每条所述日志记录至少包括一个表示所述日志记录对应类型的字段和一个表示所述日志记录所在终端的字段;
    存储单元,用以存储所述审计事件;
    检测单元,连接所述存储单元,用以对所述审计事件中的每条日志记录逐条进行检测,检测所述日志记录是否存在入侵行为;
    处理单元,连接所述接收单元、所述存储单元和所述检测单元,用以根据所述启动信号读取所述审计系统内预设的配置文件,启动所述检测单元;
    执行单元,连接所述检测单元,用以根据所述检测单元的检测结果执行相应的操作。

    2.  如权利要求1所述审计系统,其特征在于,所述检测单元包括:
    解析模块,用以对所述审计事件中的每条日志记录进行解析,获取表示所述日志记录所在终端及类型字段的键值。

    3.  如权利要求2所述审计系统,其特征在于,所述检测单元还包括:
    匹配模块,连接所述解析模块,用以将与所述日志记录的类型字段键值与预设类型字段键值进行匹配,获取检测结果。

    4.  如权利要求3所述审计系统,其特征在于,所述执行单元包括:
    识别模块,用以识别所述检测结果是强制终止所述日志记录进程的原始进程模式还是强制终止所述日志记录所在终端下的所有进程的相关进程模式。

    5.  如权利要求4所述审计系统,其特征在于,所述执行单元还包括:
    第一终止模块,连接所述识别模块,用以强制终止属于原始进程模式的所述日志记录的对应的原始进程。

    6.  如权利要求4所述审计系统,其特征在于,所述执行单元还包括:
    第二终止模块,连接所述识别模块,用以强制终止属于相关进程模式的所述日志记录所在终端下的所有进程。

    7.  一种审计检测方法,应用于如权利要求1所述审计系统,其特征在于,包括下列步骤:
    A1.接收启动信号;
    A2.读取所述审计系统内预设的配置文件,启动所述检测单元;
    A3.判断是否接收到审计事件,若否,执行A4;若是,执行A5;
    A4.所述检测单元处于休眠状态,执行A3;
    A5.存储所述审计事件;
    A6.对所述审计事件中的每条日志记录逐条进行检测。

    8.  如权利要求7所述审计检测方法,其特征在于,所述步骤A6包括:
    A61.对所述审计事件中的每条日志记录进行解析,获取表示所述日志记录的类型字段键值;
    A62.将与所述日志记录的类型字段键值与预设类型字段键值进行匹配,获取检测结果。

    9.  如权利要求7所述审计检测方法,其特征在于,还包括:
    A7.逐条检测所述日志记录是否存在入侵行为,若是强制终止所述日志记录的对应的原始进程或所述日志记录所在终端下的所有进程,若没有检测下一条日志记录,直到所有日志记录检测完毕,检测单元进入休眠状态。

    说明书

    说明书审计系统及审计检测方法
    技术领域
    本发明涉及系统安全领域,尤其涉及一种审计系统及基于审计系统的入侵检测方法。
    背景技术
    安全威胁从计算机诞生开始就从未减少。为了抵御各种安全威胁,人们设计了许多技术及机制。例如Linux系统中最基础的自主访问控制(DAC)、防火墙和扩张强制访问控制安全模式(Security-Enhanced Linux,SELinux)等,都对保护系统安全发挥了巨大的作用。但传统的安全机制存在的漏洞在于,这些机制都是在入侵发生前或发生时对不符合权限的操作进行阻止;当入侵者突破了这些系统,以合法权限对系统进行破坏时,传统安全机制无法做出有效的应对,从而对系统的安全造成威胁。
    发明内容
    针对传统的安全机制存在的上述问题,现提供一种旨在实现可以对成功的(或不成功的)突破系统安全的企图进行检测及终止的审计系统及审计检测方法。
    具体技术方案如下:
    一种审计系统,包括:
    接收单元,用以接收启动信号或审计事件,所述审计事件由多条日志记录组成,每条所述日志记录至少包括一个表示所述日志记录对应类型的字段和一个表示所述日志记录所在终端的字段;
    存储单元,用以存储所述审计事件;
    检测单元,连接所述存储单元,用以对所述审计事件中的每条日志记录逐条进行检测,检测所述日志记录是否存在入侵行为;
    处理单元,连接所述接收单元、所述存储单元和所述检测单元,用以根据所述启动信号读取所述审计系统内预设的配置文件,启动所述检测单元;
    执行单元,连接所述检测单元,用以根据所述检测单元的检测结果执行相应的操作。
    优选的,所述检测单元包括:
    解析模块,用以对所述审计事件中的每条日志记录进行解析,获取表示所述日志记录所在终端及类型字段的键值。
    优选的,所述检测单元还包括:
    匹配模块,连接所述解析模块,用以将与所述日志记录的类型字段键值与预设类型字段键值进行匹配,获取检测结果。
    优选的,所述执行单元包括:
    识别模块,用以识别所述检测结果是强制终止所述日志记录进程的原始进程模式还是强制终止所述日志记录所在终端下的所有进程的相关进程模式。
    优选的,所述执行单元还包括:
    第一终止模块,连接所述识别模块,用以强制终止属于原始进程模式的所述日志记录的对应的原始进程。
    优选的,所述执行单元还包括:
    第二终止模块,连接所述识别模块,用以强制终止属于相关进程模式的 所述日志记录所在终端下的所有进程。
    一种审计检测方法,应用所述审计系统,包括下列步骤:
    A1.接收启动信号;
    A2.读取所述审计系统内预设的配置文件,启动所述检测单元;
    A3.判断是否接收到审计事件,若否,执行A4;若是,执行A5;
    A4.所述检测单元处于休眠状态,执行A3;
    A5.存储所述审计事件;
    A6.对所述审计事件中的每条日志记录逐条进行检测。
    优选的,所述步骤A6包括:
    A61.对所述审计事件中的每条日志记录进行解析,获取表示所述日志记录的类型字段键值;
    A62.将与所述日志记录的类型字段键值与预设类型字段键值进行匹配,获取检测结果。
    优选的,还包括:
    A7.逐条检测所述日志记录是否存在入侵行为,若是强制终止所述日志记录的对应的原始进程或所述日志记录所在终端下的所有进程,若没有检测下一条日志记录,直到所有日志记录检测完毕,检测单元进入休眠状态。
    上述技术方案的有益效果:
    1)能检测出多种以合法权限对系统进行的入侵,并将其强制终止;
    2)可适时(适时不是指实时,实时的入侵检测会带来响应速度变慢问题)的入侵进行检测;
    3)精确的入侵检测;
    4)用简单、有效的方式对入侵进行处理。
    附图说明
    图1为本发明所述审计系统的一种实施例的模块图;
    图2为本发明所述审计系统与传统审计终止的安全机制关系图;
    图3为本发明所述审计检测方法的一种实施例的方法流程图。
    具体实施方式
    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
    需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
    下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
    如图1所示,一种审计系统,包括:
    接收单元1,用以接收启动信号或审计事件,审计事件由多条日志记录组成,每条所述日志记录至少包括一个表示所述日志记录对应类型的字段和一个表示所述日志记录所在终端的字段;
    存储单元3,用以存储审计事件;
    检测单元4,连接存储单元3,用以对审计事件中的每条日志记录逐条进行检测,检测日志记录是否存在入侵行为;
    处理单元2,连接接收单元1、存储单元3和检测单元4,用以根据启动信号读取审计系统内预设的配置文件,启动检测单元4;
    执行单元5,连接检测单元4,用以根据检测单元4的检测结果执行相应的操作。
    其中,审计事件是指所有拥有相同主机、时间戳和事件序列号的日志记录。在同一台主机上的每个事件都拥有唯一的时间戳和序列号。
    该审计系统设置于一分部式集群网络中,该网络中包括多个服务器,该系统用以接收该网络中每个服务器发送的审计事件,并逐条对每个审计事件进行检测。在本实施例中检测单元4通过在审计系统的服务进程中增加一个插件检测程序来实现,当审计系统启动后,嵌套于处理单元2中的分发程序audisp随之启动,通过该分发程序读取审计系统中自身已经存在的插件的配置文件(预设的配置文件)。如果存在可用的插件,则由分发程序来启动该插件,并使用socket套接字来进行分发程序及插件之间的进程间通信,插件的标准输入被重定向为socket套接字。当审计系统中发生审计事件,并产生审计日志信息时,通过分发程序将所有审计事件发送给已启动的插件检测程序。
    如图2所示,本实施例的处理机制与传统安全机制之间的关系。从图2中可以看出,入侵者在入侵过程中首先需要突破传统安全机制的权限检查,如果在这个过程中出现错误,入侵者就会被防火墙或者SELinux或者DAC权限控制机制等拒之门外,无法对系统进行控制或操作。当入侵者突破了上述安全机制,对系统进行控制或操作,会触发审计事件发生,审计系统控制行为通过接收单元检测到入审计事件,通过检测单元检测到入侵者,通过终止单元将入侵行为强行终止。
    在优选的实施例中,检测单元4可包括:
    解析模块41,用以对审计事件中的每条日志记录进行解析,获取表示日志记录所在终端及类型字段的键值。
    在本实施例中当插件检测程序启动后会读取自身的配置文件,配置文件详细设置了针对各种疑似入侵行为的处理内容。包括:使能/禁用开关、处理方式等。通过配置文件,系统管理员可以清晰地对每种疑似入侵行为进行精细化处理。配置文件样板如下:
    detect_avc=yes
    avc_action=idmef
    detect_logins=no
    login_action=idmef
    detect_login_fail_max=yes
    login_fail_max_action=kill
    detect_login_session_max=yes
    login_session_max_action=session
    detect_login_location=yes
    login_location_action=idmef,session
                   ……
    在本实施例中的插件检测程序在读取配置文件无误后,会初始化Auparse解析工具。Auparse库是由审计系统提供的解析审计事件的接口。利用Auparse工具可以对从分发程序接收到的审计事件通过存储单元3进行储存、采用解析模块41对审计事件进行分析、以及进行提取等操作。一个审计事件由多条日志记录组成,每条记录用来描述事件不同方面的信息。每条记录所描述的方向由记录的类型字段来表示。记录中的信息都是由用等号连接的键值对来表示,每个键值对用逗号或空白分割。这些键值包括:
    acct-alphanumeric,a user's account name
    addr-the remote address that the user is connecting from
    arch-numeric,the elf architecture flags
    audit_backlog_limit-numeric,audit system's backlog queue size
    audit_enabled-numeric,audit systems's enable/disable status
    audit_failure-numeric,audit system's failure mode
    auid-numeric,login user id
    comm-alphanumeric,command line program name
    cwd-path name,the current working directory
    dev-numeric,in path records,major and minor for device
    dev-in avc records,device name as found in/dev
    egid-numeric,effective group id
    euid-numeric,effective user id
    exe-path name,executable name
    exit-numeric,syscall exit code
    file-file name
    flags-numeric,file system namei flags
    format-alphanumeric,audit log's format
    fsgid-numeric,file system group id
    fsuid-numeric,file system user id
    gid-numeric,group id
    hostname-alphanumeric,the hostname that the user is connecting from
    id-numeric,during account changes,the user id of the account
    inode-numeric,inode number
    inode_gid-numeric,group id of the inode's owner
    inode_uid-numeric,user id of the inode's owner
    item-numeric,which item is being recorded
    items-numeric,the number of path records in the event
    list-numeric,the audit system's filter list number
    mode-numeric,mode flags on a file
    msg-alphanumeric,the payload of the audit record
    nargs-numeric,the number of arguments to a socket call
    name-file name in avcs
    obj-alphanumeric,lspp object context string
    ogid-numeric,object owner's group id
    old-numeric,old audit_enabled,audit_backlog,or audit_failure value
    old_prom-numeric,network promiscuity flag
    op-alphanumeric,the operation being performed that is audited
    ouid-numeric,object owner's user id
    parent-numeric,the inode number of the parent file
    path-file system path name
    perm-numeric,the file permission being used
    perm_mask-numeric,file permission audit mask that triggered a watch event
    pid-numeric,process id
    prom-numeric,network promiscuity flag
    qbytes-numeric,ipc objects quantity of bytes
    range-alphanumeric,user's SE Linux range
    rdev-numeric,the device identifier(special files only)
    res-alphanumeric,result of the audited operation(success/fail)
    result-alphanumeric,result of the audited operation(success/fail)
    role-alphanumeric,user's SE linux role
    saddr-alphanumeric,socket address
    sauid-numeric,sending login user id
    scontext-alphanumeric,the subject's context string
    seuser-alphanumeric,user's SE Linux user acct
    sgid-numeric,set group id
    spid-numeric,sending process id
    subj-alphanumeric,lspp subject's context string
    success-alphanumeric,whether the syscall was successful or not
    suid-numeric,sending user id
    syscall-numeric,the syscall number in effect when the event occurred
    tclass-alphanumeric,target's object classification
    tcontext-alphanumeric,the target's or object's context string
    terminal-alphanumeric,terminal name the user is running programs on
    tty-alphanumeric,tty interface that the user is running programs on
    type-alphanumeric,the audit record's type
    uid-numeric,user id
    user-alphanumeric,account the user claims to be prior to authentication
    ver-numeric,audit daemon's version number
    watch-the file name in a watch record
    在优选的实施例中,检测单元4还包括:
    匹配模块42,连接解析模块41,用以将与日志记录的类型字段键值与预设类型字段键值进行匹配,获取检测结果。
    通过调用Auparse库的相关接口,审计日志信息中包含大量审计事件的相关信息,通过匹配模块42的搜索下列类型的审计日志:
    AUDIT_AVC
    AUDIT_USER_LOGIN
    AUDIT_ANOM_LOGIN_FAILURES
    AUDIT_ANOM_LOGIN_SESSIONS
    AUDIT_ANOM_LOGIN_LOCATION
    AUDIT_ANOM_LOGIN_TIME
    AUDIT_ANOM_ABEND
    AUDIT_ANOM_PROMISCUOUS
    AUDIT_MAC_STATUS
    AUDIT_GRP_AUTH
    AUDIT_SYSCALL
    这些审计日志类型覆盖了入侵行为的各个方面,当其中的一类或几类事件发生时匹配模块42会依据配置文件的配置来进行相应的处理。
    插件检测程序在初始化Auparse工具成功后,就开始等待审计系统的分发程序发送的审计事件。当没有审计事件发生时,插件检测程序进入休眠。当有审计事件发生时,插件检测程序从休眠中被唤醒,使用Auparse工具对 审计事件进行保存,再逐条对日志记录进行处理。
    在优选的实施例中,执行单元5包括:
    识别模块52,用以识别检测结果是强制终止日志记录进程的原始进程模式还是强制终止日志记录所在终端下的所有进程的相关进程模式。
    在本实施例中,插件检测程序在处理审计事件时,通过键值type判断该日志记录是否属于入侵行为。对于非入侵行为不做任何处理,直接处理下一条日志记录,直到所有日志记录处理完毕后进入休眠。对于入侵行为,执行单元5通过审计日志信息将其强制终止。终止操作原理如下:
    终止操作可以设置两种模式:强制终止入侵的原始进程模式kill、强制终止所有入侵的相关进程模式session。
    在优选的实施例中,执行单元5还包括:
    第一终止模块53,连接识别模块52,用以强制终止属于原始进程模式的日志记录的对应的原始进程。
    原始进程模式kill的实现较为简单,在日志记录中包含触发审计事件的进程的PID信息。通过Auparse接口解析日志记录里的PID键值即可得到。插件检测程序直接通过该PID向进程发送TERM信号强制终止该进程。
    在优选的实施例中,执行单元5还包括:
    第二终止模块51,连接识别模块52,用以强制终止属于相关进程模式的日志记录所在终端下的所有进程。
    相关进程模式session的基本原理为首先找到入侵进程所在的终端,再向该终端下所有的进程依次发送TERM信号将其全部终止。
    所有登陆系统的用户,都需要首先由系统给其分配一个终端,然后才能进行其它的操作。而每一个终端都由一个终端号来唯一确定。插件检测程序利用日志记录中的三个键值PID、TTY和TERMINAL,通过/proc文件系统,采用下述两种方法均可以查找相关终端号。
    第一种方法是:每一个系统进程在proc文件系统中都有对应的文件夹, 该文件夹下会有一个名为stat的文件,该文件的内容实例如下:
    [root@localhost ~]# cat /proc/3714/stat
    3714 (vim) S 3675 3714 3675 34816 3714 4202496 1039 0
     27 0 1 0 0 0 20 0 1 0 5740 155303936 943 18446744073
    709551615 4194304 6049260 140734377513040 14073437751
    0952 215445537619 0 0 12288 1870810879 18446777071580
    482777 0 0 17 3 0 0 24 0 0
    该文件内容由空格分为许多项,其中第7项内容即为该进程所在终端的终端号。
    第二种方法是:审计日志信息中的TTY和TERMINAL键值会记录相关进程的终端名称,通过/proc/tty/drivers文件可以手动计算出该终端名称对应的终端号。/proc/tty/drivers文件内容实例如下:

    其中,第二列为终端名称前缀,第三列为终端名称前缀对应的主设备号,第四列为终端名称前缀对应的次设备号范围。终端号由终端的主设备号和次设备号组合而成。设主设备号为major,词设备号为minor,则终端号为:
    (minor & 0xff)|((major & 0xfff)<<8)|(((minor>>8) & 0xfff)<<20)
    例如某进程的终端名称为/dev/tty5,则该终端名称前缀为/dev/tty,次设备号为5,在上述实例中第一行和最后一行的终端名称前缀都符合,但第一行中次设备号范围为0,而最后一行的次设备号范围为1-63,所以/dev/tty5应该符合最后一行,即主设备号为4,次设备号为5,通过上面的公式可以计算其终端号为1029。
    由于不同类型审计事件产生的日志记录格式不相同,在一个具体的日志记录中上述的PID、TTY、TERMINAL键值不一定都存在。所以在解析每一条日志记录时都需要对这三个键值分别解析一次,直到得到有效的终端号为止。
    在得到入侵进程的终端号后,插件检测程序通过/proc文件系统筛选出与所有与该终端号相同的进程PID,并依次向其发送TERM信号将其强制终止。
    如图3所示,一种审计检测方法,应用审计系统,包括下列步骤:
    A1.接收启动信号;
    A2.读取审计系统内预设的配置文件,启动检测单元4;
    A3.判断是否接收到审计事件,若否,执行A4;若是,执行A5;
    A4.检测单元处于休眠状态,执行A3;
    A5.存储审计事件;
    A6.对审计事件中的每条日志记录逐条进行检测。
    在本实施例中该审计检测方法依赖于分发程序及检测单元。当审计事件发生时,数据流向为:对审计事件进行解析并存储,对解析后的日志记录进行检测及相应的处理。
    在优选的实施例中,步骤A6包括:
    A61.对审计事件中的每条日志记录进行解析,获取表示日志记录的类型字段键值;
    A62.将与日志记录的类型字段键值与预设类型字段键值进行匹配,获取检测结果。
    通过Auparse库对审计事件进行解析。Auparse库提供解析审计日志的接口,将日志记录与预设类型字段键值进行比较。
    在优选的实施例中,还包括:
    A7.逐条检测日志记录是否存在入侵行为,若是强制终止日志记录的对应的原始进程或日志记录所在终端下的所有进程,若没有检测下一条日志记录,直到所有日志记录检测完毕,检测单元进入休眠状态。
    在本实施例中首先接收审计系统分发程序发送的所有系统审计事件,将审计事件分析后,筛选出具有入侵行为特征的程序,并将其强制终止。该方 法能够提高系统对成功的(或不成功的)突破系统安全的企图的分辨及防御能力。
    以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

    关 键  词:
    审计 系统 检测 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:审计系统及审计检测方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4704122.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1