近年来随着人类社会向数字世界的加速发展,勒索软件攻击事件在全球范围内呈现快速上升的态势,几乎所有国家的政府、金融、教育、医疗、制造、交通、能源等行业均受到影响,可以说有互联网的地方就可能发生勒索软件攻击事件。
Web安全是一个大课题,在网络安全事件中,针对Web的攻击是最多的。从一些html标签,到JS代码安全问题,然后到接口、数据库,以及流量攻击、模拟请求、自动化攻击等等,很多很多。
数据泄露的成本
IBM 《2023年数据泄露成本报告》显示,2022年数据泄露的平均成本达到了435万美元,较2022年增长了2.6%,较2021年增长了12.7%。
成本是不一样的:SpyCloud的报告称,2023年的平均支付金额约为185万美元,较2020年的76万增长了一倍多。而且这些只是直接成本,间接成本更高,包括:
· 业务中断和营收损失带来的业务损失
· 丢失客户以及获取新客户的成本
· 信誉损失以及商誉下滑
· 攻击导致的集体诉讼所带来的监管罚款和法律诉讼
不断增长的网络威胁
日趋激烈的地缘政治摩擦,带来了连锁反应。其中,国家支持的网络战争正波及私营领域。总之:各大企业经常会因此而“躺枪”。
我们预计,网络攻击的威胁,以及对企业资产负债表的潜在影响,将只增不减。多个领域的技术进步,例如生成式AI和自动化,让这些威胁参与者变得更加强大,继而带来了不断变化的新威胁。
有鉴于这一背景,企业董事会应将其组织的网络风险管理与其业务需求相结合,这一点至关重要。
网站业务常见的网络攻击方式
一、DDos攻击
DDOS攻击最常见,也是最难防御。目前还没有人敢说能彻底防御DDOS。
DDOS攻击危害性
由于DDoS攻击往往采取合法的数据请求技术,再加上傀儡机器,造成DDoS攻击成为最难防御的网络攻击之一。
如何基础防御
1、对频繁请求的ip和接口进行限流,熔断处理,超过多少次必须输入图形验证码,进行验证处理可减轻服务器数据库处理压力。
2、使用黑名单和白名单机制,防御攻击(OAuth2.0协议)这个推荐使用。
3、选择安全服务器,有防火墙防御
独立防御,独立防御都是出现在单线机房,或者是多线多ip机房,机房防御能力一般为:100G-3T不等,这种机房是实现的单机防御能力,随着数据中心的防御能力提高还有就是竞争压力比较大,高防的价格也在不断的创造新低。
Web云防护(一站式网站安全加速)
防SQL注入、XSS跨站,后门隔离保护、Webshell上传、非法HTTP协议请求。
4、选择安全加速SCDN
CDN技术的初衷是提高互联网用户对网站的访问速度,但是由于分布式多节点的特点,又能够对分布式拒绝攻击流量产生稀释的效果。
所以目前CDN防御的方式不但能够起到防御的作用,而且用户的访问请求是到最近的缓存节点,所以也对加速起到了很好的作用。
可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
二、CSRF攻击
CSRF即:Cross Site Request Forgery(跨站域请求伪造)它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用也就是人们所知道的钓鱼网站。
CSRF攻击危害性
尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行,因此对其进行防范的资源也相当稀少,所以被认为比XSS更具危险性。
也就是通俗一点来说就是,大量请求你的接口,通过抓包工具请求分析,伪造token访问你的接口,攻击服务器降低服务器数据库性能
如何防御CSRF
模拟请求这里还是要说到分布式,毕竟真的要用到分布式,缓存集群。解决限流,服务容错,熔断的问题。
后端防御
1、MVCC方案
多版本并发控制,该策略主要使用 update with condition(更新带条件来防止)来保证多次外部请求调用对系统的影响是一致的。在系统设计的过程中,合理的使用乐观锁,通过 version 或者 updateTime(timestamp)等其他条件,来做乐观锁的判断条件,这样保证更新操作即使在并发的情况下,也不会有太大的问题。
2、去重表
在插入数据的时候,插入去重表,利用数据库的唯一索引特性,保证唯一的逻辑。
3、悲观锁
select for update,整个执行过程中锁定该订单对应的记录。注意:这种在 DB 读大于写的情况下尽量少用。
4、Token机制,防止页面重复提交
把token放在redis 里面通过限流方式,每个token只能使用一次,网络延迟或者重试机制解决这个问题。
前台防御
1、CSRF监控
对于一个比较复杂的网站系统,某些项目、页面、接口漏掉了CSRF防护措施是很可能的。一旦发生了CSRF攻击,我们如何及时的发现这些攻击呢?(这里其实nginx也可以处理)CSRF攻击有着比较明显的特征:跨域请求。GET类型请求Header的MIME类型大概率为图片,而实际返回Header的MIME类型为Text、JSON、HTML。
2、通过对称非对称算法
前台网站访问先访问后台获取到应签,然后在把前台请求的参数拿到后台去检验。一般网络上面接口支付都是重定向啦。这样一般都比较麻烦。但是这样安全性能很高的,其实ssl证书比域名都贵滴。
3、双重Cookie防御
无需使用Session,适用面更广,易于实施。Token储存于客户端中,不会给服务器带来压力。相对于Token,实施成本更低,可以在前后端统一拦截校验,而不需要一个个接口和页面添加。
三、SQL注入
利用现有应用程序,将恶意的SQL命令注入到后台数据库执行一些恶意的操作。造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。
SQL注入的危害性
SQL注入漏洞可能会影响使用SQL数据库(如MySQL,Oracle,SQL Server或其他)的任何网站或Web应用程序。犯罪分子可能会利用它来未经授权访问用户的敏感数据:客户信息,个人数据,商业机密,知识产权等。SQL注入攻击是最古老,最流行,最危险的Web应用程序漏洞之一。
SQL注入攻击的类型
SQL注入攻击可以通过多种方式执行。在选择特定攻击方法之前,攻击者可能会观察系统的行为。
1、带内注入
这是典型的攻击,攻击者可以通过相同的通信通道发起攻击并获得结果。这是通过两种带内技术完成的:
●基于错误的SQL注入:从显示的错误消息中获取有关数据库的信息
●基于联合的SQL注入:依赖于攻击者能够将UNION ALL被盗信息的结果与合法结果连接起来。
这两种技术都依赖于攻击者修改应用程序发送的SQL,以及浏览器中显示的错误和返回的信息。如果应用程序开发人员或数据库开发人员无法正确地参数化他们在查询中使用的值,那么它会成功。两者都是试错法,可以检测到错误。
2、盲注入
也称为推理SQL注入,盲注入攻击不会直接从目标数据库中显示数据;相反,攻击者会仔细检查行为中的间接线索。HTTP响应中的详细信息,某些用户输入的空白网页以及数据库响应某些用户输入需要多长时间,这些都可以是线索,具体取决于攻击者的目标。他们还可以指向攻击者尝试的另一个SQLi攻击途径。
3、带外注入
这种攻击有点复杂,当攻击者无法在单个直接查询 - 响应攻击中实现其目标时,攻击者可能会使用此攻击。通常,攻击者会制作SQL语句,这些语句在呈现给数据库时会触发数据库系统创建与攻击者控制的外部服务器的连接。以这种方式,攻击者可以收集数据或可能控制数据库的行为。
如何防御SQL注入
1、规范sql 写的方式
不要写拼接sql,最好使用预编译方式。在mybatis编写sql语句的时候,最好使用?传参数方式,不要使用#传参数,因为#传参数方式,可能会受到sql语句攻击。
#{}: 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个 #{ } 被解析为一个参数占位符,可以防止SQL注入问题。
${}: 仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换。
2、限制数据库权限和特权
将数据库用户的功能设置为最低要求;这将限制攻击者在设法获取访问权限时可以执行的操作。
避免直接向用户显示数据库错误
攻击者可以使用这些错误消息来获取有关数据库的信息。
对访问数据库的Web应用程序使用Web应用程序防火墙(WAF),其实,不止是SQL注入,本文所讲的这些攻击,几乎全都可以用WAF进行防护。WAF有多种,比如硬件、软件、云,有很贵的商业WAF硬件,也有免费+商业的WAF软件(比如:ShareWAF,很不错。)。
这为面向Web的应用程序提供了保护,它可以帮助识别SQL注入尝试;根据设置,它还可以帮助防止SQL注入尝试到达应用程序(以及数据库)。
3、定期测试与数据库交互的Web应用程序
这样做可以帮助捕获可能允许SQL注入的新错误或回归。将数据库更新为最新的可用修补程序,这可以防止攻击者利用旧版本中存在的已知弱点/错误。
4、后台日志分析sql 可以使用AOP拦截写入sql性能
四、防盗链
防盗链就是A网站有一张图片,B网站要引用过来使用到自己网站,引用图片和样式,js等等。
如何防御?
1、写一个过滤器判断http请求头Referer域中的记录来源的值,如果和当前访问的域名不一致的情况下,说明该图片可能被其他服务器盗用。
2、通过动静分离或者前后端分离。通过nginx配置。
3、可以通过shiro权限判断链接重定向。
五、XSS
Xss就是javascript 脚本攻击,就是在表单提交的时候提交一个小脚本,因为浏览器默认是支持脚本的,所以写个小脚本不做处理的话问题就很大。不处理网页直接挂掉。
如何防御?
1、通过后台编写一个过滤器拦截所有getParameter参数 重写httpservletwrapp方法。
2、通过工具类将参数特殊字符转换成html源代码保存。
3、通过js检验过滤用户输入的 检查用户输入的内容中是否有非法内容。如<>(尖括号)、”(引号)、 ‘(单引号)、%(百分比符号)、;(分号)、()(括号)、&(& 符号)、+(加号)等。、严格控制输出
六、文件上传漏洞
上传漏洞这个顾名思义,就是攻击者通过上传木马文件,直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。导致该漏洞的原因在于代码作者没有对访客提交的数据进行检验或者过滤不严,可以直接提交修改过的数据绕过扩展名的检验。
如何解决防御?
1 、对文件格式限制,只允许某些格式上传
2、 对文件格式进行校验,前端跟服务器都要进行校验(前端校验扩展名,服务器校验扩展名、Content_Type等)
3、 将上传目录防止到项目工程目录之外,当做静态资源文件路径,并且对文件的权限进行设定,禁止文件下的执行权限。
4 、通过文件流解析判断文件类型。
企业网站防护方案
以软件定义、智能主动、贴合业务的产品技术理念,依托SDP、AI、零信任技术架构和世界前茅安全厂商,形成应用安全和抗DDoS两大安全产品系列,一站式解决互联网业务的应用漏洞、黑客渗透、爬虫Bot、DDoS等安全威胁,同时提高应用性能和可靠性。
方案一:(安全加速SCDN)
安全加速SCDN是集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
产品功能:
(1)Web攻击防护
OWASP TOP 10威胁防护:
----有效防御 SQL注入、XSS攻击、命令/代码执行、文件包含、木马上传、路径穿越、恶意扫描等OWASP TOP 10攻击。专业的攻防团队7*24小时跟进0day漏洞,分析漏洞原理,并制定安全防护策略,及时进行防护。
AI检测和行为分析:
----通过对德迅云积累海量日志进行学习和训练输出多种Web安全防护模型,对用户多请求的多元因子进行智能分析,有效提高检出率,降低误报率;通过信息孤岛、行为检测分析,识别恶意攻击源,保护网站安全。
智能语义解析引擎:
----提供智能语义解析功能,在漏洞防御的基础上,增强SQL注入和XXS攻击检测能力。
(2)应用层DDoS防护
CC、HTTP Flood攻击防御
----威胁情报库:通过大数据分析平台,实时汇总分析攻击日志,提取攻击特征并进行威胁等级评估,形成威胁情报库。
----个性化策略配置:如请求没有命中威胁情报库中的高风险特征,则通过IP黑白名单、访问频率控制等防御攻击。
----日志自学习:实时动态学习网站访问特征,建立网站的正常访问基线。
----人机校验:当请求与网站正常访问基线不一致时,启动人机校验(如JS验证、META验证等)方式进行验证,拦截攻击。
慢连接攻击防御
----对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。
----对Slow Post攻击,通过检测请求小包数量阈值进行防护。
(3)合规性保障
自定义防护规则:
----用户可以对HTTP协议字段进行组合,制定访问控制规则,支持地域、请求头、请求内容设置过滤条件,支持正则语法。
访问日志审计:
----记录所有用户访问日志,对访问源进行TOP N,提供趋势分析,可以根据需要提供日志下载功能。
网页防篡改:
----采用强制静态缓存锁定和更新机制,对网站特定页面进行保护,即使源站相关网页被篡改,依然能够返回给用户缓存页面。
数据防泄漏:
对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。
(4)HTTP流量管理
支持HTTP流量管理:
----可以设置源IP或者特点接口访问速率,对超过速率的访问进行排队处理,减缓服务器压力。
请求头管理:
----可以根据业务需要对请求头和响应头进行处理,可进行请求头替换或者敏感信息隐藏设置。
(5)安全可视化
四大安全分析报表:
----默认提供Web安全攻击报表、CC攻击防护报表、用户访问统计报表和自定义规则命中报表,满足业务汇报和趋势分析需求。
全量日志处理:
----提供全量日志查询和下载功能,可以通过OpenAPI接口获取实时日志或离线日志信息。
实时数据统计:
----提供基于均值和峰值带宽统计信息,提供攻击带宽和正常占比,随时关注业务状况。提供多种组件,了解业务监控和核心指标变化情况。
方案二:Web防火墙(安全WAF)
Web应用防火墙(Web Application Firewall, 简称 WAF)基于云安全大数据能力,用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击,避免您的网站资产数据泄露,保障网站的安全与可用性。
Web应用防火墙(WAF)帮助您轻松应对各类Web应用攻击,确保网站的Web安全与可用性。WAF使用核心攻防和大数据能力来驱动Web安全,具体支持以下功能:
(1)Web入侵防护
自动防护漏洞0day web应用漏洞小时级自动防御,无需人工打补丁
多重动态防御自研规则+AI深度学习+主动防御,搭配不断更新的全网威胁情报,扫除防御死角
防扫描及探测根据扫描及探测的特征和行为,配合全网威胁情报、深度学习算法进行自动拦截,避免黑客发现可利用的系统弱点
防护规则可自定义可根据业务实际需求,灵活自定义防护规则
(2)流量管理和爬虫防控
灵活的流量管理功能支持对全量HTTP header和body特征进行自定义组合,从而实现满足业务个性化需求的访问控制和限速要求
CC攻击防护基于不同等级的默认防护策略及灵活的精准访问控制和限速策略,配合人机识别、封禁等处置手段有效缓解CC攻击(HTTP Flood
精准识别爬虫基于指纹、行为、特征、情报等多维度数据,配合AI智能,精准识别爬虫并自动应对爬虫变异
全场景防控适用于网站、H5、APP、小程序等各类型Web业务的爬虫风险防控,帮助企业防控业务作弊、薅羊毛等业务风险
丰富的爬虫处置手段可根据实际业务场景需求,对流量进行包括拦截、人机识别、限流、欺骗等处置手段
场景化配置场景化配置引导,帮助0经验快速上手德迅最佳实践
(3)数据安全防控
保护API安全主动发现存在老旧、缺乏鉴权、数据过度暴露、敏感信息泄露等风险的API接口
防敏感信息泄露检测并防护身份证、银行卡、手机号、敏感词等敏感信息泄露
防页面篡改通过锁定重点页面的内容,保证即使页面被篡改,也能通过返回缓存的方式保证用户看到的页面内容不变
检测账户风险自动识别撞库、暴力破解、弱口令等常见账号风险
(4)安全运维与合规
安全接入一键实现HTTPS、全链路IPv4、智能负载均衡、高可用和快速容灾
全量访问日志记录和存储全量Web访问日志,支持实时SQL查询分析和自定义告警
自动化资产识别基于大数据,全面发现未接入防护的域名资产,收敛攻击面
满足等保合规满足各行业等保合规需求
方案三:高防服务器
特点与优势:
-
DDoS清洗:近源清洗多种流量清洗部署方案,无损防御各种DDoS攻击
-
CC攻击防御:5s发现恶意请求,10s快速阻断攻击,事前拦截、事后溯源、全方位防黑
-
WEB应用防火墙:防SQL注入、XSS跨站,后门隔离保护、WEB SHELL上传、非法HTTP协议请求。
-
德迅卫士:系统层安全软件,为用户远程桌面扫描登陆、手机短信验证登陆等。一键后台优化服务器权限、威胁组件、威胁端口。
-
全方位防护:全面支持SYN Flood、ACK Flood、ICMP Flood、UDP Flood、NTP Flood、DNS Flood、HTTP Flood、CC攻击等常见攻击类型的防护
结语:
针对网站的攻击有多种形式,攻击者既可以是业余黑客,也会是协同作战的职业黑客团伙。最关键的一条建议,就是在创建或运营网站时不要跳过安全功能,因为跳过安全设置可能会造成严重后果。虽然不可能完全消除网站攻击风险,但你至少可以缓解遭攻击的可能性和攻击后果的严重性。
遭受攻击后,不仅需要及时的响应处置还需要避免同类事件的发生,因此事后的复盘分析尤为重要,做好安全防护才是最高效的网络攻击解决方案。企业的网络安全具有明显的“水桶效应”特点,企业是否安全取决于安全的“最短板”,在安全建设中,全面的安全建设才能让企业更安全。