解读社会事实:报道时政 新闻热点:这里都能看到:

文丨拾光小贝


8月2日,东京奥运会场地自行车女子团体争先赛颁奖仪式上,中国冠军组合钟天使和鲍珊菊戴着毛主席像章领奖的照片,令许多国人深受感动,也振奋了中国人的士气。





3.4.2 建立监理程序和行政管理体系。3.4.3   初,郑武公娶于申数字文化创意产业以科学技术和文化艺术为输入,以经济价值和文化影响为输出,是驾驭数字技术的创意内容业和创意制造业的总称,“十三五”时期首次被列为国家战略性新兴产业,为我国产业转型升级、数字经济繁荣发展发挥了重要作用。但同时信息与网络安全也面临着前所未有的严峻问题,网络安全领域所面临的挑战日益严峻,网络安全问题也日益被人们重视。通常意义上的网络安全的最大威胁是软件程序上的漏洞,程序漏洞检测方法主要分为静态分析方法和运行时的检测方法。静态分析方法主要用静态检测工具对程序源代码进行扫描分析,存在很高的漏报率和误报率;运行时检测方法需要运行被测程序,其检测依赖外部环境和测试用例,具有一定的不确定性。面对以上问题,人们越来越深刻地意识到软件安全的重要性,从20世纪90年代开始,研究人员就开始对计算机系统的安全漏洞进行研究,其中缓冲区溢出漏洞及如何利用缓冲区溢出漏洞进行攻击是研究得最广泛和最有深度的;另外研究人员还开发出IDS(入侵检测系统)与IPS(入侵防御系统)等来检测和防御攻击者的恶意攻击,以及针对缓冲区溢出主要发生地堆和栈技术的研究等。21世纪初,研究人员开始把重点放在研究软件安全漏洞的发现方法上,采取的主要方法是借用自动化或半自动化的工具作为辅助,其中辅助工具使用的技术大致包括指针别名分析,词法分析,语义分析,类型分析,模型匹配,代码注入及动态监测与跟踪等等;这些技术相对于早期传统的用于软件错误查找的标准程序分析技术、编译器优化以及软件安全漏洞的检测要求要更加复杂。直到今天,对软件安全漏洞的定义、分类、特点及检测方法都还没有形成统一的标准和公认的结论。针对某一种类型的软件安全漏洞,研究人员需要进行大量的重复性的分析工作,而且在分析上还要求分析人员具有大量的实验经验,这就造成软件安全漏洞的检测在效率和效果上具有一定的局限性[5]。因此,如何提高漏洞检测的效率和准确率已成为现在研究的重点,即如何设计和利用自动化、半自动化的辅助工具,以及如何更有效的利用各种分析技术来高效、快速、准确的检测出软件中的安全漏洞已经成为热点和难点,而这些技术对软件的安全都具有很强的实用价值和重大的研究意义。(一)研究现状 最近几年,计算机系统与网络安全已经成为人们研究的热点,与此同时,人们也越来越多地关注计算机系统的安全漏洞检测,对这些漏洞提前检测,以降低软件安全漏洞带来的危害。严格意义上来说,解决软件安全漏洞最根本的方法是编写安全的代码,但在短时间内这种方法是不可行的,所以目前业界对软件安全漏洞的检测重点是放在高效、准确的检测研究方向上。在国内,网络安全焦点(xfocus)、绿盟科技、启明星辰和CCERT(中国教育和科研计算机网紧急响应组)等是国内安全研究机构的代表,并且维护了自己的漏洞数据库。xfocus一年一次的xcon大会被誉为国内最顶级的探讨安全问题的大会。在2007年的xcon大会上就有关于软件安全漏洞的议题,比如夏超的二进制环境下的缓冲区溢出漏洞动态挖掘技术。2008年的xcon会议上也出现了关于软件安全的探讨,比如Flashsky的高级Windbg图形插件辅助堆溢出分析,AlexanderSotirov的绕过WindowsVista浏览器内存保护。绿盟科技是发布自主研究安全漏洞最多的国内安全公司,己经完成对RPC、SMB、IIS等多类漏洞的研究,并取得了不错的成绩。另外,看雪论坛也是国内软件安全研究人员聚集的一个讨论圈。目前软件安全漏洞的检测技术包括静态分析检测技术、动态检测技术和动静结合的检测技术。静态检测技术是利用二进制比对技术、词法分析、形式化验证技术或者手工测试技术,对被测程序的源程序或二进制代码进行扫描,然后从语法、语义上理解程序的行为,并分析程序的特征,找出可能导致程序异常的漏洞。这类技术具有简单高效自动化的优势,但只是对代码本身的特征进行检查,不能很好检测出漏洞间复杂的逻辑关联,并且存在大量的误报和漏报;动态检测技术是通过自动化生成测试数据,以仿真攻击应用程序来判断是否存在漏洞,主要手段是利用各种输入对程序进行探测,并分析程序运行环境等。这类技术效率不如静态分析检测技术,但它能准确的定位漏洞。动静结合的检测技术是先使用静态检测技术对程序进行分析得到程序内部特征,从而筛选测试数据集以指导下一轮的动态测试。目前还没出现自动化原型系统,需要结合手工进行分析,而且需要分析人员具有丰富的经验及很强的分析能力。(二)研究内容及目标 本项目研究对象是软件安全漏洞的检测,首先需要对软件安全漏洞的定义和常见类型进行分析后,从代码实例出发对常见的缓冲区溢出漏洞、格式化字符串漏洞、整数溢出漏洞和内存泄露的原理进行分析与研究。然后针对这些常见的软件安全漏洞存在的检测方法进行研究,找出这些方法的共性与特点,总结它们的优点和缺点,在此基础上提出自己的改进方法。本项目针对静态检测技术中各种源代码静态扫描工具存在的误报和漏报问题,提出了一种数字文化创意软件开发综合检测分析软件的开发方案,该方案是对软件安全缺陷漏洞进行综合处理,达到在仅有软件源代码的情况下,通过多层次的综合检测,有效地发现软件中的安全性缺陷漏洞。具体目标是实现一个可扩展的源代码静态分析平台,采用具体方法是通过集成多种不同技术类型的源代码扫描工具对软件程序源代码进行多层次的综合性扫描检测,将检测的结果以标准化的格式插入到数据库中,然后对数据库中的数据进行综合分析,最终将综合分析的结果以图形化的形式直观的显示出来。该平台具体目标能够方便分析人员根据输出结果快速的返回到源代码中进行下一步的分析,并且该平台在误报率和漏报率上,需要比单一的源代码静态扫描工具低,同时该平台还需要具有效率高,实用性强,可移植,性能好的特点。二、软件安全漏洞分析 按照各种不同的方式,我们也可以把漏洞分成很多类型,通过分类我们能够更好的找出漏洞间的共性,对漏洞的检测也会更有针对性。本项目根据漏洞产生的原理,把漏洞主要分成缓冲区溢出漏洞、格式化字符串漏洞、整数溢出漏洞和内存泄露,下面将对这些漏洞进行详细分析。(一)缓冲区溢出漏洞 近年来,由缓冲区溢出漏洞而产生的安全问题层出不穷,在业界,针对缓冲区溢出的研究也有了很大的发展。引起缓冲区溢出漏洞的主要原因是开发人员在程序中使用了不安全的库函数或API函数,由于这些不安全函数自身没有边界检查,常常在数组的赋值、拷贝或指针的访问时会产生越界问题。在操作系统中,内存被分配给一个进程作为执行的区域,这些区域可以按照功能大致划分为数据区、代码区、堆区、栈区四个部分。如下图所示:进程的全局变量存储在数据区;进程的执行是通过cpu去取进程的二进制机器代码指令,而这些二进制机器代码就存放在代码区;进程需要动态申请内存空间时,可以由堆区提供,并且这部分空间在进程结束时才会返还给堆区;进程在函数调用时,会动态的去栈区申请一段内存,函数调用结束时,进程又会将申请的这段内存返回给栈区,以保证被调用函数返回时能够恢复到母函数中继续执行。在windows平台上,程序用高级语言编写完后,通过编译器编译链接,最后生成PE可执行文件,加载PE文件,运行后即形成了进程。如下图所示:如上图所示,每一个函数都有属于自己的栈空间,WIN32系统是通过两个指针寄存器即ESP(extendedstackpointer)和EBP(extendedbasepointer)来标识内存的内存空间为当前栈帧的;而存在于栈帧最顶端即为正在运行的函数;寄存器ESP,即栈指针寄存器,它的内存里存放的是一个指针,总是指向WIN系统栈的最上面那个栈帧的栈顶;另一个寄存器EBP,称为基址指针寄存器,它的内存里存放的也是一个指针,总是指向WIN系统的最上面那个栈顶的底部;当前栈帧就是由ESP和EBP标志的,两者之间的内存空间也正好就是当前栈帧。栈是一种特殊的线性表,跟队列不同的是它只允许在表的同一端进行插入和删除操作;进行插入和删除操作的一端称为栈顶(top),另一端则称为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈;插入称为进栈(PUSH),删除则称为出栈(POP);因此栈也称为先进后出表。下图为栈的模型:通常情况下,函数栈帧含有以下几类重要信息:(1)局部变量区域,存放函数局部变量的内存空间。(2)栈帧状态值,保存着上一栈帧的顶部和底部地址(实际上只保存上一栈帧的底部地址,上一栈帧的顶部可以由堆栈平衡计算出来),为了在当前栈帧被弹出堆栈后,恢复出上一个栈帧。(3)函数返回地址,即函数调用前的指令位置,保存着当前函数被调用前的“断点”信息,目的是为了在函数返回时能够恢复到函数被调用前的代码区中继续执行指令。(4)指令寄存器EIP,它的内存里放着一个指针,该指针总是指向下一条即将要执行的指令地址。函数调用时,大致步骤为:(1)stdcall调用规范下(本项目内容都是以该调用规范为前提),参数从右向左被依次压入栈中;(2)将返回地址压入栈中,返回地址存放了当前代码区调用指令的下一条指令的地址,以便被调用函数返回时能够继续执行调用函数;(3)代码区跳转,处理器从当前代码区跳转到被调用函数的入口处;(4)栈帧调整,EBP入栈即保存当前栈帧状态值,以备之后恢复本栈帧时使用;ESP值赋给EBP,将当前栈帧切换到新的栈帧,更新栈帧底部;然后ESP减去所需空间的大小,抬高栈顶,给新栈帧分配内存空间。(二)格式化字符串漏洞 格式化字符串(FormatString)漏洞在几年前被发现出来,是一类容易定位的漏洞,在现今的很多软件中也存在此类漏洞。*printf()系列函数是按照一定的格式输出数据,即格式化字符串,其中printf()是可以输出到标准输出,同样也可以输出到字符串,文件句柄等,这些输出对应的函数为fprintf,sprintf,snprintf,vprintf,vfprintf,vsprintf,vsnprintf等,格式化字符串漏洞就发生在这一系列的*printf()函数中,此类漏洞主要有三类:(1)参数个数不固定造成访问越界数据;(2)利用%n格式符写入跳转地址;(3)利用附加的格式符来控制跳转地址的内容。(三)整数溢出漏洞 整数溢出是非常普遍且不易被立即察觉到的漏洞。一个整数有一个固定的长度(32位),如果用一个整数变量去存储一个大于这个固定最大值时,将会导致一个整数溢出,从而可能导致其他类型的bugs,缓冲区溢出等。除了直接存储整数导致溢出外,还有其他如运算溢出、符号问题导致的缓冲区溢出。整数溢出与普通的漏洞差别是它们不能直接去改写内存或者直接改变程序的控制流程。大多数情况下,程序的计算结果与正确结果之间都有一定的偏差,所以在利用整数漏洞时需要我们更精巧的去设置数据。(四)内存泄露 在计算机行业,内存泄露(memoryleak)指由于疏忽或者错误造成程序未能释放已经不再使用的内存的情况。通常情况下,我们所说的内存泄漏问题指的是堆内存泄漏。堆内存是指程序运行时所需的内存从堆中分配的,大小任意(在程序运行中确定)的,使用完后必须显式释放的内存。应用程序一般使用malloc,calloc,realloc,new等函数从堆中分配一块内存,内存块使用完后,程序必须调用相应的free或delete释放该内存块,否则,该内存块就不能被再次使用,于是就产生了内存泄露。当函数GetStringFrom()返回零的时候,指针pc指向的内存就不会被释放。这是一种常见的发生内存泄漏的情形。程序在入口处分配内存,在出口处释放内存,但是c函数可以在任何地方退出,所以一旦有某个出口处没有释放应该释放的内存,就会发生内存泄漏。内存泄漏会使内存的数量不断减少,从而降低计算机的性能。更糟糕的是,过多的可用内存被分配掉后,将导致应用程序崩溃,或者全部或部分设备停止正常工作等。三、软件安全漏洞检测技术研究 (一)软件安全漏洞静态检测技术 静态检测技术主要针对程序源代码或者其二进制代码进行扫描,通过匹配相关代码使用的具体函数和系统调用的二进制数值,来发现漏洞。其基本的静态分析技巧包括:审核问题函数,如strcpy、strcat、sprintf、vsprontf、getwd、gets、realpath、fscanf、scanf、sscanf等函数的使用、审核动态内存分配例程,如malloc、VirtualAlloc返回的缓冲区的用法、审核如何处理通过recv、read、fgets和许多其他类似的函数接收的用户提交输入。而根据软件是否提供源代码的情况下,可以对该软件安全漏洞的静态检测技术分为两类:源代码静态扫描技术和二进制文件静态扫描技术。(二)源代码静态扫描技术 源代码静态扫描技术采用的方法是对源代码进行扫描和分析,从而判断出程序的结构、可能的运行时行为等,然后对漏洞发生的模式进行识别,最后通过相应的规则匹配来查找程序中潜在的软件安全漏洞。相应的出现了大量的源代码静态扫描工具,这些工具可以分为三类:编译时检测工具、源代码浏览工具和源代码自动审核工具。编译时检测工具,是与编译器集成在一起,在源代码编译时查找漏洞,但主要是查找与安全性有关的问题而不是应用程序的功能问题。MicrosoftVisualC++的/analyze编译选项即是一个例子。Microsoft还提供了PREfastforDrivers,它能够检测针对驱动程序开发的不同类型的漏洞,而编译器可能检测不到这些漏洞。该类工具只能在程序编译的情况下进行自动化检测。源代码浏览工具,是对程序源代码执行高级搜索,枚举代码,以及在代码的交叉引用位置之间进行导航,用于辅助人工检查的源代码扫描工具。如在源代码扫描中,用此类工具来定位strcpy函数出现的位置,辅助评审人员去识别可能的缓冲区溢出漏洞。该类工具不能识别出检测到的漏洞函数危险等级。源代码自动审核工具,是扫描源代码以及自动识别可能存在漏洞的关键区域。源代码自动审计工具能够理解编程语言的语法规则。它们检测由于特定函数导致的问题以及经常被误用的函数。这些审核工具采用的漏洞检测技术从最早的基于匹配字符串、分析词法,到语义分析,再到将数据挖掘技术与程序分析相结合的方法,静态分析技术不断地进步、发展与创新。按照其分析机理及功能的不同,常见的源代码自动审计工具可以分为以下几类,如下表所示:静态检测技术 主要静态检测工具 原理、功能及优缺点 词法分析 Its4 Rats Flawfinder 1、将源文件预处理为token流,然后将token流与库中的缺陷结构进行匹配;检查C/C++源程序中的可能错误和容易遭受弱点攻击的地方;2、内存相关,效率高,但分析不精确,漏洞覆盖率有限 类型推导 CCuredESP CQual 1、基于语义的分析方法,通过分析程序的数据流、控制流及函数调用关系等,可以检查C程序中字符串使用缺陷和锁缺陷。2、大部分内存相关,少量时序相关,能处理大规模程序,效率高,可检测漏洞有限,引入安全属性需重新定义类型。规则检测 LCLintLintRacerX Splint Cppcheck 1、利用程序员提供的注释来辅助程序分析;可以查找未初始化的变量信息、数组下标越界等缺陷问题。可以检测程序中存在的不匹配的内存单元分配,缓冲区溢出等问题;2、内存相关,时序相关,能根据不同规则对不同系统进行分析,大规模程序检测高效,受规则描述机制局限,只能分析特定类型漏洞,扩展性差。以上这些工具都有一个明显的弱点,即产生大量的误报和漏报。而评价静态分析工具好坏有两个重要指标[42]恰好就是误报率和漏报率:误报率(falsepositives):工具错误报出程序中原本不存在的安全问题的比 率;漏报率(falsenegatives):程序中含有安全性问题但工具还没有找出的比率;针对以上问题,我们可以采用一种基于多种静态检测工具的检测方法,即对多种工具的检测结果进行统计分析,有效地降低漏报率和误报率。(三)二进制文件分析技术 针对非开源的软件程序,同样有相应的自动审核工具,这些工具是通过对程序的二进制文件进行自动审核分析。其中应用最广泛的工具便是IDA反汇编工具,该工具是专用的二进制文件分析工具,它可以通过目标程序反汇编得到汇编代码,然后对汇编代码进行扫描,从而去识别可能存在的安全漏洞缺陷。IDA之所以被广泛应用,其中一个很重要的因素就是该工具可以识别程序的关键结构,它可以自动识别高级语言的关键结构,如new和delete操作符、函数的返回值、局部堆栈变量、文本与字符串、IF-THEN-ELSE条件语句等,从而进一步对目标程序进行分析。但是IDA反汇编工具采用的反汇编技术需要大量的人工分析,且具有很强的复杂性,因此其自动化程度也不会高。另外使用反汇编技术发展比较成熟的工具还有bugscan。该工具方法实现成功检测软件漏洞的关键在于能够对二进制文件进行反汇编和定位可能导致缓冲区溢出的弱函数。但它的弱点在于函数覆盖率具有一定的局限性,不能覆盖所有的可能导致缓冲区溢出的函数。二进制文件分析技术通过分析软件反汇编后的汇编代码,来发现软件中存在的安全漏洞。汇编代码不利于人的理解,这是不争的事实,但是,针对不公开源代码的软件进行漏洞的分析,只能以汇编代码为源代码。对汇编代码的理解深度就决定了软件安全漏洞分析工作的深度。静态分析技术的优点是,由于是从机器的角度去理解安全漏洞的机理,理解更深刻、更到位,对细节的把握也更加透彻。缺点在于软件反汇编后的汇编代码量巨大、结构复杂,即使是一个小型的应用程序产生的汇编代码其复杂性也不可小觑,对漏洞发生现场不易进行准确的定位。同时,由于汇编代码与机器码基本一一对应,晦涩难懂,对研究人员的技术能力和技术积累要求较高。(四)软件安全漏洞动态检测技术 软件安全漏洞的动态检测技术是通过对运行的软件进行动态调试来实现的,动态检测技术不需要查看程序的源代码,而是通过加载目标程序,使其运行起来,在运行的过程中去观察和分析程序的反汇编代码,查看程序执行了哪些指令以及内存的使用情况,堆栈的布局,寄存器值的变化等来发现软件的漏洞。软件安全漏洞动态检测技术方面目前有以下几类:运行时监测:对程序进行编译分析,在初步的分析结果中植入其他代码,然后运行程序,同时监测程序在运行时是否有产生分析结果中的问题,从而找出实际的安全漏洞,如在数组操作中,通过代码注入来检查数组下标的取值范围,从而可以在运行时发现数组越界的安全问题。信息流分析:与以上运行时监测一样,是在编译分析后注入代码,然后在程序运行时,监测那些不符合安全规范的信息流。程序模型检查:该方法是基于某种漏洞模型的检测,在程序运行时将其中违反模型中的安全规范的执行流程信息报告出来,而通常是借助现有的安全工具来发现程序漏洞。代码注入:在软件与用户交界时,在软件最有可能产生漏洞的地方输入错误代码,以触发漏洞,该技术常与动态跟踪调试技术结合使用。代码注入是根据动态调试得到的信息,在关键位置插入错误的代码,并以不影响原有程序的语义为前提;然后重新运行程序,观察程序运行状态,检查程序是否出现异常等。代码注入基本流程如下图所示:如上图,代码注入首先获得软件接口的数据类型,然后输入构造的“错误数据”,运行程序,观察其运行状态是否产生异常来判断软件是否存在安全漏洞。其中“错误数据”是指不改变输入数据的类型,而是通过构造异常、畸形的数据,如超长字符串,大整数等。输入“错误数据”后,如果软件运行异常,则可说明该软件存在相应的安全漏洞,从而进一步分析,查看该漏洞是否能够被成功利用。而有的软件设计了相应的安全策略,如拥有各种异常处理机制,则该软件在输入“错误数据”后将进入软件自身的异常处理机制中。与此同时出现了大量的动态检测工具,其中运用最广泛的是动态跟踪分析工具OllyDbg、SoftICE、TRW2000等,它们通过在动态的调试过程中观察程序的实际执行过程,了解软件的结构功能[57]o在本节中主要研究OllyDbg动态跟踪工具。该工具是用户级的调试器,功能强大,可以单步执行,设置内存断点,硬件断点,内存跟踪,查看程序执行到任意位置寄存器的数据、堆栈数据等,还具有很多插件功能,是主流的调试器之一,也是一款功能强大的反汇编工具。动态分析检测技术具有以下的优点和缺点。优点:1、针对性强:动态分析能够针对性的对软件程序进行检查,能够准确的确定被分析软件的相应功能或者模块的具体表现。比如,分析程序的输入输出,运行时寄存器的状态,内存分布情况,然后通过注入错误的代码检查程序的是否出现异常或错误等。2、准确率高:动态分析是通过运行被分析的程序,然后对程序运行状态进行检查,找出其中的程序错误,即程序的漏洞,能够非常准确的定位漏洞发生的具体位置。3、无需源代码:动态分析技术只需要运行程序,查看其功能是否正常,通过输入输出验证软件程序是否存在错误来查找程序漏洞。缺点:动态分析首先是对被分析软件程序运行时的状态进行预测,由于运行时的数据都是二进制信息,因此就需要熟悉目标程序,找出漏洞可能出现的位置,从而确定分析点。但要找到分析点是非常困难和复杂的。(五)动静结合检测技术 针对静态检测技术和动态检测技术都有明显的优缺点,可以将两种检测技术结合起来,取长补短,以提高软件漏洞的检测效率。这种方法的大概思想是:先用静态检测检测软件程序代码,得出可疑的漏洞位置;然后用动态检测技术验证那些可疑的漏洞。理论上,这种方法结合了两种检测技术的优点,但在实际中有很多问题难以解决。这就导致了动静结合的检测技术研究还处于理论上的研究,现在仍没有结合两种检测技术的原型系统出现。因此该方法需要以手工分析为前提。如下图所示,是一个动静结合的检测技术方案,这个方案首先通过IDA对软件程序的二进制文件进行分析,得出程序的控制流图和函数调用关系图,找出漏洞可能出现的位置,确定分析点;然后通过OllyDbg动态调试跟踪目标程序分析点的状态,找出相关信息;最后通过错误代码注入,确定该漏洞是否为程序真实的漏洞。如上图所示,这个检测方案主要是针对非开源的软件程序漏洞进行检测,非开源软件是指其源代码对用户是不开放的,因此只能通过扫描软件的二进制代码进行检测,用户借助IDA静态反汇编工具对软件程序的二进制文件进行静态分析,能够得到软件程序中的函数调用关系、控制流信息、断点列表、和交叉引用及软件的结构、功能等信息,这些信息都需要大量人工的参与,然后再通过人工经验分析这些信息找出软件程序可能出现漏洞的位置,确定分析点,为下面的动态跟踪模块做准备。动态跟踪分析是在动态的调试过程中观察程序的实际执行过程,得出软件的结构和功能。用户可以借助OllyDbg工具对软件程序进行动态跟踪,具体步骤是首先加载启动被分析软件程序的二进制可执行文件,然后根据前一节中静态分析的断点列表信息设置断点,结合函数调用关系图(FCG)和控制流图(CFG)等对程序的执行过程进行跟踪,同时记录程序执行的路径以及数据流信息,接着通过人工经验的分析,找到可疑的漏洞及漏洞可能产生的原因,最后通过注入相应的错误代码来触发漏洞,以是否发生异常来判断该可疑的漏洞是否为真实的漏洞。四、平台总体设计 (一)平台总体功能与特点 基于以上所描述的工作原理,本项目设计了一个自动化的检测平台,即源代码静态分析平台,这个平台主要是对开源的软件程序源代码的漏洞进行检测。平台的具有预处理,数据综合分析和结果展示三个功能。其中预处理是通过各种源代码静态扫描工具对程序源代码进行多层次的扫描检测,然后对检测结果进行数据综合分析,最后将综合分析的结果通过结果展示功能显示出来。采用的具体方法是首先对被测软件程序源代码利用各种源代码静态扫描工具进行多层次的综合扫描检测,即进行预处理分析,并且这个预处理过程是通过GUI界面调用自动化完成的,然后将预处理分析的结果进行解析,解析为统一的标准化格式后插入到数据库中,接着将数据库中某个函数在某个工具中被检测到的次数和平均估分值计算出来,用于数据综合分析,最后通过调节各工具的可信度比例得到危险等级高的软件缺陷漏洞。这个结果一方面能够降低单个工具的误报率和漏报率,而且便于分析人员有针对性对软件程序漏洞进行下一步的分析,另一方面可以看出编写该代码的开发人员的编程能力,可作为企业或公司在评价该开发人员时提供依据,此外通过对大量的源代码进行检测,可以得出同一类函数中哪些函数的安全性更高等问题,以提醒开发人员在编写代码时尽量使用安全性更高的函数。同时,源代码静态分析平台具有以下几个特点:1、集成多个源代码静态分析工具的优点,检测结果之间相互验证,明显降低漏报和误报;2、在评估危险等级和数据分析中加入用户交互,在工具可信度时引入了反馈机制,可以有效的指导漏洞条目的评估和分析;3、平台的设计与实现采用C++面向对象的设计思想和方法,有较好的可扩展性和跨平台性;4、平台将检测结果全部存入数据库,便于综合分析以及可以为扩展分析提供数据基础。5、平台的GUI界面友好,输出是以不同图形的方式输出,清晰明了,便于分析人员进行下一步的分析工作。(二)平台总体设计框图 源代码静态分析平台的设计框图如下图所示:该平台包括预处理模块、输出结果解析模块、数据库模块、数据综合分析模块和反馈参数训练模块六个部分。其中预处理功能包括了预处理模块,输出结果解析模块和数据库模块。对每个模块的功能描述如下:1、预处理模块是完成各个工具对软件程序源代码的静态分析检测,包括被测源文件的选择、显示,需要使用的工具的选择以及工具检测结果等内容,并通过预处理界面将以上内容直观显示出来;2、输出结果解析模块是完成每个工具检测结果的格式标准化,即将预处理得出的结果进行解析,解析成统一标准的文件格式,即一个7元组序列:(工具名称,文件名,出现行号,危险等级,问题类型,引起安全缺陷函数,描述);3、数据库模块是将通过输出结果解析模块标准化后的结果存入数据库中,为之后的数据综合分析模块做数据准备;4、数据综合分析模块完成功能包括:某类函数在某个工具中被检测到的次数和平均估分值的分析;得出数据库中漏洞条目的综合分析结果,即得出危险等级高的漏洞条目;以及得出可扩展分析结果,即某一系列函数中哪些函数出现的次数和平均估分值更高。结果展示完成数据综合分析模块结果的图形化显示,包括“条形统计图”、“图表”和“柱状图”的显示。其中“条形统计图”显示某类函数在某个工具中被检测到的次数和平均估分值,用于在数据综合分析时对各工具的可信度调节作参考;“图表”显示经过数据综合分析后的最终结果,即危险等级高的漏洞条目;“柱状图”显示扩展分析后某一系列函数中哪些函数出现的次数和平均估分值更高。本章将在第五章对这六个模块的具体实现进行详细阐述。(三)平台类的概要设计 源代码静态分析平台包含预处理模块、输出结果解析模块、数据库模块、数据综合分析模块和参数反馈训练六个模块,每个模块的功能由1个或多个类协同完成。程序中各个类的结构图如下图所示。图4-5中各个类的功能描述如下:完成用户界面控制模块功能的类 CMainFrame:创建源代码静态分析平台的主界面,包括菜单、工具栏、状态栏,视图的切换等。CFolderListView:实现源代码静态分析平台中带有标题栏的源代码静态扫描工具的选择树形控件。CCodeWatchView:实现源代码静态分析平台中源代码文件内容和源代码分析结果的可视化。CPreviewPane:实现源代码静态分析平台综合分析后图表的显示。CStatisticsView:实现源代码静态分析平台中条形统计图的显示。完成预处理模块功能的类 预处理模块的功能由类CMainFrame实现。完成输出结果解析模块功能的类 输出结果解析模块的功能由类CMainFrame实现。完成结果展示功能的类 条形统计图显示功能由类CStatisticsView和CBarChart类协同完成;图表显示功能由类CPreviewPane完成。部分类处理流程如下图所示:(四)模块具体实现 对数据库中若干个工具的检测结果,进行数据综合分析,按照前文4.2.2.1节提出的原理进行分析。例如某个工具i找到含有函数f的漏洞次数可以通过SQL语句:“Selectcount(scores)from'i工具名称'”得出,同样找到含有函数f的漏洞总估分可由SQL语句:“Selectsum(scores)from'i工具名称'”得出,其中工具名称根据树形控件选定,容易计算出该工具检测到该函数的平均估分值。另外如果某个工具没有找出含有某个函数的漏洞,则此漏洞条目在该工具中的估分wc(i)=0。由此容易计算出含有某类函数的某条漏洞条目的估分值。数据综合分析处理流程:首先由用户指定要分析的函数名称;其次从数据库中分别读出各个工具包含该函数的漏洞条目,计算其平均估分值,为之后的工具可信度比例调节做准备;再次从数据库中读出所有工具中包含用户指定函数的所有漏洞条目,运用平均估分值和用户的交互调节各个工具可信度比例;最后根据该比例计算出指定函数的整体估分值E(x)。如下图所示:五、平台测试与分析 数字文化创意软件开发综合检测分析平台的测试,即是对源代码静态分析平台的测试,由第四章对源代码静态分析平台的设计可知,这个平台包括预处理、综合分析和结果展示三个功能,预处理功能由预处理界面显示,综合分析的结果由结果展示功能给出,具体包括条形统计图、图表和柱状图的显示。平台数据综合分析中提出的扩展分析,是对平台检测漏洞效率的一个分析。下面将对平台的功能和扩展分析效果两个部分进行详细测试,具体的测试内容如下。(一)测试环境 源代码静态分析平台具体的测试环境如下表所示: 推荐的环境 备注 操作系统 WindowsXPSP3 Windows2000/XPSP2/SP3/Win7等操作系统版本均可 数据库 MYSQL5.0.67 5.0.*及其以上版本均可 编译环境 Python2.5.2 2.5.*及其以上适合Windows操作系统版本均可 源代码静态扫描工具 Flawfinder-1.27 Its4-2.6 Cqual-0.981 Splint3.1.2 Cppcheck 五种工具的其它以上版本均可 五种工具需要通过Cygwin软件成功移植到Windows平台上 (二)平台功能测试 本项目首先选取TrojDetect.c源代码对源代码静态分析平台的功能进行测试。TrojDetect.c源代码是UNIX环境下一个网络应用程序中的文件,功能是检测网络上的恶意代码。首先测试预处理功能,包括被测源文件的选择、显示,源代码静态扫描工具的选择,工具检测结果的显示及插入数据库等,具体测试方案如下表所示:测试要求 预处理功能 测试环境 虚拟机上搭建环境 测试方法 1.点击“OSFile”,在弹岀框中找到被检测源文件路径 在“工具列表”中选择要使用的源代码静态分析工具 依次点击“Ready”,“Start”,开始对源文件进行检测并将检测结果插入数据库 点击右下方的Tab键(its4结果)分别显示各个工具检测的结果 测试结果 预处理界面显示被测源文件及检测结果,检测结果成功插入数据库 测试结论 通过 接着测试综合分析功能,通过结果展示的“条形统计图”、“图表”和“柱状图”显示出来。其中“条形统计图”显示某类函数在某个工具中被检测到的次数和平均估分值,具体的测试方案如下表所示。条形统计图测试 测试要求 条形统计图显示 测试环境 虚拟机上搭建环境 测试方法 切换到“图像统计显示”模块,选择需要査看统计情况的工具;选择“条形统计图”, 测试结果 “条形统计图”显示每个工具检测到的安全缺陷函数出现的次数和平均估分值 测试结论 通过      ,辅导教师栏内仅限于填写主要辅导教师一人情况,填写多人无效.    第一作者情况 姓? 名 性别 民族 出生年月 学籍主号 学籍副号 室内设计毕业论文参考文献总结: 关于对不知道怎么写毕业设计论文论文范文课题研究的大学硕士、相关本科毕业论文毕业设计论文论文开题报告范文和文献综述及职称论文的作为参考文献资料下载。

