第一讲软件安全的概念n1信息安全概述n2信息安全的困境n3问题的原因和根源n4主要解决途径-软件安全n5本课程的主要内容1信息安全概述n信息技术发展n信息安全现状n信息安全威胁n信息安全含义信息技术发展n互联网发展2009年,我国网民规模已达3.84亿;手机网民达2.33亿,去年一年增长1.2亿主要的网络应用21677.9%7.9%5.6%旅行预订商务交易31567.0%14.8%11.4%网络炒股商务交易11480.9%24.5%17.6%网上支付商务交易41362.3%24.5%19.3%网上银行商务交易51245.9%28.1%24.8%网络购物商务交易121128.6%30.5%30.7%论坛/BBS交流沟通--10--42.3%--网络文学网络娱乐--9--45.8%--社交网站交流沟通10829.0%56.8%56.8%电子邮件交流沟通8736.7%57.7%54.3%博客应用交流沟通14619.0%62.6%67.7%网络视频网络娱乐6541.5%68.9%62.8%网络游戏网络娱乐13421.6%70.9%75.3%即时通信交流沟通7338.6%73.3%68.0%搜索引擎信息获取9231.5%80.1%78.5%网络新闻信息获取11128.8%83.5%83.7%网络音乐网络娱乐增长率排名使用率排名用户增长率2009年使用率2008年使用率应用类型n信息化已渗透到社会的方方面面:¨占GDP的6%,增长速度平均达16%¨宽带、局域网、拨号上网、ISDN、DDN、ADSL、蓝牙、WiFi、WiMAX、CDMA接入、网吧、信息亭、3G、4G……¨电子邮件、门户网站、即时通信、网络游戏、……¨企业信息化、电子商务、电子政务、……¨IC技术(0.1μm、30G和20亿个晶体管)、无线网络技术、可信计算技术、NGN、……¨奥运:交通、票务、场馆、通信、CMMB、无线城市……¨……n热点技术¨基于IP的语音/视频¨即时消息(IM)¨虚拟技术¨无线射频识别(RFID)¨移动互联网¨SNS(网民数达到1.76亿)¨云计算¨手机支付信息安全现状n信息安全现象¨病毒、黑客攻击的泛滥n数量规模大、智能程度高(技术含量)、组织方式多样化(个人、组织和集团等)……n危害程度严重¨信息安全成为国家安全的重要内容n国家领导层的意识n信息化建设的经验、伊战的教训…..¨关键技术受制于人nCPU、OS……n专利、标准……n信息安全产业¨市场容量大,增长迅速n2004年总量达到28.7亿元,增长31.1%n2005年总量达到36.5亿元,增长率27%n2006年增长率20.2%n2007年增长率36n2008年增长率28.3%¨行业市场重点突出n随着WTO保护期临近结束,金融、政府、电信等重点行业在机构改革和业务创新的同时,IT系统建设和整合不断深入,这为安全产品提供了广阔的市场空间,这三个行业是安全产品最大的市场,同时政府行业和电信行业近两年都将保持35%以上的快速增长;而能源、流通等行业的安全需求增长态势迅猛¨市场竞争激烈,安全服务和产品创新成为厂商竞争焦点n竞争激烈,强强联合:Symentec与存储软件厂商Veritas的并购是其中一例n安全服务市场成为安全厂商竞争的焦点。n产品创新主要表现在集成式产品。信息安全威胁n信息安全威胁的表现:¨网络协议的弱点¨网络操作系统的漏洞¨应用系统设计的漏洞¨网络系统设计的缺陷¨恶意攻击¨来自合法用户的攻击¨互联网的开放性¨物理安全¨管理安全n威胁的根源¨信息系统的复杂性:n系统软硬件缺陷,网络协议的缺陷¨信息系统的开放性:n系统开放:计算机及计算机通信系统是根据行业标准规定的接口建立起来的。n标准开放:网络运行的各层协议是开放的,并且标准的制定也是开放的。n业务开放:用户可以根据需要开发新的业务。信息安全含义n信息安全的六个方面:¨保密性(C,confidentiality):信息不泄漏给非授权的用户、实体或者过程的特性¨完整性(I,integrity):数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。¨可用性(A,availability):可被授权实体访问并按需求使用的特性,即当需要时应能存取所需的信息。¨真实性:内容的真实性¨可核查性:对信息的传播及内容具有控制能力,访问控制即属于可控性。¨可靠性:系统可靠性n信息安全特性¨攻防特性:攻防技术交替改进¨相对性:信息安全总是相对的,够用就行¨配角特性:信息安全总是陪衬角色,不能为了安全而安全,安全的应用是先导¨动态性:信息安全是持续过程n信息安全范围(存在IT应用的任何场景)¨管理与技术¨密码、网络攻防、信息隐藏¨单机、服务器、数据库、应用系统¨灾难恢复、应急响应、日常管理¨……2信息安全的困境n信息安全的需求n主要的困难n软件安全的越来越受到重视安全的需求n用户花费了很大的代价来解决信息安全风险,希望能够:保护业务不会被黑客破坏”限制责任和义务,满足法规和标准避免对企业的品牌和信誉造成破坏üüüinfo-secspending($)incidents&exploits(#)n然而在事实上,很多企业每年都花了数百万的资金在安全上,但是效果并不如意,信息安全问题越来越多。info-secspending($17B)impact($40B)breachesgrowdramatically-seriouslyimpacting:uptime,regulatorycompliance,liability,brandandreputation安全面临的困境软件安全漏洞的发展趋势近10年来漏洞数量增长趋势国家漏洞库CNNVDCERT2006的报告n143,757,645个安全风险记录自2005年来被报告n45%的被调查者不清楚自己的系统上可能存在的安全隐患n+106%从2006年以来,报告数量由于第三方厂商以及各种开发商和咨询商的参与而大幅度增长n40%的被调查者不清楚每年发生的安全事件原因是什么?n钱花在哪儿去了?n为什么信息安全方面的工作收效甚微?传统解决方案和投资方向软件安全问题正日益成为信息安全问题的焦点36%41%1%2%2%0%3%15%EncryptionModuleNetworkProtocolStackOtherCommunicationProtocolHardwareOperatingSystemNon-ServerApplicationsServerApplications92%ofreportedvulnerabilitiesareinapplications,notnetworksSource:NIST超过70%的安全漏洞出现在应用层而不是网络层。而且不只发生在操作系统或者web浏览器,而发生在各种应用程序中-特别是关键的业务系统中。3问题的原因和根源n软件问题的原因n黑客攻击方式的进化n传统技术的不足n传统安全教育的不足n软件安全的根源问题软件问题的原因nConnectivity(互联性)nExtensibility(扩展性)nComplexity(复杂性)互联性n终端设备的互联给了攻击者有更多的机会n攻击者利用系统弱点不再需要进行物理访问n平台设计缺陷¨不支持特定的安全功能,例如SSL、认证授权机制等扩展性n目前很多软件技术都支持扩展技术¨通过脚本、控件、组件、applet等形式¨在J2EE、.NET技术里中比较常见n优点在于可以很方便的加载以及扩展新的功能与组件n问题在于扩展的功能与组件不可控,会带来未知的安全风险复杂性n软件系统代码增长速度惊人Vista:50,000,000行9000个开发人员,花费了60亿美元,历时5年完成n除了Windows,其他软件的代码量得增长速度也是非常快790,000MacOSXDarwinkernel200230,000,000RedHat7.120011,270,000XFree863.3.620001,780,000Linux2.2kernel200055,000,000Debian.GNU/Linux2.2200017,000,000RedHat6.220001,000,000Multics197920,000SCOMP19xxn系统越复杂,Bug越难避免,质量越难保证,可能发生的安全风险越多。PasswordGuessingSelf-ReplicatingCodePasswordCrackingExploitingKnownVulnerabilitiesBurglariesHijackingSessionsNetworkedManagementDiagnosisGUIAutomatedProbes/Scans“Stealth”/AdvancedScanningTechniquesCross-SiteScripting攻击方式的演化传统的分层保护方案HackersWorms&VirusesMaliciousInsidersTraditionalnetwork/perimeterdefensesCriticalSoftwareAutomationOfKeyOperationalProcesses软件的应用因为业务和功能的需要必须打破传统的保护层,直接与外面的系统交互WebFacingApplicationsLegacyAppIntegrationConnectivityw/Partners&SuppliersOutsourcingEmployeeSelf-Service应用软件的安全问题日益突出2008年WEB站点中存在的安全漏洞的统计JeremiahGrossman,TreyFord(Blackhat2008,Presentation)面对新的需求传统安全技术的不足n用户认证¨主机认证nNTKMnKerberosn.netPassport¨证书认证nX.509¨网络认证nRadiusnDiameternIKE¨HTTP协议只有较弱的认证技术n基本认证rfc2617n表单认证面对新的需求传统安全技术的不足n访问控制¨Firewall¨针对网络的访问控制技术无法适用于WEBn攻击监控¨IDS/IPS¨无法监控SSL/TLS等机密应用n监控用户状态¨可以监控TCP连接¨Session/cookie机制的不足n阻止已知攻击¨IPS¨应用层威胁很难被阻断主要原因n传统网络安全技术只能对网络层进行防护n无法分辨与正常应用数据混杂在一起的攻击¨XSS¨SQL注入¨未校验参数¨etc.安全边界已经扩展到了系统源代码FirewallHardenedOSWebServerAppServerFirewallDatabasesLegacySystemsWebServicesDirectoriesHumanResrcsBillingCustomDevelopedApplicationCodeAPPLICATIONATTACK不能使用网络层保护(防火墙,SSL,IDS等)来阻止应用层攻击NetworkLayerApplicationLayerYoursecurity“perimeter”hashugeholesattheapplicationlayerInternetDMZTrustedInsideCorporateInsideHTTP(S)IMAPFTPSSHTELNETPOP3FirewallonlyallowsPORT80(or443SSL)trafficfromtheInternettothewebserver.Any–WebServer:80Firewallonlyallowsapplicationsonthewebse