当前位置: 首页 > news >正文

云原生应用风险介绍

本博客地址:https://security.blog.csdn.net/article/details/129303616

一、传统风险

传统风险主要是注入、敏感数据泄露、跨站脚本、配置错误等等,这些传统的安全风险在云原生应用中也是存在的,这里就不具体展开说了。

二、云原生应用架构的风险

2.1、【机密性】信息泄露风险

1、应用漏洞导致的信息泄露

微服务应用架构中,单体应用被拆分为若干个服务,这些服务会根据业务情况进行相互访问,若某服务存在API漏洞,攻击者可能就会看到应用内部的流量。因此对于数据泄露的风险程度而言,微服务架构比传统单体应用架构带来的风险更大。此外,随着服务数量达到一定规模,API数量将不断递增,从而扩大了攻击面,增大了数据泄露的风险。

2、密钥管理不规范导致的信息泄露

应用的开发过程中,安全意识不高的开发者常疏于对密钥的管理,导致数据泄露的风险。例如开发者将密钥信息、数据库连接密码等敏感信息硬编码在应用程序中,从而增大了应用程序日志泄露、应用程序访问密钥泄露等风险。

3、应用间通信未加密导致的信息泄露

在微服务应用架构中,网络拓扑相对复杂,具有分布式的特点,应用间的通信不仅采用HTTP/HTTPS,还采用gRPC等协议,而gRPC协议默认不加密,将会导致攻击面增多,带来更多的数据泄露风险。

2.2、【完整性】未授权访问风险

1、应用漏洞导致的未授权访问

应用漏洞是造成未授权访问的一大因素。众所周知,未授权访问漏洞非常多,Redis、MongoDB、Jenkins、Docker、ZooKeeper、Hadoop等常见的应用都曾曝光过相关漏洞。在微服务应用架构下,其包含的所有服务均须对各自的访问进行授权,从而明确当前用户的访问控制权限。此外,服务的访问来源除了用户外还包含内部的其他服务,因而在微服务架构下,应用的认证授权机制更为复杂,为云原生应用带来了更多的攻击面。

2、访问权限配置错误导致的未授权访问

在微服务应用架构下,访问权限除了涉及用户对服务的访问权限,还涉及服务对服务这一层面,因而权限映射关系变得更加复杂,相应的权限配置难度也在同步增加。例如一个复杂应用被拆分为100个服务,运维人员需要精密地对每个服务赋予其应有的权限,如果因疏忽为某个服务配置了错误的权限,攻击者就有可能利用此缺陷对服务展开攻击。若该服务中包含漏洞,就可能会导致单一漏洞扩展至整个应用。

2.3、【可用性】遭受拒绝服务攻击的风险

1、应用漏洞导致的拒绝服务

应用漏洞可以导致应用被拒绝服务攻击,以ReDoS漏洞为例。ReDoS为正则表达式拒绝服务,一般表现为应用程序为用户提供了正则表达式的输入类型但又没有对具体的输入进行有效验证,那么攻击者便可通过构造解析效率极低的正则表达式作为输入,在短时间内引发100%的CPU占用率,最终导致资源耗尽甚至应用程序崩溃。

2、访问需求与资源能力不匹配导致的拒绝服务

以CC攻击举例,其攻击原理通常是攻击者通过控制僵尸网络、肉鸡或代理服务器不断地向目标主机发送大量合法请求,从而使正常用户的请求处理变得异常缓慢。

三、云原生应用业务的风险

3.1、未授权访问风险

1、业务参数异常导致的未授权访问

API调用过程中往往会传递相关的参数,根据业务场景的不同参数会有不同的取值范围。若API对相应参数的监测机制不完善,那么攻击者便可通过输入异常参数使业务系统受到损失。例如若商品价格只在商品介绍服务中进行校验,而未在订单管理和支付服务中进行校验,那么攻击者就可以通过直接调用订单管理和支付服务的API将订单价格修改为0元或者负值,使业务系统受到损失。

2、业务逻辑异常导致的未授权访问