不仅如此,奥运会羽毛球女子单打金牌得主陈雨菲的微博头像,用的是自己赛前随羽毛球队去韶山时在毛主席铜像前的留影。



除了毛主席像章,陈雨菲还晒出了《一师毛泽东:要为天下奇》这本书。“立奇志、读奇书、交奇友、创奇事”的青年毛泽东,一定能给成长中的青年在志向和精气神诸方面予莫大的启迪。


毛主席在青年时代的《体育之研究》中就说,“国力苶弱,武风不振,民族之体质,日趋轻细,此甚可忧之现象也”;“文明其精神,野蛮其体魄”。


他带领着新民学会的会员们,经常自讨苦吃,游泳、爬山、跑步、阳光浴、冷水浴,作为磨砺坚强意志的手段,作为锻炼“猛烈与不畏”精神的载体。


毛主席对于体育运动的看法,并不是单纯锻炼身体这么简单,而是要振兴民族,这比简单的让身体强壮或者争夺名次的格局还要高出许多。


1916年,毛主席在写给朋友黎锦熙的信中就提出了“德智体应全面发展”、“体弱可以变体强”、“身心可以并完”的体育思想。


1942年,毛主席特别提出了“锻炼身体,好打日本”的口号。


1952年,毛主席为中华全国体育总会题词“发展体育运动,增强人民体质”。


