您的当前位置:首页正文

应用软件的安全现状

来源:画鸵萌宠网
Features圓腦件的安全现状本文是美国安全公司述了软件安全的现状,于,年供参考。月日发表的一份关于软件安全现状的综合报告。本报告系统地阐现编译如下□前言总体态势在使用基于云计算的应用软件风险管理服务平台对不同类别的应用软件进行风险评估的过程中发现了代码级上存在的问题,:软件安全现状信息对于了解软件在安全性方面存在的问题及分布情况是至关重要的。现今大”部分关于安全的信息都来源于的保护技术些从“周边防御、公司提供的防火墙和防病毒之类的网络,网关或终端,大部分软件实际并不安全。这些技术只注重已知的漏洞漏洞涉及较少应用软件或“对于其他一第三方软件是企业软件和大多数应用软件的重要组成部分。隐藏在二进制软件中的一;安全测试公司得到的报告只针对单(开源项目同样存在安全问题,但是与商业或。类别的应用软件的测试“)进行特定类型于外包软件相比,其修复时间■、潜在后门更少(黑盒”动态”)。大量的商业和开源软件使用开发,本文是根据美国知名安全公司年月日发表的。这使得它们非常容易受到漏洞的影响以至于攻击者可以轻易获得系统的控制权。状的信息汇总份报告进行的关于软件安全现借助其拥有的世界上唯,一许多很容易修复的安全漏洞普遍存在明对于软件开发者的安全编码培训不充足金融和政府部门使用的软件■夕卜目。,这说的基于云计算的应用软件风险管理服务平台实验结果进行详细地定量分析,对得出了软件安全对更加安全。方面现存的程语言型(一些规律和问题、自主开发的(、开源的、夕卜他们从软件供应链编包的商业的。、包软件缺少安全评估。,建议在合同中明确)、安全验收标准、等和非)、应用软件类)、重要发现大部分软件实际并不安全。组件(、共享库、、应用软件测试方法静态动态和手工,等多个角度对软件测软件时标准。’使用其自己的风险调整验证法评估待最初提交的应用软件没有达到安全,安全信息进行归纳统计的资料这为不同领域的软件工作人员有针对性地了解软件安全现状提供了宝贵。自主开发的软件最差,不可接受最近。从测为了便于读者的理解。,本文对这些信息试的软件样本集来推断现在企业中超过,一半的进行了系统地分类编辑中国信息安全软件部署容易受到应用层攻击和所受的攻击就说明了这建议划,:一点。明对于软件开发者的安全编码培训不充足。实施全面的、基于风险的应用安全计。跨站脚本尽管近十年来(漏洞被频繁地使用并且从攻。更加广泛深入地设计软件安全方案一每个开,击数量上来说它是影响软件安全的第三大漏洞一发团队应当为应用软件安全实施系列活动并直受到高度关注,但是它的持续将此作为开发生命周期的一部分。高发表明了问题的普遍性和威胁环境的变化情况(第三方软件是企业软件和大多数应用软件的重要组成部分。例如不断增加的动态网页使用建议)。所以对。开发者进行涉及各类漏洞的培训是必要的,样例集的所有应用软件中开发的,是提交者自主是开源或外包的。:将开发者培训作为整个安全开发的一是商业软件发现。,部分。知名企业微软在安全开发生命周期的培训。但是的包含自主开发软件的另外。,阶段能够发现许多编码错误培训开发者是在重,代码都来自于第三方建议第三方组件自身也要软件中避免安全漏洞的经济实用的做法只但是经常包含其他的第三方组件:对新开发的代码有效。为认可的第,三方软件供应商提供安全金融和政府部门使用的软件相对更加安全。验收准则和策略在集成最终应用软件之前为第超过一半的金融和政府相关的应用软件在首的风险调整验证法所规一三方组件进行安全性测试。次提交时就达到了,开源项目同样存在安全问题外误”但是与商业或在后「定的安全标准类软件的前列,在这点上它们排在数据集中,目比,在使用“前,最危险的编程错其实这并不奇怪因为金融相关的开发公司是历史上第批调查和关注软件安全。标准进行评估时提交给的开源软性问题的公司全的重视建议。另外,,上述两类部门都遭遇过一商业软件和自主开发软件达到了安全标准的比率分别为和开源项目组织修复件、些重大的攻击事件。这也唤起了他们对于软件安并且学工、安全漏洞的速度更快到达至安全标准仅需天中,。开源软件从首个版本成形天,:观察存在安全高风险的行业,自主开发的软件需要;习他们为了实现复杂环境下的操作控制所做的自,而商业软件需要天在所有类型的软件,作。其他组织也可以通过。我修复来实现这样的建议在合同中明确左右的开源软件含有的潜在后门最少’检查到的开的是后门。改进源软件的所有漏洞中建议时自,:只有远不足外包软件缺少安全评估’在业务关键性软件中使用开源组件。不要过于担心安全问题但是还是要像测试数据集中最初提交的应用软件只有是外包软件,主开发的代码那样严格地测试开源软件的安全。可以看出许多企业正在越来越多地。性和后门依靠海外开发来节省成本开发是降低成本;由于外包主要的目的大量的商业和开源软件是使的,,所以很有可能外包合同中会忽略具。这使得它们非常容易受到漏洞的影响以至于纟体的安全验收要求建议:—。在签署外包开发合同时不要忽视安全,分析的应用软件中超过软件,的是商业但是这两种析的所有要求。在起草采购合同的同时,坚决要求对方进。其中大部分使用。开发,行独立的安全测试并设定最低的验收标准。这语言可能会增加安全风险在,使得后期无需因为安全问题而返工合同用语的,程序中行量、,的含有漏洞、缓冲区溢出整型溢出、包括远程代码执释放后使用等大。样例可以参照《《安全软件合同附件》。》和应用软件安全采购语言软件是从软件供应商处购买所得的现状,也加剧了企业的安全性问题建议多企业应当对购买的。三软件供应链虽然人们大都认为软件是从头开始开发的,软件重新进行安全分析以降低风险:重要的业务系统经常包括多个层次和。〇种开发语言,尽管代码遍布于供应链的但是现代经济学和生产力早已改变了这种状况实际上,。各个部分但是也不能对其他语言编写的软件中。软件是来自世界上各个地方的代码组合在整个软件供应链上有多类软件供应、存在的风险掉以轻心起来的,「。许多很容易弥补的安全漏洞普遍存在这说商,包括自主幵发代码的团队外包开发者、开中国信息安全Featuresisl^lrM源项目和商业软件供应商。政府的网际安全专家,各类供应商开发的应用软件的分布此类信息为供应商更加详细地理解安全风有时将这种复杂且不易理解的供应链称为或者“来历不明的软件大多以开源组件。”。研究表明险提供了帮助,也为决策制定阶段提供了重要依包括自主开发软件的代码都含有第三方代码,据。如果企业决定采购商业软件或者外包给第三,件的形式存在的商业或外包共享库和组本节介绍了依据业界经、方进行开发那么决策制定阶段就需要确定业务。关键性应用软件的来源常讨论的软件供应链分类检查软件产品后所得的安全质量结果。除了极少数的开源和语言的分布是项目,、常明显的。和非应用软件应用软件供应商的分布应用软件的分布同样也为各类供应商提供了分析对软件供应商进行分析有利于企业对比第三材料雲:’自主开发更是大大地倾向于。方和自主开发的应用软件的安全风险以看出一。从下图可丨表、各类供应商开发的应用软件分布览非,供应商提供给丄乙的应用软件中超过丨二分之、一的是第二方开发的一斤斤山打、厶“;另外,只有左右供应商的是外包的。自主幵发商业“开源外包样本巧■自主开发的各類应商撤的应用软件的錢繼和可此类信息为供应商提高安全编码技能和修复安全漏洞提供了重要视角,■■开源的外包的包括使得特定软件开、图应用软件供应商的分布发项目总价值的计算更加精确提高按期完成上业务关键性应用软件供应商的分布市和部署的能力修改代码带細、,或者通过控制由于修复漏丽‘‘此类信息可以为企业评估应用软件安全风险返工费”而更好地对外包合同制。下图翻了使用风险纏验证法職。的最初提交的软件的安全性这些软件中。的存关键性较低的面向自…十的应用软件比夕包业务关卜…在“不可錢”艘全腿刚練软件的可。曰十说接受率比自主开发或开源软件的更低在大多数,企业不进行软件安全和安全编码方面的培训下隨明了业务关键性高不是工程“并不外功殳包”的决定性因素’应用软件中超过。的业务关状况并不奇怪丨。键性高的软件是由商业供应商提供的方采购软件的首要隨其实“,能和上市时间才是企业决定自主开发还是从第三。业务关键性是由使雕画件的企业指定的■商《件。■自主开发的软件■开凍软件件商业的;■■■■图各类供应商最初提供的应用软件的安全质量,在下图中可以发现丨开源软件中非常严重的)■漏洞(缓冲区溢出,、数值错误这的比例与其他类非雌型的软件差不多但是严重漏洞一注入的比例比其他软件要高。情况在前面提到的比例中没有反映出来图中国信息安全,是因为这里对业务关键业务关键性应用软件供应商的分布性进行了调整。謹麵■劃丨卜丨■严重性非常高■严重性高■严重性中等到非低■可接受的■不可接受的雅纏■纖自主开发的图各类应雕件巾不同严重程度的翻的分布。纖下图反映了不同供应商对漏洞的修复能力所有软件修复的平均时间是长,天。商业软件最图各类供应商最初提交的软件符合■前的情况为天,这是因为商业软件的修复周期必须碘麯::可接受的在更加正式的软件发布周期和补丁发布周期内进行调整开源项目组在安全修复方面是最快的。,修复质量也是最好的一,般来说再次提交的;版开本就能符合预期的安全标准自主开发项目的修复时间次之但是达到预期安全标准所需的返工,自主开发的■次数却最多■自主开隱。:的业的■开動■所有的图各类供应商最初提交的软件符合前的情况■各类应用软件中常见安全漏洞的分布■—■■■此类信息对于进行针对性的安全培训或者改■■■蠹进特定供应細安全职责具有重大意义。下表给■::■::出了分析的软件中最常见的漏洞给出了前种,’针对每类软件國百分比表示相应类型的软件中出。丨。■■■■播賊高的平均球■■■■丨现该漏洞的几率表自各类应用软件中常见漏洞的分布商业的跨站脚本开源的达到相定标准所需的皈本数主开发的外包的图供应商修复漏洞的能力跨站脚本跨站脚本各类应用软件针对不同行业标准的安全性分布此类信息对于确定软件提交阶段的安全验收标准非常有帮助。信息泄露信息泄露数值错误跨站脚本芝信息泄露信息泄露目录遍历它们不仅可用来构造商业和外’包软件合同中的条款和条件还可以用来在控制。缓冲区溢出目录遍历加密问题注入目录遍历加密问题时间状态管理证书滥用。合同成本的同时保证软件的安全质量下图说明了各类应用软件的安全生能丨错误处理目,这”注入时间状态录遍历±入加密问题封装数值错误些软件在交付之前都要基于“前和“行业标准进行检验’之类的前如果软件中含有标准列出的己为“”错误处理封装注入数值错误会话固定时间状态某种漏洞根据,那么就标不可接受,”。和标准开源和商业软件。潜在后门时间状态栗豐证比自主开发软件的安全性好得多山工…丄灯奶亡十十邊这可能是因为;’潜在后门管理证书危险函数滥用危险函数错误处理数值错误商业软件需要通过采购方更加严格的审査由于门络社匚的存在’并且管理证书滥用管理離开屁:欠件中的问杜门研吨⑷命令行注入快速地发现和解决’另外’开源软件的高安全性。还受益于源代码扫描工具的使用中国信息安全Features自主开发的软件与整个样例集的漏洞排列顺序一致,这可腿肝自主體的餅概捕(;评■估的应用餅巾所战藤大件中的数值離等漏漏部分是使用和、舰软纟餅薩,爾贩觀離删賊纖钟力丨;■—醇棚鶴开发的开源应用软件中回种是志注图车换行普遍入’注入漏洞比信息泄露漏洞更加一。回车换行注入中最重要的日和非应用软件而信息泄露漏洞中最重要的,一种是错误信息应用软件开发语言的分布泄露志,因此开源软件可能将错误信息写入系统日。此类信息不但对企业开发特定类型的应用而不是反馈给用户这样做减轻了信息泄露;软件具有市场导向作用,而且对软件产品不断。但增加了日志相关的安全风险,另外,潜在的后类变化的受攻击面也具有主导作用由于不同开,门也是非常值得关注的码密码、这里潜在后门包括硬编、发平台占有的市场份额在不断地变化化过所以攻逻辑和时间炸弹。反编译代码、击者关注和实施攻击活动的对象也在不断地变。行为和隐藏调用等例如,,苹果公司上升到年的市场占有率已超年第年第四季度的□并且和的市场占有率也从四应用软件“‘’四季度的这引发了对平台攻击数量的迅速增分析的应用软件开发语前面的信息是从软件供应链的角度给出的主要是为了辅助企业转变工作方式和策略、加口。下图反映了。管理言的分布软件风险和保护重要软件产品开发团。还提出了安全质’量可接受标准的识别和强化机制这也是国内外潘望的。没有餅全安全的,了解耕湖自身的性质及它们给企艘錄細顺对于碰软件安維有很大的帮助软件漏腿黑客对应不同麵的用软件系统实施恶意行为的攻击点。。应用软件中含有黑客可以利励多种攻击点例如应用软件与桌面软件数据库之类的非。,、图应用软件开发语言的分布应用软件之间的受攻击面不同言和平台(。此外),编程语了解应用软件的漏洞类型分布情况对于漏洞和黑莓操作系统。之间漏洞的差异也很大不,不同公司开发的应用软件的漏洞也(挖掘据、漏洞利用防范及风险降低等。一系列操作都根类漏洞整这取决于这些公司例如,金)服务型软是至关重要的下图是应用软件及最常见的。件开发公司和零售业软件开发公司开发者的安和非全编程技能素。、开发熟练程度或核心安全团队等因,理出的统计数据用红色高亮标记的行表示既在本节给出了漏洞的分级信息。以辅助软件风前在的漏洞类型多重叠的重点“中存在,又在,前中存险管理过程中选择适当的策略应用软件分布。可以看出检测到的与基于这两个行业标准检测到的漏洞类型存在着许,对分析的所有应用软件都进行了详细的说明和分类的行业等,这更加说明了这些漏洞类型是安全防御依据是关键属性,包括是否面向。使用的语言和平台以及提交它的组织所属。下面给出了两种漏洞排名统计法。第种是分析的大多数应用软件是面向结果发现此类软件存在风险高发、的攻击漏洞频率统计法;”,用来说明发现的漏洞的总数向软件统计法”,量第二种是“受影卩用来反映含方式为大家所熟知、漏洞被持续的利用。(如注有个或多个某类漏洞的应用软件在所有软件中所。入中国信息安全、跨站脚本)等问题占的比例■眉■在前或中存在的翻突型不同开发语言的漏洞类型分布下表给出了不同幵发语言的漏洞类型的分布表“。不同开发语言的漏洞分布跨站脚本信息泄露锴谋处理缓冲区溢出数值错误跨站脚本加密问题目回车换行注入错误处理缓冲区管理错误潜在后门加密问题目录遍历注入级冲区在卮门理锚谈国■■■加密问题目录遍历回车换行注入信息泄露注入输入验证不充分注入时间状态管理证书肌理证书紂装通用录遍历危险函数时间状态不可信的搜索路径管理证书数值错误错误处理雖滥用图常见的漏洞类型(漏洞频率统计法)不同输入向量的漏洞类型分布■£。基于人向量的漏洞分析非、:一吊重要。,为这,是降低攻击者利用漏洞的加密棚种方法例如基于■的向量是风险最高的,因为它们直接应用在网;络上并且使用者均为匿名用户回车旗行注人文件和数据库的§输入向量需要攻击者首先将攻击数据置入本地文■■■■■■■■■■件系统或数据库中实现二次漏洞利用,,然后使用高水平的攻击手段相比之下难度较大。■’的静态二进制代码分析肯够识另出被攻击者污染的可疑数据所在的代码路径冲区》此类攻,击包括跨站脚本、路径操作和入等可用来区分通过网页请求产生的数据所触发的漏洞和其他来自文件或数据库的数据触发的漏洞邮脚抓脚。糾表图常见的漏洞类型(不同输入向量的漏洞类型分布基于的输入向量基于非受影响软件统计法)漏洞种类的输入向量使用漏洞频率统计法和受影响软件统计法时洞,跨站脚本路径操作注入跨站脚本分别是出现率最高和第三高的漏这对于编写安全代码有非常积极的意义,,。虽一然跨站脚本已经被关注了很多年但它仍然是类严重的安全漏洞使用受影响软件统计法时;一,最常见的棚是加密问题感数据的文本存储、,包括不充分的熵、敏务、目、使用硬编码的密码值和使用。关的行业集团由计算机软件计算机服务、安加密能力不足的算法等理解加密问题,开发者常常不能很好地全产品和服务行业等组成院、;政所以进行开发者培训是减缓此类;各个州的政府等’。针对行业集团,包括美国联邦法风险的重要手段当评价某个类别的漏洞的严重。洞分析是非常有用的的软件漏洞分布。,下表给出了针对行业集团,,软件漏性时如,,两种不同的普遍性统计法都需要考虑但是在受评估的应用软件中。例不难看出由于在软件相关的注入漏洞数量在所有软件漏洞中的比重(,行业集团中普遍使用到等非托管编程语较小言,所以缓冲区溢出和数值错误之类的漏洞普遍。的含有此类漏洞存在中国信息安全Featuresl^P^T^ 彳󰇴J表金融相关针对行业集团的软牛漏洞分布软件相关政府相关跨站脚本所有行业相关■可翻■不侧跨站脚本跨站脚本當信息泄露信息泄露错误缓冲区溢出加密问题信息泄露回车换行注入芎府相关相关回车换行注入加密问题目录遍历缓冲区管理错误注入行业其他行业°棚■■肌帆帆。注入影中【益出错误处理加密问题気職目彔谝历目教信错误士°图■时间状态封装回车换行注入封装目录遍历考虑业务关键性的情况下最初提交的应用软件的安全性针对业务关键性进行了调整()注入缓冲区管理错误时间状态潜在后门五威胁趋势■潜在后门管理证书管理证书命令行注入时间状态缓冲区溢出滥用数据和统计的意义在没有上下文的情况下是離舰数值错误输入验证不滥用£有局限性的要。。上下文对于应用软件风险管理特别重、管理证书分滥用前面的报告中包括了应用软件来源平合语言和行业等上下文信息本节还要添加最重要的软、’級聽输入验证不充分不同业务关键性软件的安全生分布件安全上下文应用软件威胁范围将代码库与威胁范围相关联:’也可以翻译为目前它“”些软件提供商使用的风险调整标准。软件漏洞的利用具有许多新的趋势,,来比较自主开发的和外包的软件和’基于行业标准需要较业务关键性不同的软件一们除了用来攻击系统和访问数据外还用来破坏周边去年月份的攻击就是个例子攻击者一。’对安全质量的要求会有所不同,般来说禾,正的个漏洞破坏的防火墙。带有高业务关键性(评。古删)的应用软牛具有的链而不是把费用过多地网络外出访问信息的工作站上的商业软件用来作为质量也应该更高这种务实的臓促使企业优化漏’与内部网络连敵娇梁。攻击者并稍用浏览器洞修复能力和增加智力投资花费在将业务关键性较低的应用软件的安全测试标准提到与业务关键性较高的应用软件相同可。聽纖件进行攻击’她档■職、浏览器插件、已经开始收集手机应用软件的漏洞,的不可細包括编码错误和恶意代码等展趋势发现’他们研究近几年的发攻击者经常使用终端用户桌面软件作。高中等■■■■■趋势。手机软件的供应链控制得比较严格,许多手机软件来源于平台供应商的应用软件仓库但不幸用软件仓库不能实施安全性测试所以的是这’’风险不可避免图。另外,手析栽件大部分是由终端用。考虑业务关键性的情况下最初提交的应用软件的安全性户自己安装的当为大多数业务关键性应用软件规定更髙的安全级别时性“,最初提交的软件中只有业务关键,他们大多缺少安全知识另外个新领域是社会网络应用软件该领域包含着网络钩鱼攻击和鱼叉式网络钩鱼攻击的巨,,“非常高””的软件可以被接受,。但是为了进行丨大应用场景。这两种攻击充分利用了用户对从平台、充分的安全生分析很多时候需要考虑业务关键生。上获取的信息连接和其他数据的信任。大多中等中等的软件,因为最初提交的软件中有,。的这些牛与平台—入“”纖件可以被接受所占比率很高。研究了上面提到的行业集团对软件可口’接和,因此存在着巨大的全隐患口女。户用户■居紧密接受軸影响软件相天,啤且新儿■酬■奶舦虫入贼全幵发团队和更錢开发继丁业只。他们在分析中发现’—免受漏洞的侵害更快的补丁发布。目‘、病毒库升级和状,有的可接受率是最而最初提交的金融和政府相关软件的可接受率都,的,銘麵转不了的威胁范围扩展得非常迅速隱应用软件。建议继续保超过了中国信息安全是最高的。数据破解的根源上,而不是放在漏洞本身上。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top