27、基于网络杀伤链模型的远程访问木马分析

基于网络杀伤链模型的远程访问木马分析

1. 静态分析方法的挑战与动态分析的必要性

在对恶意软件进行分析时,静态分析方法虽取得了不少成果,但也面临着巨大挑战。静态分析方法在处理新的、未知的恶意软件时存在复杂性,这是因为新的恶意软件采用了反问题解决机制和防御技术,阻止代码分支被分析。而且,我们并不总是能够获取恶意软件的代码结构,恶意软件还有可能对其代码结构进行编码,在这些情况下,静态分析方法往往就失去了作用。因此,为了解决这些问题,动态分析方法应运而生。

静态分析可以提取一些特征,在沙箱执行后,恶意软件可能会创建文件和注册表项以驻留在系统中,启动新进程并与控制和命令服务器进行通信。具体的分析结果如下:
- 进程相关 :能够显示恶意软件创建的进程。
- 域名解析 :分析过程中解析的域名(将域名转换为 IP 地址的活动)。
- 网络连接 :建立的网络连接。
- API 调用 :显示每个进程调用的 API 列表,包含 API 使用场景(如访问网络、系统文件、注册表、服务、集成等)、API 调用时间、API 名称、输入值和 API 参数、API 输出值以及重复次数。
- 系统文件变化 :显示系统文件的变化(添加新文件、更改文件、删除文件)。
- 注册表变化 :显示 Windows 注册表的变化。
- 互斥体使用 :显示创建和使用的互斥体。

网络连接部分的分析结果

### 关于杀伤模型在 MATLAB 中的实现 杀伤模型通常用于网络安全领域,描述攻击者从侦察到目标破坏的过程。为了实现在MATLAB中的模拟,可以通过定义各个阶段的状态转移来构建该模型。 #### 定义状态变量 首先,在MATLAB中创建脚本文件并初始化表示不同阶段的概率矩阵: ```matlab % 初始化概率矩阵 P(i,j),其中 i 表示当前阶段,j 表示下一可能进入的阶段 P = [ 0.8, 0.2, 0, 0, 0; % Reconnaissance -> Weaponization 0, 0.7, 0.3, 0, 0; % Weaponization -> Delivery 0, 0, 0.6, 0.4, 0; % Delivery -> Exploitation 0, 0, 0, 0.9, 0.1;% Exploitation -> Installation 0, 0, 0, 0, 1];% Installation -> Command and Control ``` #### 创建仿真函数 接着编写一个简单的蒙特卡罗仿真实验来估计完成整个条所需的时间分布或其他感兴趣的统计量: ```matlab function results = simulateKillChain(numTrials) nStages = size(P, 1); % 获取阶段数量 durations = zeros(nStages, numTrials); for trial = 1:numTrials currentStage = 1; while currentStage < nStages [~, nextStage] = max(rand() < cumsum(P(currentStage,:))); if nextStage == 0 || isnan(nextStage) break; end duration = exprnd(1); % 假设每个阶段持续时间为指数分布随机数 durations(currentStage,trial) = duration; currentStage = nextStage; end end results.meanDurationPerStage = mean(durations'); end ``` 此代码片段展示了如何基于给定的概率矩阵`P`执行多次试验,并计算每一步平均花费时间作为输出结果之一[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值