神策科技SDK源代码安全审计报告(IOSSDK)文档编号密级商业机密版本编号V1.
0日期2019年08月16日2020绿盟科技版权声明本文中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属神策科技和绿盟科技所有,受到有关产权及版权法保护.
任何个人、机构未经书面授权许可,不得以任何方式复制或引用本文的任何片断.
版本变更记录时间版本说明修改人2019-8-16V1.
0文档创建武立鑫适用性声明本文档为北京神州绿盟信息安全科技股份有限公司(以下简称"绿盟科技")在神策科技IOSSDK源代码安全审计服务中所提供的源代码安全审计报告,适用于相关技术人员在针对发现的漏洞进行安全修复时参考.
神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-1-目录一.
执行摘要.
1二.
服务综述.
22.
1审计概述.
22.
2审计依据.
22.
3项目实施.
42.
3.
1审计对象.
42.
3.
2审计时间.
42.
3.
3审计人员.
42.
3.
4审计工具.
4三.
IOSSDK源代码安全审计重点场景.
53.
1数据安全.
53.
2静态安全.
53.
3运行时安全.
53.
4安全策略设置.
53.
5网络通信安全.
5四.
源代码安全审计结果.
64.
1日志信息安全.
64.
1.
1漏洞概述.
64.
1.
2缺陷代码分析.
64.
1.
3修复建议.
64.
2程序数据存储安全.
94.
2.
1漏洞概述.
94.
2.
2缺陷代码分析.
94.
2.
3修复建议.
104.
3WEBVIEW跨域请求.
104.
3.
1漏洞概述.
104.
3.
2缺陷代码分析.
114.
3.
3修复建议.
114.
4缓冲区溢出.
114.
4.
1漏洞概述.
114.
4.
2缺陷代码分析.
114.
4.
3修复建议.
124.
5安全策略设置.
124.
5.
1漏洞概述.
124.
5.
2缺陷代码分析.
124.
5.
3修复建议.
124.
6网络安全通信.
13神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-2-4.
6.
1漏洞概述.
134.
6.
2缺陷代码分析.
134.
6.
3修复建议.
15五.
审计结果及建议.
1六.
感谢.
2附录A漏洞风险定级.
3神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-3-表格索引表2.
1审计风险点.
1表3.
1审计对象.
4表3.
2项目实施时间.
4表3.
3源代码安全审计实施人员.
4表3.
1源代码安全审计工具.
4神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-4-插图索引图3.
1源代码安全审计技术模型.
2神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-1-一.
执行摘要经神策科技授权,绿盟科技对其神策科技IOSSDK进行源代码安全审计.
通过本次代码审计活动,我们发现神策科技IOS安全防护策略和技术防控功能设计较好,结合各个安全风险审计项进行审计,未见安全风险.
如下,为本此审计工作中重点审计风险点及对应审计结果:表1.
1审计风险点审计项名称审计目的审计结果日志信息安全开发者习惯使用日志辅助程序调试,则可能泄露访问链接、收发的数据包甚至身份凭证等内容.
安全程序数据存储安全检设备中测程序对应的数据文件夹是否包含敏感数据.
由于设备可以进行越狱,且越狱之后数据不会丢失,则导致本地存储敏感信息将造成较大风险.
安全符号表信息泄露符号表是逆向工程中的兵家必争之地.
有效的符号表能够极大地方便反汇编和逆向工作的进行,在发布应用的时候未清除掉相关的符号则会辅助逆向分析.
安全越狱环境检测越狱的设备是不安全环境,各种恶意程序都容易运行在越狱环境之中.
越狱环境中运行则难以保证程序使用过程中数据的安全性.
检测设备是否越狱是一个比较有用的方法.
安全界面切换保护用户在登录界面写入账号密码之后,若界面切换时未清除用户输入的密码,可导致手机丢失后使用已输入的信息进行登录.
安全安全退出/注销程序在进行正常退出之后如果后台不消除相关的用户身份凭证,则在身份凭证被窃取之后容易造成数据泄露.
安全缓冲区溢出系统向缓冲区空间中填入超过缓冲区容量大小的数据,可破坏内存中的的相关数据结构从而形成漏洞.
安全通信协议安全使用HTTP协议进行通信过程中可能会遭受中间人攻击,威胁数据安全.
安全通信数据加密程序提交数据给服务端时,密码等关键字段是否进行了加密和校验,防止恶意嗅探和修改用户数据包中的密码等敏感信息.
安全证书强制性校验可能存在忽略服务端证书校验的安全漏洞,对服务器没有校验或者没有在校验错误时候进行错误提示等.
导致攻击者可通过伪造证书等手法进行攻击获取.
安全软件升级缺陷程序在进行版本检查的时候,通常由服务器返回对应的升级地址以方便用户访问升级,可能跳转到APPStore,也可能跳转到某个页面进行下载安装.
安全神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-2-二.
服务综述2.
1审计概述在对神策科技IOSSDK进行源代码安全审计活动前,我们会审阅系统相关文档,对技术架构的安全性进行审计和评估,并且熟悉系统实现的业务流程,评估其可能存在的安全风险.
在审计活动起始阶段,我们会使用源代码安全审计工具进行全面的审计,发现其存在的不安全编码并进行人工分析和确认.
自动化审计完成后,审计实施人员对重要业务场景进行深入分析.
对SDK相关代码,除常规的安全漏洞如日志信息安全性、越狱环境检测、通信协议安全等漏洞外,我们还会参照相关行业标准及规范,对其合规性进行审计.
图2.
1源代码安全审计技术模型2.
2审计依据为保证项目实施的标准化和规范化,本次源代码安全审计活动主要参考如下依据:国内通用标准、指南或规范GB/T22239信息安全技术网络安全等级保护基本要求ISO/IEC27001:2013信息技术-安全技术-信息系统规范与使用指南ISO/IEC13335-1:2004信息技术-安全技术-信息技术安全管理指南神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-3-ISO/IECTR15443-1:2005信息技术安全保障框架GB/T20984-2007信息安全技术信息安全风险评估规范GB/T19715.
1-2005信息技术-信息技术安全管理指南GB/T19716-2005信息技术-信息安全管理实用规则GB/T18336-2015信息技术-安全技术-信息技术安全性评估准则GB17859-1999计算机信息系统安全保护等级划分准则GB/T20984-2007信息安全技术信息安全风险评估规范绿盟科技安全编码规范国际标准、指南或规范OWASPTop10(2013)OWASPTop10(2017)OWASPDevelopmentGuideOWASPTestingGuidev4OWASPApplicationSecurityVerificationStandardOWASPSecureCodingPracticesOSSTMMOSSTMM_Web_App_Alpha神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-4-2.
3项目实施2.
3.
1审计对象表2.
1审计对象单位系统名称审计对象神策科技神策科技IOSSDK神策科技IOSSDK源代码2.
3.
2审计时间表2.
2项目实施时间源代码安全审计时间起始时间2019年8月12日结束时间2019年8月16日2.
3.
3审计人员表2.
3源代码安全审计实施人员安全审计人员名单姓名武立鑫所属部门绿盟科技安全服务部联系方式wulixin@nsfocus.
com姓名李昊所属部门绿盟科技安全服务部联系方式lihao5@nsfocus.
com2.
3.
4审计工具本次源代码安全审计活动所使用的工具主要有:表2.
1源代码安全审计工具工具名称工具版本简要介绍VsCode第三方提供的代码/文本编辑器神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-5-三.
IOSSDK源代码安全审计重点场景在本项目中,我们会重点关注如下的功能,对其实现代码进行人工重点审计.
3.
1数据安全检测程序中是否使用日志辅助调试程序、是否包含程序对应数据文件夹及敏感信息,如果存在,则可导致敏感信息泄露,从而导致安全风险.
3.
2静态安全检测程序中对于自身完整性的校验、二进制保护及符号信息是否泄露,如果相关静态设置不规范,可导致篡改程序、钓鱼等安全风险.
3.
3运行时安全检测程序中对越狱、动态调试跨域请求的相关约束,如果程序中没有对相关功能做出限制,可导致获取逻辑代码、恶意程序攻击等安全风险.
3.
4安全策略设置检测程序中对用户登陆、界面交互、登出等功能安全策略,防止不完备的安全策略导致数据泄露、用户信息泄露等安全风险.
3.
5网络通信安全检测程序中通信协议安全性、通信数据加密完备性、证书强校验等相关网络通信安全,防止恶意嗅探和修改用户数据包中的密码等敏感信息、证书伪造等安全风险.
神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-6-四.
源代码安全审计结果4.
1日志信息安全4.
1.
1漏洞概述漏洞描述开发者习惯使用日志辅助程序调试,在日志中打印信息,则可能泄露访问链接、收发的数据包甚至身份凭证等内容.
利用场景攻击者通过泄露的访问链接、收发的数据包甚至身份凭证等内容有针对的对应用进行攻击风险等级高风险,泄露用户身份凭证(如token、cookie)、用户或其他用户隐私信息.
中风险,泄露关键函数(加解密、校验函数)调用和逻辑信息或者部分隐私信息测试结果安全4.
1.
2缺陷代码分析重点审查此类代码,审查发现无敏感内容直接打印视为无风险:4.
1.
3修复建议若存在,或后续功能扩展需要进行日志打印,可通过如下方式进行,以保证代码安全性.
安全建议一,将所有的NSLog调用去掉再重新编译打包程序安全建议二,重新封装NSLog,新建-Prefix.
pch文件神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-7-文件中宏定义代码如下:1#ifdefDEBUG2#defineNSLog(FORMAT,.
.
.
)fprintf(stderr,"[%s]:[line%d]%s%s\n",[[[NSStringstringWithUTF8String:__FILE__]lastPathComponent]UTF8String],__LINE__,[NSStringstringWithUTF8String:__PRETTY_FUNCTION__],[[NSStringstringWithFormat:FORMAT,##__VA_ARGS__]UTF8String]);3#else4#defineNSLog(.
.
.
)(void)0神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-8-5#endif说明__FILE__:预编译时候会替换成当前源文件名__LINE__:预编译的时候会替换成当前行号__PRETTY_FUNCTION__:预编译的时候会替换成::()__VA_ARGS__:C99规范新增可变长度宏参数,主要是用来处理NSLog传输过来的内容,##将如果是没有参数的情况下让预处理器忽略前面的逗号在buildsettings中(xCode7)配置编译相对应的宏:在debug版本中:在release版本中:神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-9-4.
2程序数据存储安全4.
2.
1漏洞概述漏洞描述设备中测程对应的数据文件夹是否包含敏感数据.
由于设备可以进行越狱,且越狱之后数据不会丢失,则导致本地存储敏感信息将造成较大风险.
利用场景攻击者通过本地存储的身份认证信息发起攻击.
风险等级高风险,用户信息、登录密码、支付密码等高敏感度信息泄露.
测试结果安全4.
2.
2缺陷代码分析重点审查此类代码,审查发现不包含敏感数据神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-10-审查发现不包含敏感数据库入口等信息同时还会审查代码中是否包含明文存储的敏感数据,以及是否包含后台、测试地址等信息4.
2.
3修复建议若存在,或后续功能扩展需要涉及到敏感数据,可通过如下方式进行,以保证代码安全性.
针对UserDefault,建议加密存储,而且建议使用用户输入数据作为加密秘钥(但是可能会影响到自动登录);对于其他文件,进行独立加密,并解密读取即可;关于加密秘钥,其实也可以从服务器获取,但是数据库就需要存储多一个字段用于存储每个用户的加密秘钥,且保证用户秘钥都不相同.
4.
3Webview跨域请求4.
3.
1漏洞概述漏洞描述检测是否存在相关的Webview跨域请求漏洞.
该漏洞可以通过file://伪协议进行本地文件读取并显示.
该漏洞可能被攻击者利用获取本地数据文件.
利用场景攻击者获取本地数据文件神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-11-风险等级低风险,需要在本地HTML中进行利用,所以风险低测试结果安全4.
3.
2缺陷代码分析重点审查是否加载HTML程序,审查发现未加载,无风险.
4.
3.
3修复建议若存在,或后续功能扩展需要涉及到加载html,可通过如下方式进行,以保证代码安全性.
如果非本地加载html,使用WKWebView(默认设置)替换UIWebView.
WKWebView默认allowFileAccessFromFileURLs和allowUniversalAccessFromFileURLs属性为false.
如果本地加载html需要开启属性,可以先进行本地文件加密(秘钥需要根据设备变化);关键信息存储keychain,防止读取.
4.
4缓冲区溢出4.
4.
1漏洞概述漏洞描述系统向缓冲区空间中填入超过缓冲区容量大小的数据,从而破坏内存中的的相关数据结构从而形成漏洞.
利用场景攻击者可以利用此类漏洞执行任意代码,或者进行拒绝服务攻击风险等级高风险,包含危险函数,且未进行长度校验测试结果安全4.
4.
2缺陷代码分析重点审查是否包含危险函数,审查发现危险函数,无风险.
危险函数有strcpy、strcat等.
神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-12-4.
4.
3修复建议避免使用strcpy和strcat方法,改用strlcpy和strlcat方法,如果必须使用strcpy时需要进行strnlen验证.
4.
5安全策略设置4.
5.
1漏洞概述漏洞描述密码策略、界面切换保护以及安全退出等方面未作安全策略.
利用场景攻击者安全策略未作,进行恶意登录.
风险等级中风险测试结果安全4.
5.
2缺陷代码分析SDK代码,未见相关应用代码.
4.
5.
3修复建议若存在,或后续功能扩展需要涉及到扩展界面访问功能,可通过如下方式进行,以保证代码安全性.
1.
验证原密码才允许设置新密码.
2.
针对弱口令进行重复数字、连续数字、连续字符、关键字符串(admin、test、hahaha)、常见口令(1qaz2wdc、123qwe!
@#)之类的密码进行过滤.
3.
切换界面,需清除前期已输入的登录信息.
4.
退出时消除其身份凭证,等.
神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-13-4.
6网络安全通信4.
6.
1漏洞概述漏洞描述1、使用HTTP协议进行通信过程中可能会遭受中间人攻击,威胁数据安全.
2、存在忽略服务端证书校验的安全漏洞,对服务器没有校验或者没有在校验错误时候进行错误提示等.
导致攻击者可通过伪造证书等手法进行攻击获取利用场景攻击者通过中间人攻击,获取敏感信息.
风险等级中风险测试结果安全4.
6.
2缺陷代码分析重点审查此类代码,审查发现未明确规定协议、证书,不存在风险代码神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-14-神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-15-4.
6.
3修复建议若存在,或后续功能扩展需要涉及到扩展通信相关功能,可通过如下方式进行,以保证代码安全性.
建议客户端同服务器进行通信时信道使用SSL加密信道进行传输,同时保证加密信道的本身安全(SSLV2,SSLV3已被证明存在漏洞,建议至少使用TLSV1.
1以上的算法),或是在通信过程中自实现类似TLS协议的算法,同时也要保证自实现算法的安全性针对弱口令进行重复数字、连续数字、连续字符、关键字符串(admin、test、hahaha)、常见口令(1qaz2wdc、123qwe!
@#)之类的密码进行过滤.
单向证书校验(AFNetworking为例)对于AFNetworking3.
0及之后:需要在请求方法中进行调用:[managersetSecurityPolicy:[selfcustomSecurityPolicy]];神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-1-五.
审计结果及建议通过本次源代码安全审计活动,我们发现神策科技IOSSDK的安全防护策略和技术防控功能优秀,未见安全漏洞代码.
神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-2-六.
感谢感谢项目实施过程中神策科技相关部门协调工作,感谢相关开发人员的积极配合,也感谢绿盟科技项目组成员付出的努力,通过大家有效的沟通和积极协作,使得本次源代码安全审计工作顺利完成.
神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-3-附录A漏洞风险定级风险值计算方式说明如下:评定维度说明影响范围系数F大(3):能够获取大量数据、敏感数据或影响大量用户.
中(2):能够获取部分数据、一般敏感数据或影响部分用户小(1):能够获取少量数据、非敏感数据或影响少量用户漏洞系数Y权限获取类(20):可获取服务器权限的漏洞数据获取类(8):可导致结构化数据批量获取的漏洞非法访问类(6):以非正常方式访问资源的漏洞业务缺陷类(5):业务逻辑不完善导致的漏洞暴力破解类(4):与登录或认证凭据相关的暴力破解客户端攻击类(3):攻击其他客户端的漏洞信息泄露类(3):泄漏敏感的技术类信息及非结构化数据的漏洞辅助攻击类(1):单独存在不能形成攻击,但可以增加其他攻击手段效果的漏洞其中权限获取类、暴力破解类、辅助攻击类影响范围系数F固定为1.
系统重要性系数I核心应用系统(4):主站、网银、商城等盈利站点普通应用系统(2):客服、OA等辅助类站点边缘应用系统(1):单一功能、单一接口类站点漏洞风险值漏洞风险值=F*Y*I漏洞风险评定说明威胁级别评定说明严重问题风险值>18,直接导致系统被入侵或数据被破坏,一旦发生,就是严重的安全事件.
建议紧急修复.
中等问题6≤风险值≤18,可能导致重要信息的泄漏、系统拒绝服务或有较高可能导致系统被入侵控制.
轻度问题2≤风险值≤6,可导致敏感信息泄漏或存在轻微安全问题,一般不会产生严重的安全事件.
风险提示风险值小于2,不合规编码且利用难度较大的安全问题,一般不会产生严重的安全事件漏洞可利用性评价说明可利用性定级定级标准(如具备如下任一条件即可)容易有公开的利用工具或攻击代码无需登录系统即可利用无需和被攻击用户交互即可利用本地修改数据包或客户端程序即可利用一般需要和目标用户交互才能够利用通过网络远程抓取目标用户数据包才可利用神策科技IOSSDK源代码安全审计报告2019绿盟科技密级:商业机密-4-困难需要控制被攻击用户的终端设备才可利用需要知道被攻击用户的账号口令才可利用
PIGYun是成立于2019年的国人商家,提供香港、韩国和美西CUVIP-9929等机房线路基于KVM架构的VPS主机,本月商家针对韩国首尔、美国洛杉矶CUVIP-AS29、GIA回程带防御等多条线路VPS提供6-8.5折优惠码,优惠后韩国首尔CN2混合BGP特惠型/美国洛杉矶GIA回程带10Gbps攻击防御VPS主机最低每月14.4元起。下面列出几款不同机房VPS主机配置信息,请留意不同优惠码。...
ZJI又上新了!商家是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务。本次商家新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码,优惠后韩国服务器最低每月440元起。韩国一型CPU:Intel 2×E5-2620 十二核二十四线...
火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...
访问升级为你推荐
centos6.5怎么用u盘安装centos6.5360和搜狗搜狗浏览器和360极速浏览器你会选择哪个?360退出北京时间怎样让电脑时间与北京时间相同360防火墙在哪里设置360防火墙怎么开启啊 我要9.3的ipad代理想买个ipad,3000至4000元左右有什么好的大飞资讯新闻资讯包括什么内容?powerbydedecms如何去掉织梦者头部版本信息艾泰科技艾泰840E 性能怎么样 有没有什么缺点 用过的朋友请回答独立访客访客数(UV)是什么意思repaired电脑蓝屏出现Recovery. your PC needs to be repaired该怎么弄。急!!!
虚拟主机申请 服务器租用托管 汉邦高科域名申请 拜登买域名批特朗普 域名抢注工具 注册cn域名 z.com 美国十次啦服务器 可外链相册 web服务器安全 优酷黄金会员账号共享 shuang12 谷歌台湾 lamp兄弟连 免费php空间 测试网速命令 阵亡将士纪念日 hostease 闪讯网 hdroad 更多