MCPcopy Create free account
hub / github.com/PKU-ASAL/Simulated-Data / update

Method update

src/ETW/real-time/ProvGraph.py:156–260  ·  view source on GitHub ↗
(self, anomaly_cutoff, topK = 20)

Source from the content-addressed store, hash-verified

154 # sim_list.append()
155
156 def update(self, anomaly_cutoff, topK = 20):
157 self.lock.acquire()
158# self.G = nx.compose(self.G,self.TmpG)
159 self.G = self.TmpG.copy()
160 self.TmpG.clear()
161 self.lock.release()
162
163 nodes = self.G.nodes()
164 pnode = []
165 for node in nodes:
166 if self.GetNodeType(node) == NODE_TYPE.PROCESS and self.GetNodeCmd(node) != '':
167 pnode.append(node)
168
169 self.node_set |= set(pnode)
170 update_node_list = self.caculate_anomaly_score(pnode,anomaly_cutoff)
171
172
173 if update_node_list == -1:
174 self.thread_lock.release()
175 return
176
177 relabel_dic = {}
178 for node in self.G.nodes():
179 origion = node
180 while node in self.taylor_map:
181 node = self.taylor_map[node]
182 if origion != node:
183 self.taylor_map[origion] = node
184 relabel_dic[origion] = node
185 print(len(relabel_dic))
186 self.G = nx.relabel_nodes(self.G, relabel_dic, copy=False)
187 update_node_list = list(update_node_list)
188 for i,node in enumerate(update_node_list):
189 if node in relabel_dic:
190 update_node_list[i] = relabel_dic[node]
191 update_node_list = set(update_node_list)
192
193 # remove_edge_list = []
194
195 # for e in self.G.edges:
196 # e_type = self.G.edges[e]['type']
197 # if ETYPE[e_type] in IGNTYPE:
198 # remove_edge_list.append(e)
199
200 # self.G.remove_edges_from(remove_edge_list)
201
202 # remove_node_list = []
203 # cron_list = []
204 # for node in self.G.nodes:
205 # attr = self.GetNodeName(node)
206 # if attr == "":
207 # remove_node_list.append(node)
208 # if attr == "cron" or attr == "bash" or attr == "sh" or attr == "sshd":
209 # if attr == "cron":
210 # cron_list.append(node)
211
212 self.G = nx.DiGraph(self.G)
213 # cron_process = set()

Callers

nothing calls this directly

Calls 5

GetNodeTypeMethod · 0.95
GetNodeCmdMethod · 0.95
propagationMethod · 0.95
update_cacheMethod · 0.95

Tested by

no test coverage detected