代码安全开发培训大纲v.ppt

上传人:b****1 文档编号:1422283 上传时间:2022-10-22 格式:PPT 页数:106 大小:3.05MB
下载 相关 举报
代码安全开发培训大纲v.ppt_第1页
第1页 / 共106页
代码安全开发培训大纲v.ppt_第2页
第2页 / 共106页
代码安全开发培训大纲v.ppt_第3页
第3页 / 共106页
代码安全开发培训大纲v.ppt_第4页
第4页 / 共106页
代码安全开发培训大纲v.ppt_第5页
第5页 / 共106页
点击查看更多>>
下载资源
资源描述

代码安全开发培训大纲v.ppt

《代码安全开发培训大纲v.ppt》由会员分享,可在线阅读,更多相关《代码安全开发培训大纲v.ppt(106页珍藏版)》请在冰豆网上搜索。

代码安全开发培训大纲v.ppt

代码安全开发培训,技术支撑部(信息与系统安全部)2014.5,安全意识培训,openssl案例struts2漏洞案例WindowsMS08-067案例android应用开发接口威胁teensy演示,openssl案例,漏洞介绍无需任何特权信息或身份验证,我们就可以从目标上偷来X.509证书的私钥、与密码、聊天工具的消息、电子邮件以及重要的商业文档和通信等数据用户名。

受影响版本OpenSSL1.0.1、1.0.1a、1.0.1b、1.0.1c、1.0.1d、1.0.1e、1.0.1f、Beta1ofOpenSSL1.0.2等版本在线检测地址http:

/possible.lv/tools/hb/,openssl案例,漏洞原因OpenSSL的某个模块存在一个BUG,当攻击者构造一个特殊的数据包,满足用户心跳包中无法提供足够多的数据会导致memcpy把SSLv3记录之后的数据直接输出,该漏洞导致攻击者可以远程读取存在漏洞版本的openssl服务器内存中长大64K的数据修复方案网站方面,管理员及时下载OpenSSL补丁,升级OpenSSL1.0.1g,通知用户在升级期间不要登录网站,openssl案例,他是某个存在漏洞的站点,这是演示漏洞攻击,他可以随机获取对方网站的某用户的数据信息,包含用户名,密码,电话,省份证号等等,Struts高危安全漏洞,struts漏洞一直以来都是非常引人瞩目,两方面原因:

用struts框架的应用一般都是比较大型的应用;struts漏洞一般都是高危漏洞。

下面列举struts自发布以来已知的漏洞:

关于Struts2高危安全漏洞,漏洞介绍近日有安全研究人员指出ApacheStruts2在漏洞公告S2-020里,在处理修复CVE-2014-0094漏洞修补方案中存在漏洞,导致补丁被完全绕过。

目前官方在github上做了对应修改。

这是OpenSSL之后又一严重漏洞,安全情况等级再次升级!

受影响版本ApacheGroupStruts2.x漏洞原因ApacheStrutsversions2.0.0-2.3.16版本的默认上传机制是基于CommonsFileUpload1.3版本的,该版本在实现上存在拒绝服务漏洞,附加的ParametersInterceptor允许访问class参数(该参数直接映射到getClass()方法),并允许控制ClassLoader。

struts2高危安全漏洞的影响,关于微软MS08-067漏洞,这个漏洞比较古老,杀伤力很大,但是在很多场景下还是普遍存在,应引起重视。

漏洞介绍该安全漏洞可能允许远程执行代码,如果受影响的系统收到了特制伪造的RPC请求。

在MicrosoftWindows2000、WindowsXP和WindowsServer2003系统,攻击者可以利用此漏洞无需通过认证运行任意代码。

受影响版本win2k,xpsp3,2003,2008,vista,win7beta漏洞原因攻击者发出恶意请求给RPC服务,导致缓冲区溢出。

攻击者可取得主机权限,关于微软MS08-067漏洞,android应用开发接口威胁,通过分析app程序【电信某系统】,可以找到其调用数据的接口,修改提交的参数可以找出敏感数据。

http:

/202.102.XX.XX/app/JSONLogin?

managerID=250006510,http:

/202.102.XX.XX/app/JSONLogin?

managerID=250006520,teensy,很多场景,黑客可以用伪装过的u盘,对指定目标进行攻击。

teensy就可以伪装成任意一种usb外接设备。

