A/B-Test (Overlapping Experiment Infrastructure: More, Better, Faster Experimenta)

本文针对上周的工作进行了总结,上上周的工作将在接下来通过文章进行总结,主要内容为DEIN 模型。

为了解决推荐算法基于web实验的模型验证,我参考了Overlapping Experiment Infrastructure: More, Better, Faster Experimentation 2010 的google 这篇文章。

这篇文章针对当时的web验证方案进行了总结,并未google 的web实验验证方案的设计提供了参考,在此基础之上,google 工程师设计了自己的验证方案, 我将对相关的工作做概要性的简述。

首先从图1 出发:

这篇文章中提出了一个数据流通道的简易路径,主要由两个server(search ,ads)组成,前者构成了数据通道的前向,后者提供了后项, web server 为推荐的可执行容易, 一般来说数据并发量巨大可以采用evpp c++ web 容器, 如果访问并发量不大可以采用轻量级的web容器,例如flask。前者有着诸多优势,且支持多线程。后者开发容易,部署简单。

query中包含一些重要的参数:userid, feature conbination subsets , cookie(google 特有,实际的参数是否带用根据具体的实际情况)。

有了基本的流程之后,我们进去图3观察:

 作者认为实验分为对照性实验以及单因素实验和多因素实验,实验所需要的样本以及参数需要通过对样本进行分流分桶以及进行实验参数的配置。图三主要展示了作者针对实验流量的分流。

作者引入了cookie 的概念,作者认为cookie是唯一的,可变的。且作为用户的唯一标识符。实际上在我们的系统中由于做不到google那样的庞大,可以采用数据库中的唯一字段,或者根据索引策略去实现。也可以将cookie与用户的数据库id相对应。google 工程师对于分流增加了两个策略:

1 ,求mod策略。

2,随机策略。

原文如下所示:

 假设存在两个对照实验组:实验组named 实验1, 对照组named 实验2. 我们对新进入的userid进行mod/2 为偶数则进入实验1,作为实验1 的样本,mod/2 为奇数,作为实验1 的样本。这里新进入的样本进行随机可能会产生两个问题(样本缺乏以及样本偏值的问题),我们的目标就是确定一个实验可变参数,其他参数保持一致,在此前提下进行对照实验。相关原文在第二部分的RELATED WORK中可以查询。如下所示:

 对于偏值问题可以在样本缺乏的问题上进行探讨。

简单的需求满足不了google 基于推荐实验验证的要求,主要针对多因素的实验验证,工程师做出了多层的模式,以更方便更灵活,更快的方式部署实验验证。

 对于求mod需要做出一些改变,工程师构建了一个函数,通过多个条件将数据进行分流,原文如下:

 f函数将流量划分为几大模块,对应图2中的几个层次。才层次中可以采用随机的方式进行流量分桶。每一次数据的进入类似抛硬币,等同于n次伯努利实验,在此基础上可以分析实验的前置工作,例如样本是否具有统计显著性等工作。在图3中给出了相关的f函数的使用方式。5.2 小节对前置工作给出了具体的方法。

实验的指标可以根据CTR或者基于CNN网络的指标进行相关的计算。例如准确率,召回率,ROC,多样性等等。

根据这边文章我对当前的工作进行了相应的构建。

从应用的角度介绍来AB test的一些内容,当收集好数据之后做推断性统计分析你可能需要具备以下知识,这里限于篇幅不做介绍,自行查阅统计学书籍阅读,可参考《统计学》贾跃平,可汗学院统计学等书籍和视频。

1、点估计

2、区间估计

3、中心极限定理(样本估计总体的核心,可以对比看一下大数定理)

4、假设检验

其中假设检验部分为核心,其他辅助更好的理解该部分内容,比如区间估计可以理解为正向的推断统计,假设检验可以理解为反证的推断统计,关于假设检验本身,你可能还需要知道小概率事件、t分布、z分布、卡方分布、p值、alpha错误、belta错误等内容。   

以上则是这篇文章最简要的概述,当然存在着不足,欢迎讨论,目前很多算法的A/B test     都遵循这篇文章的设计模式,在诸多领域都有着广泛的应用。

