web开发安全培训

上传人:xiao****1972 文档编号:252938844 上传时间:2024-11-26 格式:PPTX 页数:115 大小:12.85MB
返回 下载 相关 举报
web开发安全培训_第1页
第1页 / 共115页
web开发安全培训_第2页
第2页 / 共115页
web开发安全培训_第3页
第3页 / 共115页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2014/12/24,#,贵州移动,数据业务安全培训,贵州移动数据部,2014.12,目录,目 录,一、我国面临的信息安全形势,二、信息安全相关法律法规,三、新技术新业务安全评估介绍,四、常见漏洞分析,五、开发过程中安全规范,国际趋势:棱镜门后各国强化数据保护制度,“棱镜门事件后”各国对数据保护立法重视空前。德国、巴西是数据保护的主要倡导国家。重点是本地存储、禁止跨国分享。,欧盟:,跨境数据保护指令,和制度,欧盟:通过新版,数据保护法,巴西:推动公民数据国内存放法案,在欧盟境外领域,欧盟委员会实施,“白名单”,国家,代表此类国家具有与欧盟相同或相应的数据保护水平及安全措施。欧盟成员国也可独立对,第三国的数据保护水平做出评估,。欧盟禁止数据向不在“白名单”上的国家流动,防止个人数据收到侵害 。,在欧盟境内领域,为推动各国数据保护的统一,欧盟主要采取三种方式:,一是由各国监管部门对公司内部的个人数据保护规则(即,BCRs,)进行认证;二是规定在相关合同中应有由欧盟认可的格式条款;三是美欧安全港协议。,2012,年,欧盟通过修改“数据保护指令”,将个人数据保护制度适用范围扩大到任何处理欧盟公民数据的外国公司。,2013,年,10,月欧盟通过新数据保护法。规定除非符合欧盟法律及相关国际条约或协定,任何公司不得将欧盟公民的数据信息与欧盟之外的第三国分享。,该法案表明,欧洲从数据开放的态度,转向数据保护态度。,巴西总统迪尔玛,罗塞夫正在推进一项将巴西民众的信息储存在国内信息储存中心的方案,罗塞夫还建议铺设直通欧洲的海底光缆,免受美国监控。,此法案一旦通过将会迫使谷歌等公司在巴西建立服务器。使美国失去对巴西的主控。,国际趋势:数据保护出口行政审查制度,云计算趋势下,通过加强行政审查手段保障数据安全。包括数据出口与跨国云计算审查,此外充分利用国际对话机制。,美国数据出口,/,跨国云计算审查,商务部产业安全局、国会国防交易控制委员会依据,出口管理条例,和,国际武器交易条例,,对,商业技术和军事技术数据实施出口审查,。,提供军事技术数据的,云计算服务,的,须取得国务院国防交易控制委员会颁发的军事技术数据出口许可证。,国际对话机制,2009,年,OECD“,网络数据保护和隐私全球会议”。美国并未签署,马德里决意,。,2012,年,7,月,美国主动加入,APEC,的跨境隐私规则体系(,CBPR system,),商务部正重新梳理美国跨境数据传送处理的程序。,2012,年,,美欧重新审视安全港协议,纳入金融与电信部门,增强执行力度,。,美国有严格国家机密数据保护机制,国土安全部等保密机关对接触秘密信息行为实行限制措施,对涉密信息流动严格控制。,商务部负责政府保密技术标准的咨询和研究任务。,国家标准技术局(,NIST,)负责政府信息保密技术标准的制定和推广。,网络安全态势,网络安全态势,攻击者需要的技术水平逐渐降低,手段更加灵活,联合攻击急剧增多,攻击工具易于从网络下载,网络蠕虫具有隐蔽性,传染性,破坏性,自主攻击能力,新一代网络蠕虫和黑客攻击、计算机病毒之间的界限越来越模糊。,攻击者只需在网上下载相关工具和教程,就可以对网站或者主机进行攻击,无需太多技术水平。,网络安全态势,网络已经全面渗透到社会、经济、文化、政治、军事等各领域,已成为现代国家继陆、海、空、天外的“第五空间”和“第五行动疆域”,成为各国致力角逐的重点。,网络与信息安全影响越来越突出,地位越来越重要,成为国家安全的重要组成部分,成为事关国家政权巩固、经济发展和社会稳定的关键性、全局性战略问题。,网络安全态势,信息通信行业变革创新,,4G,商用激发移动互联网新应用浪潮,物联网,/,云计算,/,大数据等新兴领域快速发展,下一代互联网,2015,年全面部署,三网融合全面推广,,IPSec,等安全加密技术普及应用,新技术新业务带来的网络信息安全问题日益突出,确保信息内容安全与数据安全、维护国家安全和社会稳定的压力和挑战与日俱增,网络层,宽带、高速、融合,应用层:海量、即时、社交化,以微博、微信为代表的互联网应用改变了传统的信息流动模式,极大增加了有害信息监测预警、管控处置、追踪溯源的难度。同时,当前我国经济社会正处于发展转型期、矛盾多发期,互联网日益成为发酵、放大社会现实问题的媒介和窗口,对网络与信息安全管理工作带来严峻挑战 。,技术发展趋势,大数据时代,全球去重后有,13,亿条数据的数据库。每条记录,都包含了用户名、密码、身份证号(社保,ID,)、手机号、邮箱、登录,IP,等信息。,据,CNCERT,的,2012,年中国互联网网络安报告,显示,,2012,年发现涉及通信网络设备的通用软硬件漏洞数量为,199,个,较,2011,年下降,2.0%,,但不容忽视的是,涉及通信网络设备的通用软硬件高危漏洞为,95,个,较,2011,年大幅增长,30.1%,。,我国境内近,656,万台主机被境外,1.5,万余个控制服务器控制,位于美国的控制服务器数量(,4693,个,占境外控制服务器的,31.1%,)和所控制的我国境内主机数量(,331,万余台,占受境外控制的境内主机的,50.5%,)均居首位。,我国境内,3.3,万余个网站被境外,IP,地址植入后门,境外有,1.6,万个,IP,地址通过植入后门对我国境内,3.3,万余个网站实施远程控制,针对我国的钓鱼站点有,90.5%,位于境外,位于美国的,1457,台主机承载了,8913,个针对我国境内网站的钓鱼页面,其钓鱼站点数量在全部境外的钓鱼站点中占比达,61.6%,,位居第一。,大数据时代,大数据带来的挑战,传统模式,大数据模式,数据在用户知情下主动收集,个人数据的定义是明确的,数据的收集有明确的用途,用户是数据的主体,个人在法律上同意,但不参与,政策框架注重降低个人风险,数据在用户不知情时被动自动收集,个人数据的定义随着场景和习惯变化,数据的用途在数据融合和后续应用才体现,用户可能是主体,也可能是控制或处理者,个人参与数据的使用和价值的产生,政策框架需要平衡保护和创新,以促进发展,转变,传统的知情、同意隐私保护原则将制约大数据价值发挥, 放松和加强管制面临两难选择 。,大数据时代,用户个人信息保护问题加剧,用户个人信息泄露事件频发,信息保护问题迫切严峻,我国用户信息黑色地下产业链总规模已经超过,100,亿元人民币,用户信息地下产业链发展猖獗,出于商业或个人目的,一条看不见、摸不着的用户信息地下产业链已悄然形成,大数据时代,我国网络与信息安全顶层统筹全面加强,2014,年,2,月,27,日,,中央网络安全和信息化领导小组成立,由中共中央总书记习近平亲自担任组长,负责统筹协调涉及经济、政治、文化、社会及军事等各个领域的网络安全和信息化重大问题。,2013,年,11,月,12,日,,中国共产党十八届三中全会公报指出将设立国家安全委员会,由中共中央总书记习近平任主席,负责统筹协调涉及国家安全的重大事项和重要工作,。,没有网络安全,就没有国家安全。,习近平,2011,年,5,月,国家互联网信息办公室正式设立,。,国内形势,制定具有中国特色的网络信息安全策略体系是我国当前迫切需要解决的重大战略决策问题。,中央已明确“网络强国目标”的基本要素与丰富内涵,网络设施强国,信息技术强国,信息经济强国,网络空间强国,我国网络信息安全谋篇布局滞后于人,我国网络信息安全能力水平落后于人,如何转变目前“被动挨打”局面,实现跨越式发展,国家领导机构已经成立,国家安全战略即将出台,切实可行的安全行动策略,国内形势,当前,我国正值全面深化改革的特殊历史阶段,强化互联网依法管理与加大市场对外开放成为信息通信行业面临的新形势新要求,“依法管理”成为行业管理未来趋势,十八届三中全会再次提出互联网管理十六字方针,并进一步将“,依法管理、确保安全,”等安全管理新要求显性化,未来互联网行业管理将更加注重法治,逐步实现从目前,依赖行政命令为主向依法实施管理模式,转变,外资开放带来安全监管新问题,行业外资开放步伐显著加快,导致行业管理对象更为扩大化、多元化,同时负面清单和准入前国民待遇等新型业务准入管理模式,对现有行业管理体系产生较大挑战,伴随改革开放深入推进,如“上海自贸区”、“深圳前海新区”等可能涉及行业准入放宽、外资开放进入、监管尺度调整等,相关安全监管问题应运而生,国内形势,基础电信企业安全防护行业现状,做好安全工作需求日益迫切,国,家,要,求,国家对信息安全管理提出了更高的要求,:,发布,关于加强网络信息保护的决定,、修订,互联网信息服务管理办法,,逐步建立和完善信息安全法制体系,积极推动信息安全体系建设,工信部发布,安全防护管理办法,、,基础电信企业信息安全责任管理办法(试行),,明确企业网络与信息安全责任,网络与信息安全管理工作已被纳入企业绩效考核,企,业,需,求,加强网络与信息安全管理工作是企业发展的内在需求,:,云计算、大数据、移动互联网等新技术新业务发展使网络信息安全问题日益复杂,迫切要求企业加强应对能力,企业适应技术业务发展趋势,持续提升企业创新、服务和运营能力,促进客户价值和企业价值稳步提升迫切要求企业做好用户个人信息保护、违法有害信息发现处置等网络与信息安全工作,垃圾短信、手机色情等事件曝光给企业声誉带来极大损害,恶意订购等安全事件损害客户利益,给公司带来法律风险,基础电信企业安全防护行业现状,目录,目 录,一、我国面临的信息安全形势,二、信息安全相关法律法规,三、新技术新业务安全评估介绍,四、常见漏洞分析,五、开发过程中安全规范,“电信网和互联网安全防护体系”系列标准,相关法律法规,“电信网和互联网安全防护体系”系列标准,相关法律法规,通信网络安全防护管理办法,中华人民共和国工业和信息化部负责全国通信网络安全防护工作的统一指导、协调和检查,组织建立健全通信网络安全防护体系,制定通信行业相关标准。,各省、自治区、直辖市通信管理局依据本办法的规定,对本行政区域内的通信网络安全防护工作进行指导、协调和检查。,通信网络运行单位应当对本单位已正式投入运行的通信网络进行单元划分,并按照各通信网络单元遭到破坏后可能对国家安全、经济运行、社会秩序、公众利益的危害程度,由低到高分别划分为一级、二级、三级、四级、五级。,通信网络运行单位应当在通信网络定级评审通过后三十日内,将通信网络单元的划分和定级情况按照以下规定向电信管理机构备案:,(一)基础电信业务经营者集团公司向工业和信息化部申请办理其直接管理的通信网络单元的备案;基础电信业务经营者各省(自治区、直辖市)子公司、分公司向当地通信管理局申请办理其负责管理的通信网络单元的备案;,(二)增值电信业务经营者向作出电信业务经营许可决定的电信管理机构备案;,(三)互联网域名服务提供者向工业和信息化部备案。,电信管理机构应当对备案信息的真实性、完整性进行核查,发现备案信息不真实、不完整的,通知备案单位予以补正。,电信管理机构应当对通信网络运行单位开展通信网络安全防护工作的情况进行检查。,电信管理机构可以采取以下检查措施:,(一)查阅通信网络运行单位的符合性评测报告和风险评估报告;,(二)查阅通信网络运行单位有关网络安全防护的文档和工作记录;,(三)向通信网络运行单位工作人员询问了解有关情况;,(四)查验通信网络运行单位的有关设施;,(五)对通信网络进行技术性分析和测试;,(六)法律、行政法规规定的其他检查措施。,电信管理机构及其委托的专业机构的工作人员对于检查工作中获悉的国家秘密、商业秘密和个人隐私,有保密的义务。,通信网络安全防护管理办法,互联网信息服务管理办法(国务院令第,292,号),在中华人民共和国境内从事互联网信息服务活动,必须遵守,互联网信息服务管理办法,。,国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。,未取得许可或者未履行备案手续的,不得从事互联网信息服务。,从事经营性互联网信息服务,除应当符合,中华人民共和国电信条例,规定的要求外,还应当具备下列条件:,(一)有业务发展计划及相关技术方案;,(二)有健全的网络与信息安全保障措施,包括网站安全保障措施、信息安全保密管理制度、用户信息安全管理制度;,(三)服务项目属于本办法第五条规定范围的,已取得有关主管部门同意的文件。,从事互联网信息服务,拟开办电子公告服务的,应当在申请经营性互联网信息服务许可或者办理非经营性互联网信息服务备案时,按照国家有关规定提出专项申请或者专项备案。,从事经营性互联网信息服务,应当向省、自治区、直辖市电信管理机构或者国务院信息产业主管部门申请办理互联网信息服务增值电信业务经营许可证(以下简称经营许可证)。,省、自治区、直辖市电信管理机构或者国务院信息产业主管部门应当自收到申请之日起,60,日内审查完毕,作出批准或者不予批准的决定。予以批准的,颁发经营许可证;不予批准的,应当书面通知申请人并说明理由。,申请人取得经营许可证后,应当持经营许可证向企业登记机关办理登记手续。,互联网信息服务提供者应当按照经许可或者备案的项目提供服务,不得超出经许可或者备案的项目提供服务。,互联网信息服务提供者变更服务项目、网站网址等事项的,应当提前,30,日向原审核、发证或者备案机关办理变更手续。,经营性互联网信息服务提供者申请在境内境外上市或者同外商合资、合作,应当事先经国务院信息产业主管部门审查同意;其中,外商投资的比例应当符合有关法律、行政法规的规定。,互联网信息服务管理办法(国务院令第,292,号),互联网信息服务提供者不得制作、复制、发布、传播含有下列内容的信息:,(一)反对宪法所确定的基本原则的;,(二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;,(三)损害国家荣誉和利益的;,(四)煽动民族仇恨、民族歧视,破坏民族团结的;,(五)破坏国家宗教政策,宣扬邪教和封建迷信的;,(六)散布谣言,扰乱社会秩序,破坏社会稳定的;,(七)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;,(八)侮辱或者诽谤他人,侵害他人合法权益的;,(九)含有法律、行政法规禁止的其他内容的。,电信管理机构和其他有关主管部门及其工作人员,玩忽职守、滥用职权、徇私舞弊,疏于对互联网信息服务的监督管理,造成严重后果,构成犯罪的,依 法追究刑事责任;尚不构成犯罪的,对直接负责的主管人员和其他直接责任人员依法给予降级、撤职直至开除的行政处分。,互联网信息服务管理办法(国务院令第,292,号),目录,目 录,一、我国面临的信息安全形势,二、信息安全相关法律法规,三、新技术新业务安全评估介绍,四、常见漏洞分析,五、开发过程中安全规范,监管要求,根据工信部、国资委,2014,年省级基础电信企业网络与信息安全工作考核要点与评分标准,考核要求,新技术新业务信息安全评估占两部委考核打分,50,分,折合两部委对省级基础电信企业,KPI,考核分值,0.5,分。,在遵循两部委考核要求的基础上,集团公司对存量业务的评估补充细化考核为“存量重点业务”,100%,开展信息安全评估。存量重点业务是指,2014,年以前上线的集团规范一、二类业务,省市规范具有内容发布、消息群发、电话群呼、存储敏感客户信息等高风险功能的三类业务。,考核时间,自,2014,年二季度起,为保证年度考核,持续至,2014,年四季度末,两部委,集团公司,评估内容,依据,中国移动业务安全通用评估规范,(,中移综发,201211,号,),开展评估,。,工作开展思路,以新技术新业务,100,%,开展信息安全,评估为,目标,,四个保障为支撑,构建闭环管理的新技术新业务评估体系。,100%,评估,流程保障,平台保障,组织保障,制度保障,评估操作八大步骤,步骤,1,成立评估组,牵头部门确定并组织成立评估组;,评估组由信息安全、业务运营、支撑维护、客户服务等方面专家组成。,步骤,2,收集项目文档,业务运营团队整理项目文档并提交评估组,文档如下:,总体说明文档:,包括基本结构模块相关介绍及功能说明;平台对外开放接口能力详细列表;已采用的安全手段及设备的说明。,技术说明文档:,基本结构模块中的各模块以及业务功能的总体技术要求,设备规范,业务规范,接口规范,安全技术规范,设计文档(概要和详细),测试规范及报告。,管理文档:,平台组织体系,流程管理相关要求,安全管理相关安全要求,不良信息过滤及溯源管理办法。,评估操作八大步骤,步骤,3,制定评估规范,评估组依据业务特定,制订评估规范。,步骤,4,外部评估,业务文档分析:,重点分析业务在内容安全、客户信息安全、计费安全、能力开放安全、日常安全拨测、系统安全运维等方面的制度机制是否健全;,外技术检测:,通过外部攻击、扫描、渗透等技术手段,监测业务系统是否存在互联网可利用的外部安全风险。,步骤,5,现场评估,业务基本情况:,包括业务功能、实现方式、用户规模及市场情况;,人员访谈文档调阅:,重点分析业务全流程不同环节是否有效集成安全防范措施;,现场测试:,通过内部发起访问测试、机房扫描等手段检测业务是否存在应用层及网络系统层的安全风险;,总结:,确认评估结果后给出评估报告(业务基本情况、安全评估情况、安全管理措施),含发现的安全风险名称、等级、描述、危害、整改建议、整改计划。,评估操作八大步骤,步骤,6,风险整改,依据安全评估结果开展整改工作,对因涉及系统改造等原因无法在短期内完成整改的安全风险应采取临时性管控措施,并明确整改方案和完成时间。,完成整改工作后,基于风险整改工作情况形成整改报告,提交评估组进行复核。,步骤,7,整改复核,风险逐条整改:,通过会议质询、系统演示、现场测试等方式,针对整改报告逐条复核整改落实情况。,复核重点:,技术改造是否完成、系统是否进行升级、敏感数据是否清理、对应业务机制是否完善等。,新风险评估:,评估业务是否有新的安全风险出现。,最终评估报告:,若复核通过,完成最终评估报告,给出最终评估结论。,步骤,8,结果报备,对象要求:,对于一类和二类业务,评估结果应在一个月内通过公文方式向集团公司信安中心报备。,加强沟通:,加强与本地电信管理机构的沟通,按照相关要求做好评估结果的报备工作。,评估操作八大步骤,评估流程图,新技术新业务上线评估优势对比,1,、流程分散,没有形成一套过程清晰、层次分明的流程体系。,2,、相关提交提供不完备,文档混乱。,3,、没有进行标准化,无法对评估过程进行跟踪,无法对评估成效进行评价。,4,、没有提前测出风险点,系统上线后容易产生故障或遭受攻击,产生损失。,1,、通过固化新技术新业务评估流程,全过程线,上,流转,达到闭环管理。,2,、所有文档分类保存,有效备份。,3,、通过标准化,能够对评估过程进行跟踪,检测出的业务风险点生产整改报告,业务安全情况一目了然。,4,、整改后系统达到安全要求才可上线,有效降低了上线后业务的安全风险。,实施新技术新业务上线安全评估前,实施新技术新业务上线安全评估后,目录,目 录,一、我国面临的信息安全形势,二、信息安全相关法律法规,三、新技术新业务安全评估介绍,四、常见漏洞分析,五、开发过程中安全规范,2013,年,OWASP Top 10,十大漏洞,注入,失效的身份认证和会话管理,跨站脚本(,XSS,),不安全的直接对象引用,安全配置错误,6.,敏感信息泄露,7.,功能级访问控制缺失,8.,跨站请求伪造(,CSRF,),9.,使用含有已知漏洞的组件,10.,未验证的重定向和转发,OWASP Top 10,OWASP Top 10,OWASP Top 10,历史上第一个上央视的漏洞,互联网上多数,SSL,加密都使用名为,OpenSSL,的开源软件包。由于,OpenSSL,的源代码中存在一个漏洞,可以让攻击者获得服务器上,64K,内存中的数据内容。这部分数据中,可能存有安全证书、用户名与密码、聊天工具的消息、电子邮件以及重要的商业文档等数据。,SSL,,全称,Secure Socket Layer,,用以保障在,Internet,上数据传输之安全,利用数据加密技术,确保数据在网络上之传输过程中不会被截取及窃听。,因为该漏洞的危害巨大,影响面很广,非常严重,犹如广大用户在互联网上的钥匙被偷窃,因此该漏洞被喻为“心脏出血”漏洞。,Open SSL,受影响服务:,443,端口,465,端口,993,端口,995,端口,1194,端口,.,HTTPS,服务,SMTP(SSL),服务,IMAP4(SSL),服务,POP3(SSL),服务,VPN,服务,Open SSL,淘宝,支付宝,12306,铁道购票系统,163,邮箱,网神,VPN,中华电信,hinet,邮箱,BUDGET VM,利用,SQL,注入漏洞,,入侵网上营业厅盗取充值卡密,成功充值。,SQL,注入漏洞,-1,其中“,10”,表示金额,10,元;“,930*233”,为充值卡密;“,0”,表示未充值状态。,利用充值卡密,充值成功,详见下图。,利用,SQL,注入漏洞,,入侵网上营业厅盗取充值卡密,成功充值。,SQL,注入漏洞,-1,通过注入语句,获取到了网站数据库名,并且可以通过修改注入语句获取到管理员的帐号密码和数据库中重要的信息。,SQL,注入漏洞,-2,SQL,注入漏洞,-3,WLAN,系统存在,SQL,注入漏洞,通过注入工具直接获得了所有的数据库名。,SQL,注入漏洞,-3,Post,注入,SQL,注入漏洞,-4,SQL,注入漏洞,-4,该站点 存在,POST,注入,SQL,注入漏洞,-4,post DATA str,参数存在注入,SQL,注入漏洞,-4,注入到了所有数据库,危害十分大。,跨站脚本漏洞,-1,利用跨站脚本漏洞,可窃取网上营业厅用户身份认证信息、植入木马等。,http:/XXXX.com/pages/search.action?keyword=%22%27,在飞信客户端,测试存在,XSS,跨站漏洞。当用个人帐号,A,给公众帐号,B,发信息的时候插入恶意代码,受害者触发后,攻击者会得到自己想要得到的东西。,(,alert(/xss/),是个人帐号,A,的昵称,,eval(name),是公众帐号,B,的昵称,这只是之前为了测试用的,在这里没有意义)然后,进入公众飞信平台 ,使用公众帐号,B,登录后,打开,URL,:在我的消息页面,鼠标点击“点击查看详情”时会出现弹窗,,跨站脚本漏洞,-2,代码显示是这样的:,跨站脚本漏洞,-2,所以把测试代码替换成获取,Cookie,恶意代码的时候,受害人触发后,恶意代码就会把盗取的受害人,cookie,信息发送攻击者这里。,跨站脚本漏洞,-2,跨站脚本漏洞,-3,http:/,xx, 。,通过账号,ftp,,密码为空,登陆进入,ftp,。,弱口令,-3,弱口令,-3,直接通过,ftp,上传,webshell,即可拿到网站权限。,敏感数据明文传输,优惠抢券活动,页面,中,的信息为明文,传输,电子卷的密匙也是明文传输,敏感数据明文传输,只要修改任意不同的手机号,就可以获得不同的和包电子卷密匙。,把,手机号改为直接获得和包电子卷密匙。,敏感数据明文传输,通过,批量自动,修改手机号,可以快速的恶意抢卷,,造成严重损失,敏感数据明文传输,Struts2,远程任意代码执行漏洞,-1,Struts2,曝,出,多,个,高危安全漏洞,,最流行的有,2,个,其中一,个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。,Struts2,多个前缀参数远程任意代码执行漏洞,-1,redirect:,和,redirectAction:,此两项前缀为,Struts,默认开启功能,目前以下版本均存在此漏洞。,Struts2,多个前缀参数远程任意代码执行漏洞,-1,攻击者利用,Struts2,任意代码执行漏洞,可以直接在服务器上执行任意命令,写入,webshell,。,Struts2,多个前缀参数远程任意代码执行漏洞,-1,Struts2,远程任意代码执行漏洞,-2,通过,struts2,漏洞利用工具可以获取存在漏洞的网站的各种信息,包括获取服务器权限、文件夹路径和文件信息。,Struts2,远程任意代码执行漏洞,-2,下图为通过执行漏洞,获取到的服务器信息。,Struts2,远程任意代码执行漏洞,-2,下图为利用漏洞获取到的服务器磁盘信息。,应用程序未限制可跳转的,URL,格式和范围,导致出现未验证的直接跳转。,应用程序未限制可跳转的,URL,格式和范围,导致存在未验证的任意,URL,跳转漏洞。利用此漏洞,攻击者可以随意定义将跳转的,URL,,这可能导致挂马攻击、钓鱼攻击等等,危害很大。,未验证的,URL,跳转,-1,未验证的,URL,跳转,-2,利用此漏洞,攻击者可以随意定义将跳转的,URL,,这可能导致挂马攻击、钓鱼攻击等等 。,业务逻辑漏洞,利用,业务逻辑漏洞,,绕过网上营业厅二次认证,查询到任意号码的通话详单等用户隐私信息。,登录网上营业厅后,查询详单、修改用户信息等业务需要向用户手机发送动态口令进行二次认证,但由于网上营业厅系统存在业务逻辑漏洞,不验证动态口令接收端的手机号码,使得攻击者在本地使用,HTTP,代理软件,即可拦截、篡改,HTTP,请求报文中的动态口令接收端手机号码,从而劫持动态口令到攻击者持有的手机上(该号码不限于本地拥有,外地手机号码也可), 通过二次认证,查询被攻击目标手机号的详单等信息,恶意办理相关业务。,文件上传漏洞,-1,利用,文件上传漏洞,,上传,webshell,控制网上营业厅,web,服务器,篡改服务器页面、以此为跳板攻击内网。,利用,文件上传漏洞,,上传,webshell,控制网上营业厅,web,服务器,篡改服务器页面、以此为跳板攻击内网。,文件上传漏洞,-1,应用系统的上传模块没有任何安全防护措施,导致攻击者可以上传任意文件到服务器以获得,webshell,。,在“头像上传”页面,上传,ceshi.jsp,文件,显示成功上传,通过,webshell,即可得到应用系统的控制权:,文件上传漏洞,-2,文件上传漏洞,-2,应用系统没有验证上传文件的合法性,导致攻击者可以上传恶意文件到服务器,达到获得,webshell,控制应用系统甚至控制服务器的目的。,目录,目 录,一、我国面临的信息安全形势,二、信息安全相关法律法规,三、新技术新业务安全评估介绍,四、常见漏洞分析,五、开发过程中安全规范,安全编码规范,输入输出安全规范,文件系统规范,数据库规范,随机数,网络系统规范,WEB,技术规范,安全编码规范,1.,需要集中处理输入验证,具体要求如下:,要求所有的输入使用一致的输入验证;,如果每个模块各自独立实现自己的输入验证,将会很难建立一个统一的输入验证策略。,需要对输入验证进行统一的升级和修改;,这样如果在输入验证逻辑里发现问题时就可以比较方便的修改。,要求进行统一的失败控制;,如果一个集中处理输入验证框架收不到不知道如何处理的输入,很容易就拒绝掉该输入;如果没有采取集中输入验证,开发者很容易忘记进行输入验证。,输入输出安全规范,2.,必须验证所有的输入信息,必须对输入的信息进行验证。程序默认情况下就要对,输入,的信息进行验证,不能通过验证的数据将会被拒绝,以确保在输入验证之前,输入的数据不能进入程序代码中被执行。,3.,使用可信任边界,当数据要从不可信的区域到可信区域的时候,需要使用验证逻辑进行判断。具体要求如下:,要求在程序中定义清晰的可信边界。,在一些代码中使用的保存可信数据的数据结构,不能被用来在其它代码中存储不可信数据。使数据穿越可欣边界的次数将到最低。,当程序混淆了可信和不可信的界限时会导致安全边界发生问题,把可信和不可信数据混合在一个数据结构里最容易导致这种错误的出现。,需要维护一个可信的边界。,不可信数据应该单独存放不可信数据的数据结构内,在经过验证之后才被放在可信区域。,如果输入的数据在处理前通过一些用户的交互发生了改变,可信边界就会遇到一定的问题,因为它很可能在所有数据进入之前不能做出完全的输入验证。,4.,必须验证输入数据的长度,具体要求如下:,对输入长度进行检测。,验证的时候应该检查输入的最小和最大长度。如果对最大输入长度进行限制,攻击者就很难对系统的其它弱点进行攻击。而对最短长度的检测可以使攻击者无法忽略强制要求输入的域,同时也无法输入与预期不符的数据。,输入验证可以根据被验证程序的上下文进行更深入的检测。,如果程序需要验证一个输入域,验证逻辑对该域的合法值限定得越详细,验证逻辑就能越好地工作。,输入输出安全规范,5.,检测整数输入的边界值,必须检测整数输入的边界值,否则程序对一个未知大小的值进行运算,得出的结果可能不符合为其分配的地址。这种情况下,结果会被误识别,产生明显的错误,从而导致整数溢出风险。,在,C/C+,中整数溢出常常是缓冲区溢出攻击的一部分,虽然,JAVA,不会产生缓冲区溢出,但是在,JAVA,里的整数溢出仍会造成一定的问题。,6.,不能接受验证失败的数据,不允许试图修复一个未能通过输入验证的请求,必须直接拒绝掉。,通过设置默认值来保存一个丢失的输入,处理密码域时自动剪裁掉超过最大长度的输入,替换掉在输入框输入的,JavaScript,字符等行为是很危险的,输入验证本身就很复杂,如果和自动错误恢复的代码混合在一起的话,将会造成更大的复杂性,自动错误恢复代码很可能改变请求的含义或者截断验证逻辑。,7.,验证,HTTP,请求中所有内容,要求对每一个,HTTP,请求都进行完整的检查。,因为攻击者可以在提供给他们的,Web,页面里输入任何内容,他们可以完全脱离浏览器和浏览器的一切验证,修改,Cookie,、隐藏区域、,name,与,value,对应关系,他们可以为了“错误”的目的在“错误”的时间按“错误”的顺序提交,URL,请求。,输入输出安全规范,8.,校验所有来自命令行、环境以及配置文件的输入,软件开发者不能 相信来自命令行、环境以及配置文件的输入。要求对来自命令行、系统属性,环境变量以及配置文件的输入都进行校验来保证它们是一致的和健全的。,9.,控制日志的写入,防止攻击者控制写进日志文件的信息,否则就可以在输入中混入伪造的日志条目来伪造系统事件。更严重的是,如果负责进行日志分析的代码存在漏洞,特定的有恶意的输入很可能触发该漏洞,并引发更加严重的危害。,10.,要求使用最严格的形式进行输入验证,具体要求如下:,要求在一定程度上间接的验证用户输入的信息。如,创建一个 用户输入的合法取值区间,并只允许用户输入在这个区间内的数据。,不允许用户输入的数据被直接用到程序的逻辑中。,创建一个白名单,白名单中存储了允许输入的内容的一套字符串。有效的输入是由白名单中的特征字组成的。如果一个应用程序中的输入值或者字母在特定环境中代表了新的含义,验证方法必须被升级来适应这些变化。否则,其会被作为非法输入所拒绝。,不要使用黑名单技术。因为黑名单技术的目标是拒绝那些不安全的字母或字符串,任何不安全字符串的列表一般都是不完全的并且会过期。,输入输出安全规范,11.,防止元字符攻击,不允许输入那些具有特定含义的字符。在具体环境中,这个问题和其解决方案在不同的语言环境中是有很大差别的。,所有类似脚本语言以及标记语言之类的强调易用性与交互性的技术都有一个共性,即可以接受可变的控制结构与数据。这个通用的问题在很多系统的都有出现,在一些系统中的有比较显著特点的问题如下:,SQL,:,SQL,注入,HTML,:,跨站脚本,文件系统:资源注入,命令,shells,:,进程控制,要求正常的输入验证过程捕获通用的错误并提供易于理解的输入验证反馈,而以安全为目标的输入验证过程则只针对于那些不正常的输入。,输入输出安全规范,WEB,技术规范,开发安全的,Web,应用程序是很有挑战性的,主要原因如下:,由于用户可以很容易的访问应用程序,恶意用户也可以这样做。,HTTP,不是为应用设计的,自然更不是为安全的应用设计的。,HTTP,的安全问题与标准,C,库中的字符串函数带来的缓冲区溢出问题一样麻烦。程序员需要通过自己的方法来确认应用是安全的。,应用不只需要防护恶意用户,还需要帮助正常用户防御恶意用户。换句话说,恶意用户希望通过应用作为其攻击的跳板。,本章覆盖了创建安全,Web,应用最重要的方面,包括:会话,,SSL,,认证等方面。,1.,使用,POST,不能使用,GET,禁止使用,Get,方法可以防止很多跨站脚本攻击漏洞,这样可以使攻击者无法向用户发送含有恶意,Get,参数的,URL,。,“禁止使用,Get,”建议修改为“限制使用,Get,”,对于通过,Get,方式进行数据提交,必须进行验证以确保数据安全,。,2.,使用,SSL,进行通信,要求合理的使用,SSL,,它能对嗅探攻击和中间人攻击做出有效的防御,同时还可以为主机和客户机提供可信的验证。,不允许,SSL,是可选的方案。一个安全的程序不能在使用,443,端口(,SSL,通信端口)的同时也接受,80,端口(一般的,HTTP,服务端口)请求,不允许用户选择安全级别。,3.,假设浏览器已被监控,要求在验证之前不相信来自客户端的任何数据,包括那些不常被客户修改的值(如,cookies,被隐藏的域)。因为,Web,程序总会接受到来自攻击者的请求,对客户习惯做出的任何假设都有可能会被用来对程序发起攻击。,4.,需要在服务端进行安全验证,要求在服务器端进行安全验证。,因为攻击者很容易就可以绕过用户设定的那些请求页面和浏览器,直接与应用服务器通信,这就意味着攻击者可以绕过在客户端所做的任何设置,如,JavaScript,验证逻辑。,JavaScript,可以帮助合法的用户对不正常的输入信息进行检测,但是不能确保服务器接收到数据的安全性。,5.,不能依赖,Request,到达的顺序,不能依赖,Request,到达的顺序。,因为攻击者可以随意控制,request,到达的顺序来适合自己的需要。例如,如果程序通过不同页面来搜集信息,在较早的表单里验证了信息,而在修改信息的表单则没有进行验证,那么攻击这就可以利用后者来绕过输入验证。,6.,要求在恶意环境中保护浏览器,不能让出现问题的浏览器成为攻击者可以利用的工具,来攻击存在漏洞的客户端。,这一问题可以理解为输入验证的问题,但是从深度防御的角度考虑,它也是一个输入编码(加密)的问题。例如,可以通过对,HTTP,请求进行校验来防御来自外部的跨站脚本攻击,如果对,HTTP,应答都进行了编码,这样就可以防御来自外部和内部的跨站脚本。,WEB,技术规范,7.,要求创建默认的错误页面,要求为,HTTP,错误创建一个默认的错误页面,丢弃掉所有的异常,来防止攻击者从应用程序的默认出错页面中得到系统信息。,8.,要求使用通用错误消息,要求构造错误提示信息来防止诸如用户,id ,网络,应用程序以及服务器环境的细节等重要的敏感信息的泄漏。包括:,不区分错误的用户名和错误的密码;,在返回的报告中不能包含主机信息、网络信,DNS,信息、软件版本信息、错误代码或者其它发生的错误的详细信息;,不允许把错误的细节放在错误页面的注释里。,9.,必须使用强的会话,ID,会话,id,长度不能低于,64,位,建议使用,128,位长度的会话,id,。,要求在确定,session,的,id,的长度以及生成,id,的随机种子之前,不相信,web,程序的容器。,因为会话,id,太短很容易被暴力猜解。如果攻击者猜到授权用户的会话,id,就可以接管用户的会话。,WEB,技术规范,11.,必须在会话终止时清空数据,不允许会话数据在会话终止后继续存在,否则该数据会被攻击者利用,。,10.,必须保护,Cookie,要求在建立,Session,时用户以,SSL,方式连接,并且将该会话的安全标识设置为,cookie,只能通过安全连接进行传输。,不能只依赖,HttpOnly cookie,带来的任何安全保障,因为其只限于在,IE,下使用,攻击者也可以很方便的窃取到它。,不相信来源于网络的一切数据,要求对来源于网络的一切数据进行一定的校验来保证数据包的大小和内容都符合预期要求。,这些威胁体现网络通信的一切行为中,例如:从,DNS,返回的信息可能被假冒;数据包中非负荷数据也可能被伪造;攻击者可以专门构造数据包用语进行某些攻击等等。,网络系统规范,WEB,技术规范,文件系统规范,1.,必须使用文件系统访问控制,具体要求如下:,要求文件被指定的用户访问,并且该用户的权限被限制为最小权限。,当应用程序使用被其控制的已存在文件时,必须首先验证是否存在防止文件被篡改的许可权限。,不能将许可权限的管理交给系统管理员一个人处理 。,为另外安全的使用临时文件,要求在程序初始化时创建一个只能被该程序读写的文件夹。,不能将该文件夹放在用户可访问到的地方,并将所有的临时文件都放在其中,这样就可以防止攻击者猜测被使用的临时文件的名字,提前创建该文件来进行内容操纵或者拒绝服务攻击的风险。,2.,注意文件访问竞争条件,确保在程序对某文件进行一系列操作之后,不再能被替换或者修改。,在,C,语言中,避免使用操作文件名的函数,应该首先打开该文件获得文件句柄,然后通过使用操作文件句柄的函数来进行操作,因为不能够保证在函数调用域之外的空间上,它指向的仍是硬盘上同一文件。,当用户可以访问本地文件时,不要,Java,使用,来实现具有特定权限的程序。因为在,Jaba,中,虚拟机对文件的操作是基于路径的,而不是操作系统的文件句柄的,所以文件访问竞争条件是不可避免的。,3.,不相信文件名或文件内容,要求对来自文件系统的所有值都进行合适的输入验证,因为文件的大小和名字很难得到保证。,例如,在,C/C+,中,开发者经常会错误地认为,Windows,系统的变量,MAX-PATH,以及,Unix/Linux,系统的变量,PATH-MAX,可以限制在文件系统中出现的最大路径的长度。而这些变量的实际作用是限制传递给某些操作的最大路径,而在系统中是可以存在更大路径的。在,C/C+,中,很经常出现过长的文件名导致的缓冲区溢出,除去这种过长路径名的风险,根据操作系统的不同,某些操作系统中正常的文件名还可能包含在其他系统中作为关键字的字符。,数据库规范,1.,必须使用参数化的,SQL,语句,具体要求如下:,要求开发者在构造,SQL,请求时,明确区分被翻译为数据的部分和被翻译为命令的部分。,要求正确的使用参数化的,SQL,语句,不允许数据指向改变的方法。,在要求拥护输入影响,SQL,语句结构的情况下,增加一个动态约束(例如在,Where,句子里),不能把拥护的输入连接为请求语句。,文件系统规范,数据库规范,2.,要求使用行级别的访问控制,具体要求如下:,必须通过,row,级别的访问控制来防止用户信息泄露,限制,SQL,请求只向当前认证的用户返回结果。,要求使用额外的逻辑来限制,recID,的值,使它成仅为某个特定用户所提交的。,要求在数据库语句本身进行访问控制,这样攻击者就很难越过这个限制。,要求连接数据库所用的帐号授权遵循最小权限原则,避免使用数据库默认的管理员帐号、高权限帐号。,3.,不相信来自数据库中的数据,具体要求如下:,要求对来自数据库的数据进行验证,确保其格式正确且能够安全的使用,不能盲目的信赖数据库。,要求返回的单值数据在一行出现。,如果存在多行很可能被攻击者插入了注入语句,而数据库的单值约束很可能不起作用。,要求使用安全可信的内容,不能使用具有恶意的信息(如常用系统或者浏览器的关键字)。,如果出现了这样的字符,就说明攻击者很可能已经成功地越过了输入验证,正在试图发动注入或者跨站脚本攻击。,4.,要求确保释放数据库资源,要求建立一个资源管理模块并且完全按照规则对资源进行回收之前还要检测对象是否适合进行垃圾回收。除非虚拟机的内存已经很低,才会进行垃圾回收,这样无法保证即将被回收的对象是处于正常的状态。,随机数,1.,要求使用一种生成代价小并满足安全需求的随机数生成方法来生成应用过程需要的随机数。目前有三类生成方案如下:,不安全的随机数生成器,这是一种非密码学的伪随机数生成器,攻击者可以知道生成器能够输出的数值。,密码学的伪随机数生成器,这是一种是使用一个单一的安全种子来产生许多不可猜测的随机数的方法,该方案在多数情况下是安全的,最重要的是其使用的安全种子。,信息熵收集器,该方案在一些时候是“真正的”随机数生成器,其主要工作是收集来自其它源以及自身的信息熵。但是其生产数据的速度过慢。,数据库规范,根据以上方案具体要求如下:,不能使用不安全的随机数生成器,比如:,常用随机函数,rand,。,要求使用信息熵作为密码学伪随机数生成器的种子。但在生成长期的密钥的情况下,不使用这种方法。,若需要相同的数据流,就不能修改生成器的种子。因为在使用固定的种子时密码学伪随机数生成的输出流也是固定的。,2.,创建攻击者无法猜测的随机数,具体要求如下:,使用能够获取好的随机数的方案。不能使用熵很低或容易被猜到的种子,例如时间,日期或空种子。,在,Java,中,使用,SecireRandom,类,不要使用,Ramdom,类。,SecireRandom,类的默认构造方法可以正确选种,,Java,会自动获取一个信息熵比较平均的值。,最好使用硬件的随机数生成器。要求其在没有收集到足够的真实随机序列来生成种子时,就会中断。如果使用的是不会中断的,要求在使用之前仔细测试是否有足够的种子。,使用操作系统或者其使用的加密库的一个真实的随机数源。,在很多,Unix,平台上,从,/dev/urandom,读取,16,字节可以给出相当高质量的随机序列。并且在,Linux,中,/dev/urandom,是不中断的,并且总会返回请求的字节数。但,/dev/urandom,在没有足够的真实随机序列时则会中断。,随机数,JAVA,安全开发注意事项,不信任一切输入,XSS,跨站漏洞防范,SQL,注入防范,JAVA,安全开发注意事项,上传,漏洞防范,不信任一切输入,JAVA,编程时同样需要遵守任何输入都是不可信的原则。所有的输入都是不安全的,在使用前都必须进行检查、验证或者过滤。这里的输入不仅仅指正常情况下的用户输入,还包括从文件获取的内容、从协议的数据包中获取的内容,从环境变量、注册表等获取的输入。,SQL,注入防范,Java,程序也存在,SQL,注入问题,可以通过使用,PreparedStatement,类来阻止,SQL,注入,。下面是一段存在,SQL,注入漏洞的代码:,String user = request.getParameter(username);,String pass = request.getParameter(password);,String query = SELECT id FROM users WHERE username=+user+ AND password=+pass;,Statement stmt = con.createStatement(query);,ResultSet rs = con.executeQuery(query);,if (rs.next(),/,登录成功,int id = rs.getInt(1);,.,else,/,登录失败,.,SQL,注入防范,String,user = request.getParameter(username);,String pass = request.getParameter(password);,String query = SELECT id FROM users WHERE username=? AND password=?;,PreparedStatement stmt = con.prepareStatement(query);,stmt.setString(1, user);,stmt.setString(2, pass);,ResultSet rs = stmt.executeQuery,();,if (rs.next(),/,登录成功,int id = rs.getInt(1);,.,else,/,登录失败,.,正确的做法如下:,XSS,跨站漏洞防范,String,name = request.getParameter(“name”);,out.println(“hello, welcome ” +,htmlEncode(name),+ “ !”);,public String htmlEncode(String sText) ,sText = sText.replaceAll(“,sText = sText.replaceAll(“#”, “,”,);,sText = sText.replaceAll(“”, “,sText = sText.replaceAll(“”, “,sText = sText.replaceAll(“”, “,sText = sText.replaceAll(“script”, “”);,一段可能产生跨站脚本攻击漏洞的代码:,String name = request.getParameter(“name”);,out.println(“hello, welcome ” + name + “ !”);,正确的做法:,上传漏洞防范,对,文件名做严格的检查,比如使用正则表达式,限定文件名只能包括字母和,数字。或直接重定义文件名,同时注意,文件名格式与随机值强度,;,注意,文件保存,路径,如果可以,保存文件至独立挂载目录,禁止上传目录执行;,文件,内容合法性验证,(如图片,加载渲染,);,保证所有验证都必须在服务端进行。,一段有漏洞的程序:,String fileName = request.getParameter(filename);,String content = request.getParameter(content);,FileWriter fw = new FileWriter(new File(“/home/y/share/templates/” + fileName);,fw.write(content);,正确的做法:,业务接口安全规范,业务接口定义,业务接口安全建议,业务接口安全风险,业务接口安全规范,接口的定义,应用程序
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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