
一、IP代理池
代理池是一组受管理的代理,通常数量很大,它们有一个系统来控制代理的质量并决定要包含在分配给特定用户的代理集中的IP。IP代理池的出现,开始时是用于爬虫程序绕过封禁措施,从而尽可能获取更多的页面数据。
随着网络安全博弈的愈演愈烈,各家安全产品厂商将IP下黑也作为缓解攻击的重要手段之一,且随着攻击者防溯源和绕过防护意识的加强,进行网络攻击时常使用代理IP进行攻击,防止非法攻击时被追踪到身份信息。目前常见的代理方式有socks代理、HTTP/HTTPS代理、VPN、秒拨等。IP代理池是红队使用代理IP绕过封禁策略的典型方法,通常如下方案:
1、红队自主购买大量IP地址,自己做代理池,但是这种方案成本太高。
2、直接购买代理池使用权,验证后即可使用。
3、爬取免费代理池ip,组合起来使用即可。如参考项目:
https://taou.cn/2IGQl
目前代理技术可以实现:
1、 代理ip无法访问目标ip时自动切换ip;(对抗自动封禁);
2、 完成一次HTTP会话后自动切换ip;(对抗阈值类安全策略);
3、 产生定量的TCP会话后自动切换ip;(对抗阈值类安全策略);
4、 自定义时间周期切换ip;(对抗安全策略阈值的防护);
5、 根据目标ip/域名/url 的不同使用不同ip代理池和切换策略;(用精细化的方式对抗集中管控类安全防护策略,如api网关。)
二、防御思路
当前针对网络攻击防护,一般通过WAF、防火墙、IPS等设备,在串联在企业网络干路的情况下,分别在应用层或网络层对攻击IP进行封禁,安全策略较为先进的企业实现多类防护设备联动对攻击IP进行自动封禁。
然而,通过IP黑名单的形式进行封禁恶意访问者,严重受限于IP黑名单的规格,而规格不止受限于商业化产品的策略,更重要是安全设备应该保证通信质量这个大前提,因为封禁IP数量越多对设备造成的性能压力会越大。该防护情况下,如果攻击者使用秒拨技术进行攻击,每攻击一次换一个IP,拦截设备不停的对IP进行封禁,很快就会到达性能瓶颈,失去防护能力。
常用手段介绍
1.验证码识别
对于疑似攻击的ip自动引入验证码环节,不需要ip黑名单即可对后续该ip的访问进行针对性干扰。但验证码机制总会存在大大小小的漏洞被绕过,且验证码仍旧基于IP判断当前访问者是否存在历史攻击行为,对于能频繁更换IP的秒拨无效。
2.用户行为分析
在前端和后端对用户访问行为进行建模分析,发现异常访问行为并警示或阻断。例如通过判断客户端是否加载运行JavaScript代码判断是否为人为浏览器访问;特定页面需要某个入口才能访问,如果用户没有经过入口直接访问该页面,则判定访问行为异常。该方式需要针对业务系统进行定制化的分析建模,且有一定的开发量,对于业务系统较多且复杂的单位来说实现难度较大。
3.基于IP属性和情报研判
通过原IP属性和情报,定位访问用户的身份。例如原IP近期被标记为僵尸网络IP,原IP为IDC机房固定IP,则判断为代理IP访问。该方式对IP的属性和情报的时效性和可信度有较高的要求,容易出现误判。
4.访问者身份标识
传统的身份识别方式多数是基于账号或者IP识别的。由于IP的动态性和共用性,导致通过IP识别身份极为不准确;账号识别虽然相较于IP识别准确度较高,但是对于无需登陆的访问行为则无法识别访问者身份。通过浏览器指纹追踪技术,基于访问者客户端信息对访问者进行身份锁定,则可以很好的识别访问者身份。
5.WebRTC 获取IP
红队经常使用socks5协议进行代理,虽然socks5支持 UDP 协议的,只是大部分的客户端软件/库的作者比较懒,没有实现这部分,遇到之后都直接写个 TODO。若在网页上发起一个 udp 请求,攻击者在代理后面,所有的 tcp 请求都会被攻击者通过 socks5 代理转发出去,但由于代理不支持 udp 会直接由攻击者真实IP进行访问,蓝队即可抓到攻击者的真实出口IP地址。而这种机制的实现方法,就可以使用WebRTC。
https://taou.cn/2IGQF
这是一个8年前的老项目,即可直接用来改改。如创建下列页面防于php项目中,当遇到攻击时,自动将该页面进行跳转访问,即可获取真实ip。
6.设备指纹
互联网绝大多数服务都是web服务,用户访问web服务都是通过浏览器进行访问。可通过javascript采集用户浏览器信息(包括无头浏览器)、操作系统信息、硬件信息、网络信息等,包括浏览器类型、浏览器版本、浏览器插件信息、操作系统版本、硬件供应商、屏幕分辨率、屏幕亮度、cpu型号、硬盘大小、互联网IP、时区等。每个用户的上述信息不尽相同,结合这些信息通过一定算法可生成唯一用户ID对用户身份进行锁定。
采集指纹的JavaScript可以配合应用层waf、负载均衡、api安全网关或者Envoyproxy之类的技术进行无感嵌入,该技术同样适用于嵌入CDN服务商作为增值服务,直接通过业务网站返回到用户的浏览器,也可通过反向代理的方式。
设备指纹的实现关键是算法的具体实现,优势较为明显,具体为:
①是对于身份唯一id的生成在服务端运行,对攻击者来说算法不可见,绕过和破解难度更大;
②未来收集一定量访问的客户端信息后,可结合人工智能优化精确唯一身份的算法,更大程度提高了攻击成本,形成攻防不对等的局面;
③在安全开发阶段,可利用此技术将Web用户身份管理形成标准,嵌入开发流程,实现可跨系统,可分业务的用户画像追踪,解决收费账户共享、用户访问追踪的问题,也可以为后续的业务安全大数据计算提供数据支撑。
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。