<think>嗯,用户想了解CVE-2011-3192漏洞的详情以及Apache服务器的相关安全问题。首先,我需要先回忆一下这个漏洞的具体情况。CVE-2011-3192是Apache HTTP服务器的一个拒绝服务漏洞,涉及byterange过滤模块。攻击者可以通过发送特制的HTTP请求头,导致服务器消耗大量内存和CPU资源,进而引发服务中断。 接下来,我需要确认漏洞影响的版本范围。根据记忆,这个漏洞影响Apache 2.2.x版本,具体是2.2.19之前的版本。用户可能需要知道如何检查自己的Apache版本是否受影响,以及具体的修复方法。Apache官方应该已经发布了补丁,升级到2.2.20或更高版本可以解决这个问题。此外,可能有临时缓解措施,比如修改配置禁用byte-range特性,或者使用mod_headers模块来过滤恶意请求。 然后,用户还提到想了解相关的Apache安全问题。除了这个特定的CVE,我应该想到其他常见的Apache漏洞,比如CVE-2017-9798(Optionsbleed)、CVE-2019-0211(本地提权)等。需要简要说明每个漏洞的影响和解决方案,以提供全面的信息。 还要注意引用提供的资料。用户给出的引用[1]是关于Verizon数据泄露的,可能与当前问题关联不大,但引用[2]提到S-TAP的优化参数,可能与服务器性能或安全配置有关,但不确定是否直接相关。可能需要忽略这些引用,除非能找到关联点,但当前问题主要围绕Apache漏洞,所以可能不需要直接引用它们。 用户可能需要知道如何检测自己的服务器是否存在这个漏洞,比如查看版本号,或者使用漏洞扫描工具。另外,解释漏洞的技术细节时,要确保用中文清晰表达,比如HTTP请求中的Range头如何被滥用,导致内存分配问题。 最后,生成相关问题时要考虑用户可能的后续疑问,比如如何升级Apache、如何配置mod_headers、其他相关CVE等。确保问题覆盖漏洞分析、修复步骤、相关安全问题及最佳实践。</think>### CVE-2011-3192 Apache byterange filter DoS漏洞详解 #### 漏洞概述 CVE-2011-3192是Apache HTTP Server 2.2.x版本中的一个高危拒绝服务(DoS)漏洞,涉及`mod_headers`和`mod_setenvif`模块处理`Range`请求头的方式。攻击者通过发送包含大量重叠字节范围(byte-range)的HTTP请求头,可导致服务器内存耗尽或CPU资源过载,最终使服务不可用[^1]。 #### 技术原理 1. **触发条件**:当HTTP请求头包含类似`Range: bytes=0-1, 0-2, 0-3,...,0-N`的恶意构造时 2. **漏洞根源**:Apache的byterange过滤器未正确处理此类请求,导致内存分配呈$O(n^2)$复杂度增长 3. **影响范围**:Apache 2.2.0至2.2.19版本,且未安装官方补丁的系统 数学表达示例: 对于包含$k$个重叠范围的请求,服务器需处理$\frac{k(k+1)}{2}$次内存分配操作,最终导致资源耗尽。 #### 修复方案 1. **官方补丁** 升级至Apache 2.2.20+版本,该版本引入`Range`头解析限制: ```apache # httpd.conf 配置示例 SetEnvIf Range (,.*?){5,} bad-range=1 RequestHeader unset Range env=bad-range ``` 2. **临时缓解措施** ```apache # 禁用byte-range特性 RequestHeader unset Range # 或限制请求头长度 LimitRequestFieldSize 8190 ``` 3. **第三方防护**:使用Web应用防火墙(WAF)过滤异常`Range`头,参考S-TAP等安全产品的缓冲优化方案[^2] #### Apache相关安全问题扩展 1. **CVE-2017-9798 (Optionsbleed)** - 漏洞类型:信息泄露 - 影响模块:`mod_allowmethods` - 修复方式:升级至2.2.34+/2.4.27+ 2. **CVE-2019-0211 (本地提权)** - 漏洞类型:权限提升 - 影响版本:Apache 2.4.17-2.4.38 - 修复方案:更新至2.4.39+并限制`mod_prefork`配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值