“客户端安全”涉及两个主要问题。
今天最常见的客户端是浏览器,形式为“
下载驱动器
“。大多数情况下,内存损坏漏洞都应该受到指责.ActiveX com对象已成为Windows系统上的常见路径
AxMan
是一个很好的ActiveX模糊器。
在内存保护系统方面,/ GS是一个金丝雀,并不是所有停止缓冲区溢出的全部。它仅旨在保护试图覆盖返回地址和控制EIP的基于堆栈的溢出。 NX区域和金丝雀是一件好事,但ASLR可以更好地阻止内存损坏漏洞,而且并非所有ASLR实现都同样安全。即使使用这三种系统,你仍然会受到攻击。 IE 8在Windows 7上运行具有所有这一切,它是第一个被攻击pwn2own的人之一,这里是
他们是怎么做到的
。它涉及将Heap Overflow和Dangling Pointer漏洞链接在一起。
“客户端安全”的问题是
CWE-602:服务器端安全的客户端强制执行
当服务器端使用秘密资源(如密码)信任客户端或发送有关敏感信息的报告时创建
球员得分
在一个Flash游戏中。
查找客户端问题的最佳方法是查看流量。 WireShark是非浏览器客户端/服务器协议的最佳选择。然而
TamperData
是目前为止您可以用于基于浏览器的平台(如Flash和JavaScript)的最佳工具。每个案例都会有所不同,不像缓冲区溢出很容易看到流程崩溃,客户端信任问题都是关于上下文的,需要熟练的人来查看网络流量来找出问题。
有时,愚蠢的程序员会将密码硬编码到他们的应用程序中。它琐碎的反编译应用程序来获取数据。 Flash反编译非常简洁,您甚至可以获得完整的变量名称和代码注释。另一种选择是使用像OllyDBG这样的调试器来尝试在内存中查找数据。 IDA-Pro是C / C ++应用程序的最佳反编译器。