代码安全、无线攻防、逻辑漏洞与白帽子普法:FreeTalk上海站新鲜速递(附PPT下载地址)

2017-03-20 202662人围观 ,发现 11 个不明物体 活动

DSC_3503.jpg

3月的上海春雨蒙蒙,2017年第一场FreeTalk就在这样一个午后开始了。下雨完全没有影响大家的热情,还没到活动预定时间,讲者和听众就已经悉数到场,精心布置的沙龙里满是前来潜心学习与交流的同学们。看到此情此景,小编内心既分外感动,又对今天的议题充满好奇——什么样的FreeTalk拥有如此吸引力?接下来,FreeBuf将为没有到场的大家,带来FreeTalk上海站的精彩内容。

现场视频(请留意FreeBuf公开课)很快将放出,敬请期待!演讲PPT下载地址见文末

DSC_3418.jpg

企业级代码安全的最佳实践

首先带来演讲的是美丽联合集团的首席安全研究员及资深开发工程师吴止介。美联集团要保护亿万妹子的购物安全,所以美联旗下蘑菇街、美丽说等众多产品的安全就显得格外重要。而代码安全实际占到整个漏洞安全80%以上,因此吴止介所作的分享就是关于美联是怎么做代码安全及其效果,并且与在座听众分享了美联开发使用的漏洞扫描器Cobra。

首先止介讲述了常规漏洞挖掘检测过程中白盒、黑盒和人工所起到的不同作用。如果是人工白盒审计代码,一般会有两种方法:一、找到整个项目种所有外部数据的入口点,也就是说我们会跟进整个外部数据的入口,比如所举例子中的请求数据来源于外部的一个参数,然后跟着参数往下找,找到请求的点,然后看是否有漏洞。二、先找到可能会造成漏洞的点,比如说先找到这个点,再往上看其参数是否可控,如果可控,也会存在漏洞。我们一般通过这两种方式来进行白盒挖掘。而黑盒则是根据外部参数来做的,根据返回值和payload来判断是否存在漏洞。黑白盒之间的差异在于:黑盒扫出来的漏洞一定是漏洞,但白盒是偏规范性的。白盒首先是定位整个漏洞点,判断是否会修复,最后会拿整理出的规则去看所有的代码。而人工在其中也起到了重要的作用,人工会梳理出漏洞特征,作出扫描规则,添加至系统中,用于寻找相同漏洞。人工的第二个用处在于提供一套完善的修缮方案。

止介认为在这个过程中存在许多重复性的人工劳动,完全可以被工具替代,这也是讲者做Cobra的原因。

DSC_3572.jpg

谈及企业对代码安全管理的刚需,止介认为在企业层面,绝大部分Web漏洞都是代码层面的问题,包括第三方组件和自己的业务代码,因此企业的核心诉求是:覆盖漏洞多、扫描快响应快、准确率高、省时省力自动化。Cobra就是一款企业级代码安全审计系统,目的是帮助企业自动化漏洞发现、修复、报告、重扫、结束。

Cobra的设计理念:1. 白盒中不能直接利用的漏洞也是风险,只不过风险等级较低;2. 白盒为主,黑盒为辅。因为黑盒很多时候是在碰运气,只能扫出60-80%的漏洞。目前的做法是,只要白盒扫出了一个漏洞,就会根据此漏洞整理出规则,让白盒将所有此类漏洞扫出。3. 有人报漏洞时,解决根源问题,并不是发现一个修一个,而是解决源头问题,解决所有同类型漏洞。4.极致自动化,白盒项目数量对自动化要求高。

DSC_3645.jpg

该开源工具的应用场景

1. 日常安全扫描。这也是企业最需要的一块。目前所有美丽说、蘑菇街的日常的发布、项目变更、需求排期都会走到日常安全检测流程中来。

2. 新漏洞应急评估。比如上次出现的struts2,我们当天写出规则,对公司几千个项目进行排查,把受影响的项目告知团队相关人员。