1971年运筹帷幄,亲自导演“小球转动地球”的震惊世界的乒乓外交。


毛主席一直到73岁高龄还多次畅游长江,提振了全国军民的士气。


可见,毛主席对体育精神之于国家民族都有着十分深远的贡献和睿智的见解。


我们参与体育运动,除了增强体质,更应该学习毛主席志存高远的洞察力和战略思维,这才是毛主席留给中国人民的宝贵遗产。


这正是中国人民爱戴毛主席,自发、自觉佩戴毛主席像章以表崇高敬意的原因。


中国运动员发自内心热爱毛主席的一件事,欧美反动势力又开始挑事,指责中国自行车组合佩戴毛主席像章违反奥林匹克宪章。



更令人气愤的是,国内某CCXV体育频道在使用奥运冠军领奖画面的时候,直接通过PS把毛主席像章抹除。



以上这些图片的像章全部被PS抹除。这种行为跟断脊之犬没什么区别,欧美势力指责我们什么,难道我们就要听他们的指挥来获取敌人的欢心吗?


还是说,国内的某些听到毛主席三个字就瑟瑟发抖的害人虫恨不得把有关毛主席的一切从这个世界上消除吗?


欧美势力说佩戴毛主席像章违法奥林匹克宪章,简直是笑话。毛主席三个字什么时候成为“政治宣传”?


