python 做视频网站/索引擎优化 seo
本博客地址: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.文本格式化标签 在网页中,有时需要为文字设置粗体、斜体和下划线等效果…...

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

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

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

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

快速入门深度学习1(用时1h)
速通《动手学深度学习》1写在最前面0.内容与结构1.深度学习简介1.1 问题引入1.2 思路:逆向思考1.3 跳过1.4 特点1.5 小结2.预备知识(MXNet版本,学错了。。。。)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错误信息如下: T…...

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

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

【黑马】Java基础从入门到起飞目录合集
视频链接: Java入门到起飞(上部):BV17F411T7AoJava入门到起飞(下部):BV1yW4y1Y7Ms 学习时间: 2023/02/01 —— 2023/03/09断断续续的学习,历时大概37天,完结撒…...

PMP考前冲刺3.10 | 2023新征程,一举拿证
题目1-2:1.在最近的一次耗时四周的迭代中,赫克托尔所在的敏捷团队刚完成了10 个用户故事点的开发、测试和发布,那么团队的速度是?A. 10B. 4C. 5D.402.产品负责人奥佩,倾向于在短周期内看到工作产品的新版本,…...

JavaScript Math常用方法
math是JavaScript的一个内置对象,它提供了一些数学属性和方法,可以对数字进行计算(用于Number类型)。 math和其他全局对象不同,它不是一个构造器,math的所有方法和属性都是静态的,直接使用并传入…...

【C++】模板进阶
文章目录一、非类型模板参数1、非类型模板参数2、C11 中的 array 类二、模板的特化1、模板特化的概念2、函数模板特化3、类模板特化3.1 全特化3.2 偏特化三、模板的分离编译四、模板总结一、非类型模板参数 1、非类型模板参数 模板参数分为类型形参与非类型形参,类…...

三板斧解决leetcode的链表题
在《波奇学单链表》中我们提到单链表的两个特点单向性。头节点尾节点的特殊性导致分类讨论的情况。如何看单链表?让我们简化成下图cur表示当前节点,下图表示cur移动,圆圈表示值用哨兵卫节点(新的头节点)和把尾节点看成NULL来把头尾节点一般化…...

全生命周期的云原生安全框架
本博客地址:https://security.blog.csdn.net/article/details/129423036 一、全生命周期的云原生安全框架 如图所示: 二、框架说明 在上图中,我们从两个维度描述各个安全机制,横轴是开发和运营阶段,细分为编码、测试…...

【本地网站上线】ubuntu搭建web站点,并内网穿透发布公网访问
【本地网站上线】ubuntu搭建web站点,并内网穿透发布公网访问前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子…...

电脑怎么重装系统?教你轻松掌握这些方法
重新安装计算机系统有两种原因:一种是计算机系统可以正常使用,但是电脑比较卡,为了提高它的运行速度,所以想要通过重新安装系统来解决这个问题;另一种原因是计算机系统文件丢失,系统出现蓝屏,或者黑屏的情况…...

leetcode-每日一题-2379(简单,字符串)
久违的简单题......给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 W 要么是 B ,表示第 i 块的颜色。字符 W 和 B 分别表示白色和黑色。给你一个整数 k ,表示想要 连续 黑色块的数目。每一次操作中,你可以选择…...

SLF4J日志框架在项目中使用
介绍 SLF4J全称“Simple Logging Facade for Java”,作为各种日志框架的简单门面。例如: java.util.logging、logback 、 reload4j等。只需要切换日志框架的jar包依赖就可以切换日志框架。 SLF4J支持的日志框架包含如下: log4j:…...

Spark MLlib 模型训练
Spark MLlib 模型训练决策树随机森林GBDTSpark MLlib 开发框架下 : 监督学习 : 回归 (Regression) , 分类 (Classification) , 协同过滤 (Collaborative Filtering)非监督学习 : 聚类 (Clustering) 、频繁项集 (Frequency Patterns) 例子分类 : 算法分类 : 算法分类算法子分类…...

Python中变量的作用域精讲
文章目录前言一、局部变量二、全局变量前言 变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,再访问时就会出现错误。在程序中,一般会根据变量的 “有效范围” 将变量分为 “全局变量” 和 “局部变量”。 一、局部变量 局部变…...