3. 三方依赖基线。比如最近在阿里巴巴的fastjson组件在1.2.24版本前存在高危漏洞,他们虽然没有公布PoC或利用方式,但我们根据第三个场景,能够理出使用1.2.24版本的项目,然后进行修复。

Cobra目前在蘑菇街2700多个项目全线覆盖,漏洞总数34000多个,高危漏洞达2000个。每一个提交的高危漏洞都是有现金奖励的,讲者鼓励现场白帽子向美联SRC提交漏洞。下一步希望持续降低误报率,降低使用部署成本,对外提供官方站点提供全规则检测、逐步开源通用扫描规则。

看不见的无线安全:浅谈BLE攻防

白帽子Lazydog给我们带来了关于BLE的攻防经验。Lazydog平时经常在漏洞盒子及其他平台上提交漏洞,兴致来了也会写写Python代码,写些小工具等等。

DSC_3669.jpg

首先,Lazydog为我们介绍了BLE应用场景。BLE成本低,可在不同应用间传播信息,功耗低。BLE的应用场景包括智能设备和物联网,比如新的摩拜车型解锁时会提醒是否开启蓝牙,也是应用到了BLE。Lazydog还着重介绍了BLE协议栈结构中的物理层和链路层。首先是物理层,BLE属于无线通讯,其通讯介质就是一定频率范围内的频带资源。BLE市场定位又是民用、个体,所以使用了免费的ISM频段(2.400-2.4835Ghz)。经过物理层的定义,通信需要用的物理通道已经就绪,这时需要链路层在这些物理通道上收发数据。但因为在空中收发数据,不可能每次通过物理通道传输,不会有损耗,所以它要负责一些可靠性方面的,比如校验等。在40个物理通道,其中3个是广播通道。而这3个广播通道实际上是逻辑通道,因为蓝牙设备在发送广播包时是通过这3个通道一起发送的,如果黑客向这3个通道发送大量的广播包,则会造成别人的设备无法正常工作。GAP就是最上层的东西,即通用访问配置文件,定义了连接至各个蓝牙设备的链路管理、若干个设备角色,其中主要的两个是外围设备,比如智能手环,和中心设备,比如智能手机。

介绍了BLE相关的背景知识,那么测试又需要哪些东西呢?讲者说,只要四样就可以!分别是智能手机、电脑、CSR4.0蓝牙适配器、nRF51822或cc2540等嗅探工具。还有一些辅助工具包括bluez/bluez-utils、lightblue/blue scanner、pygatt。接下来,讲者为我们分享了几个案例,其中就包括一款支付手环的破解流程:使用蓝牙设备去连接,然后在App上操作,实际上是通过BLE协议给read command写入数值,然后设备作出反应。除了让手环震动外,还可以从中获取数据。

DSC_3703.jpg

如果BLE出现在最近大火的真人秀《潜行追踪》会发生什么事呢?BLE可以帮助我们实现定位,通过算法、信号强度等,可以定位BLE设备的位置,听说准确率比RFID定位还要高。

对于此类攻击的防御该怎么做呢?首先就是白名单机制,只允许连接某些特定设备。当然白帽子们也有思路去绕过白名单,可以软修改蓝牙适配器地址,可以连接。第二就是BLE隐私机制——LE Privacy机制,将设备地址转换成resolvable private address。Apple watch就是这样工作的,将在空中输出的地址加密,攻击者就无法获取。这样做还不是万全之策,黑客依然可以曲线救国,比如API 接口没有使用https,应用代码没有混淆等,这些开发商的错误让攻击者有机可乘。

网络安全法对白帽子的影响

今年6月1日,《网络安全法》将实施,实施后将对白帽子有什么影响,想必白帽子们都非常关系这个话题。今天段和段律师事务所的刘春泉律师来为我们作出解读。刘律师首先分享了与白帽子相关的法律条文。

DSC_3777.jpg

在《网络安全法》中的第二十七条和第六十三条都与白帽子密切相关。请各位白帽子仔细研读!

第二十七条 任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