本质上他们只是害怕毛主席,害怕被毛主席像看着小学生一样纵横捭阖,依旧束手无策的恐惧。


连尼克松都亲自跑到毛主席的书房要求跟着毛主席学习哲学,自叹自己在毛主席面前就像个小学生。


渡江战役期间,毛主席下令炮轰英国的紫石英号。朝鲜战争痛击美国联合军队,建国初期就把当时世界上两大帝国主义揍了一顿,这个痛直到现在英美仍旧怀恨在心。


这也是过去几年一直有公知抹黑志愿军烈士的原因,要瓦解中国人民的反抗精神和抗美援朝的伟大精神。


他们的目的是不能让中国人民学习毛泽东思想这种强者的思想,而是要让中国人民在奶头乐的低俗和失去自我思考能力的糖衣炮弹里沦丧。


深度是庸俗的最大敌人!


敌人反对的,我们就要支持。


反观我们国内的CCXV体育频道这些断脊之犬,连我们的开国领袖、民族英雄都不敢正大光明的宣传。这种行为不仅伤害了中国人民的爱国之心,也助长了欧美反动势力的嚣张气焰。


欧美这帮鬼子才是最擅长玩弄政治的强盗?


1936年希特勒操纵奥运会;1980年莫斯科奥运会,当时以美国为首的很多国家都一起抵制这一次的奥运会;1984年美国举办奥运会,苏联也带领一些国家也抵制这一次的奥运会。



