Windows客户端攻击面分析

一、客户端侧的攻击

1. 文件分析

说明:识别语言和开发框架,不同用户瘦客户端和胖客户端

举例:配置不合理将敏感数据放着在客户端配置文件中

防御:请勿将相关配置凭证放置在客户端用户目录 

Windows客户端攻击面分析

 

 

2. 二进制分析反编译分析

说明:反编译静态分析,动态调试分析

举例:硬编码写死在客户端

防御:请勿写死在客户端代码中 

Windows客户端攻击面分析

 

 

3. 内存分析

说明:客户端与服务器进行通信的过程中,将明文数据临时保存在内存中

举例:内存中抓取明文传输的凭证

防御:数据通过密码传输,特别是跟用户凭证相关的数据

Windows客户端攻击面分析

 

 

4. DLL劫持

说明:DLL劫持漏洞(DLL Hijacking Exploit),这个名字缘起微软在2010823日发布的2269637号安全公告。通俗点说,这个漏洞就像是去年炒的沸沸扬扬的深圳526车祸中总会提到的掉包;严格点说,它是通过一些手段来劫持或者替换正常的DLL,欺骗正常程序加载预先准备好的恶意DLL的一类漏洞的统称。利用DLL劫持漏洞,病毒木马可以随着文档的打开(或者其他一些程序正常行为)而激活自身,进而获得系统的控制权。

举例:检测系统中存在DLL劫持的程序 

防御:对于系统共享的DLL(如user32.dll, mfc80loc.dll等),不能放到程序目录下时,应该:使用绝对路径加载

 Windows客户端攻击面分析

 

 

二、网络传输侧的攻击

1. 明文传输

说明:HTTP明文传输或者明文通过TCP传输都可能造成被嗅探攻击

举例:HTTP明文接口传输

防御:HTTPS 传输或者使用对称加密通过TCP协议进行传输交互

Windows客户端攻击面分析

 

 

2. API 安全

说明:代码逻辑在客户端可见,可进行静态分析调试

举例:用户登录接口,SQL注入漏洞

防御:使用预编译的SQL接口,或者参数化查询来执行SQL查询

Windows客户端攻击面分析

 Windows客户端攻击面分析

 

 

三、服务端侧的攻击 

1. TCP/UDP 攻击

说明:针对TCP协议的应用,就是服务端的溢出漏洞,DOS攻击之类的问题

举例:FTP客户端DOS溢出漏洞  

防御:

1. 通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码

2. 利用编译器的边界检查,来实现缓冲区的保护

3. 在程序指针失效前进行完整性检查

Windows客户端攻击面分析

 

 

2. 应用层攻击

说明:应用层攻击接口相关的攻击类型

举例:OWASP top 10

防御:特殊字符过滤,使用成熟框架来防止通用型的漏洞攻击

Windows客户端攻击面分析

上一篇:C#的ugui与XLua整合的案例


下一篇:PermissionError: WinError