常见用途有:

1.直接获取系统响应的权限2.键盘记录器3.快速窃取文件,teensy,一小段代码就可以让teensy摇身一变成为一个键盘记录硬件。

teensy,通过将一个木马写入teensy,可以让系统自己动加载、运行。

作图为远程监听并执行系统命令的木马控制截图。

teensy,源代码:

【仅供参考】,安全编码原则,程序只实现你指定的功能永不要信任用户输入(来自用户终端的数据),对用户输入数据做有效性检查必须考虑意外情况并进行处理不要试图在发现错误之后继续执行尽可能使用安全函数进行编程小心、认真、细致地编程,安全策略条目分类,Discipline:

必须遵守的纪律,必须按照规范中的描述严格实施,绝对不能违反Policy:

必须遵循的策略,实现方法可以自行考虑,但不能违反策略的规定Guideline:

建议性的指南和规范,重要系统实施,其他系统逐步遵循实施,代码安全开发注意点,身份验证会话安全访问控制输入输出验证异常管理文件操作安全管理数据安全日志审计安全接口安全系统接口安全测试规范,身份验证,应用系统帐号管理安全要求主要包括保护帐号不被猜解和暴力攻击,提供对帐号用户身份的有效识别,帐号状态管理,帐号有效期管理等,应在程序设计时,严格控制各个安全点,强制用户必须满足其要求。

具体内容涉及以下要求:

帐号安全密码安全认证安全测试,身份验证,身份验证案例用户名admin密码agent,身份验证,身份验证案例用户名输入-1or89=90密码输入1,帐号安全,帐号名称系统管理员帐号名称禁止使用易猜解名称【Discipline】系统管理员帐号名称不使用常见管理员的帐号名称,如“admin”、“administrator”、“root”等,不使用管理员个人标识信息(如姓名拼音等)作为管理员帐号名称,避免被攻击者暴力猜解。

帐号安全,帐号身份帐号身份的安全有效管理【Policy】为对帐号进行有效管理,在帐号发生安全事件时能及时有效的定位责任人,密码找回等,要求系统提供对帐号的使用人员必要的身份信息管理功能,如:

有效证件,邮件,手机等,并对身份信息进行有效性验证。

系统通过加密存储、页面展现脱敏处理等多种手段提供对敏感身份信息的安全保护。

数据安全保护详见相关章节。

密码安全,设置密码通常起到认证用户身份、防止攻击者非授权访问的安全措施。

因此密码也通常被认为突破系统的第一道防线,系统禁止接收不满足安全标准的登录密码。

保障密码安全系统必须具备密码安全管理功能,需要满足以下要求:

密码长度Discipline1-2-1:

必须严格按照要求控制密码的长度管理员密码长度需在8位以上,普通用户密码需在6位以上。

帐号安全,帐号状态管理帐号身份状态的安全有效管理【Policy】系统具备帐号状态管理功能,帐号的状态包括:

在用,临时,暂停,关闭等,帐号的状态变更满足以下要求:

临时帐号设置有效期,到期自动关闭。

长期不用的帐号,三个月未登录,自动转换到暂停状态。

密码安全,密码复杂度密码的复杂度设置必须满足要求【Discipline】大写字母、小写字母、特殊字符、数字三种以上组合。

禁止使用连续性字符、数字,如1234abcd。

避免重复字符、数字,如11111、aaaaa等。

不要使用用户公开信息或个人隐私相关数据作为密码,如:

qq、身份证号码、昵称、电话号码、生日、姓名拼音、英文名、公司名等,避免被社会工程学攻击。

支持采用黑名单对常用统计型弱密码的过滤,如:

常见的统计型弱口令123321、qwerty、qweasd、qazwsx、1q2w3e4r等。

密码安全,密码存储密码的存储必须使用散列函数加salt【Discipline】必须采用不可逆加密算法(MD5、SHA-1等)加密存储,为防止彩虹表暴力破解,在对密码加密时增加明文复杂度,增加一个“salt”和对应帐号信息,具体如下:

MD5(Username+Password+salt)其中salt=abkdfang.(随机字符串)Salt保存在服务器端配置文件或数据库中,妥善保存,密码安全,密码生存周期必须严格限制密码的生存周期【Discipline】提供密码生存周期管理,满足以下要求:

管理员用户(root、Administrator等)3个月强制更换一次密码。

