标题 简介 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2019-2408]   作者:闲云野鸡 发表于[2019-07-03]

本文共 [1] 位读者顶过

0x01:目录分析

    1、基本信息获取[出自:jiwo.org]

    链接地址:https://zhidao.baidu.com/question/935871668215037772.html。

   Universal Extractor工具:自动分析文件类型并提取程序中捆绑的插件。

    基本信息获取:注册表信息、安装时的动态情况、进程获取等。

   百度一下“软件安装监视器”,排名前三的工具:otal Uninstall、InstallSpy 2.0、Soft Organizer。

    2、文件数字签名检测

    百度一下“文件数字签名检测”,排名第一的是:文数字签名检查工具(SigcheckGUI)。

    unsigned表示未签名文件,为漏洞或者木马利用文件。

     3、编译选项检测

    4、抗逆向分析检测

    常用的查壳工具“Peid”了解下,脱完壳,OD、IDA了解一下。

                      

     分析应该是可逆程序为不安全程序,反之安全。

    5、危险函数检查

    大多程序应该为C或者C++写的。         

函数 严重性 解决方案
gets 最危险 使用 fgets(buf, size, stdin)。这几乎总是一个大问题!
strcpy 很危险 改为使用 strncpy。
strcat 很危险 改为使用 strncat。
sprintf 很危险 改为使用 snprintf,或者使用精度说明符。
scanf 很危险 使用精度说明符,或自己进行解析。
sscanf 很危险 使用精度说明符,或自己进行解析。
fscanf 很危险 使用精度说明符,或自己进行解析。
vfscanf 很危险 使用精度说明符,或自己进行解析。
vsprintf 很危险 改为使用 vsnprintf,或者使用精度说明符。
vscanf 很危险 使用精度说明符,或自己进行解析。
vsscanf 很危险 使用精度说明符,或自己进行解析。
streadd 很危险 确保分配的目的地参数大小是源参数大小的四倍。
strecpy 很危险 确保分配的目的地参数大小是源参数大小的四倍。
strtrns 危险 手工检查来查看目的地大小是否至少与源字符串相等。
realpath 很危险(或稍小,取决于实现) 分配缓冲区大小为 MAXPATHLEN。同样,手工检查参数以确保输入参数不超过 MAXPATHLEN。
syslog 很危险(或稍小,取决于实现) 在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getopt 很危险(或稍小,取决于实现) 在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getopt_long 很危险(或稍小,取决于实现) 在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getpass 很危险(或稍小,取决于实现) 在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getchar 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
fgetc 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
getc 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
read 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
bcopy 低危险 确保缓冲区大小与它所说的一样大。
fgets 低危险 确保缓冲区大小与它所说的一样大。
memcpy 低危险 确保缓冲区大小与它所说的一样大。
snprintf 低危险 确保缓冲区大小与它所说的一样大。
strccpy 低危险 确保缓冲区大小与它所说的一样大。
strcadd 低危险 确保缓冲区大小与它所说的一样大。
strncpy 低危险 确保缓冲区大小与它所说的一样大。
vsnprintf 低危险 确保缓冲区大小与它所说的一样大。

    这个是危险函数的解决方案:https://blog.csdn.net/leo2007608/article/details/41016517。 

    百度一下“C/C++静态扫描分析工具”,排名前三的是:Flawfinder、TscanCode、SourceInsight_Scan。

    6、API HOOK防护测试

 我自己常用的工具是:火绒剑  down4.huorong.cn/hrsword.exe。

 还有这个: https://www.jpzyfx.com/22367.html。

    7、进程保护测试

   防护建议:

      1)将你所有任务安全合法的DLL名称全部记录下来,并且记录合法DLL的MD5 或者对记录DLL签名校验。         

      2)查看内存运行是否被直接查看。(WinHex工具)。

  这个是它的运行内存数据,接着在里面找敏感数据,比如账户密码等。

   8、数据储存安全检查

    顾名思义就是:本地文件是否明文储存敏感数据。

   9、数据传输安全测试

    建议可用工具:BURP、wireshark等抓包工具。

   10、防键盘监听测试

    百度搜索“防键盘监听”第一名:KeyScrambler。

     还有就是一些键盘监听工具:Spyrix Free Keylogger。

     好的程序,键盘应该防止被监听。

   11、单账户多点登陆测试

    这个简单,整一个账户,在同个程序登陆,查看是否会被T下线。如果否,则不安全。

   12、防进程代码注入检测

     请看第五的防护建议第一条。

   13、溢出风险检测

    请参考:http://cdmd.cnki.com.cn/Article/CDMD-10135-1014352678.htm 。

     com fuzz请参考:https://www.freebuf.com/sectool/76861.html。

     接口测试工具推荐:COMRaider、httpapi、Postman。

   14、防截屏检测

    好的程序都会防止被截屏、比如银行网银系统、比如国家机密系统。让程序不能调用“PrintScreen”,这个程序员知道怎么改。

   15、C/S抓包测试

    1)抓流量推荐用:wireshark。

     2)抓的数据包可以导到BURP用。

     3)查看抓到的链接是否浏览器直接打开。

     4)是否可以被挂代理抓流量。

     5)传输数据是否加密。

评论

暂无
发表评论
 返回顶部 
热度(1)
 关注微信