该风险一般是攻击者采用某些方法使API调用的逻辑顺序出现异常,包括关键调用步骤缺失、颠倒等。例如,攻击者可以利用漏洞绕过支付步骤,直接提交订单,这样就会出现业务逻辑关键步骤缺失的情况,进而会使业务系统受到损失。例如验证码绕过异常就属于业务逻辑异常的一种。

3.2、业务频率异常风险

业务频率异常主要指针对一个或一组API的频繁调用,举个例子,业务系统往往通过图形验证码的方式来避免机器人刷单的操作。而如果攻击者可以绕过验证码所对应的服务,直接对订单进行操作,就可以实现机器刷单,从而进行薅羊毛了。

四、Serverless风险

4.1、输入源的不确定性

在传统应用程序开发中,开发者根据自身实践经验,在数量有限的可能性中可判定出恶意输入来源,而在Serverless模式下,函数调用由事件源触发,输入来源的不确定性限制了开发者的判定。例如当函数订阅一个事件源后,该函数在该类型的事件发生时被触发,这些事件可能来源于FaaS平台,也可能来源于未知的事件源,可以将来源未知的事件源标注为不受信任。在实际应用场景中,如果开发者没有养成良好的习惯,不对事件源进行分类,则会导致将不受信任的事件错认为是FaaS平台事件,进而将其视为受信任的输入来处理,最终带来风险。

4.2、Serverless应用风险

Serverless应用属于云原生应用,云原生应用又源于传统应用,两者唯一的区别是Serverless应用代码编写需要参照云厂商提供的特有代码模板,而传统应用通常没有这个限制。因此,传统应用面临的风险Serverless应用也一样要面临。

4.3、Serverless平台风险

Serverless平台主要指FaaS平台。目前主流的FaaS平台分为两种类型:一种是面向公有云提供商的FaaS平台,常见的有AWS Lambda、Microsoft Azure Functions、Google Cloud Functions等;另一种则是面向私有云的FaaS平台,此类以开源项目居多,且均支持在Kubernetes上进行部署,常见的有Apache OpenWhisk、Kubeless、OpenFaaS、Fission等。

类似在IaaS平台上运行虚拟机、在PaaS平台上运行操作系统和应用,FaaS平台上运行的是一个个Serverless函数。FaaS平台自身负责云环境的安全管理,主要包括数据、存储、网络、计算、操作系统等。同IaaS平台、PaaS平台一样,FaaS平台也面临未授权访问和数据泄露的风险,同时,Serverless还面临FaaS平台账户的风险。

1、未授权访问风险

在FaaS平台中,随着部署函数的增多,函数对资源的访问及可以触发函数执行的事件也在逐渐增多,进而函数间的权限映射关系将会变得复杂,并且函数通常在短时间内执行完成,因此,FaaS平台中的访问权限配置更容易出错,攻击者往往以超特权函数为目标,通过不安全的权限配置以获取对资源的未授权访问。 此外,对于公有云FaaS平台,如AWS Lambda,由于其函数运行时环境存在缺陷,因此当函数代码含有漏洞(如命令注入漏洞)时,攻击者可以利用函数运行时缺陷并结合已知函数漏洞对平台账户的资源进行未授权访问。

2、数据泄露风险

攻击者对函数发起未授权访问,造成的后果往往是数据泄露,同样的,访问权限错误配置也会引起数据泄露的风险。此外,FaaS平台自身的漏洞也会导致数据泄露的风险。

3、FaaS平台账户风险

众所周知,开发者需要承担FaaS平台运行其函数的费用。通常来说,开发者需要注册FaaS平台账户,并将账户与银行卡进行关联,最后按照函数执行的次数向云厂商付费,如果FaaS平台未对账户单位时间内的支付频次进行一定限制,那么在函数含有已知漏洞的前提下,攻击者就可以利用以上缺陷对FaaS平台账户展开攻击。这类攻击统一称为拒绝钱包服务攻击(DoW),为拒绝服务攻击的变种,目的为耗尽账户账单金额。

4.4、Serverless被滥用风险

Serverless被滥用指攻击者通过恶意构建Serverless函数并利用其充当整个攻击中的一环,这种方式可在一定程度上规避安全设备的检测。举个场景,攻击者通过在受害者的主机上投放木马,来实现对受害者主机的控制,其中攻击者为实现攻击资产的隐蔽性,采用了公有云Serverless函数作为请求中转。

