24、网络主机定位与代码注入攻击防护技术

网络主机定位与代码注入攻击防护技术

在网络安全领域,准确识别恶意主机位置以及有效防范代码注入攻击是至关重要的任务。下面将分别介绍相关技术的实验结果、面临的攻击与不足,以及一种新的代码注入攻击防护方法。

网络主机定位实验

在首次测试中,选取了一组已知主机(目标),计算它们的网络坐标,并评估将这些网络坐标映射回 IP 地址的方法的有效性。具体操作是对八个不同的主机应用该技术,使用不同的参数 p(候选集中 C 类网络必须出现的比例,才能在结果中报告)。p 值越大,报告的网络越少(即结果集更紧凑),但也更有可能错过主机的真实位置。所有实验均在 n = 10、d = 2 和阈值 = 10 的条件下进行。

Target p Intersection Found
128.111.4.0 100% 2 ✓
128.111.4.0 50% 75 ✓
128.111.4.0 30% 75 ✓
128.111.4.0 10% 75 ✓
159.149.153.0 100% 0
159.149.153.0 50% 2
159.149.153.0 30% 31 ✓
159.149.153.0 10% 31 ✓
114.108.44.0 100% 0
114.108.44.0 50% 6
114.108.44.0 30% 54 ✓
114.108.44.0 10% 77 ✓
99.54.140.0 100% 0
99.54.140.0 50% 0
99.54.140.0 30% 0
99.54.140.0 10% 1
85.17.143.0 100% 1
85.17.143.0 50% 48 ✓
85.17.143.0 30% 48 ✓
85.17.143.0 10% 82 ✓
114.108.82.0 100% 0
114.108.82.0 50% 6
114.108.82.0 30% 71 ✓
114.108.82.0 10% 71 ✓
59.136.176.0 100% 0
59.136.176.0 50% 149 ✓
59.136.176.0 30% 196 ✓
59.136.176.0 10% 222 ✓
93.160.107.1 100% 0
93.160.107.1 50% 2
93.160.107.1 30% 10
93.160.107.1 10% 115 ✓

从表中可以看出,p = 30 似乎在检测和精度之间提供了一个很好的折衷。在 8 个案例中的 6 个中,检测到了网络的真实位置,并且潜在的 C 类网络数量通常少于 100 个。值得注意的是,在寻找目标子网 99.54.140.0/24 时,除了 p = 10% 的情况外,未能找到任何非空交集。经调查发现,对该子网附近节点的网络坐标了解甚少,导致最接近节点集的元素与目标的平均距离为 30,而在其他成功案例中,平均距离在 0.5 到 8 之间。因此,了解目标附近主机的网络坐标是确定目标可能所属节点集的先决条件。

还对初始节点数 n、距离 d 和阈值 t 进行了不同参数设置的测试:
- 当使用 d = 3 而不是 d = 2 时,结果相似,但精度开始下降,结果集增大。
- 改变初始近节点数 n 并没有显著改善结果。
- 最有趣的参数是阈值。使用小于 10 的阈值可以显著减小交集的大小。例如,当阈值 = 2 时,可以将交集修剪为两个节点,甚至一个节点,并且仍然能找到目标。但由于在实际的母舰(控制服务器)情况下需要考虑噪声,所以采用了更保守的方法(阈值 = 10)。

此外,还研究了结果交集中的子网由多少个不同的自治系统(AS)覆盖。令人鼓舞的是,在大多数实验中,交集中包含的所有子网都属于同一个 AS。这有助于更精确地识别母舰,因为一旦发现母舰所属的 AS,就可以与相应的 ISP 或机构合作,分析网络流量或在 AS 网络中进行扫描,以更精确地检测母舰。

为了证明该方法在真实僵尸网络中的有效性,对当时活跃的 Waledac 僵尸网络进行了分析:
1. 将与该僵尸网络相关的四个快速流量域名输入到 MISHIMA 中,识别出 335 个作为其母舰代理的主机。
2. 计算它们的网络坐标并运行 IP 检测算法,得到母舰可能位于的 48 个 C 类子网。
3. 为了确认结果,设置了一个蜜罐 Windows XP 机器,并使用从僵尸网络主机直接获取的最新恶意软件样本进行感染。通过这种方式,成功渗透到僵尸网络中并发现了母舰的 IP 地址,证实实际母舰位于找到的 48 个网络之一。需要强调的是,母舰 IP 地址的知识仅用于验证结果,而不是用于确定母舰可能所在的集合。

