IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python探索性数据分析(EDA)暴力密码猜测攻击网站登录异常检测策略 -> 正文阅读

[人工智能]Python探索性数据分析(EDA)暴力密码猜测攻击网站登录异常检测策略

作者:recommend-item-box type_blog clearfix

探索性数据分析(EDA)

探索性数据分析 (EDA) 分析和调查数据集并总结其主要特征,通常采用数据可视化方法。 它有助于确定如何最好地操纵数据源以获得所需的答案,从而更容易发现模式、发现异常、检验假设或检查假设。

EDA 主要用于查看在正式建模或假设检验任务之外可以揭示哪些数据,并提供对数据集变量及其之间关系的更好理解。 它还可以帮助确定您正在考虑用于数据分析的统计技术是否合适。

您可以使用 EDA 工具执行的特定统计功能和技术包括:

  • 聚类和降维技术,有助于创建包含许多变量的高维数据的图形显示。
  • 原始数据集中每个字段的单变量可视化,带有汇总统计。
  • 双变量可视化和汇总统计,可让您评估数据集中每个变量与您正在查看的目标变量之间的关系。
  • 多变量可视化,用于映射和理解数据中不同字段之间的交互。
  • K-means 聚类是无监督学习中的一种聚类方法,其中数据点被分配到 K 个组中,即聚类的数量,基于与每个组质心的距离。 最接近特定质心的数据点将聚集在同一类别下。 K-means 聚类通常用于市场分割、模式识别和图像压缩。
  • 预测模型,例如线性回归,使用统计数据和数据来预测结果。

本文要点:

  1. 模拟登录尝试,创建我们的数据集
  2. 执行探索性数据分析,了解模拟数据
  3. 使用规则和基准进行异常检测

模拟登录

为了运行模拟,我们将构建一个 Python 包来模拟需要正确用户名和密码的登录过程(无需任何额外的身份验证措施,例如双因素身份验证)和一个可以在命令行上运行的脚本。

模拟器对网站的有效用户做出以下假设:

  • 依据泊松过程,有效用户以每小时频率访问,具体取决于星期几和一天中的时间。 泊松过程将每单位时间(我们的模拟将使用一小时)的访问建模为具有均值 λ (lambda) 的泊松分布。 访问间隔时间呈指数分布,均值为 1/ λ。
  • 有效用户从 1-3 个 IP 地址进行连接,这些地址由 4 个以句点分隔的 [0, 255] 范围内的随机整数组成。 两个有效用户共享一个 IP 地址是有可能的,尽管可能性极小。
  • 有效用户在输入凭据时不太可能犯很多错误。
  • 黑客试图通过仅测试几个用户名密码组合来避免帐户锁定,而不是全面的字典攻击。
  • 由于黑客不想造成拒绝服务,因此他们限制了攻击的数量,并且一次只进行一次尝试。
  • 黑客知道系统中存在的帐户数量,并且对用户名的格式有一个很好的了解。 他们会选择尝试猜测所有 133 个用户名,或者其中的一部分。
  • 每次攻击都是独立的,这意味着每次攻击都有一个黑客在执行,并且黑客不会多次攻击。
  • 黑客不会分享有关哪些用户名-密码组合正确的信息。

用户模拟登陆Python包

import ipaddress
import itertools
import json
import random
import string
def make_user_base(out_file):
    """Generate a user base and save it to a file."""
    with open(out_file, 'w') as user_base:
        for first, last in itertools.product(
            string.ascii_lowercase,
            ['smith', 'jones', 'kim', 'lopez', 'brown']
        ): # makes 130 accounts
            user_base.write(first + last + '\n')
        # adds 3 more accounts
        for account in ['admin', 'master', 'dba']:
            user_base.write(account + '\n')
...
def read_user_ips(file):
    """Read in the JSON file of the user-IP address mapping."""
    with open(file, 'r') as file:
        return json.loads(file.read())

我们的模拟使用了许多不同的分布,因此了解它们的样子会很有帮助。 以下子图显示了我们使用的每个分布的示例。 请注意,泊松分布的绘制方式不同。 这是因为泊松分布是离散的。 出于这个原因,我们经常使用它来模拟事件出现 - 在这里,我们用它来模拟尝试登录的用户的出现。离散分布具有概率质量函数 (PMF) 而不是概率密度函数 (PDF):

从命令行模拟

使用探索性数据分析

分析的数据:

  • 调查尝试和失败中的任何峰值
  • 检查失败原因是用户名不正确的情况
  • 查看每个 IP 地址的故障率
  • 查找尝试使用许多不同用户名登录的 IP 地址

基于规则的异常检测

进行 EDA 之后,我们对如何解决这个问题有了一个想法。在这里,对其进行了简化,我们希望找到尝试次数过多且成功率低以及尝试使用更多的唯一用户名登录的 IP 地址(异常)。 为此,我们将采用基于阈值的规则作为我们首次涉足异常检测。

Tukey fence | Z-score

源代码

详情参阅 - 亚图跨际

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-15 11:35:23  更:2022-05-15 11:36:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:23:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码