这个攻击流程分为四个步骤:

1)受害者主机中的木马程序被执行,该木马会向攻击者主机发起请求以建立连接。
2)攻击者通过构造Serverless函数作为受害者主机和攻击者主机间的中转机,该Serverless函数负责将木马中的上线包发送至攻击者主机。
3)攻击者主机收到来自Serverless函数的请求,与受害者主机成功建立连接,并在响应中附带控制受害者主机的命令。
4)公有云Serverless函数收到攻击者主机的响应,并将执行命令发送至受害者主机的木马程序中,从而实现对受害者主机的远程操作。

通过利用Serverless函数作为请求中转,受害者只能看到与公有云Serverless函数的通信,而无法轻易看到与攻击者主机的通信,且公有云函数的访问域名通常为可信域名,这样一方面可以使受害者放松警惕,另一方面可以隐藏攻击者主机的IP,实现攻击资产的隐秘。此外,依托云厂商服务器的稳定性,也可以在一定程度上避免由网络问题导致的受害者机器下线。

相关文章:

云原生应用风险介绍

本博客地址:https://security.blog.csdn.net/article/details/129303616 一、传统风险 传统风险主要是注入、敏感数据泄露、跨站脚本、配置错误等等,这些传统的安全风险在云原生应用中也是存在的,这里就不具体展开说了。 二、云原生应用架…...

什么是测试用例设计?

前言 想要进行测试自动化的团队都会遇到这个问题:自动化的成功和编码能力有多大的关联?现在更多的招聘信息越来越偏重于对测试人员的编程能力的要求,似乎这个问题的答案是极大的正关联性。 测试人员可以将编码能力用于与测试相关的各种目的…...

数据分析:基于K-近邻(KNN)对Pima人糖尿病预测分析

数据分析:基于K-近邻(KNN)对Pima人糖尿病预测分析 作者:AOAIYI 作者简介:Python领域新星作者、多项比赛获奖者:AOAIYI首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞&#x…...

Kettle体系结构及源码解析

介绍 ETL是数据抽取(Extract)、转换(Transform)、装载(Load)的过程。Kettle是一款国外开源的ETL工具,有两种脚本文件transformation和job,transformation完成针对数据的基础转换&…...

大数据 | (二)SSH连接报错Permission denied

大数据 | (三)centos7图形界面无法执行yum命令:centos7图形界面无法执行yum命令 哈喽!各位CSDN的朋友们大家好! 今天在执行Hadoop伪分布式安装时,遇到了一个问题,在此跟大家分享, …...

前端——6.文本格式化标签和<div>和<span>标签

这篇文章,我们来讲一下HTML中的文本格式化标签 目录 1.文本格式化标签 1.1介绍 1.2代码演示 1.3小拓展 2.div和span标签 2.1介绍 2.2代码演示 2.3解释 3.小结 1.文本格式化标签 在网页中,有时需要为文字设置粗体、斜体和下划线等效果&#xf…...

浅谈Xpath注入漏洞

目录 知识简介 攻击简介 基础语法 语法演示 漏洞简介 漏洞原理 漏洞复现 Xpath盲注 知识简介 攻击简介 XPath注入攻击是指利用XPath 解析器的松散输入和容错特性,能够在 URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权…...

Oracle LogMiner分析归档日志

目录:Oracle LogMiner分析归档日志一、准备测试环境1、开启数据库归档日志2、打开数据库最小附加日志3、设置当前session时间日期格式二、创建测试数据1、创建数据2、数据落盘三、日志发掘测试挖掘在上次归档的Redo Log File1.确定最近归档的Redo Log File2.指定要分…...

趣味三角——第15章——傅里叶定理

第15章 傅里叶定理(Fourier’s Theorem) Fourier, not being noble, could not enter the artillery, although he was a second Newton. (傅立叶出生并不高贵,因此按当时的惯例进不了炮兵部队,虽然他是第二个牛顿。) —Franois Jean Dominique Arag…...

市场营销的核心是什么?