乃至当下,欧美一些国家也在抵制北京冬奥会。


这些欧美鬼子口口声声说体育不能掺杂政治,通过政治玩弄体育的正是他们这帮人,真是恶人先告状。


回想起近几年有关天安门城楼的宣传画,毛主席头像要么被抹去要么一片空白,我们必须警惕境外势力通过渗透的手段来瓦解毛泽东精神。


但是,这件事恐怕要让内外反动派失望了。


我们发现在年轻人中,读《毛泽东选集》已经成为一种司空见惯的潮流。



现在的一些年轻人,在面对复杂的社会变化,有的人逐渐沦丧,这种茫然无措所带来的绝望难以言表。


毛选,或许在各种际遇之下,逐渐的被他们发现,被他们视为珍宝,成为他们重新审视世界的标尺,和思想武器。


毛泽东说:“如若被敌人反对,那就好了,那就证明我们同敌人划清界线了。如若敌人起劲地反对我们,把我们说得一塌糊涂,一无是处,那就更好了,那就证明我们不但同敌人划清了界线,而且证明我们的工作是很有成绩的了。”


由此可见,我们目前的事业非常成功。我们不仅要热爱毛主席,要佩戴毛主席像章,还要学习毛泽东选集,继承毛泽东精神,以此建设社会主义现代化国家,以此复兴中华民族伟大复兴,以此发扬光大毛泽东精神!



