CN116668161A - 监控云平台中租户行为的方法、装置、设备和介质 - Google Patents
监控云平台中租户行为的方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116668161A CN116668161A CN202310751078.6A CN202310751078A CN116668161A CN 116668161 A CN116668161 A CN 116668161A CN 202310751078 A CN202310751078 A CN 202310751078A CN 116668161 A CN116668161 A CN 116668161A
- Authority
- CN
- China
- Prior art keywords
- tenant
- cloud platform
- data packet
- data
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000006399 behavior Effects 0.000 title claims abstract description 62
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 238000005206 flow analysis Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000000705 flame atomic absorption spectrometry Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 10
- 238000002347 injection Methods 0.000 description 9
- 239000007924 injection Substances 0.000 description 9
- 201000009032 substance abuse Diseases 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 101150096185 PAAS gene Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 206010001488 Aggression Diseases 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种监控云平台中租户行为的方法、装置、设备、介质和程序产品,可以应用于云计算技术、信息安全领域。该方法包括:利用在租户服务节点的内核中插桩的监控代码,实时捕获按照网络传输层协议经由租户服务节点传输的数据包,其中,在云平台的全部提供租借服务的租户服务节点中均插桩有监控代码;根据云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下;通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征;以及当一个租户的流量数据特征达到恶意流量报警条件时,向云平台报告租户存在危险行为并告警。
Description
技术领域
本公开涉及云计算技术领域,更具体地涉及一种监控云平台中租户行为的方法、装置、设备、介质和程序产品。
背景技术
目前一些云平台,允许租户上传自己开发的代码。例如PAAS云平台(Platform asa Service)向租户提供虚拟机,允许租户在虚拟机中开发应用;FAAS云平台(function asa Service)向租户提供云函数开发容器,允许租户开发自己所需的云函数。云平台中用户自己开发自己所需的服务,可以提高云平台的服务多样性,但同时也带来了服务滥用的风险,例如租户可能滥用云平台所提供的服务,开发一些具有恶意的攻击性的工具。
例如,在FAAS云平台中云函数可能被攻击者用作构建代理池、隐藏C2服务器地址和连接webshell,此外,云函数服务也常被用于构建漏洞扫描、钓鱼等攻击平台。攻击者通过构建此类应用来实现对外部系统的扫描探测、钓鱼窃取用户数据等目的。这些滥用行为导致云基础设施资源被恶意利用和消耗,给云服务的正常使用和监测带来了极大的困扰。
发明内容
鉴于上述问题,本公开提供了一种监控云平台中租户行为方法、装置、设备、介质和程序产品,在一定程度上可以及时发现云平台中滥用云服务功能的情形。
本公开实施例的第一方面,提供了一种监控云平台中租户行为的方法。所述方法包括:利用在租户服务节点的内核中插桩的监控代码,实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包。其中,所述租户服务节点为所述云平台中向租户提供资源租借服务的服务器节点,其中,在所述云平台的全部所述租户服务节点中均插桩有所述监控代码;根据所述云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下;通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征;以及当一个租户的所述流量数据特征达到恶意流量报警条件时,向所述云平台报告所述租户存在危险行为并告警。
根据本公开的实施例,所述方法还包括:采用eBPF字节码插桩技术在所述云平台中的全部所述租户服务节点的内核中插入所述监控代码,并在插桩过程中设置所述监控代码与传输层数据包处理函数相挂钩。所述实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包包括:响应于所述传输层数据包处理函数接收到数据包,捕获所述数据包。
根据本公开的实施例,在所述实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包之后,所述方法还包括:分析所述数据包的应用层协议;然后根据所述数据包的应用层协议,针对性地解析所述数据包,得到所述数据包的目的地址、源地址和报文明文数据。
根据本公开的实施例,所述根据所述数据包的应用层协议,针对性地解析所述数据包包括:当所述数据包的应用层协议为https协议时,先使用传输层安全性解密库解密所述数据包中的传输层安全协议加密数据,得到报文明文数据。
根据本公开的实施例,所述采用eBPF字节码插桩技术在所述云平台中的全部所述租户服务节点的内核中插入所述监控代码包括:获取待插桩的所述租户服务节点的内核版本;生成与所述内核版本对应的监控代码;以及在所述租户服务节点的内核中插入所述监控代码。
根据本公开的实施例,所述流量数据特征包括以下至少一个维度的信息:有无攻击工具访问连接、有无攻击载荷、流量访问频率、流量访问时间、有无流量回连地址、或访问地址对应的服务器所在区域是否属于预定的攻击频发区域。
根据本公开的实施例,所述流量数据特征分为确定性攻击特征和疑似攻击特征两类。其中,所述当一个租户的所述流量数据特征达到恶意流量报警条件时,向所述云平台报告所述租户存在危险行为并告警包括:当所述流量数据特征中出现确定性攻击特征时,确定所述租户存在危险行为,其中,所述确定性攻击特征包括所述流量数据特征中存在攻击工具访问连接,以及当所述流量数据特征中出现疑似攻击特征时,基于所出现的疑似攻击特征的内容和预设的评分机制进行打分,并当累计得分超过阈值时,确定所述租户存在危险行为。
根据本公开的实施例,所述云平台允许租户上传自己的代码。
本公开实施例的第二方面,提供了一种监控云平台中租户行为的装置。所述装置包括监控模块、数据包管理模块、流量解析模块和特征识别模块。所述监控模块为在租户服务节点的内核中插桩的监控代码,用于实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包,其中,所述租户服务节点为所述云平台中向租户提供资源租借服务的服务器节点,其中,在所述云平台的全部所述租户服务节点中均插桩有所述监控代码。所述数据包管理模块用于根据所述云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下。所述流量解析模块用于通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征。所述特征识别模块用于当一个租户的所述流量数据特征达到恶意流量报警条件时,向所述云平台报告所述租户存在危险行为并告警。
本公开实施例的第三方面,还提供了一种电子设备。所述电子设备包括一个或多个处理器和存储器。所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
本公开实施例的第四方面,还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
本公开实施例的第五方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
上述一个或多个实施例具有如下优点或有益效果:可以通过字节码插桩技术在云平台中向租户提供资源租借服务的服务器节点的内核中插入监控代码,来实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包,据此可以通过对云平台中每个租户名下的数据包中的信息解析和统计,据此对云平台中的租户的行为进行监控。以此方式,帮助云云平台服务提供厂商即时发现攻击者的服务滥用行为,及时进行封闭溯源处理,规避潜在的安全风险。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的监控云平台中租户行为的方法、装置、设备、介质和程序产品的应用场景图;
图2示意性示出了根据本公开实施例的监控云平台中租户行为的方法的流程图;
图3示意性示出了本公开一实施例中插桩监控代码以实时捕获传输的数据包的流程图;
图4示意性示出了本公开一实施例中解析捕获到的数据包的流程图;
图5示意性示出了在FAAS云平台中应用本公开实施例的方法监控租户滥用云函数服务的系统架构;
图6示意性示出了图5所示的系统架构中告警处理子系统的结构示意;
图7示意性示出了图5所示的系统架构中信息搜集子系统的结构示意;
图8示意性示出了本公开一实施例中采用eBPF字节码插桩技术插入监控代码的流程示意;
图9示意性示出了本公开另一实施例的监控云平台中租户行为的方法的流程图;
图10示意性示出了根据本公开实施例的监控云平台中租户行为的装置的结构框图;以及
图11示意性示出了适于实现根据本公开实施例的监控云平台中租户行为的方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本文中术语“第一”、“第二”等命名都仅用于区分,而不具有任何限制含义,以及附图中的任何元素数量均用于示例而非限制。
扩展的伯克利数据包过滤器(Extended Berkeley Packet Filter,eBPF)是一种高级的内核态编程技术,可以通过该技术实现自定义编写程序并加载到内核空间中。
本公开实施例提供了一种监控云平台中租户行为的方法、装置、设备、介质和程序产品。根据本公开的实施例,可以通过字节码插桩技术在云平台中向租户提供资源租借服务的服务器节点(简称“租户服务节点”)的内核中插入监控代码,来实时捕获按照网络传输层协议经由租户服务节点传输的数据包。然后可以通过对云平台中每个租户名下的数据包中的信息解析和统计,得到每个租户的流量数据特征,从而可以根据每个租户的流量数据特征与恶意流量报警条件是否匹配,来判断租户是否存在滥用云平台资源服务的恶意危险行为。以此方式,帮助云云平台服务提供厂商即时发现攻击者的服务滥用行为,及时进行封闭溯源处理,规避潜在的安全风险。
需要说明的是,本公开实施例确定的监控云平台中租户行为的方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开对应用领域不做限定。
图1示意性示出了根据本公开实施例的监控云平台中租户行为的方法、装置、设备、介质和程序产品的应用场景图。
如图1所示,该应用场景100可以包括终端设备11、12、13,网络14和云平台15。网络14用以在终端设备11、12、13和云平台15之间提供通信链路的介质。网络14可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
租户可以使用终端设备11、12、13通过网络14与云平台15交互,例如从云平台15中购买各种IT资源。
云平台15允许租户上传自己的代码,开发自己的软件程序。
具体地,租户可以以从云平台15中购买到的资源作为自己的后台服务,进行软件程序开发。例如,当云平台15为PAAS云平台时,租户可以从云平台中租用虚拟机来开发自己的应用程序。当云平台15为FAAS云平台时,租户可以从云平台15中购买函数服务,来开发自己的云函数。
当利用云平台15中的资源开发完成租户的软件程序后,租户还可以在云平台15中运行自己的软件程序,以此作为自己对外提供服务的后台系统,为自己的生产运行提供后台服务。
本公开实施例所提供的监控云平台中租户行为的方法可以由云平台15执行,用来监控云平台15中的租户的行为。相应地,本公开实施例所提供的监控云平台中租户行为的装置、设备、介质和程序产品也可以设置于云平台15中。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图4对本公开实施例的监控云平台中租户行为的方法进行总体描述,然后通过图5~图9对本公开实施例的监控云平台中租户行为的方法在FAAS云平台中的一个实施例进行示例性描述。应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的监控云平台中租户行为的方法的流程图。
如图2所示,该方法可以包括操作S21~操作S24。
首先在操作S21,利用在租户服务节点的内核中插桩的监控代码,实时捕获按照网络传输层协议经由租户服务节点传输的数据包,其中,租户服务节点为云平台15中向租户提供资源租借服务的服务器节点,其中,在云平台15的全部租户服务节点中均插桩有监控代码。
网络传输层协议主要有两个协议:TCP协议和UDP协议。其中,TCP协议相比于UDP协议,使用更为广泛。本公开实施例中,可以根据云平台15中网络传输层所使用的协议,来确定监控代码捕获哪种协议的数据包,通常为TCP数据包。
网络传输层协议种类较少,而且容易确定,不像应用层协议那样包含有http/https协议、ftp协议、smtp协议、ssh协议、dns协议等多种协议。这样,本公开实施例通过捕获租户服务节点按照网络传输层协议传输的数据包,就可以将到达租户服务节点的网络接口的所有数据包均获取到,既不用管这些数据包的应用层协议是什么,也不用担心会遗漏数据包。可以保证获取到的网络流量数据的全面性。
然后在操作S22,根据云平台15中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下。
例如可以从云平台15的租户管理系统的日志中提取每个数据包的发送记录,诸如发送时间、触发程序等信息,然后根据数据包的触发程序所归属的租户,得出每个数据包与租户的对应关系。
接下来在操作S23,通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征。
在一个实施例中,流量数据特征包括以下至少一个维度的信息:有无攻击工具访问连接、有无攻击载荷、流量访问频率、流量访问时间、有无流量回连地址、或访问地址对应的服务器所在区域是否属于预定的攻击频发区域(例如,是否为国外)。
再然后在操作S24,当一个租户的流量数据特征达到恶意流量报警条件时,向云平台15报告租户存在危险行为并告警。恶意流量报警条件可以根据监控需求灵活配置。
可以理解,上述操作S23和操作S24可以是一个不断循环累积的过程。例如,当在操作S24判断租户不存在危险行为时,可以保持对该租户的监控,例如在操作S23中不断根据新获得的流量数据对租户的行为特征进行统计和更新。当在操作S24判断租户存在危险行为时,可以及时向云平台15的运维人员或服务厂商提供报警等信息。
以此方式,可以及时发现租户滥用云平台资源实施恶意破坏性行为的情形,帮助云平台服务提供厂商及时规避潜在的安全风险。
图3示意性示出了本公开一实施例中插桩监控代码以实时捕获传输的数据包的流程图。
如图3所示,根据本公开实施例的监控云平台中租户行为的方法在上述操作S21之前,还可以包括操作S31。相应地,操作S21具体可以实施为操作S211。
具体地在操作S31,采用eBPF字节码插桩技术在云平台15中的全部租户服务节点的内核中插入监控代码,并在插桩过程中设置监控代码与传输层数据包处理函数相挂钩。传输层数据包处理函数例如可以是数据包处理程序eXpress Data Path(简称XDP)中的tcp_rcv函数。
其中,在TCP协议中当数据包来了的时候,数据包都会通过tcp_rcv函数。tcp_rcv函数会提取数据包中的源IP地址和源端口等信息后等待后续处理。这样,监控代码hook住tcp_rcv函数,就可以实时捕获到tcp_rcv函数处理的TCP数据包。
在云平台15中对租户服务节点,进行eBPF字节码插桩时,首先获取待插桩的租户服务节点的内核版本,然后生成与内核版本对应的监控代码,最后在租户服务节点的内核中插入监控代码。这样,当云平台15中的租户服务节点的内核版本不同时,生成的监控代码也有所不同,可以针对性的生成监控代码,有效应对云平台15中服务器节点的内核版本的差异,实现插桩的针对性和适应性。
然后在操作S211,响应于传输层数据包处理函数(如tcp_rcv函数)接收到数据包,捕获该数据包。通过将监控代码与传输层数据包处理函数相挂钩,可以把各种应用层协议的数据包都能获取到,从而实现对多种应用层协议数据包的全面覆盖,保证捕获的网络流量数据的全面性。
图4示意性示出了本公开一实施例中解析捕获到的数据包的流程图。
如图4所示,本公开实施例的方法在操作S21之后,在操作S23之前,还可以解析捕获的数据包,具体包括操作S41和操作S42。
首先在操作S41,分析数据包的应用层协议。具体地,数据包的应用协议包括但不限于:HTTP/HTTPS协议、FTP协议、SMTP协议、SSH协议、DNS协议等。
接下来在操作S42,根据数据包的应用层协议,针对性地解析数据包,得到数据包的目的地址、源地址和报文明文数据。
例如,当数据包的应用层协议为HTTPS协议时,数据包中的内容为经过传输层安全协议(Transport Layer Security,TLS)加密后的数据。在这种情况下需要使用传输层安全性解密库GnuTLS解密数据包中的传输层安全协议加密数据,才能得到报文明文数据。
当应用层协议为其他协议时,可以根据每种协议的数据结构,从对应的字段中提取出目的地址、源地址和报文明文数据等信息。
这样以后,对于每个租户名下的数据包,可以对解析出而来的多个维度的数据特征进行统计分析,判断每个租户是否存在滥用云平台15所提供的资源的情形。
可见,本公开实施例通过在云平台15的租户服务节点中动态插入eBPF程序,实时获取各租户的网络访问流量,并通过提取流量中的多维度特征,判断是否存在资源滥用的情况,以帮助云函数服务提供厂商即时发现攻击者的服务滥用行为,及时进行封闭溯源处理,规避潜在的安全风险。
以下通过图5~图9,对在FAAS云平台中应用本公开实施例的方法监控租户行为的一个具体实施例进行示例性描述,以帮助本领域技术人员更准确地理解本公开实施例的方案。
图5示意性示出了在FAAS云平台中应用本公开实施例的方法监控租户滥用云函数服务的系统架构。
如图5所示,该系统架构包括浏览器101、告警处理子系统102、信息搜集子系统103、FAAS云平台104四个部分。其中通过告警处理子系统102和信息搜集子系统103,可以执行本公开实施例的监控云平台中租户行为的方法,用于对FAAS云平台104中的租户滥用云函数的行为进行监控。
具体地,运维人员可以通过浏览器101访问FAAS云平台104的后台管理系统,在面板实时观察FAAS云平台104中各租户的网络流量信息以及监控告警信息。
告警处理子系统102实时接收信息搜集子系统传入的FAAS云平台104中租户服务节点(即,提供资源租借服务的服务器节点)的网络流量数据,并判断FAAS云平台104中当前活跃在线的租户的行为是否属于滥用云服务的行为。如果是,则对存在滥用云服务异常行为的租户进行告警。其中,告警处理子系统102的详细结构和工作过程可以参考图6的示意。
信息搜集子系统103部署在FAAS云平台104中。具体地,信息搜索子系统103在FAAS云平台104中的部署过程具体为,采用eBPF字节码插桩技术,将监控代码动态插入到FAAS云平台104中所有的租户服务节点的内核中。信息搜索子系统103可以用于FAAS云平台104中所有的租户服务节点中的TCP协议数据包,并将搜集到的TCP协议数据包反馈至告警处理子系统102,便于告警处理子系统102基于接收到的数据包特征进行租户行为分析。其中,信息搜集子系统103的详细结构和工作过程可以参考图7的示意。
FAAS云平台104上部署着各个租户的业务容器。在公有云环境下,租户通过购买云函数的方式获得云函数服务,此时租户便可上线自己的云函数业务容器,即在FAAS云平台104中的某个租户服务节点中启动一个或多个供自己开发和运行云函数的docker容器。
图6示意性示出了图5所示的系统架构中告警处理子系统102的结构示意。
如图6所示,告警处理子系统102可以包括流量解析模块201和特征识别模块202。
流量解析模块201用于接收信息搜集子系统103采集上送的网络流量数据,解析并提取流量中的源IP、目的IP、协议类型、访问地址、明文报文数据(诸如,请求内容)、请求时间等维度的特征数据,并根据云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,对同一租户的数据包进行归集并进行特征统计,得到该租户的流量数据特征。
特征识别模块202根据流量解析模块201的解析和统计得到的租户的流量数据特征,判断租户的是否存在滥用云函数服务的行为。
举例来说,攻击者在使用云函数服务隐藏自身真实IP的过程中,流量中将存在特定的访问特征。本公开实施例可以将流量数据特征分为确定性攻击特征和疑似攻击特征两类。当租户的流量数据特征中出现确定性攻击特征时,直接推送告警,当当租户的流量数据特征中出现疑似攻击特征时,对各种疑似攻击特征进行加权评分,若累计评分高于阈值,则判定租户存在危险行为并进行告警。
确定性攻击特征例如可以包括但不限于常见攻击工具访问连接特征。当攻击者使用云函数隐藏命令和控制服务器(英文全称Command and Control Server,简称C2服务器)地址或进行脚本木马webshell连接时,流量中通常会包含攻击工具常见特征。如果确认为流量中存在攻击工具访问连接,则直接告警。然而,若攻击者对流量特征进行了改写,此时从流量中就无法直接检测出攻击工具访问连接。在这种情况下,往往只能检测到疑似攻击工具访问连接的特征。
疑似攻击特征可以包括但不限于以下特征A~特征E:
特征A:流量中是否包含疑似攻击工具访问连接特征。若从租户的数据包中捕获到疑似攻击工具访问连接的特征,则设置该项特征得分为1;
特征B:流量中是否包含攻击载荷特征,其中攻击载荷为系统被攻陷后执行的对系统进行攻击的有害操作。例如,当攻击者使用云函数服务进行漏洞扫描时,流量中将包含大量攻击探测特征。若流量中包含攻击载荷特征,设置该项特征得分为1;
特征C:判断流量访问频率。当使用云函数服务进行漏洞扫描时,流量发起会较为频繁。若存在该项特征,设置得分为1;
特征D:判断流量防问时间。攻击者一般会选择夜晚进行攻击,而合法用户的流量则大多集中于白天,若某一租户的云函数服务使用时间大多集中于深夜,则该项特征设置得分为1;
特征E:判断云函数服务是否存在流量回连地址,且地址对应的IP是否为国外服务器。例如,攻击者可能会使用国外VPS服务器进行代理转发,以进一步隐藏攻击源IP。具有该项特征则设置得分为1。
特征识别模块202可以对各疑似攻击特征的得分和预设的权限值,对云函数服务租户的行为进行打分。当得分超过阈值时,判断为云服务被恶意使用,从而可以进行告警展示,同时提供云函数回连的源IP,帮助进行IP溯源及服务封禁。
图7示意性示出了图5所示的系统架构中信息搜集子系统的结构示意。
如图7所示,信息搜集子系统103包括监控代码生成模块301和监控代码注入模块302。
监控代码生成模块301首先查看内核版本(例如,Linux内核版本),对应生成监控代码。监控代码的逻辑包括,首先hook住XDP中的tcp_rcv函数。然后监控代码可以获得数据包的源地址与目的地址,并通过数据包中的特征进行应用协议判断。根据数据包的应用层协议,针对性地解析数据包,得到数据包的目的地址、源地址和报文明文数据等。最后将从数据包中解析得到的目的地址、源地址、明文报文请求反馈至告警处理子系统102。
监控代码注入模块302负责将监控代码生成模块301生成的代码,采用eBPF插桩技术注入到FAAS云平台104中的各个租户服务节点的内核。其中,采用eBPF字节码插桩技术插入监控代码的过程如图8所示。
结合图8,监控代码注入模块302负责将监控代码生成模块301生成的代码编译为eBPF字节码,通过IP命令(如ip link set dev eth0xdp obj ebpfcode)将eBPF字节码附加到XDP(数据包处理程序)的tcp_rcv函数上。通过此种方式,可以在数据包达到租户服务节点的网络接口时立即捕获该数据包,实现流量的实时监控。
图9示意性示出了本公开另一实施例的监控云平台中租户行为的方法的流程图,其中,图9所示为在图5所示的系统架构中执行的监控云平台中租户行为的方法流程,大致可以包括操作S1~操作S5。
在操作S1:将监控代码注入至FAAS云平台104中的所有租户服务节点;
在操作S2:通过监控代码的运行,实时采集租户的网络流量数据;
在操作S3:将网络流量数据反馈至告警处理子系统;
在操作S4:告警处理子系统分析提取每个租户的流量数据特征,根据匹配到的特征判断租户是否存在滥用云函数的恶意行为;
在操作S5:对判断存在滥用运函数服务的租户,将结果反馈至运维人员,协助运维人员进行服务禁止和溯源,对判断不存在滥用运函数服务的情况,则继续在FAAS云平台104中进行监控。
可见,本公开实施例通过在FAAS云平台104中的所有租户服务节点中的内核函数插桩,实时获取各租户的网络流量数据,提取流量多维度特征,判断租户是否存在滥用云服务资源的行为,帮助云函数服务提供厂商即时发现恶意使用者的服务滥用行为,规避潜在安全风险。而且在发现风险后,可协助进行IP溯源与封禁,帮助进行犯罪打击。
图10示意性示出了根据本公开实施例的监控云平台中租户行为的装置1000的结构框图。
如图10所示,根据本公开的一些实施例,该装置1000至少可以包括监控模块1010、数据包管理模块1020、流量解析模块201和特征识别模块202。根据本公开的另一些实施例,该装置1000还可以进一步包括监控代码生成模块301和监控代码注入模块302。该装置1000可以实现参考图2~图9中所描述的方法。
监控模块1010为在租户服务节点的内核中插桩的监控代码,用于实时捕获按照网络传输层协议经由租户服务节点传输的数据包,其中,租户服务节点为云平台中向租户提供资源租借服务的服务器节点,其中,在云平台的全部租户服务节点中均插桩有监控代码。在一些实施例中,监控模块1010可以执行前文介绍的操作S21。
数据包管理模块1020用于根据云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下。在一些实施例中,数据包管理模块1020可以执行前文介绍的操作S22。
流量解析模块201用于通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征。在一些实施例中,流量解析模块201可以执行前文介绍的操作S23。
特征识别模块202用于当一个租户的流量数据特征达到恶意流量报警条件时,向云平台报告租户存在危险行为并告警。在一些实施例中,特征识别模块202可以执行前文介绍侧操作S24。
监控代码注入模块302用于采用eBPF字节码插桩技术在云平台中的全部租户服务节点的内核中插入监控代码,并在插桩过程中设置监控代码与传输层数据包处理函数相挂钩。相应地,监控模块1010具体用于响应于传输层数据包处理函数接收到数据包,捕获数据包。在一些实施例中,监控代码注入模块302可以执行前文介绍的操作S31。相应地,监控模块1010可以执行前文介绍的操作S211。
监控代码生成模块301用于:获取待插桩的租户服务节点的内核版本;生成与内核版本对应的监控代码;以及在租户服务节点的内核中插入监控代码。
根据本公开另一些实施例,装置1000还可以包括解析模块。解析模块用于:在实时捕获按照网络传输层协议经由租户服务节点传输的数据包之后,分析数据包的应用层协议;以及根据数据包的应用层协议,针对性地解析数据包,得到数据包的目的地址、源地址和报文明文数据。在一些实施例中,解析模块可以执行前文介绍的操作S41和操作S42。
根据本公开的实施例,监控模块1010、数据包管理模块1020、流量解析模块201、特征识别模块202、监控代码生成模块301、监控代码注入模块302和解析模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监控模块1010、数据包管理模块1020、流量解析模块201、特征识别模块202、监控代码生成模块301、监控代码注入模块302和解析模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监控模块1010、数据包管理模块1020、流量解析模块201、特征识别模块202、监控代码生成模块301、监控代码注入模块302和解析模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了适于实现根据本公开实施例的监控云平台中租户行为的方法的电子设备1100的方框图。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器1101执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种监控云平台中租户行为的方法,其中,所述方法包括:
利用在租户服务节点的内核中插桩的监控代码,实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包,其中,所述租户服务节点为所述云平台中向租户提供资源租借服务的服务器节点,其中,在所述云平台的全部所述租户服务节点中均插桩有所述监控代码;
根据所述云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下;
通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征;以及
当一个租户的所述流量数据特征达到恶意流量报警条件时,向所述云平台报告所述租户存在危险行为并告警。
2.根据权利要求1所述的方法,其中,
所述方法还包括:采用eBPF字节码插桩技术在所述云平台中的全部所述租户服务节点的内核中插入所述监控代码,并在插桩过程中设置所述监控代码与传输层数据包处理函数相挂钩;
则,所述实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包包括:响应于所述传输层数据包处理函数接收到数据包,捕获所述数据包。
3.根据权利要求2所述的方法,其中,在所述实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包之后,所述方法还包括:
分析所述数据包的应用层协议;以及
根据所述数据包的应用层协议,针对性地解析所述数据包,得到所述数据包的目的地址、源地址和报文明文数据。
4.根据权利要求3所述的方法,其中,所述根据所述数据包的应用层协议,针对性地解析所述数据包包括:
当所述数据包的应用层协议为https协议时,先使用传输层安全性解密库解密所述数据包中的传输层安全协议加密数据,得到报文明文数据。
5.根据权利要求2所述的方法,其中,所述采用eBPF字节码插桩技术在所述云平台中的全部所述租户服务节点的内核中插入所述监控代码包括:
获取待插桩的所述租户服务节点的内核版本;
生成与所述内核版本对应的监控代码;以及
在所述租户服务节点的内核中插入所述监控代码。
6.根据权利要求1所述的方法,其中,所述流量数据特征包括以下至少一个维度的信息:
有无攻击工具访问连接、有无攻击载荷、流量访问频率、流量访问时间、有无流量回连地址、或访问地址对应的服务器所在区域是否属于预定的攻击频发区域。
7.根据权利要求6所述的方法,其中,所述流量数据特征分为确定性攻击特征和疑似攻击特征两类;其中,所述当一个租户的所述流量数据特征达到恶意流量报警条件时,向所述云平台报告所述租户存在危险行为并告警包括:
当所述流量数据特征中出现确定性攻击特征时,确定所述租户存在危险行为,其中,所述确定性攻击特征包括所述流量数据特征中存在攻击工具访问连接;以及
当所述流量数据特征中出现疑似攻击特征时,基于所出现的疑似攻击特征的内容和预设的评分机制进行打分,并当累计得分超过阈值时,确定所述租户存在危险行为。
8.根据权利要求1~7任意一项所述的方法,其中,所述云平台允许租户上传自己的代码。
9.一种监控云平台中租户行为的装置,其中,所述装置包括:
监控模块,为在租户服务节点的内核中插桩的监控代码,用于实时捕获按照网络传输层协议经由所述租户服务节点传输的数据包,其中,所述租户服务节点为所述云平台中向租户提供资源租借服务的服务器节点,其中,在所述云平台的全部所述租户服务节点中均插桩有所述监控代码;
数据包管理模块,用于根据所述云平台中的租户管理系统中的数据包发送记录与租户信息的对应关系,将实时捕获的数据包划分到对应的租户名下;
流量解析模块,用于通过对划分到同一租户名下的数据包进行解析和特征统计,得到租户的流量数据特征;以及
特征识别模块,用于当一个租户的所述流量数据特征达到恶意流量报警条件时,向所述云平台报告所述租户存在危险行为并告警。
10.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现权利要求1~8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310751078.6A CN116668161A (zh) | 2023-06-25 | 2023-06-25 | 监控云平台中租户行为的方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310751078.6A CN116668161A (zh) | 2023-06-25 | 2023-06-25 | 监控云平台中租户行为的方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116668161A true CN116668161A (zh) | 2023-08-29 |
Family
ID=87715192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310751078.6A Pending CN116668161A (zh) | 2023-06-25 | 2023-06-25 | 监控云平台中租户行为的方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116668161A (zh) |
-
2023
- 2023-06-25 CN CN202310751078.6A patent/CN116668161A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Baykara et al. | A novel honeypot based security approach for real-time intrusion detection and prevention systems | |
US10467411B1 (en) | System and method for generating a malware identifier | |
US10601848B1 (en) | Cyber-security system and method for weak indicator detection and correlation to generate strong indicators | |
JP6441957B2 (ja) | 疑わしいオブジェクトにおけるエクスプロイトを自動的に実証し、当該実証済みエクスプロイトに関連付けられた表示情報を強調するシステム、装置、および方法 | |
Pilli et al. | Network forensic frameworks: Survey and research challenges | |
US20100325685A1 (en) | Security Integration System and Device | |
CN107295021B (zh) | 一种基于集中管理的主机的安全检测方法及系统 | |
CN113542253B (zh) | 一种网络流量检测方法、装置、设备及介质 | |
JP2019536158A (ja) | 検知結果が有効であるかないかを検証する方法およびシステム | |
KR101768079B1 (ko) | 침입탐지 오탐 개선을 위한 시스템 및 방법 | |
CN112650180B (zh) | 安全告警方法、装置、终端设备及存储介质 | |
Kumar et al. | Integrating intrusion detection system with network monitoring | |
CN113489703A (zh) | 一种安全防护系统 | |
CN110768950A (zh) | 渗透指令的发送方法及装置、存储介质、电子装置 | |
KR20120043466A (ko) | 위협 탐지 시스템으로부터 제공된 정보에 기반한 통합 보안 관리 방법 및 장치 | |
KR102040371B1 (ko) | 네트워크 공격 패턴 분석 및 방법 | |
CN113347184A (zh) | 网络流量安全检测引擎的测试方法、装置、设备及介质 | |
CN113382015A (zh) | 一种网络威胁的处置方法、装置、设备及存储介质 | |
KR101767591B1 (ko) | 침입탐지 오탐 개선을 위한 시스템 및 방법 | |
KR20070072835A (ko) | 실시간 웹로그 수집을 통한 웹해킹 대응 방법 | |
Zeinali | Analysis of security information and event management (SIEM) evasion and detection methods | |
CN116668161A (zh) | 监控云平台中租户行为的方法、装置、设备和介质 | |
CN115694866A (zh) | 交互式攻击确认方法、装置、系统、设备和介质 | |
CN114374838A (zh) | 一种网络摄像头监测方法、装置、设备及介质 | |
CN114629686A (zh) | 一种漏洞攻击检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |