安全测试国家标准解读——数据库管理和文件管理

news2024/11/17 7:44:07

下面的系列文章主要围绕《GB/T 38674—2020 信息安全技术 应用软件安全编程指南》进行讲解,该标准是2020年4月28日,由国家市场监督管理总局、国家标准化管理委员会发布,2020年11月01日开始实施。我们对该标准中一些常见的漏洞进行了梳理,大家感兴趣的话可以自己去下载下来学习一下,里面有一些最佳实践是比较好的。 

本标准从程序安全和环境安全两个方面提出了提升应用安全性的编程最佳实践。其中,程序安全部分描述软件在资源使用、代码实现、安全功能方面的安全性规范,环境安全部分描述软件的安全管理配置规范。前面的文章为大家讲解了程序安全和代码安全,本文我们针对资源使用安全的数据库管理和文件管理部分进行解读。

资源使用安全,主要包括:资源管理 、内存管理 、数据库管理 、文件管理 、网络传输这几部分。

【数据库管理】

1.当应用程序访问数据库时,仅提供给应用程序满足其需求的最低权限,以降低访问数据库的风险。

2.规定不同信任级别用户连接数据库的角色,比如用户、只读用户、访问用户、管理员。

这部分主要讲的数库的访问和连接,访问的时候,使用最低权限就可以了,连接的时候使用分配的角色就可以了,不要把SA的权限给系统。现在很多系统还是使用SA账号来连接数据库,没有新建角色,这样就很容易被黑客攻击。

3.使用行级别的访问控制,禁止依赖应用程序访问控制来保护数据库的数据,限制每个请求使用用户只能访问他们自己的数据。

在用户层面,用户在访问自己信息的时候,只能访问到自己的这一行,不能再访问其他人的。

4.及时释放数据库资源,例如连接、游标等。

也有一些框架在用完之后会自动释放,尽量用这些框架式的比较好一些。


【文件管理】

1.确保及时释放文件系统资源

(1)保证诸如文件句柄之类的文件系统访问结构在不再需要时会被及时释放。

(2)禁止依赖JAVA和.NET等的垃圾回收机制来回收资源。

2.使用安全的临时文件

最小化临时文件存储时间,并及时删除临时文件。

3.检测和处理文件相关的错误。

4.禁止传递目录或绝对路径给用户,建议使用预先设置的路径列表中的匹配索引值。

在访问的时候,尽量用我们预先设计好的路径让用户去选择、匹配,不要让用户自己输入,自己输入的话很容易产生目录遍历的漏洞。

比如说我们下载文件的时候,我们可能会给用户一个下载链接,黑客可以通过这个链接直接到了目录的层级,把目录中的所有文件都看到了。所以开发在做的时候需要注意,在目录部分要做防护,用户能访问到哪个文件就只给他哪个文件的权限。