网络主机定位面临的攻击与不足

有知识的攻击者可能会尝试通过以下几种方式阻止正确识别母舰的位置:
1. HTTP 响应延迟 :快速流量代理可能会人为延迟所需的 HTTP 响应,从而使坐标计算无效。如果延迟是静态值,坐标将代表一个与实际坐标相距很远的点;如果延迟是随机的,只能计算出母舰可能所在的大致区域。在测量过程中,未发现这种行为。
2. 代理拒绝连接 :由于严重依赖对每个信标的大量探测,无法处理识别这种行为并停止代理连接的代理。例如,从同一 IP 地址在几分钟内对某个域名的请求,可能只会在前几次请求时返回恶意网页。缓解这种攻击的最可能方法是将探测速度调整到适当的速度。
3. 网络拓扑混淆 :一些网络拓扑会混淆测量并使计算的坐标无效。如果代理被设置为在多个母舰之间进行负载均衡,很可能会计算出不正确或至少不一致的坐标。目前假设只有一个母舰,如果不是这种情况,探测相关的往返时间(RTT)将相互冲突,结果可能类似于在探测中插入随机人工延迟的情况。虽然有可能识别和聚类 RTT 以识别那些针对不同母舰的 RTT,但未发现进行负载均衡的结果。

代码注入攻击防护新方法

攻击者的主要目标之一是控制被攻击的计算机,这可以通过代码注入攻击来实现。攻击者利用应用程序中的漏洞,将应用程序的控制流转移到其注入到应用程序内存空间的二进制代码(shellcode)上。最基本的代码注入攻击是基于栈的缓冲区溢出,它会覆盖返回地址,此外还有更高级的攻击技术,如基于堆的缓冲区溢出、间接指针覆盖等。所有这些攻击最终都会覆盖代码指针,即包含处理器在程序执行期间将跳转的地址的内存位置。

根据 NIST 的国家漏洞数据库,9.86% 的报告漏洞是缓冲区溢出,仅次于 SQL 注入攻击(16.54%)和 XSS(14.37%)。尽管缓冲区溢出占所有攻击的比例不到 10%,但它们占高严重等级漏洞的 17%。代码注入攻击往往备受关注,许多大型软件公司都曾受到影响,如苹果的 iPhone、谷歌的 Chrome 浏览器和微软的 Internet Explorer 等。这表明即使目前广泛部署了对策,代码注入攻击仍然是一个非常重要的威胁。

为了应对代码注入攻击,提出了一种新的方法——代码指针掩码(Code Pointer Masking,CPM)。CPM 非常高效,提供的保护与现有高效对策部分重叠,但也具有互补性。通过有效地掩码代码指针,CPM 限制了代码指针可以指向的地址范围。通过设置这些约束,使攻击者永远无法使代码指针指向注入的代码,从而防止攻击者接管计算机。

CPM 的主要贡献包括:
- 描述了一种针对 C 代码的新型代码注入攻击对策的设计。
- 报告了针对 ARM 架构的原型实现,该实现实现了完整的对策。还存在针对 Intel x86 架构的第二个原型,但由于篇幅限制且仍不完整,未在本文中报告。不过,这表明该概念可以移植到不同的处理器架构。
- 通过 SPEC CPU 基准测试表明,该对策仅带来几个百分点的开销,并且与现有的大型应用程序兼容,这些应用程序几乎涵盖了 C 标准的所有方面。
- 对该对策提供的安全保证进行了评估,表明提供的保护与现有对策互补。

代码注入攻击防护的背景知识

