电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

安全开发不能不知道的8大防范措施

来源:金蝶云社区作者:金蝶2024-09-235

安全开发不能不知道的8大防范措施


苍穹ISV产品上架到应用市场前,需要经过安全测试,而部分产品在进行安全测试时经常会出现安全漏洞。


因此,本文针对该问题,提炼了在苍穹安全开发过程中需要特别关注的8大防范措施,以尽量避免安全漏洞的产生。


注:本文适用于基于苍穹平台进行开发的相关人员


在苍穹安全开发过程中,需要关注敏感信息泄露防范、注入防范、失效的身份认证和会话管理防范、XXE外部实体注入防范、安全配置错误防范、跨站脚本(XSS) 防范、使用第三方组件漏洞防范、自测漏洞防范等8大防范措施。


下面,小编为大家逐一介绍8大防范措施的具体内容。




1 敏感信息泄露防范


敏感信息泄露是苍穹ISV产品进行安全测试时出现最频繁的问题,主要分为3个方面。其具体表现与解决方案如下:


1. 代码中存在硬编码敏感信息,如账号、密码、http外链、ftp外链等;配置文件、SQL脚本等文件中存在明文密码等敏感信息;



推荐解决方案


1)将密码等敏感信息加密后存入MC,代码再获取MC的值,通过解密得到具体的密码值,加密算法建议采取AES256或者SHA256。


a. 关于MC的具体介绍可参考文章从0到1结识苍穹MC,看这篇就够了!”;

b. 关于MC属性值可参考存取MC属性值 


2)所有的外链都必须写在配置文件,或者存放数据库中,产品默认的外链需要说明原因。


2. 页面明文显示敏感信息,如下图所示:



推荐解决方案:启用苍穹控件的内容显示为密码属性,并采用合适的加密算法,将敏感信息加密后存库,需要使用时再进行解密使用。


3. 页面明文显示相关SQL语句,如下图所示:



推荐解决方案:直接暴露SQL语句会造成数据库泄露,必须禁止。如遇类似的需求,可以设计为执行SQL脚本的形式。




敏感信息泄露防范小结


首先,先确认哪些数据是敏感数据,需要被加密。例如:密码、信用卡账号、个人信息等应该被加密。

然后,针对这些数据,需核查以下几点:

1)当这些数据被长期存储的时候,无论存储在哪里,它们是否都被加密?特别是对这些数据的备份是否被加密;

2)无论内部数据还是外部数据,传输时是否是明文传输?

3)是否使用了任何旧的或脆弱的加密算法?

4)加密密钥的生成是否是脆弱的,或者缺少恰当的密钥管理或缺少密钥回转

注:密钥回转,指的是通过密钥将数据替换成为另一个完全不相同的数据,并把加密后的数据重新解密成加密前的数据。

5)当浏览器接收或发送敏感数据时,是否有浏览器安全问题?

最后,根据核查结果作相应的加密处理、算法优化、密钥管理升级等。




2 注入防范


基于苍穹的开发可以不关注以下防范措施,苍穹已经做了对应的防范并已通过安全测试,但使用第三方系统、第三方API或开放API时,需要特别关注以下防范措施。


1. 参数校验

传递的参数做校验,如果不合法,直接拒绝请求。

1)   如果是数字类型,判断是否为数字,如果不是,直接拒绝请求;

2)   如果是有格式的类型(比如日期、email、电话、身份证号码等等),判断是否符合格式,如果不符合格式,拒绝请求;

3)   如果是没有特殊格式的字符串类型,需要对字符串长度做校验。如果长度大于数据库该字段的定义长度,直接拒绝请求(比如姓名,数据库定义的是 varchar(12),如果输入超过12个字符,直接拒绝请求)。


2. 使用PrepareStatement,禁止使用 Statement

PrepareStament可以有效防御SQL注入攻击,其原理是:MySQL执行树会根据预设的参数做转义,把注入的SQL当作一个参数执行,而不会当作语句执行;


3. 做好数据库权限限制

1)  selectinformation_schema权限不能开放给业务账号

因为一旦某个漏洞被成功注入,information_schema库将暴露所有库、所有表、字段的定义,给SQL注入者提供了便利。注入者不需要猜测表结构,就能轻松获取所有表的定义,进而轻松获取所有表的数据。

2)  各个业务账号只能访问自己业务的数据

在这种情况下,即使某个漏洞被注入,也只是影响到该业务的数据,不会影响到其他业务的模块。


3 失效的身份认证和会话管理防范


基于苍穹的开发可以不关注以下防范措施,苍穹已经做了对应的防范并已通过安全测试,但使用第三方系统、第三方API或开放API时,需要特别关注,并做好以下防范措施。


1. 用户身份验证凭证使用哈希或加密保护

2. 认证凭证应做到不可猜测或者无法通过薄弱的帐户管理功能(例如:账户

安全开发不能不知道的8大防范措施

苍穹ISV产品上架到应用市场前,需要经过安全测试,而部分产品在进行安全测试时经常会出现安全漏洞。因此,本文针对该问题,提炼了在苍穹安...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信