安全|关于云原生应用,这些安全风险了解一下( 四 )
3.1.3.1应用漏洞带来的风险
应用漏洞可以导致应用被拒绝服务,那么具体是如何导致的呢?以ReDoS(Regular expression Denial of Service)漏洞为例,ReDoS为正则表达式拒绝服务,攻击者对该漏洞的利用通常是这样的一个场景,应用程序为用户提供了正则表达式的输入类型又没有对具体的输入进行有效验证,那么攻击者便可通过构造解析效率极低的正则表达式作为输入进而在短时间内引发100%的CPU占用率,最终导致资源耗尽,甚至应用程序崩溃的风险。
3.1.3.2访问需求与资源能力不匹配带来的风险
此处以CC攻击举例,其攻击原理通常是攻击者通过控制僵尸网络、肉鸡或代理服务器不断地向目标主机发送大量合法请求,从而使正常用户的请求处理变得异常缓慢。
传统Web场景中,攻击者利用代理服务器向受害者发起大量HTTP GET请求,该请求主要通过动态页面向数据库发送访问操作,通过大量的连接,数据库负载极高,超过其正常处理能力,从而无法响应正常请求,并最终导致服务器宕机。
在微服务应用架构下,由于API数量会随着服务数量的递增而递增,因而可能将会导致单一请求生成数以万计的复杂中间层和后端服务调用,进而更容易引起被拒绝服务的风险,例如若微服务应用的API设计未考虑太多因单个API调用引起的耗时问题,那么当外部访问量突增时,将会导致访问需求与资源能力不匹配的问题,使服务端无法对请求作出及时的响应,造成页面卡死的现象,进而会引起系统崩溃的风险。
3.2 云原生业务带来的新风险
云原生应用业务风险和云原生应用风险有何区别?云原生应用风险主要是Web应用风险,即网络层面的风险,而云原生应用业务风险无明显的网络攻击特征,多是利用业务系统的漏洞或规则对业务系统进行攻击来牟利,从而造成一定的损失。
此外,与传统应用架构中的业务风险不同,微服务应用架构中,若服务间的安全措施不完善,例如用户授权不恰当、请求来源校验不严格等,将会导致针对微服务业务层面的攻击变得更加容易,例如针对一个电商应用,攻击者可以对特定的服务进行攻击,例如通过API传入非法数据,或者直接修改服务的数据库系统等。攻击者可以绕过验证码服务,直接调用订单管理服务来进行薅羊毛等恶意操作。攻击者甚至可以通过直接修改订单管理和支付所对应的服务系统,绕过支付的步骤,直接成功购买商品等。
综上,应用微服务化的设计模式带来的业务风险可包含两方面,一方面是未授权访问风险,典型场景为攻击者通过权限绕过对业务系统的关键参数进行修改从而造成业务损失,另一方面则是API滥用的风险,典型的是对业务系统的薅羊毛操作。
3.2.1 未授权访问的风险
在云原生业务环境中,造成未授权访问风险的原因,可以大致分为业务参数异常和业务逻辑异常两方面,为了更为清晰的说明上述异常如何导致未授权访问的风险,这里以一个微服务架构的电商系统举例说明。如图1所示:
文章插图
图 1某电商系统流程图
3.2.1.1业务参数异常带来的风险
API调用过程中往往会传递相关的参数。参数的取值根据业务场景的不同会有不同的取值范围。例如商品数量必须为非负整数,价格必须大于0等。若API对相应参数的监测机制不完善,那么攻击者便可通过输入异常参数导致业务系统受到损失。例如在图1所示的电商系统中,若商品价格只在商品介绍服务中进行校验,而未在订单管理和支付服务中进行校验,那么攻击者则可以通过直接调用订单管理和支付服务的API将订单价格修改为0元或者负值,从而给业务系统造成损失。
- 厨房|刀可切菜灶可加热 儿童厨房玩具安全不能忽视
- 安全测试之渗透测试
- 华为|云计算的到来,在你身边有哪些相关联的。怎么看云计算呢(十九)
- 马云|马云自己\打脸\之前所说的,如今现身西班牙,开12亿游艇!
- 关于时间的12件事,比如为什么从三月份起要把你的钟表拨快些?
- 电子商务|关于电子商务
- 云厂商为什么都在冲这个KPI?
- 安全漏洞|又一新规发布:禁止美企向中企分享安全漏洞,鸿蒙迎来最佳发展机遇!
- 网络安全|数据安全的三大特性!重要性和意义!
- 云计算|云计算的到来,在你身边有哪些相关联的。怎么看云计算呢(十五)
