这是一个80端口的世界(并且在较小程度上也是端口443)。截至2009年,网络流量约占所有互联网流量的52%,并且以每年24.76%的速度增长。
因此,基于第3层和第4层协议信息(如 IP地址 和TCP端口)过滤流量的防火墙不再足以保护企业周边。“web代理”和“Web应用程序网关”的使用已经爆炸式增长,其中通常包括用于检查和过滤Web流量的高度专业化的第7层感知防火墙功能。
Web代理和缓存在过滤流量和加速请求方面变得越来越流行。甚至消费者互联网服务提供商也已经采用了这种想法(有时使用类似的技术在下载广告时将广告插入到页面中)。
无论在原始配置期间是否考虑安全性,取证调查员都可以利用通常由Web代理保留的粒度日志和缓存。内容分发系统和分布式Web缓存的兴起进一步增加了取证分析师从调查目标附近的本地缓存中收集Web内容的需求,因为Web内容通常针对特定企业,地理区域,设备类型甚至个人Web进行修改客户端。
为什么调查Web代理?
Web代理和缓存服务器可以成为法医分析师的金矿。Web代理可以在一个地方完全包含整个组织的Web浏览历史记录。当放置在组织的周边时,它们通常包含所有HTTP或HTTPS流量的历史记录,包括博客,即时消息和基于Web的电子邮件,例如Gmail和Yahoo! 帐户Web缓存服务器也可能在有限的时间内包含页面本身的副本。
这对于法医分析师来说非常好。调查人员可以同时检查组织中每个人的Web浏览历史记录。此外,可以从缓存重建网页。调查人员通常只是访问网站以查看它们是什么。这有一些严重的缺点:首先,不能保证您看到最终用户之前看到的内容,其次,您的冲浪现在出现在目标服务器的活动日志中。如果服务器的所有者是攻击者或嫌疑人,您可能只是将其关闭。首先检查Web缓存以查看本地存储的内容会好得多。
Web代理的发展和成熟有两个主要原因:性能和安全性。有许多类型的Web代理。下面是一些简单的例子(有很多产品包含了这些产品的不同方面):
缓存代理
-存储以前使用的页面以加快性能。
•
内容过滤器
- 根据关键字, 恶意软件的存在或其他因素检查Web流量和过滤器的内容。
•
TLS / SSL代理
-在会话层接收Web流量,以检查 TLS / SSL加密的Web流量的内容。
•
匿名代理
- 作为中介来保护网络 冲浪者的身份。
•
反向代理
- 提供 从Internet到Web服务器的入站Web请求的内容检查和过滤。
如今,网络代理通常被设置为处理从组织内到因特网的所有出站Web请求(有时称为“转发代理”)。在此设置中,Web代理通常配置为提供出站请求和入站回复的缓存,内容检查和过滤。这有很多好处。Web代理可以识别并过滤掉可疑或不适当的网站和内容。Web代理还缓存常用页面,这通过消除每次请求时重新获取的常用外部内容的需要来提高性能。与单个Web浏览器缓存内容以提高单个客户端的性能的方式大致相同,Web代理缓存内容以供整个企业使用。
反向网络代理也很有用。通常,它们包括日志,允许调查人员识别可疑请求,并提供与受保护服务器的基于Web的攻击相关的IP地址。
Web代理通常涉及调查,原因如下:
•怀疑内部网络上的用户违反了Web浏览策略。
•内部系统已被盗用或可能已 通过Web 下载恶意内容。
•有人担心专有数据可能是通过基于网络的 出口泄露的。
•受反向Web代理保护的Web服务器受到攻击或被黑客攻击。
•Web代理本身已被黑客攻击(罕见)。
在本章中,我们将重点放在分析“前向”Web代理,因为它们通常用于组织中。用于分析前向Web代理的许多取证技术也可以应用于不同设置中的其他类型的Web代理(匿名代理的特殊例外,因为这些通常被设计为保留很少或没有关于端点的信息)。
Web代理功能
随着时间的推移,Web代理已经发展了标准功能,包括:
• 缓存 -在有限的时间内对Web对象进行局部存储,并为 响应客户端Web请求而提供服务以提高性能。
• URI过滤 - 根据 黑名单,白名单,关键字或其他方法实时过滤来自客户的Web请求。
• 内容过滤 - 根据关键字,防病毒扫描结果或其他方法动态重建和过滤Web请求和响应的内容。
• 分布式缓存 -在由 多个缓存Web代理组成的分布式层次结构中的网页,以提供本地自定义Web内容,提供 广告和提高性能。我们依次讨论这些问题。
缓存
当然,大多数Web服务器都托管了许多不经常更改的静态数据。单个Web客户端通常会请求之前请求的数据。组织可能在其内部网络上拥有许多Web客户端,这些客户端会请求已由另一个内部Web客户端检索的数据。随着时间的推移,互联网社区已经发展并标准化了通过在本地和分布式缓存代理中缓存Web服务器数据来提高Web使用效率的机制。
检查硬盘驱动器的法医调查人员知道网页通常由网络浏览器本地缓存,并且可以通过标准硬盘驱动器检索分析技术。网络取证调查员还应该意识到,网页通常缓存在组织的周边,以及ISP和分布式缓存代理,并且可以通过分析Web 代理服务器 来检索。客户端Web活动也可能会记录在这些位置。
HTTP协议包括内置机制,以便于随时间成熟的缓存。根据RFC 2616(“超文本传输协议-HTTP / 1.1”),“在HTTP / 1.1中缓存的目标是在许多情况下消除发送请求的需要,并消除在许多其他情况下发送完整响应的需要。前者减少了许多操作所需的网络往返次数; 我们为此目的使用“到期”机制......后者降低了网络带宽要求; 我们为此目的使用“验证”机制。“
到期和验证机制对于法医调查人员的理解非常重要,因为他们可以指出:
•最近从服务器检索到缓存的Web对象的时间
•Web代理缓存中是否可能存在Web对象
•特定Web客户端是否实际查看了Web对象的缓存版本
过期
HTTP协议旨在通过提供“过期模型”来减少Web客户端和代理对Web服务器请求的需求,通过该模型,Web服务器可以指示页面“新鲜”的时间长度。对象是“新鲜的”,缓存Web代理可以将页面的缓存副本提供给Web客户端,而不是向源Web服务器发出新请求。这可以显着减少组织使用的带宽量,最终用户通常比必须从远程网络检索的响应更快地接收本地缓存的响应。当Web对象的到期时间过去时,该页面被视为“陈旧”
过期模型通常通过以下两种机制之一实现:
• Expires标题 - “Expires”标题列出了将对象 视为过时的日期和时间。虽然这是一种指示 页面过期的直接机制,但实现可能很棘手,因为客户端和服务器的日期和 时间必须同步才能使其按设计工作。
• 高速缓存控制 - 对于HTTP / 1.1,“高速缓存控制”字段支持 高速缓存的粒度规范,包括“max-age”指令,允许Web服务器 指定响应的时间长度有效。max-age指令 定义为接收后响应有效的秒数,因此不需要同步Web服务器和高速缓存代理/本地系统之间的绝对时间。
验证
RFC 2616定义的“验证模型”允许缓存Web代理和Web客户端发出原始Web服务器的请求,以确定是否仍可以使用本地缓存的Web对象副本。虽然在这种情况下代理和/或本地客户端仍需要联系服务器,但服务器可能不需要发送完整响应,从而再次提高Web应用程序性能并减少中央服务器上的带宽和负载。
为了支持验证,Web服务器生成一个“缓存验证器”,它附加到每个响应。然后,Web代理和客户端在后续请求中提供缓存验证器,并且如果Web服务器响应该对象仍然“有效”(即,使用304“未修改”HTTP状态代码),则使用本地缓存的副本。
常见的缓存验证器包括:
• Last-Modified标头 - “Last-Modified”HTTP标头用作 基于绝对日期的简单缓存验证机制。Web代理/客户端向 服务器发送最新的“Last-Modified”标头,如果该对象 自该日期以来未被修改,则认为该对象有效。
• 实体标记(ETag) - ETag是Web服务器分配给 位于特定URI 的Web对象的唯一值。分配ETag值的机制 不是由标准指定的,具体取决于Web服务器。通常,ETag 基于Web对象的加密哈希,例如MD5sum,根据 定义,只要Web对象被修改,它就会被更改。ETag有时也是 从上次修改的日期和时间,随机数或修订号生成的 。“强”ETag值表示缓存的Web对象 与服务器上的副本一点一点,而“弱”ETag值表示缓存的Web 对象在语义上是等效的,尽管它可能不是精确的逐位复制。
URI过滤
在许多组织中,设置Web代理以限制和记录Web冲浪活动。通常,企业将Web请求限制为已知“好”网站列表(“白名单”)或阻止用户访问已知的“坏”网站(“黑名单”)。通常这样做是为了遵守可接受的使用策略,保留带宽或提高员工的工作效率。
维护白名单的过程相当简单,但在许多组织中,员工需要访问各种网站才能完成工作,因此将网上冲浪活动限制为白名单是不切实际的。另一方面,维护黑名单可能非常复杂,因为它要求管理员保持长时间不断变化的已知“坏”网站列表。但是,黑名单提供了更大的灵活性,并且已出版和商业化的黑名单可以减轻当地管理员的负担。URI过滤也可以基于URI中存在的关键字进行。
人力资源违规,包括不适当的网上冲浪,是网络取证调查的最常见原因。因此,法医调查员可能经常被要求审查网络活动访问日志,并提供实施黑名单/白名单的建议。
诸如squidGuard之类的工具允许管理员将黑名单/白名单技术整合到Web代理中。
内容过滤
随着Web变得更加动态和复杂,透明的Web代理越来越多地用于过滤Web内容。这一点尤为重要,因为在过去的十年中,客户端攻击已经上升到流行病的程度,并且通过网络发生了大量的系统妥协。
内容过滤器通常用于动态扫描Web对象以查找病毒和恶意软件。此外,他们可以根据HTTP元数据中的内容关键字或标签过滤不适当内容的Web响应。内容过滤器还可用于过滤出站Web流量,例如HTTP POST,以便检测专有数据泄漏或机密数据(如社会安全号码)的泄露。
分布式缓存
Web提供商越来越依赖缓存Web代理的分布式层次结构来向客户端提供Web内容。分布式Web缓存在性能,盈利能力和功能方面具有许多优势。使用分布式缓存系统,Web提供商可以减少中央服务器的负载,通过将Web内容存储在更靠近端点的位置来提高性能,动态地提供广告,并根据地理位置或用户兴趣自定义网页。
分布式Web缓存的两个最常用协议是Internet缓存协议和Internet内容适配协议。
Internet缓存协议(ICP)
Internet缓存协议(ICP)是一种在分布式Web缓存层次结构中的Web缓存服务器之间进行通信的机制.5在20世纪90年代中期开发的ICP的目的是进一步利用它通过允许Web缓存服务器网络与“父”和“兄弟”Web缓存进行通信和请求缓存的Web内容,从Web缓存产生的性能提升。ICP被设计为第4层协议,通常通过UDP传输,因为请求和响应必须非常快速地发生才能有用。
ICP由Squid和BlueCoat ProxySG以及其他流行的网络代理提供支持。
Internet内容适配协议(ICAP)
Internet内容适配协议(ICAP)旨在支持分布式缓存代理,这些代理可以透明地过滤和修改请求和响应。ICAP用于将网页翻译成本地语言,将广告动态插入网页,扫描网络对象中的病毒和恶意软件,审查网络响应以及过滤网络请求。如RFC 3507中所述,“ICAP客户端......将HTTP消息传递给ICAP服务器以进行某种转换或其他处理('适应')。服务器对消息执行其转换服务,并将响应发送回客户端,通常使用修改后的消息。适应的消息可以是HTTP请求或HTTP响应。“
ICAP减少了中央服务器的负载,允许内容提供商跨多个服务器分配资源密集型操作。ICAP还使内容提供商,ISP和本地企业能够更轻松地自定义Web内容以供本地使用,并有选择地将定制内容“更接近”地存储到端点,从而实现性能改进。
ICAP和类似协议(例如Open Pluggable Edge Services [OPES])对网络取证的从业者有着巨大的影响。根本不再是取证分析师可以主动访问URL并期望接收最终用户在较早日期,不同设备或不同网络位置查看的相同数据。要恢复最佳证据,最好尽可能接近调查目标检索缓存的Web数据。例如,如果本地硬盘驱动器上没有缓存的网页,则下一个最佳选项可能是企业的缓存Web代理,其次是本地ISP的缓存Web代理。
780
196