代码注入攻击已经存在了数十年,为了阻止它们,已经开发了许多对策,但只有少数对策得到了广泛部署,因为它们能够在仅付出较小(或无)性能成本的情况下提高攻击者的攻击难度。以下是一些常见的对策:
1. 栈金丝雀(Stack Canaries) :通过在栈上的返回地址之前引入一个秘密随机值(金丝雀)来抵御基于栈的缓冲区溢出。当攻击者用基于栈的缓冲区溢出覆盖返回地址时,也必须覆盖位于缓冲区和返回地址之间的金丝雀。当函数退出时,会检查金丝雀是否被更改,如果更改则杀死应用程序。ProPolice 是栈金丝雀对策最流行的变体,它会重新排列函数在栈上的局部变量,以确保缓冲区尽可能靠近金丝雀。然而,即使是 ProPolice 仍然容易受到信息泄漏、格式字符串漏洞或任何不针对栈的攻击(例如,基于堆的缓冲区溢出)的影响,并且并非为每个函数都生成金丝雀,这可能导致漏洞。
2. 地址空间布局随机化(Address Space Layout Randomization,ASLR) :随机化重要结构(如栈、堆和库)的基地址,使攻击者更难在内存中找到其注入的 shellcode。即使攻击者成功覆盖了代码指针,他们也不知道该指向哪里。ASLR 在不增加性能成本的情况下提高了安全门槛。然而,有不同的方法可以绕过它提供的保护。ASLR 容易受到信息泄漏的影响,特别是缓冲区越读和格式字符串漏洞。在 32 位架构上,随机化的程度不够大,使攻击者能够正确猜测地址。新的攻击还使用了一种称为堆喷洒的技术,攻击者通过在堆中填充大量的 shellcode 副本,然后跳转到堆上的某个位置,由于大部分内存都被他们的 shellcode 填充,因此跳转很有可能落在他们的 shellcode 地址上。
3. 不可执行内存(Non-executable memory) :大多数现代 CPU 都支持不可执行内存,允许应用程序将内存页面标记为不可执行。即使攻击者可以将 shellcode 注入应用程序并跳转到它,处理器也会拒绝执行。使用此对策没有性能开销,并且大大提高了安全门槛。然而,一些处理器仍然没有此功能,即使硬件中存在该功能,操作系统也并不总是默认开启。Linux 支持不可执行内存,但许多发行版不使用它,或者仅对某些内存区域使用它。不使用它的一个原因是它会破坏期望栈或堆可执行的应用程序。即使使用不可执行内存的应用程序也容易受到攻击。攻击者可以注入一个精心设计的假栈,当应用程序开始展开栈时,它将展开假栈而不是原始调用栈,从而允许攻击者将处理器引导到库或程序代码中的任意函数,并选择传递给这些函数的参数。这种类型的攻击称为返回至 libc 攻击(return-into-libc attack),相关的攻击称为面向返回的编程(return-oriented programming)。

综上所述,网络主机定位技术在实际应用中面临着一些挑战,但通过合理的参数设置和对网络坐标的有效利用,可以在一定程度上提高定位的准确性。而代码注入攻击防护方面,新的 CPM 方法为应对代码注入攻击提供了一种新的思路和解决方案,与现有对策相结合,可以更好地保护计算机系统的安全。

代码指针掩码(CPM)的设计与实现

CPM 的设计思路

CPM 的核心思想是通过对代码指针进行掩码操作,限制其可指向的地址范围,从而防止攻击者将代码指针指向注入的恶意代码。具体来说,在程序运行过程中,对代码指针进行特殊处理,设置合适的约束条件,使得攻击者无法通过修改代码指针来控制程序的执行流程。

CPM 的实现步骤
  1. 识别代码指针 :在编译阶段,对 C 代码进行分析,识别出所有的代码指针。这可以通过对代码的语法和语义分析来实现,标记出那些包含程序跳转地址的内存位置。
  2. 设置掩码规则 :根据程序的正常执行逻辑和安全需求,确定合适的掩码规则。这些规则将决定代码指针可以指向的合法地址范围,确保攻击者无法将其指向注入的恶意代码。
  3. 插入掩码操作 :在编译后的代码中插入掩码操作,对代码指针进行实时的掩码处理。当代码指针被使用时,首先应用掩码规则,确保其指向的地址在合法范围内。