之所以写下「市场营销的核心是什么?」这篇文章,是因为这几天刚读完了《经理人参阅:市场营销》这本书。作为一个有着近十年工作经验的市场营销从业人员,看完这本书也产生了很多新的想法,也想记录一下,遂成此…...

c/cpp - 多线程/进程 多进程

c/cpp - 多线程/进程 多进程多进程创建多进程进程等待多进程 宏观上 两个进程完全并发的 父子进程具有互相独立的进程空间 父进程结束&#xff0c;不影响子进程的执行 创建多进程 #include <sys/types.h> #include <unistd.h> #include <stdio.h>int main()…...

MySQL必知必会 | 存储过程、游标、触发器

使用存储过程 存储过程 简单来说就是为了以后的使用而保存的一条或多条MySQL语句的集合。 我觉得就是封装了一组sql语句 为什么需要存储过程&#xff08;简单来说就是&#xff0c;简单、安全、高性能 通过把处理封装在容易使用的单元中&#xff0c;简化复杂操作所有开发人员…...

优化Facebook广告ROI的数据驱动方法:从投放到运营

“投放广告并不是最终的目的&#xff0c;关键在于如何最大程度地利用数据驱动的方法来提高广告投放的回报率&#xff08;ROI&#xff09;”Facebook广告是现代数字营销中最为常见和重要的广告形式之一。但是&#xff0c;要让Facebook广告真正发挥作用&#xff0c;需要通过数据驱…...

动态规划入门经典问题讲解

最近开始接触动态规划问题&#xff0c;以下浅谈&#xff08;或回顾&#xff09;一下这些问题的求解过程。解题思路对于动态规划问题&#xff0c;由于最终问题的求解需要以同类子问题作为基础&#xff0c;故需要定义一个dp数组&#xff08;一维或二维&#xff09;来记录问题求解…...

快速入门深度学习1(用时1h)

速通《动手学深度学习》1写在最前面0.内容与结构1.深度学习简介1.1 问题引入1.2 思路&#xff1a;逆向思考1.3 跳过1.4 特点1.5 小结2.预备知识&#xff08;MXNet版本&#xff0c;学错了。。。。&#xff09;2.1 获取和运行本书的代码2.2 数据操作2.2.1 略过2.2.2 小结2.3 自动…...

PaddleOCR关键信息抽取(KIE)的训练(SER训练和RE训练)错误汇总

1.SER训练报错: SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception 1.1.问题描述 在执行训练任务的时候报错 单卡训练 python3 tools/train.py -c train_data/my_data/ser_vi_layoutxlm_xfund_zh.yml错误信息如下&#xff1a; T…...

信息收集之搜索引擎

Google Hacking 也可以用百度&#xff0c;不过谷歌的搜索引擎更强大 site 功能&#xff1a;搜索指定域名的网页内容&#xff0c;可以用来搜索子域名、跟此域名相关的内容 示例&#xff1a; site:zhihu.com 搜索跟zhihu.com相关的网页“web安全” site:zhihu.com 搜索zhihu…...

Flutter(四)布局类组件

目录布局类组件简介布局原理与约束线性布局&#xff08;Row和Column&#xff09;弹性布局流式布局&#xff08;Wrap、Flow&#xff09;层叠布局&#xff08;Stack、Positioned&#xff09;对齐与相对定位&#xff08;Align&#xff09;Align和Stack对比Center组件LayoutBuilder…...

【黑马】Java基础从入门到起飞目录合集

视频链接&#xff1a; Java入门到起飞&#xff08;上部&#xff09;&#xff1a;BV17F411T7AoJava入门到起飞&#xff08;下部&#xff09;&#xff1a;BV1yW4y1Y7Ms 学习时间&#xff1a; 2023/02/01 —— 2023/03/09断断续续的学习&#xff0c;历时大概37天&#xff0c;完结撒…...

PMP考前冲刺3.10 | 2023新征程,一举拿证

题目1-2&#xff1a;1.在最近的一次耗时四周的迭代中&#xff0c;赫克托尔所在的敏捷团队刚完成了10 个用户故事点的开发、测试和发布&#xff0c;那么团队的速度是&#xff1f;A. 10B. 4C. 5D.402.产品负责人奥佩&#xff0c;倾向于在短周期内看到工作产品的新版本&#xff0c…...