第六十三条 违反本法第二十七条规定,从事危害网络安全的活动,或者提供专门用于从事危害网络安全活动的程序、工具,或者为他人从事危害网络安全的活动提供技术支持、广告推广、支付结算等帮助,尚不构成犯罪的,由公安机关没收违法所得,处五日以下拘留,可以并处五万元以上五十万元以下罚款;情节较重的,处五日以上十五日以下拘留,可以并处十万元以上一百万元以下罚款。

单位有前款行为的,由公安机关没收违法所得,处十万元以上一百万元以下罚款,并对直接负责的主管人员和其他直接责任人员依照前款规定处罚。

违反本法第二十七条规定,受到治安管理处罚的人员,五年内不得从事网络安全管理和网络运营关键岗位的工作;受到刑事处罚的人员,终身不得从事网络安全管理和网络运营关键岗位的工作。

何为”非法侵入他人网络“呢?又如何区别白帽子与黑客呢?现场观众与刘律师一致认为“是否得到授权”是鉴别是否“非法侵入他人网络”的关键所在。刘律师认为,白帽子要在企业授权范围下(漏洞盒子等平台)进行安全测试和活动。

除了《网络安全法》外的其他与白帽子相关的法律包括:《全国人民代表大会常务委员会关于维护互联网安全的决定》、《全国人民代表大会常务委员会关于加强网络信息保护的决定》、《中华人民共和国刑法修正案(九)》。

DSC_3788.jpg

讲了相关法条之后,刘律师还为我们梳理了法律责任,包括涉及相关犯罪的刑事责任、行政处罚和职业禁入。我们在上面的《刑法修正案(9)》第三十七条后增加的一条和《网络安全法》的第六十三条就都有提到相关的法律责任。

在刑法第三十七条后增加一条,作为第三十七条之一:“因利用职业便利实施犯罪,或者实施违背职业要求的特定义务的犯罪被判处刑罚的,人民法院可以根据犯罪情况和预防再犯罪的需要,禁止其自刑罚执行完毕之日或者假释之日起从事相关职业,期限为三年至五年。

“被禁止从事相关职业的人违反人民法院依照前款规定作出的决定的,由公安机关依法给予处罚;情节严重的,依照本法第三百一十三条的规定定罪处罚。

“其他法律、行政法规对其从事相关职业另有禁止或者限制性规定的,从其规定。”

刘律师还列举了许多相关案例,为大家生动解读。比如2014年发生于广西的一起木马诈骗案,犯罪嫌疑人利用木马盗取他人QQ,并实施诈骗,骗取5000元。后来,嫌疑人因其他案件被抓获后,主动坦白此案例,最后被叛诈骗罪,判处拘役4个月,并罚人民币3000元。此外,还有流量劫持刑责案、黑客行为案例等等。

DSC_3791.jpg

梳理了相应的法律责任之后,刘律师又谈到了白帽子个人和白帽类企业商业活动如何做合规。其中针对白帽子的个人行为,包括学习了解相关法律知识;寻求专业法律服务;与白帽子相关的创业、产品加强研发的法律合规论证;保留证据。而对于白帽类商业行为,则需要明确甲方企业自己的责任,安全企业的责任和法律服务的责任。

这些年遇到过的逻辑漏洞

接受了法律的洗礼之后,重新回归和漏洞有关的那些事儿。白帽子Blood_Zer0与大家分享了逻辑漏洞相关的经验。

Blood_Zer0首先谈到为什么选择逻辑漏洞这个议题。目前我们面对的更多用户是应用。在挖洞时,不处于WAF保护的网站已经很少了,甲方安全越来越好。第二个方面是开发人员安全意识在提高,甲方在开发时会做安全培训,甚至调用安全的开发库。第三个方面,安全测试演变的三个阶段:一开始基于功能和性能,第二个基于OWASP top10的, 第三个基于业务场景的,也就是逻辑漏洞。这两年的安全峰会对逻辑漏洞的讨论有所增多。这主要是因为逻辑漏洞可以绕过一切防护设备,市面上没有针对逻辑漏洞很好的自动化工具,程序员总有填不完的坑,因为总有产品更新、业务迭代,程序员在写代码时总有遗漏,整个逻辑中可能会留下一些坑,白帽子的任务就是找出这些坑。

