2022N34一种关键信息范围提取方法
郝伟 2022/10/15

简介

概率质量函数(PMF)、概率密度函数(PDF)、累积分布函数(CDF)

三个函数分布的重要概念

若随机变量XX服从一个位置参数为 μ\mu、尺度参数为 σ\sigma 的概率分布,且其概率密度函数为:f(x)=12πσe(xμ)22σf(x) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma}}则这个随机变量就称为正态随机变量,正态随机变量服从的分布就称为正态分布,记作 XN(μ,σ2)X \sim N(\mu, \sigma^2) ,读作 XX 服从 N(μ,σ2)N(\mu, \sigma^2) 的正态分布。当 μ=0,σ=1\mu=0, \sigma=1 时,正态分布就成为标准正态分布f(x)=12πex22f(x) = \frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}

s1 = '近日,有一个被用于文档攻击的样本被截获,该样本为伪装成word文件的RTF文件。通过分析该文档组合利用了cve-2017-11882和cve-2018-0802漏洞,并且使用内嵌的excel对象用于触发漏洞。释放的PE文件用于搜集目标用户的敏感信息。敏感信息通过邮件发送的方式回传。通过发送的标题“Hawkeye keylogger|Steal…”,怀疑该PE可能是著名的“Hawkeye Keylogger”漏洞,是一种窃取信息的恶意软件,作为恶意软件服务出售。'

# 显示字符串内容
for i in range(len(s1)):
    print(f'{i}:  {s1[i]}')
print(len(s1))

import matplotlib.pyplot as plt
import math

def f(x, sigma=8, mu=0):
    '''
    : 正态函数的概率密度函数
    : sigma 为偏移量,正向波峰向右移动,负值向左移动
    : mu    为幅度比例或宽度,值越大波峰越宽,越小越尖(向中间聚集)
    '''
    return 1 / (math.sqrt(2 * math.pi) * sigma) * math.pow(math.e, -(x - mu)**2 / (2 * sigma ** 2))

# 正态函数测试代码
# for i in range(-100, 100, 1):
#     x = i*0.01
#     print(f'{x:5.2f}    {f(x):.6f}')

# 用于存储数据和位置
vs, pos = [0] * len(s1), 0


def apply(s1, vs, pos, ae = 100):
    for i in range(ae):
        v = f(i)
        if pos + i < len(s1):
            vs[pos + i] += v
        if pos + i != pos - i and pos - i >= 0:
            vs[pos - i] += v

while pos < len(s1):
    try:
        # 递归找到所有漏洞并作用到vs中
        pos = s1.index('漏洞', pos)
        apply(s1, vs, pos)
        print(pos)
        pos += 1
    except:
        break

plt.plot(vs)
plt.show()