IBMRationalAppScan软件安全测试软件安全测试•什么是软件安全测试?软件安全测试包括:程序、数据库安全测试,根据系统安全指标不同测试策略也不同。主要包括:用户认证的安全测试、系统网络安全测试、数据库安全测试(数据库自身安全和人为安全)。2数据库安全概述•数据库安全数据库安全是指保护数据库中的数据不因用户的非法使用而造成破坏、更改或数据泄露,也就是指数据库中的数据不允许收到任何恶意侵害或未经授权的存取和修改。数据库安全设计采用的措施主要包括:①身份认证(Authentication)②访问控制(AccessControl)③数据访问机密性(Confidentialty)④数据完整性(Integrity)⑤审计能力(Auditing)⑥可用性(Availability)很多软件在设计时忽略或者很少考虑安全性问题,考虑了安全性的软件产品也往往因为开发人员缺乏安全培训、没有安全经验而造成了安全漏洞。这样产生的安全漏洞分为两类:第一类:是由于操作系统本身设计缺陷带来的安全漏洞,这类漏洞将被运行在该系统上的应用程序所继承;第二类:是应用软件程序的安全漏洞。第二类漏洞更为常见,更需要得到广泛的关注。软件自身安全保证系统的安全,仅靠安全软件是不够的,同时要注重安全管理人才的培养,提高安全防范意识,最终做到安全有效的防范。而当前人员安全意识的培养还远远不够,在现在的网络环境中,绝大多数漏洞存在的原因在于管理员对系统进行了错误的配置,或者没有及时的升级系统软件到最新的版本。人为安全软件安全测试依据:GB/T22239-2008《信息安全技术信息系统安全等级保护基本要求》依据IBMRationalAppScan简介•IBMRationalAppScan能够在Web开发、测试、维护、运营的整个生命周期中,帮助企业高效的发现、解决安全漏洞,最大限度的保证应用的安全性。•Web安全检测主要分为两大类,分别是白盒检测和黑盒检测。白盒工具通过分析应用程序源代码以发现问题,而黑盒工具则通过分析应用程序运行的结果来报告问题。IBMRationalAppScan属于后者,它是业界领先的Web应用安全检测工具,提供了扫描、报告和修复建议等功能。89Web应用现状目录1常见的Web攻击2构筑安全Web应用3案例介绍45软件的使用10Web应用的基础概念•什么是Web应用•Web应用是由动态脚本、编译过的代码等组合而成。它通常架设在Web服务器上,用户在Web浏览器上发送请求,这些请求使用HTTP协议,经过因特网和企业的Web应用交互,由Web应用和企业后台的数据库及其他动态内容通信。Web安全的认识误区“Web网站使用了防火墙,所以很安全”无论是应用级还是端口级的防火墙针对的都是网络层面的攻击,通过设置可访问的端口或者应用,把恶意访问排除在外,然而如何鉴别善意访问和恶意访问是一个问题。访问一旦被允许,后续的安全问题就不是防火墙能应对了。“Web网站使用了IDS,所以很安全”通过模式识别对网络层面的攻击做出防护措施。然而类似于防火墙,通过利用程序漏洞,通过正常连接进行攻击的访问无法被识别和处理。“Web网站使用了SSL加密,所以很安全”SSL对网站发送和接收的信息都进行加密处理,然而SSL无法保障存储在网站里的信息的安全和网站访问者的隐私信息。采用64位甚至128位SSL加密的网站被黑客攻陷的例子举不胜举。“漏洞扫描工具没发现任何问题,所以很安全”当前漏洞扫描工具已经被广泛使用去查找一些明显的网络安全漏洞。同理,扫描工具无法对网站应用程序进行检测,无法查找应用本身的漏洞。“我们每季度都会聘用安全人员进行审计,所以很安全”人为的检测考察不仅仅效率低,不可控因素也较多,同时对于代码变更频繁的今天,安全人员也无法满足全面的安全需求然而这些方法远远不能保障Web应用的安全,针对应用层面的攻击可以轻松的突破防火墙保护的网站。例如:最为常见的SQL注入攻击表现层面完全是正常的数据交互查询。对于防火墙或者入侵检测系统而言,这是最为正常的访问连接,没有任何特征能够说明此种访问连接存在恶意攻击。所以,一些简单的SQL注入语句就可以使得装备昂贵网络安全设备的网站被轻松攻破。Web安全的认识误区13Web应用的基础概念•Web应用的架构用户通过Web浏览器发送请求给中间层,由中间层将用户的请求转换为对后台数据的查询或是更新,并将最终的结果在浏览器上展示给用户。“我们使用了防火墙”、“我们使用了网络脆弱扫描工具”、“我们使用了SSL技术”、“我们每个季度都会进行渗透测试”……所以,“我们的应用是安全的”。现实真是如此吗?Web应用安全全景分析a.网络脆弱性扫描工具,由于它仅仅用来分析网络层面的漏洞,不了解应用本身,所以不能彻底提高Web应用安全性;b.防火墙可以阻止对重要端口的访问,但是80和443端口始终要开放,我们无法判断这两个端口中通讯数据是善意的访问还是恶意的攻击;c.SSL可以加密数据,但是它仅仅保护了在传输过程中数据的安全性,并没有保护Web应用本身;d.每个季度的渗透测试,无法满足处于不断变更之中的应用。只要访问可以顺利通过防火墙,Web应用就毫无保留的呈现在用户面前。只有加强Web应用自身的安全,才是真正的Web应用安全解决之道。Web应用安全全景分析16当前安全现状统计分析图•由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web应用的攻击上。如图:信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。然而现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web应用本身的安全,给黑客以可乘之机。17Web应用现状目录1常见的Web攻击2构筑安全Web应用3案例介绍45软件的使用18Web应用安全威胁•WASC(网络应用安全联盟)将Web应用安全威胁分为如下六类:验证用来确认某用户、服务或是应用身份的攻击手段。授权用来决定是否某用户、服务或是应用具有执行请求动作必要权限的攻击手段。客户侧攻击用来扰乱或是探测Web站点用户的攻击手段。命令执行在Web站点上执行远程命令的攻击手段。信息暴露用来获取Web站点具体系统信息的攻击手段。逻辑性攻击用来扰乱或是探测Web应用逻辑流程的攻击手段。19Web应用漏洞分类20Web应用的安全隐患应用威胁负面影响后果跨网站脚本攻击标识盗窃,敏感数据丢失…黑客可以模拟合法用户,控制其帐户。注入攻击通过构造查询对数据库、LDAP和其他系统进行非法查询。黑客可以访问后端数据库信息,修改、盗窃。恶意文件执行在服务器上执行Shell命令Execute,获取控制权。被修改的站点将所有交易传送给黑客不安全对象引用黑客访问敏感文件和资源Web应用返回敏感文件内容伪造跨站点请求黑客调用Blind动作,模拟合法用户黑客发起Blind请求,要求进行转帐信息泻露和不正确的错误处理黑客得到详细系统信息恶意的系统检测可能有助于更深入的攻击被破坏的认证和Session管理Sessiontoken没有被很好的保护在用户推出系统后,黑客能够盗窃session。不安全的木马存储过于简单的加密技术导致黑客破解编密码隐秘信息被黑客解密盗窃不安全的通讯敏感信息在不安全通道中以非加密方式传送黑客可以通过嗅探器嗅探敏感信息,模拟合法用户。URL访问限制失效黑客可以访问非授权的资源连接黑客可以强行访问一些登陆网页、历史网页。21跨站脚本攻击(XSS)•如果Web应用没有对攻击者的输入进行适当的编码和过滤,就转发给其他用户的浏览器时,可能导致XSS漏洞。攻击者可利用XSS在其他用户的浏览器中运行恶意脚本,偷窃用户的会话,或是模拟用户执行非法的操作。2223跨站脚本执行-利用过程24跨站脚本类型25SQL注入•如果web应用未对攻击者的输入进行适当的编码和过滤,就用于构造数据库查询或操作系统命令时,可能导致注入漏洞。攻击者可利用注入漏洞诱使web应用执行未预见的命令(即命令注入攻击)或数据库查询(即SQL注入攻击)。262728Web应用现状目录1常见的Web攻击2构筑安全Web应用3案例介绍45软件的使用29安全栈结构及AppScan扫描范围30IBMRationalAppScan扫描原理-探测阶段在第一个步骤中,会探索站点并构造应用程序树。这就是“探索”步骤。AppScan会分析它所发送的每个请求的响应,查找潜在漏洞的任何指示信息。AppScan接收到可能指示有安全漏洞的响应时,它将自动创建测试,并记录验证规则(这些规则是确定哪些结果构成漏洞以及涉及到安全风险的级别时所需的验证规则)31IBMRationalAppScan扫描原理-测试阶段AppScan会发送其在“探索”步骤创建的上千条定制测试请求,它会记录和分析应用程序的响应,以识别安全问题并将其按安全风险的级别进行排名。32IBMRationalAppScan扫描原理-测试阶段测试阶段频繁显示站点内的新链接和更多潜在安全风险。因此,完成探索和测试的第一个“过程”之后,AppScan将自动开始第二个“过程”,以处理新的信息。如果在第二个过程中发现了新链接,那么会运行第三个过程,依此类推。33IBMRationalAppScan工作过程•IBMRationalAppScan工作方式比较简单,就像一个黑盒测试工具一样,测试人员不需要了解Web应用本身的结构。•IBMRationalAppScan工作方式比较简单,就像一个黑盒测试工具一样,测试人员不需要了解Web应用本身的结构。34IBMRationalAppScan过程操作•创建新的扫描3536•选择执行的扫描类型37•输入起始URL38应用程序树:会随着扫描进度填充应用程序树。显示在应用程序中所找到的所有文件夹、URL和文件结果列表:显示应用程序树中选定节点的相关结果。详细信息窗格:显示三个选项卡中的结果列表内选定节点的相关详细信息。扫描面板:扫描进度条状态栏:已访问的页面数、已测试的元素数、请求数、安全问题数量统计39Web应用现状Contents1常见的Web攻击2构筑安全Web应用3案例介绍45软件的使用40网站安全形势•2013年国家互联网应急中心发布报告:“《2012年政府网站遭攻击被篡改数量同比增二成》,我国境内被篡改网站数量为16388个,其中政府网站1802个,分别同比增长6.1%和21.4%。抽样监测发现,2012年境外约有7.3万个木马或僵尸网络控制服务器参与控制我国境内主机,同比增长56.9%”.41案例•网站安全聚集点政府、医疗结构、学校网站成为重灾区国内70%的网站有漏洞易被黑三成网站存在高危漏洞•网站安全问题黑客攻击内容篡改网站挂马42案例143案例2:44案例345案例446案例547案例548案例649案例750Web应用现状目录1常见的Web攻击2构筑安全Web应用3案例介绍45软件的使用Thankyou