针对逻辑漏洞的测试流程一般为四个步骤:1. 模仿用户正常操作流程,记录数据包。2. 分析数据包,找到敏感参数。3. 分析程序逻辑、判断验证机制。4. 修改数据包、验证猜想。而在这四步当中,我们可以利用到如下的一些工具,比如Burpsuit、Fiddler、Charles、Mitmproxy等。其中,讲者认为Burpsuit因其跨平台性和强大的功能,最为好用。

DSC_3829.jpg

在第二个部分中,讲者为我们介绍了自己对逻辑漏洞的一些总结。首先用户相关类的包括密码重置、身份认证、验证突破、权限控制等。交易相关类包括请求篡改、并发请求、时序绕过等。而恶意攻击类包括锁定账户、变量篡改、接口调用、薅羊毛、电商平台商品恶意下架等。其中关于薅羊毛,摩拜单车今天下午就有一个支付漏洞,今天摩拜有充一百送一百一的活动,而攻击者利用此漏洞可以充一得一百一,现在这个漏洞应该已经修复了。

Blood_Zer0接下来还分享了三个案例:1. 购买商品,如何获取最大优惠?篡改请求——我们在对优惠券的抓取中发现,优惠券的参数是在请求当中的,每一个优惠券都有用户标识,我们可以查看,然后将ID抓下来,放在实际购买的请求当中,然后来用优惠券。2. 想要优惠券,如何让系统发更多?并发请求。3.只有一个Self XSS,如何扩大危害?篡改资料种的user ID,篡改时发现请求也可以提交,发现自XSS也可以发送到所有用户,可以用来达成自己的目的。

随后,讲者提供了三个漏洞延伸。一是越权绕过认证,Blood_Zer0谈到一个经典案例,登陆请求复杂,各种token、时间戳,但请求中带了user ID,这个ID是可以去越权的。但是它的URL本质的目的是登录。比如说,用户登录是输入了账号密码,先跳到B网站去进行认证,然后B网站再跳到C网站,也就是我们的目标网站。所以在这个过程篡改的实际上是B到C的认证过程,就相当于越权去修改了这个user ID,然后进入这个账户。所以Blood_Zer0建议大家平时在挖洞时,还是要仔细观察一些请求,比如上述的B网站就需要注意。二是重置密码,但案例太多,讲者表示不再赘述。三是不要忘记常规漏洞。Blood_Zer0曾在挖SRC的后台,但他是普通用户,他通过越权,找到管理员页面,可以利用查询去注入。所以,他也提醒大家不要忘记常规漏洞跟逻辑漏洞的组合。

现场花絮

除了丰富的演讲内容之外,今天场内的互动问答和小游戏也是非常精彩,还有许多开心的瞬间,在这里贴出来跟大家共享。

DSC_3809.jpg

红包抢得很开心

DSC_3725.jpg

积极提问的你们

DSC_3518.jpg

有~妹~子(✿◕‿◕✿)

DSC_3527.jpg

指如疾风的小编

DSC_3435.jpg

现场工作人员(FreeBuf员工的颜值都这么高)

DSC_3542.jpg

可爱的主持,你们的镜子@漏洞盒子

DSC_3482.jpg

小伙伴在签到

这次没能来现场玩耍的同学们,希望在其他场次中看到你们!!上海站的活动就到这里,我们北京站见啦~

附:演讲PPT下载地址

链接: https://pan.baidu.com/s/1pKRCoyR 密码: akqp

PPT内容包括:

企业级代码安全实践 – 止介

看不见的无线安全:浅谈BLE攻防 – lazydog

这些年遇到过的逻辑漏洞 – Blood_Zer0

*FB官方报道,本文作者:kuma,转载请注明来自FreeBuf.COM

发表评论

已有 11 条评论

取消
Loading...
css.php