CPM 在不同架构上的实现情况
  • ARM 架构 :已经实现了完整的 CPM 原型。该原型在 ARM 架构的 C 编译器中进行了集成,通过对代码的修改和优化,实现了对代码指针的有效掩码。
  • Intel x86 架构 :存在一个不完整的原型。虽然由于篇幅限制未详细报告,但它表明 CPM 的概念可以移植到不同的处理器架构上,为更广泛的应用提供了可能。

CPM 的性能与安全评估

性能评估

通过 SPEC CPU 基准测试对 CPM 的性能进行了评估。结果显示,CPM 仅带来了几个百分点的开销,这意味着在实际应用中,它对程序的运行性能影响较小。同时,CPM 与现有的大型应用程序兼容,这些应用程序几乎涵盖了 C 标准的所有方面,说明它可以在不影响现有软件功能的前提下提供安全保护。

安全评估

CPM 提供的安全保护与现有对策互补。与栈金丝雀、ASLR 和不可执行内存等传统对策相比,CPM 不依赖于秘密值,能够抵御一些现有对策无法解决的攻击。例如,它可以防止攻击者通过修改代码指针来绕过传统的保护机制,从而更有效地保护计算机系统免受代码注入攻击。

CPM 的优势与局限性

优势
  • 高效性 :CPM 对程序性能的影响较小,仅带来几个百分点的开销,能够在保证系统性能的前提下提供安全保护。
  • 兼容性 :与现有的大型应用程序兼容,不需要对现有软件进行大规模的修改,便于在实际环境中部署。
  • 互补性 :提供的安全保护与现有对策互补,能够抵御一些现有对策无法解决的攻击,增强了系统的整体安全性。
局限性
  • 架构依赖 :虽然已经证明 CPM 可以移植到不同的处理器架构上,但在某些特定架构上的实现可能需要更多的优化和调整。
  • 未知攻击的挑战 :随着攻击技术的不断发展,可能会出现新的攻击方式来绕过 CPM 的保护。因此,需要持续关注安全领域的动态,及时对 CPM 进行改进和完善。

总结与展望

总结

网络主机定位技术在识别僵尸网络的母舰位置方面具有重要作用,但面临着攻击者的多种干扰和挑战。通过合理设置参数和利用网络坐标信息,可以提高定位的准确性。同时,代码注入攻击是计算机系统面临的严重威胁,现有的对策虽然在一定程度上提供了保护,但仍存在不足。CPM 作为一种新的代码注入攻击防护方法,具有高效、兼容和互补等优势,为保护计算机系统的安全提供了新的解决方案。

展望

未来,可以进一步研究和优化 CPM 的实现,提高其在不同架构上的性能和安全性。同时,可以将 CPM 与其他安全技术相结合,形成更强大的安全防护体系。在网络主机定位方面,可以探索更有效的方法来应对攻击者的干扰,提高定位的精度和可靠性。此外,随着网络安全形势的不断变化,需要持续关注新的攻击技术和安全威胁,及时调整和完善相应的防护措施。

以下是一个 mermaid 流程图,展示了 CPM 的基本工作流程:

graph TD;
    A[识别代码指针] --> B[设置掩码规则];
    B --> C[插入掩码操作];
    C --> D[程序运行];
    D --> E{代码指针使用};
    E -- 是 --> F[应用掩码规则];
    F --> G[检查地址合法性];
    G -- 合法 --> H[正常执行];
    G -- 不合法 --> I[阻止执行];
    E -- 否 --> D;

通过以上的分析和介绍,我们可以看到网络主机定位和代码注入攻击防护是网络安全领域中非常重要的两个方面。CPM 作为一种新的防护方法,为解决代码注入攻击问题提供了新的思路和途径,具有广阔的应用前景。同时,我们也需要不断探索和创新,以应对日益复杂的网络安全挑战。

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化训练,到执行分类及结果优化的完整流程,并介绍了精度评价通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置结果后处理环节,充分利用ENVI Modeler进行自动化建模参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略效果评估体系,涵盖当前企业传播面临的预算、资源、内容效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放GEO优化,提升品牌在AI搜索中的权威性可见性;④通过数据驱动评估体系量化品牌影响力销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析工具指南进行系统学习,重点关注媒体适配性策略GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值