深入解析epoll ET模式与守护进程

引言在前面的文章中&#xff0c;我们学习了 epoll 的基础用法和 LT 模式。本文将深入讲解两个重要主题&#xff1a;epoll 的 ET 模式&#xff1a;边缘触发模式的编程要点与完整实现守护进程&#xff1a;Linux 后台服务进程的原理与编写规范ET 模式是 epoll 高性能的关键&#x…...

ctf show web入门54

这道题目是 ctf.show 中典型的 命令执行&#xff08;RCE&#xff09;绕过 题。虽然看起来过滤非常严密&#xff0c;但只要理清了它的过滤规则&#xff0c;就能找到生存空间。过滤规则拆解 代码通过 preg_match 过滤了以下内容&#xff08;/i 表示不区分大小写&#xff09;&…...

Taotoken提供的审计日志功能如何满足企业级安全与合规需求

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken提供的审计日志功能如何满足企业级安全与合规需求 1. 企业引入大模型能力后的审计挑战 当企业将大模型API能力整合到内部…...

DreamBooth实战案例:从人物肖像到艺术风格的完整训练过程

DreamBooth实战案例&#xff1a;从人物肖像到艺术风格的完整训练过程 【免费下载链接】sd_dreambooth_extension 项目地址: https://gitcode.com/gh_mirrors/sd/sd_dreambooth_extension DreamBooth是一款强大的AI模型训练工具&#xff0c;能够让你通过少量图片快速定制…...

告别信号混乱!手把手教你正确处理Qt QLineEdit的编辑完成与回车事件

告别信号混乱&#xff01;手把手教你正确处理Qt QLineEdit的编辑完成与回车事件 在Qt开发中&#xff0c;QLineEdit作为最常用的输入控件之一&#xff0c;其信号处理看似简单却暗藏玄机。许多开发者都曾遇到过这样的困扰&#xff1a;明明只想在用户完成编辑时触发一次验证逻辑&a…...

jQuery WeUI移动端UI组件库架构解析与实现原理深度指南

jQuery WeUI移动端UI组件库架构解析与实现原理深度指南 【免费下载链接】jquery-weui 由于前端业界早已以React/Vue/Angular为主&#xff0c;个人也多年未使用过jQuery&#xff0c;此仓库已不再维护。推荐大家尽快转向 AntD、Element等更先进的UI库&#xff0c;https://ant.des…...

工程师幽默:从EE Times标题竞赛看技术文化表达与沟通艺术

1. 从“Wizard of Woz”看工程师文化的幽默表达看到“Wizard of Woz”这个标题&#xff0c;很多老电子工程师或硅谷历史爱好者大概会心一笑。这显然是在玩一个经典的双关梗——“Wizard of Oz”&#xff08;绿野仙踪&#xff09;和“Woz”&#xff08;史蒂夫沃兹尼亚克&#xf…...

在OpenClaw项目中配置Taotoken作为Agent的模型供应商

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在OpenClaw项目中配置Taotoken作为Agent的模型供应商 基础教程类&#xff0c;指导在虚拟机环境使用OpenClaw框架开发AI Agent的用户…...

跨境直播里,为什么很多团队设备很强,画面却依旧不稳定?

做跨境直播的人&#xff0c;基本都会经历一个阶段&#xff1a;疯狂升级设备。更贵的相机更强的显卡更高规格的采集卡更多灯光但实际开播后&#xff1a;直播依旧掉帧OBS 占用异常推流延迟增加画面偶发模糊音视频不同步很多时候&#xff0c;问题并不是设备性能不够。而是&#xf…...

从QR码到汉信码:盘点那些你可能没听过的二维码‘家族成员’及其应用场景

从QR码到汉信码&#xff1a;盘点那些你可能没听过的二维码‘家族成员’及其应用场景 在移动支付和数字营销的推动下&#xff0c;QR码已成为现代生活中不可或缺的一部分。然而&#xff0c;这个看似简单的黑白方块背后&#xff0c;隐藏着一个庞大而复杂的技术家族。从超市商品标…...