普通用户每次登录前确认当天离上次更新是否超过90天,如超过则不允许登入,如超过最后期限前3天自动提示离下次更新密码的最后期限还有多少天。

密码分发Guideline1-2-5:

加强密码的安全分发系统应提供对用户初始密码分发和用户密码重置的安全管理,避免可能的安全风险,应满足以下要求:

用户初始密码应由系统通过算法随机生成,禁止使用统一的初始密码。

初始密码的分发应由系统通过用户创建时登记的email或手机进行自动分发,减少人工环节。

用户使用初始密码首次登录系统时,系统应提醒或强制用户修改密码。

密码安全,密码分发加强密码的安全分发【Guideline】系统应提供对用户初始密码分发和用户密码重置的安全管理,避免可能的安全风险,应满足以下要求:

用户初始密码应由系统通过算法随机生成,禁止使用统一的初始密码,且密码强度要大,至少为8位。

初始密码的分发应由系统通过用户创建时登记的email或手机进行自动分发,减少人工环节。

用户使用初始密码首次登录系统时,系统应强制用户修改密码。

密码安全,密码修改必须严格限制密码修改的条件【Discipline】密码修改管理要求先验证用户原有密码才允许修改密码。

密码找回密码找回的安全有效手段【Discipline】系统必须采用安全的方式验证用户的身份并重置密码:

通过验证用户预留的密码找回问题和答案来验证身份。

通过用户预留的email验证身份,系统自动发送重置以后的密码或重置密码的URL。

通过向用户预留的手机号码发送短信动态码来验证身份,短信动态码长度不低于6位,且有效时间不超过5分钟,错误5次以上失效,避免被分布式暴力破解。

认证安全,认证方式管理高安全等级系统的认证方式【Discipline】高安全等级系统认证方式应不低于以下要求:

用户名+用户名+静态密码+动态密码(令牌卡、短信码),动态密码长度不低于6位,设定密码的有效时间不超过5分钟,防止动态码被攻击者采用词典或者穷尽的方式暴力攻击,请求间隔不少于60秒等。

静态密码+证书认证。

二次鉴权管理高安全等级重要操作必须经过系统二次鉴权【Discipline】对高价值交易操作和进入保护区用户进行重新认证,如:

修改用户密码操作、涉及资金操作等。

认证安全,图形验证码管理图形验证码的安全使用【Guideline】验证码防自动识别:

认证登录框具备图形验证码功能,且图形验证码满足以下要求:

能抵抗自动识别,但不影响用户的正常识别,实现长度至少四位的随机字符串,且使用扭曲、噪点干扰、大小变换、位置变换等防自动识别的一种或者多种方法,或者增加简单的逻辑判断,如:

1+一=?

等。

验证码保护和更新:

采用session方式在服务器端保存验证码值,每次核对验证码时候先检查是否为空,核对验证码后先将session中验证码值清空,然后再做其他数据合法性判断。

可能存在的风险,session中的验证码值如不在每次核对以后自动清空,攻击者可以通过不触发验证码更新程序的方式采用第一次人工识别的验证码反复提交绕过验证码;cookie方式保存验证码值,攻击者可以通过解密识别cookie中的验证码值或者直接伪造cookie值来绕过验证码。

认证安全,认证敏感信息通信安全敏感信息使用安全通道传输【Policy】认证过程中,涉及密码和用户名的通信,需使用加密通道来进行身份认证,如:

使用https协议来传递认证信息。

认证安全,认证失败处理认证失败时相应的安全处理方法【Discipline】登录认证失败处理必须满足以下要求:

登录界面认证失败时,认证失败的回显信息不能单独显示“帐户错误”或“密码错误”等精确的提示信息,应由系统生成统一的错误页面信息,避免攻击者通过错误信息来猜解帐号是否存在。

具备连续认证失败后帐号锁定功能,帐号可以由系统管理员解锁或者系统在一定时间内自动解锁,防止帐号密码被手动暴力猜测,但必须考虑配合图形验证码或者动态密码等辅助手段,防止攻击者利用自动工具尝试暴力认证登录,导致正常用户大批量锁定的DOS攻击行为。

对高安全等级系统可以考虑实现:

多次认证失败后,系统应通过短信、邮件等方式提示帐户本人其帐户安全问题,督促尽快

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1