我也赶紧拿出三枚毛主席像章以示决心,那些反动派的阴谋是不可能得逞的,也注定是要失败的。

最近管控较严,防止失联,请大家关注下方小号


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • [鲜花]《陪儿子玩西游·40·》[鲜花] 终于轮到沙和尚出场了,可憋屈坏了。我们就叫他悟净吧,暂时不透漏他的底细,怕你惊掉下巴……这个人物太关键了,西行路上不
  • #写作[超话]#《奔跑的夜》我想去那透明的教堂让心在迷离中幻化忘记俗世中的嘈杂与纠葛触手可及的玫瑰和梦我想攀援那螺旋的高楼让绿色植入心的沙洲把自己凝为一粒最小的
  • #李柱延[超话]##李柱延画报人生# 220803 IST_THEBOYZ更新柱延相关 THE BOYZ 7TH MINI ALBUM [BE AWARE]
  • 上个周六,毫无疑问是燃爆全年的一天,AXS满满黑科技的X-DRIVE男士黄金素发布会吸睛无数,其后上演的X-DRIVE独家冠名AFC澳洲巅峰之战,更是以X-DR
  • 同时,也定了投篮机、好几个篮球(篮球在我心里都是二三百块的,原来我小瞧它了,一个篮球居然要600+[二哈])好吧,想都甭想的超预算了。球星说地胶实在有些LOW,
  • 三季报医药板块中儿童药板块预料中的业绩靓丽,比如济川药业,葵花药业,山大华特等验证二胎以后,儿童药板块的增长未来还将延续增长。三季报医药板块中儿童药板块预料中的
  • 但是我肠胃不是特别好,所以主要喝红茶和白茶,喝过的红茶不多,记得名字倒是不少,正山小种,滇红,金骏眉,祁门红茶等,这两年白茶喝的多一些,能大概喝出茶的年份,煮酒
  • 它是西海岸新区深度融入国家“一带一路”倡议和海洋强国建设的重要载体,也是海内外嘉宾认识西海岸、牵手青岛、投资山东的重要平台窗口。与世界共舞全面塑造高质量发展新优
  • 私立大学:早大对于日语的要求就放开了不少,无论是能力考还是留考日语都认可。上智大学和国公立大学一样,只接受留考的日语成绩,但是依旧没有要求具体的分数。
  • 虽然时间让我长了年岁,可我一点也不像个大人啊我依旧会被一些小事影响,依然爱说反话,还是那个会和父母顶嘴,把不开心表现出来我还没学会怎么当一个大人,所有大人要经历
  • 但是你去看看得分后卫,这包括乔丹,你知道库里没法和他相比。”“库里是史上最好的射手,他是一个得分后卫,人们为什么说他是控卫?
  • 面对“疫情”不退却五一期间,郑州疫情管控升级,王强业从自己开始带头应急24小时值班,在他的工作记录本上,他写到:“作为一名党员,要做到‘疫’不容辞。部室全体人员
  • 落海失联小伙刚收到大学录取通知书,他的梦想是当一名医生……】7月31日下午,澳门路海域两小伙被大浪卷入海中,其中一人已不幸遇难,另一名小伙失联。【#被海浪卷走小
  • 最突出的是男性,会对妻子有无法沟通自己之意见的情形,但女人多半都能原谅男人,所以这样的八字组合,也算婚后关系很好的八字。如果是身弱,这样伴侣对自己还是有一定的帮
  • 总结:值得期待,但也有隐忧总体来说,28岁的瓦拉内经验丰富,近几个赛季他在补位、回追、争顶和拦截球路上的表现依然依然还是较为出色的,加盟曼联之后,他也能和马奎尔
  • 真的有点生气了,语言有过激的话请见谅注:只是提醒一下不理智的cp粉,其他小可爱不要自主套入哦,本来是发在团超的,有争议所以重新发了~不怎么用微博所以不太懂应该发
  • 梁思成:做林徽因的丈夫很累,林徽因死后,他娶了小他21岁的林洙众所周知,林徽因当时在英国留学时,诗人徐志摩就对她情根深种,更为她写下无数浪漫的诗句,这对于情窦初
  • #超级月亮##近期的幸福感来自于# 明天就要开始年休了,好开心啊,啥也不想干,今天早上连床都不想起。我每天吐,什么都吃不下,他一天几十遍地提醒我喝水,在我身边的
  • 2、市场保险工作: 人人都有保险需求,满足人们基本生活需求,空间无限大。3、竞争力保险工作: 随着将来从业时间的增长,不但收入越多,竞争力也越强,没有裁员之忧。
  • ​#光与夜之恋[超话]#随缘蹲一个共号,aq,all推,要看缺卡的可私我需要你做:日常,20分钟,活动,亲妈肝,不想打织梦的话我可以打⭐帮氪专栏,共半年以上你