欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    snort分析评估.pdf

    • 资源ID:74649905       资源大小:661.60KB        全文页数:35页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    snort分析评估.pdf

    介SNORT原理简介与优化及GNORT初探GNORT初探刘斐然主要内容主要内容 Snort原理是什么?Snort在实际应用中的缺陷有哪些?Snort在实际应用中的缺陷有哪些?如何对Snort进行优化?如何对进行优化 Gnort初探。入侵检测系统的基本结构入侵检测系统的基本结构入侵检测系统的基本结构入侵检测系统的基本结构入侵检测系统通常包括功能入侵检测系统通常包括三功能部件:信息收集其来源如下 信息收集,其来源如下:系统或网络的日志文件 网络流量网络流量 系统目录或文件的异常变化 程序执行中的异常行为信息分析 信息分析 模式匹配 统计分析统计分析 完整性分析 结果处理 对异常进行记录/报警等入侵检测系统分类入侵检测系统分类入侵检测系统分类入侵检测系统分类St 基于特征检测的基于特征检测的NIDSSnort-基于特征检测的基于特征检测的NIDS在1998年,Martin Roesch先生用C语言开发了开放源代码(Open Source)的入侵检测系统Snort.直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System)即NIDS/NIPSDetection/Prevention System),即NIDS/NIPS.Snort有三种工作模式:嗅探器数据包记录器网络入侵检测系Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作络数据流以匹配用户定义的些规则,并根据检测结果采取定的动作。St的结构组成的结构组成Snort的结构组成的结构组成Sn rt主要包含以下模块Snort主要包含以下模块:数据包捕获模块:数据包捕获模块:通过DAQ调用底层函数库,捕获来自网络的数据包解码模块输出数据包规则匹配数据包规则匹配解码模块 对捕获的数据包进行协议解码预处理模块SnortSnort数据包规则匹配数据包规则匹配数据包预处理数据包预处理 以插件形式存在,对IP分片进行重组,防止ARP欺骗等等规则匹配模块数据包解码数据包解码DAQDAQ(DAi i ilibDAi i ilib)规则匹配模块 根据设置的规则对数据包进行匹配输出模块DAQDAQ(D Data ata A Acqucqui is si it ti ion on liblibraryrary)PCAPPFPACKETNFQIPFWPCAPPFPACKETNFQIPFW输出模块 以插件形式存在,当匹配成功时进行记录或报警St原理分析原理分析 数据包解码数据包解码Snort原理分析原理分析-数据包解码数据包解码在Snort内部用Packet数据结构表示一个数据包数据包解码模据包。数据包解码模块负责根据捕获到的数据包初始化Packet数据结构。(该结构定义在decode.h中)数据包解码函数均定义在decode.c中,由i d指针指向其入grinder指针指向其入口函数。解码流程如右图所示。最后生成完整的Packet结构。St原理分析原理分析 数据包预处理简介数据包预处理简介Snort原理分析原理分析-数据包预处理简介数据包预处理简介解码后的数据包还需经过预处理才能被主探测引擎进行规则匹配。预处理器的主要用来应对一些IDS攻击手段。其作用包括:针对可以行为检查包或修改包,以便探测引擎能对其正确解释。负责对流量标准化以便探测引擎能精确匹配特征 负责对流量标准化,以便探测引擎能精确匹配特征。目前已知的IDS逃避技术主要有:目前已知的IDS逃避技术主要有:多态URL编码;多态shellcode;会话分割;IP碎片;St原理分析原理分析 预处理器简介预处理器简介Snort原理分析原理分析-预处理器简介预处理器简介St主要包含以下预处理器Snort主要包含以下预处理器:包重组预处理器:Frag3:IP分片重组和攻击监测。维持流状态进行会话重组 Stream5:维持TCP流状态,进行会话重组。协议规范化预处理器:HttpInspect:规范HTTP流,如将Unicode或hex翻译成snort可以识别的字符集字符集。RpcDecode:规范RPC调用。异常检测预处理器:ARPf检测ARP欺骗 ARPspoof:检测ARP欺骗。SfPortscan:检测端口扫描。在St中捕获的数据包要经过所有已经打开的预处理器预处理在Snort中,捕获的数据包要经过所有已经打开的预处理器。预处理器是由插件来实现的,这样的好处为:可以根据实际环境启动或停止一个预处理插件,提高Snort效率。可以灵活添加自己编写的预处理插件预防新型的IDS逃避手段(如何编可以灵活添加自己编写的预处理插件,预防新型的IDS逃避手段。(如何编写预处理插件在源码doc/README.PLUGINS中有初步介绍)St原理分析原理分析 预处理器初始化预处理器初始化Snort原理分析原理分析-预处理器初始化预处理器初始化St预处理器初始化流程如下Snort预处理器初始化流程如下:首先调用RegisterPreprocessors函数将所有预处理插件注首先调用RegisterPreprocessors函数,将所有预处理插件注册进全局preproc_config_funcs链表中,内容包括:关键字及相关预处理插件的初始化函数等。调用CfiP函数根据配置文件和命令行调用ConfigurePreprocessors函数,根据配置文件和命令行参数遍历preproc_config_funcs链表,比对关键字。如相同则运行预处理插件的初始化函数。预处理插件的初始化函数通过调用AddFT PLi将预处理插件的初始化函数通过调用AddFuncToPreprocList将其实际的预处理函数添加到preproc_eval_funcs链表中,插入时会根据预处理插件的priority进行排序。当程序捕获到数据包时,首先通过grinder指向的函数进行解码。然后执调用preproc_eval_funcs链中的预处理程序进行预处理预处理。St原理分析原理分析 规则简介规则简介Snort原理分析原理分析-规则简介规则简介规则分为和格式为Snort规则分为Rules Headers和Rules Options,格式为:rule headers(rule options)规则头(Rules Headers)包含结果处理模式协议来源与目地的IP地址来源与目地的端口等 包含结果处理模式,协议,来源与目地的IP地址,来源与目地的端口等。规则选项(Rules Options)规则选项(p)包含匹配内容,匹配位置,报警信息,引用说明等等。例:alert tcp$EXTERNAL_NET any-$HTTP_SERVERS$HTTP_PORTS(msg:WEB-PHP Opt-X header.php remote file include attempt;flow:to server established;content:/header php;include attempt;flow:to_server,established;content:/header.php;nocase;http_uri;content:systempath=;.)St原理分析原理分析 规则表现形式规则表现形式Snort原理分析原理分析-规则表现形式规则表现形式在中规则头由结构表示规则选项由在Snort中,规则头由RuleTreeNode(RTN)结构表示,规则选项由OptTreeNode(OTN)表示。RTN结构中主要包括:IpAddrSet*sip,*dip:源IP地址,目的IP地址。IpAddrSet sip,dip:源IP地址,目的IP地址。PortObject*src_portobject,*dst_portobject:源端口,目的端口。OptTreeNode*down:指向相关的OTN。R l F Li t*lf规则匹配函数RuleFpList*rule_func:规则匹配函数。OTN结构中主要包括:OptFpList*opt_func:规则匹配函数。void*ds_listPLUGIN_MAX:插件需要的数据结构指针。RuleTreeNode*proto nodes指向其关联的RTNRuleTreeNode proto_nodes:指向其关联的RTN。St原理分析原理分析 RTN初始化初始化Snort原理分析原理分析-RTN初始化初始化及均由负责初始化RTN及OTN均由ParseRule负责初始化。首先读入行规则传给PR l 函数进行分析PR l 函数首先读入一行规则,传给ParseRule函数进行分析。ParseRule函数会将规则头取出并进行拆分,然后执行如下函数对RTN进行初始化:ProcessIP函数:将源IP地址,目的IP地址写入RTN的*sip,*dip中。ProcessIP函数:将源IP地址,目的IP地址写入RTN的 sip,dip中。ParsePortList函数:将源端口,目的端口写入RTN的*src_portobject,*dst_portobject中。ProcessHeadNode函数:调用SetupRTNFuncList函数,将具体的规则匹配函数插ProcessHeadNode函数:调用SetupRTNFuncList函数,将具体的规则匹配函数插入rule_func链表中,其函数根据标志位不同可选用如下几个:CheckSrcPortNotEq/CheckSrcPortEq/CheckDstPortNotEq/CheckDstPortEqualCheckSrcIP/CheckDstIPRuleListEnd:rule_func的链结尾函数匹配RTN时会依次执行rule func链表中的函数进行匹配,如匹配不成匹配RTN时会依次执行rule_func链表中的函数进行匹配,如匹配不成功则返回0。最终如果执行到RuleListEnd函数则表明匹配成功。St原理分析原理分析 OTN初始化初始化Snort原理分析原理分析-OTN初始化初始化与检测不同系统检测时会用到规则检测插件(例如针对与检测RTN不同,系统检测OTN时会用到规则检测插件(例如针对TCP flags的匹配的检测是由TCPFlagCheck插件中的CheckTcpFlags函数来完成的),所以先介绍一下规则检测插件的初始化:函数来完成的),所以先介绍下规则检测插件的初始化:通过调用RegisterRuleOptions函数,将所有的规则检测插件添加到rule_opt_config_funcs链表中,包括关键字与具体的检测初始化函数。OTN初始化是由ParseRuleOptions函数完成的。其执行如下操作:调用addRtnToOtn将关联的RTN指针添加到OTN的proto nodes中 调用addRtnToOtn,将关联的RTN指针添加到OTN的proto_nodes中遍历rule_opt_config_funcs规则链,进行关键字匹配,如匹配成功则执行其对应的检测初始化函数检初 检测初始化函数负责将需要的数据指针添加到OTN的ds_list中,并将检测函数插入OTN的opt_func链表中最后将OptListEnd插入到opt_func链的末尾St原理分析原理分析 快速规则匹配初始化快速规则匹配初始化Snort原理分析原理分析-快速规则匹配初始化快速规则匹配初始化fpCreateFastPacketDetection:构建快速规则匹配结构:结构:第一层是由四个PORT_RULE_MAP构成,分别对应TCP,UDP,ICMP及别对其他IP协议。第二层由PORT_GROUP结构构成,分别对应源端口、目的端口及通用端口三种目的端口及通用端口三种 第三层由RULE_NODE结构构成,分别对应以下三类规则规则:uri-content:URI中的包含规则;Content:内容包含规则;Content:内容包含规则;non-content:非content规则。St原理分析原理分析 规则匹配流程规则匹配流程Snort原理分析原理分析-规则匹配流程规则匹配流程调用Detect(Packet*p)对数据包进行规则检测,首先判断是TCP,UDP或者ICMP协议,然后调用相关函数:fpEvalHeaderTcp,fpEvalHeaderUdp,fpE alHeaderIcmp进行处理如均不是则调用fpE alHeaderIp进行处理fpEvalHeaderIcmp进行处理。如均不是则调用fpEvalHeaderIp进行处理。fpEvalHeaderXXX的处理过程为首先通过对应协议的PORT_RULE_MAP,根据源端口与目的端口号找到相关的PORT GROUP端口与目的端口号,找到相关的PORT_GROUP。执行fpEvalHeaderSW(),通过规则类型从PORT_GROUP中找到RULE_NODE,然后对相应规则进行匹配具体如下对相应规则进行匹配。具体如下:对于url-content或content,执行多模式匹配函数mpseSearch()进行匹配;对于非content规则,则逐一运行OTN中opt_func链中的所有规则匹配函数。如均执行成功,则继续运行其指向RTN中的rule func链中的匹配函数。执行成功,则继续运行其指向RTN中的rule_func链中的匹配函数。如均匹配成功,则最后会调用输出插件进行输出。St目前存在的问题目前存在的问题Snort目前存在的问题目前存在的问题 snort是一款轻量级的网络入侵检测系统。如果将其应用在大规模、大流量的网络中,snort的报警性能会非用在大规模、大流量的网络中,的报警性能会非常低下。可见snort以下两方面的效率还无法满足我们的需求:数据包捕获效率数据包捕获效率数据数据包包分析处分析处理理效率效率数据分析处效率数据分析处效率 改进思路为:改进思路为:首先需保证snort可以捕获到网络中的所有数据包。然后需要保证这些数据包可以及时得到处理。然后需要保证这些数据包可以及时得到处理。高效的数据包捕获接口高效的数据包捕获接口 PF RING高效的数据包捕获接口高效的数据包捕获接口-PF_RINGPF_RING是一个第三方的内核数据包捕获接口,类似于libpcap。它提供一种PF_RING类型的套接字,大大增加了数据包捕获的效率效率。它包括三方面的内容:网卡驱动程序网卡驱动程序 PF_RING-aware drivers User-space DNA(Direct NIC Access)driversAccess)drivers PF_RING内核模块 用户态函数库 Libpcap-ring pfring-daq-module传统数据包捕获流程传统数据包捕获流程传统数据包捕获流程传统数据包捕获流程传统的数据包捕获流程如下(NAPI polling):网卡中断处理程序网卡中断处理程序 网卡接收程序 分配skb内存 将其放入softnet_data队列中 置软中断位do softirq do_softirq net_rx_action iprecv IP层检查数据有效性 TCP/UDP协议处理唤醒用户层进程 唤醒用户层进程PF RING数据包捕获流程数据包捕获流程PF_RING数据包捕获流程数据包捕获流程 PF RING有三种数据包捕获模式,由插入模块时的参PF_RING有三种数据包捕获模式,由插入模块时的参数transparent_mode控制:ModeStandard driverPF_RING-aware driverPacket Capture AccelerationModeStandard driverPF_RING-aware driverPacket Capture AccelerationSame as VanillaSame as Vanilla0Packets are received through Linux NAPI0Packets are received through Linux NAPISameSame asas VanillaVanilla LinuxPackets are passed to NAPI(for LinuxPackets are passed to NAPI(for sending them to PF RINGsending them to PF RING-unawareunaware1Packets are received through Linux NAPI1Packets are received through Linux NAPIsendingsending themthem toto PFPF_ _RINGRING unawareunaware applications)and applications)and copied directly to PF_RING for PF_RING-aware applicationscopied directly to PF_RING for PF_RING-aware applications(i.e.(i.e.PF RING dd NAPI fPF RING dd NAPI fLimitedLimitedPFPF_ _RINGRING d does not neeoes not need d NAPINAPI f for receiving packets)The driver sends or receiving packets)The driver sends pk tnltpk tnltThe driver copies packets The driver copies packets 2 2p pacack ke et ts os onlnly y t to PF_RING so PF_RING-unaware applications do not see any packeto PF_RING so PF_RING-unaware applications do not see any packetdirectly to PF_RING onlydirectly to PF_RING only(i.e.NAPI does not receive any packet)(i.e.NAPI does not receive any packet)ExtremeExtreme用用PF RING优化优化SNORT用用PF_RING优化优化SNORT 网卡要求:1 Gigabit/sec:Intel 82575/82576/82580/I350-based(Linux driver igb)10 Gigabit/sec:Intel 82598/82599based(Linux driver ixgbe)优化步骤:安装PF_RING的kernel模块 安装PF_RING的用户态库 安装Snort的DAQ 安装PF_RING的pfring-daq-module安装 安装snort 安装PF_RING-aware网卡驱动数据包捕获优化性能对比数据包捕获优化性能对比数据包捕获优化性能对比数据包捕获优化性能对比首先进行千兆网络中小数据包高频率的测试,单数据包大小选取6字节,分别测试发送1000到20000个数据包,测试结果如下:发包数量发包频率(万次/秒)实际带宽(MB/s)未优化前snort报警数PF_RING优化后snort报警数发包数量发包频率(万次/秒)实际带宽(MB/s)未优化前snort报警数PF_RING优化后snort报警数100019.68.610001000150020913161500100019.68.6100010001500209131615002000219.41316200040002511131740002000219.413162000400025111317400080003113.61316800080003113.613168000100003314131610000210000331413161000020000000035.35.41415 51 13 31 16 62 2000000000000000035.35.5 53 63 600000000数据包捕获优化性能对比数据包捕获优化性能对比数据包捕获优化性能对比数据包捕获优化性能对比然后进行千兆网络中大数据包高带宽的测试数据包发送个数然后进行千兆网络中大数据包高带宽的测试,数据包发送个数1000,分别测试包大小从6B至1K时的报警数量,测试结果如下:数据包大小(Byte)发包频率(万次/秒)实际带宽(MB/s)未优化前snort报警数PF_RING优化后snort报警数据包大小(Byte)发包频率(万次/秒)实际带宽(MB/s)未优化前snort报警数PF_RING优化后snort报警数数数数1020.49.76100010002020.211.5598310001020.49.76100010002020.211.5598310004020.4815.6379510008020.223.1258210004020.4815.6379510008020.223.12582100010020.1726.93507100020020.5847.11313100010020.1726.93507100020020.5847.11313100040020.0784.24182100080019.5106.76130100040020.0784.24182100080019.5106.761301000100018.65114.931251000100018.65114.931251000迈向万兆网络迈向万兆网络迈向万兆网络迈向万兆网络 用PF_RING优化过的snort,已经完全满足了千兆网络的要求。但是对于每秒几十Gbit的网络流量来说,千兆网络要求。但是对于每秒几十Gbit的网络流量来说,千兆网络还远远不够。我们需要一种可以工作在万兆网络中的IDS系统。系统 首先需解决数据包捕获问题目前支持万兆线速包捕获的 首先需解决数据包捕获问题。目前支持万兆线速包捕获的方式有:TNAPI(Threaded NAPI)TNAPI(Threaded NAPI)NIC(Direct NIC Access)万兆网络数据包捕获万兆网络数据包捕获 TNAPI万兆网络数据包捕获万兆网络数据包捕获-TNAPI支持MSI X 中断支持MSI-X 中断(Message Signaled Interrupts)的网卡可以p将RX队列分解为多个,每个对应一个核。MSI-X使得设备可以最多分X使得设备可以最多分配2048个中断,而且每个都可以有独立的地址。但是常规内核无法发挥其优势,原因为:操作系统合并多个RX到单个ethX接口,对于万兆网络是不可接受的 多个线程将竞争同一个ethX万兆网络数据包捕获万兆网络数据包捕获 TNAPI万兆网络数据包捕获万兆网络数据包捕获-TNAPITNAPI通过将内核RX队列直接暴露给用户态程序。使得:态程序。使得:流量真正分布到多个核 同时从每个RX队列同时从每个RX队列轮询包 通过PF_RING,应用层可以针对每个RX层可以针对每个RX队列分配一个线程系统结构如右图所示系统结构如右图所示。Stltiiith PF RING TNAPISnort multiprocessing with PF_RING+TNAPI 有了以上技术作为前提,我们设计出第一套针对万兆网络的IDS系统(处理性能将达到5Gbps以上):的IDS系统(处理性能将达到5Gbps以上):Snort multiprocessing with PF_RING+TNAPI系统采用PF RING+TNAPI的抓包方式线速获取万兆网络系统采用PF_RING+TNAPI的抓包方式线速获取万兆网络的数据包,然后送给多个Snort进程进行处理。该系统的优点为:不但解决了抓包效率的问题,还通过开启多个进程解决了数据包处理效率的问题启多个Snort进程解决了数据包处理效率的问题。Stltiiith PF RING TNAPISnort multiprocessing with PF_RING+TNAPI 系统硬件推荐如下:(双路服务器)网卡:Intel 82598/82599万兆网卡 x2CPUI t l XX5675(6核心12线程)2 CPU:Intel Xeon X5675(6核心,12线程)x 2 内存:24G 该系统软件构建过程如下:插入网卡驱动模块时,设置IntMode参数为3:插入网卡驱动模块时设置参数为insmod./.ko IntMode=3(enables MSI-X)用ICC编译snort程序(ICC会对将程序针对intel平台进行优化)针对每块万兆网卡启动12个t进程 针对每块万兆网卡,启动12个snort进程:snort-daq-dir=/usr/local/lib/daq-daq pfring-daq-mode passive-i eth00-c/etc/snort/snort.conf.万兆网络数据包捕获万兆网络数据包捕获 DNA万兆网络数据包捕获万兆网络数据包捕获-DNADNA(Direct NIC Access)是一种将NIC的内存直接映射到用户DNA(Direct NIC Access)是一种将NIC的内存直接映射到用户空间的技术。由NPU(Network Process Unit)负责将数据包拷贝到ring中,大大节省了CPU资源。gStltiiith PF RING DNASnort multiprocessing with PF_RING+DNADNA 也可以将网卡RX队列分为多个但是每个队列 DNA 也可以将网卡RX队列分为多个,但是每个队列只能由一个用户态进程访问。其RX队列上限会被具体硬件所限制(现代的NIC一般可分16个以上的体硬件所限制。(现代的NIC一般可分16个以上的RX队列)安装方法如下:编译并插入网卡的DNA驱动。针对每块万兆网卡,启动12个snort进程:snort-daq-dir=/usr/local/lib/daq-daq pfring-daq-mode passive-i dna00-c/etc/snort/snort.confGt GPU简介简介Gnort-GPU简介简介 目前,主流GPU的单精度浮点处理能力已经达到了同时期的CPU的10倍左右,而其外部的存储器带宽则是CPU的5倍左右。近几年来GPU的性能每一年都可以翻一倍,大大超过了CPU遵循的摩尔定律。GPU在逻辑性处理上有很大不足,导致一般程序都需要G U在逻辑性处理上有很大不足,导致般程序都需要CPU+GPU的异构并行方式在GPU上执行。2007年6月,NVIDIA推出了CUDA(Compute Unified2007年6月,NVIDIA推出了CUDA(Compute Unified Device Architecture,统一计算设备架构)。CUDA采用类c语言进行开发。言进行开发。Gt NIDSiGPUGnort-NIDS using GPUGnort是一套采用CPU+GPU异构并行的NIDS系统。Gnort是套采用CPU GPU异构并行的NIDS系统。其中CPU负责捕获数据包,并进行解码与预处理等工作。而GPU负责具体的规则检测。最终GPU将检测结果发回CPU做进一步处理。(输出)过将数包的模式放并执大大缩短时Gnort通过将数据包的模式匹配放到GPU上并行执行,大大缩短匹配时间。实际测试中,其效率较CPU至少提升了一倍。AC模式匹配算法简介模式匹配算法简介AC模式匹配算法简介模式匹配算法简介AC算法思想:用多模式串建立一个算法思想:用多模式串建立个确定性的树形有限状态机,以主串作为该有限状态机的输入,使状态机进行状态的转换,当到达某些特机行状的转换当到某特定的状态时,说明发生模式匹配。AC模式匹配算法分为预处理阶段与AC模式匹配算法分为预处理阶段与匹配阶段。在预处理阶段,AC自动机算法建立了三个函数,转向函数goto,失效函数failure和输出函goto,失效函数failure和输出函数output,由此构造了一个树型有限自动机。AC模式匹配的时间复杂度为O(n)AC模式匹配的时间复杂度为O(n)。右图为模式串为:he/she/hers/his 时的三类函数。AC模式匹配算法在模式匹配算法在GPU上的实现上的实现AC模式匹配算法在模式匹配算法在GPU上的实现上的实现谢谢!谢谢!

    注意事项

    本文(snort分析评估.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开