(本系列文章根据《优品软件培育计划》公益直播内容整理,可以私信我获取直播回放链接。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/807343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL-每日一题【1045.买下所有产品的客户】

题目 Customer 表: Product 表: 写一条 SQL 查询语句,从 Customer 表中查询购买了 Product 表中所有产品的客户的 id。 示例: 解题思路 1.题目要求我们 从 Customer 表中查询购买了 Product 表中所有产品的客户的 id。我们可以先…

Memcached服务分布式集群如何实现?

Memcached服务分布式集群如何实现? 在分布式系统中,为了提高可用性、性能和扩展性,通常会使用多台服务器来构建一个Memcached集群。Memcached是一个高性能的分布式内存缓存系统,可以用于缓存数据以减轻数据库或其他后端存储的负载。 以下我们…

网络防御之防病毒网关

1. 什么是恶意软件? 恶意软件是任何软件故意设计造成损害计算机、服务器、客户端或计算机网络(相比之下,软件导致无意的伤害由于一些缺陷通常被描述为一个软件错误)。各种各样的类型的恶意软件存在的,包括计算机病毒、…

一次性彻底讲透Python中pd.concat与pd.merge

目录 数据拼接:pd.concat数据关联:pd.merge两者区别 数据的合并与关联是数据处理过程中经常遇到的问题,在SQL、HQL中大家可能都有用到 join、uion all 等 ,在 Pandas 中也有同样的功能,来满足数据处理需求,个人感觉 …

感谢@中原一点红提供的华为OD机试真题2023Q1 100分“座位调整”,一看nike标志,就稳了

目录 专栏导读一、鸣谢二、题目描述三、输入描述四、输出描述五、思路分析解题思路 六、Java算法源码七、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷…

【动态规划part12】| 309.买卖股票的最佳时机含冷冻期、714.买卖股票的最佳时机含手续费

目录 🎈LeetCode309.最佳买卖股票时机含冷冻期 🎈LeetCode714.买卖股票的最佳时机含手续费 🎈LeetCode309.最佳买卖股票时机含冷冻期 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计…

【Mysql】万字长文带你快速掌握数据库基础概念及SQL基本操作

文章目录 前言一、数据库相关概念1. 什么是数据库2. 数据库的种类3. Mysql 简介4. SQL简介5. 数据库中常见的数据类型 二、SQL基础1. SQL通用语法2. SQL的主要分类3. DDL(数据库,表,索引,视图)4. DML(数据的…

无涯教程-jQuery - Explode方法函数

爆炸效果可以与show/hide/toggle一起使用。这会将元素爆炸或分解为许多碎片。 Explode - 语法 selector.hide|show|toggle( "explode", {arguments}, speed ); 这是所有参数的描述- pieces - exploded/imploded次数。model - 动画的模式。可以设置为"…

需求分析案例:消息配置中心

本文介绍了一个很常见的消息推送需求,在系统需要短信、微信、邮件之类的消息推送时,边界如何划分和如何设计技术方案。 1、需求 一个系统,一般会区分多个业务模块,并拆分成不同的业务系统,例如一个商城的架构如下&am…

FreeRTOS之计数型信号量

什么是计数型信号量? 计数型信号量相当于队列长度大于1 的队列,因此计数型信号量能够容纳多个资源,这在计数型 信号量被创建的时候确定的。 计数型信号量相关 API SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount, U…

iOS开发-下拉刷新动画CAShapeLayer的strokeStart与strokeEnd指示器动画效果

iOS开发-下拉刷新动画CAShapeLayer的strokeStart与strokeEnd刷新指示器效果 之前开发中实现下拉刷新动画CAShapeLayer的strokeStart与strokeEnd指示器动画效果 一、效果图 二、基础动画 CABasicAnimation类的使用方式就是基本的关键帧动画。 所谓关键帧动画,就是…

Determinantal Point Process:机器学习中行列式的妙用

©PaperWeekly 原创 作者 | Yunpeng Tai 主页 | https://yunpengtai.top/ 在机器学习中,我们通常会面临一个问题:给定一个集合 ,从中寻找 个样本构成子集 ,尽量使得子集的质量高同时多样性好。比如在推荐系统中,…

AI绘画StableDiffusion实操教程:可爱头像奶茶小女孩(附高清图片)

本教程收集于:AIGC从入门到精通教程汇总 今天继续分享AI绘画实操教程,如何用lora包生成超可爱头像奶茶小女孩 放大高清图已放到教程包内,需要的可以自取。 欢迎来到我们这篇特别的文章——《AI绘画StableDiffusion实操教程:可爱…

element 时间插件 placement 报错

只需一个简单配置一下 align"center" 就不会再报错了,不需要升级element的版本

Vue 常用指令 v-on 自定义参数,事件修饰符

自定义参数就是可以在触发事件的时候传入自定义的值。 文本框,绑定了一个按钮事件,对应的逻辑是sayhi,现在无论按下什么按钮都会触发这个sayhi。但是实际上不是所有的按钮都会触发,只会限定某一些按钮,最常见的按钮就…

【C语言项目】多臂井径电子测井成像项目(一)

目录 1、目的和意义2、本章概述3、串口R2324、OpenGL5、开发环境6、环境配置6.1、VS安装OpenGL6.2、虚拟串口生成工具 7、成品速览参考文献 1、目的和意义 本项目为获取矿藏地层的油气当量和及时精确地测量含油、含气层的压力及温度值的需求,辅助生产管理人员完成对…

【Nginx】keepalived安装配置

环境说明 Centos 7版本 主机名 IP地址 其他 nginx 192.168.10.150 主 nginx-2 192.168.10.151 备 配置 主-192.168.10.150 [rootnginx ~]# yum install keepalived [rootnginx ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived #定义全…

【2023Java 面试题全集】实用、全面、系统,助你一路通关!

前两个月,公司 java 岗位面了 50候选人,面试下来发现几类过不了的情况,分享大家防止踩坑: 新技术倒是掌握得挺多,基础的却一塌糊涂。 工作多年,从未学习过工作之外的技术栈,也没有对技术有任何…

Golang操作阿里云OSS上传文件

为什么要使用OSS?应用场景是什么? 最近在开发考试系统,里面需要上传课件,课件包括pdf,map等等各种类型的文件,这些文件不能像图片一样,直接上传到项目目录下面,需要单独存放&#x…

iOS开发-下拉刷新动画loading旋转指示器动画效果

iOS开发-下拉刷新动画loading旋转指示器动画效果 之前开发中实现下拉刷新动画loading旋转指示器动画效果 一、效果图 二、基础动画 CABasicAnimation类的使用方式就是基本的关键帧动画。 所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,指定动画…