
- 安全性固然重要,性能也同样重要。
- 超过半数(57%)的组织使用Web应用防火墙来保护云端和本地部署的应用(《2018年应用交付现状》)
- 扫描出站响应,是检测正在发生的安全入侵并加以阻止的最后机会之一。
- “好事过头”也可能适得其反。请仔细权衡安全性与性能,以优化两者。
我们所有人都知道,性能对于数字业务持续取得成功至关重要。我们这些伴随着拨号上网和长达数小时的下载过程成长起来的人,往往更能容忍性能问题,但数字原住民一代却没那么有耐心。他们期待即时响应和快速下载。
数据印证了我们有多么缺乏耐心:超过80%的人曾因应用性能不佳而将其删除。甚至有些人愿意付费换取应用的极速体验,这一比例达到30%。
但无论属于哪一代科技用户,我们都很难满足。在提升应用速度的同时,绝不能忽视安全性。否则,一旦我们的数据遭到泄露,我们采取的行动可不只是删除应用。
因此,平衡性能需求与安全需要的重任就落在了IT专业人员,尤其是安全从业人员的肩上。应用必须既快速,又安全。
超过半数的组织会采用以下方式来提高应用安全性:使用Web应用防火墙(WAF)以及其他应用服务来保护应用免受攻击。具体有两种方式:
首先,它们会扫描入站请求,以检测任何恶意活动。其次,它们会检查出站响应。毫不意外,始终采用这些安全策略的组织对自身抵御应用攻击的能力更有信心。

使用WAF,可以检查请求和响应中的每一处细节,并根据需要解析、拆分、转换和修改内容。
但能做到,并不意味着应该这样做。
安全并非没有成本。要以发现攻击或入侵证据所需的细致程度检查应用流量,需要占用CPU周期和内存。
因此,兼顾安全性与性能至关重要。扫描或清洗每多耗费一微秒,用户就要多等待一微秒才能收到响应。
而这些延迟会不断累积。
毕竟,受物理规律所限,数据包通过网络往返需要数微秒,建立连接又需要数微秒,处理还要再花数微秒……诸如此类。每项操作都需要时间,耗时越长,用户就越不耐烦。
面对这种冲突,有些人过去往往会因噎废食,关闭安全功能,直到性能达到可接受的水平。但这并非正确的解决办法。我们可以找到一个平衡点,既满足安全需求,又满足性能要求。
对于请求,可以执行协议级解析和验证。检查有效载荷,查找任何攻击迹象。应优先进行基于签名的扫描,其次再进行基于文本的比较。尽可能采用基于签名的扫描有助于提升安全检查性能,因为无需进行解析和比较,只需直接比对,处理速度相当快。
对于响应,不要试图通过解析来逐一审查内容。这里需要对开发人员保持一定程度的信任,相信JSON格式正确,或XML遵循相应的架构。事实上,如果存在协议或格式错误,用户自然会发现。这是开发人员需要关注的问题,通常不属于安全风险。
真正构成安全风险的是其中包含敏感数据,例如信用卡号、账号、社会保障号码或电子邮件地址。这些数字和数据具有明确的模式,可以快速扫描并在数据中加以遮蔽。与基于签名的扫描类似,这里执行的是模式匹配,而安全服务已经非常擅长以尽可能快的速度完成这项工作。
如果条件允许,还应检查内容长度。许多影响较大的漏洞利用行为,仅凭返回的内容量就能识别。如果已知某个特定请求应仅返回约1 KB的数据,那么4 KB的响应很可能需要触发警报。这项检查很简单,所需时间远少于解析和统计数据记录。
一个实用的经验法则是:对于请求,始终遵循“安全规则零”;只要存在用户输入,就尽可能检查所有内容。对于出站响应,应查找正在发生的数据泄露迹象,并对敏感数据进行混淆处理,但不必花时间关注数据格式和架构合规性。响应格式是否正确应由开发人员负责,这是他们的职责,而不是您的。
安全性与性能可以兼顾,前提是不能顾此失彼。这一点对两者都适用:不要为了性能而牺牲安全性,也不要为了(可能并无必要的)安全措施而牺牲性能。
如果有策略地运用安全措施来防止漏洞利用并检测安全事件,就能在安全与性能之间实现所需的平衡,既让用户满意,又保护数据和应用。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。