数据库安全

数据库安全 · 浏览次数 : 62

小编点评

**隐私计算安全基座-数据库安全数据安全用数据生命周期的全链路思考** **数据存储态安全** - 对数据的存储安全负责,保障数据的静存储态安全,不泄露。 **数据传输态安全** - 对数据的转移安全负责,保障数据的转移态安全,不泄露。 **数据计算态安全** - 对数据的动态计算的安全负责,保障数据的运行态安全,不泄露输入与运算中间结果等。 **全链路的生命周期安全** - 隐私计算正是扩展了数据计算态的安全能力,如此三态合一,即可保障数据的全链路的生命周期安全。

正文

学习&&转载文章:隐私计算安全基座-数据库安全

数据安全

用数据生命周期的全链路思考,可以得出如下的结论:

  • 数据存储态安全:对数据的存储安全负责,保障数据的静存储态安全,不泄露。
  • 数据传输态安全:对数据的转移安全负责,保障数据的转移态安全,不泄露。
  • 数据计算态安全:对数据的动态计算的安全负责,保障数据的运行态安全,不泄露输入与运算中间结果等。

传统的安全是主要保护数据的存储态与传输态的安全,但是隐私计算正是扩展了数据计算态的安全能力,如此三态合一,即可保障数据的全链路的生命周期安全。

数据库安全

攻击方式

常见的数据库攻击手段包括SQL注入、拖库、洗库、撞库等

窃取信息:拖库;对窃取来的信息处理和使用:洗库、撞库

SQL注入

SQL注入就是通过把恶意的SQL命令插入到Web进行表单提交,并且达到欺骗服务器执行恶意的SQL命令的目标。这种情况会发生比较严重的安全问题隐患,造成信息的泄露、篡改与丢失等风险。

以下实例中,输入的用户名必须为字母、数字及下划线的组合,且用户名长度为 8 到 18 个字符之间

if (preg_match("/^\w{8,18}$/", $_GET['username'], $matches))
 {
  $result = mysqli_query($conn, "SELECT * FROM users 
              WHERE username=$matches[0]");
 }
 else
 {
  echo "username 输入异常";
 }

在没有过滤特殊字符的情况下,出现的恶意的SQL情况:

// 设定$name 中插入了恶意的SQL语句
 $name = "Alice'; DELETE FROM users;";
 mysqli_query($conn, "SELECT * FROM users WHERE username='{$name}'");

以上代码语句中,我们没有针对变量username进行过滤与限制,所以可以在变量username中插入了恶意的SQL语句,后果是将删除users表中的所有数据。

所以我们对这些用户的数据需要进行严格的验证。我们永远不要信任用户的输入,我们必须认定用户输入的数据都是不安全的,我们都需要对用户输入的数据进行严格的判别处理

如何预防?

  • 对于用户的输入,需要进行校验:对用户的输入进行校验,方式是可以通过正则表达式、限制长度,同时对单引号等特殊字符进行转换等等。
  • SQL的生成机制:不要进行SQL的动态拼装,应该使用参数化的SQL或者直接使用存储过程
  • 数据库的权限控制:不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接,做到权限最小化
  • 数据库存储信息加盐:不要把机密信息直接存放,加密或者hash掉密码和敏感的信息,进行数据的脱敏处理。

拖库

拖库就是指黑客通过各种手段,非法获取据库中的敏感信息,由于这些信息一般包含敏感信息,例如用户名、密码、姓名、证件、电子邮箱、电话、住址、金融信息等,一旦泄露将造成非常大的损失。

那么拖库是怎么做的呢?主要分为下面的三部曲:

  1. 「找漏洞」:黑客使用技术手段对网站进行扫描,查找漏洞,例如SQL注入、文件上传漏洞等。
  2. 「获权限」:通过上面找到的漏洞,然后建立一个Web Shell,进而获取操作系统的相关权限;
  3. 「导数据」:通过上面获取的权限,通过网络命令或者安装相关软件,将需要的数据导出,并且拉取、存储到本地计算机。

综述整个过程通过扫描探查获取系统方面的漏洞,进而获取系统权限,进而打通一个数据传输的非法通路,进而获取数据。在黑客完成拖库以后,就要干大事了,下一步操作叫做“洗库”。

洗库

黑客在完成拖库以后,将会取得大量的用户数据,然后黑客会通过一系列的技术手段,并且结合黑色产业链将有价值的用户数据进行变现,这个步骤称作“洗库”

  1. 「游戏账号」:获取的用户游戏账号,包含账号本身、虚拟货币、游戏装备等,通过交易进行变现,也就是俗称的“盗号”。
  2. 「金融账号」:获取的用户金融账号,比如支付宝,网银,信用卡,股票的账号和密码,可以用来进行金融诈骗和犯罪。
  3. 「广告投放」:相对于游戏账号与金融账号信息,剩下的用户信息相对利益较小,但是这部分信息数量十分庞大,可以用作广告投放。比如对信息进行简单分类,分成如学生、蓝领、白领、金领等,并且发送广告、垃圾短信,进行电商营销等,并且有专门的广告投放公司,花钱购买这些分门别类的信息。

综述整个过程通过拖库获取的庞大的数据,对于数据进行层级划分,针对各种不同价值的数据进行分别处理,非法获取价值。那么数据经历了拖库、洗库,接下来,还有剩余价值,这就是“撞库”。

撞库

在经历了上面的洗库环节,黑客已经获取了直接的收益,那么是否还有其他的剩余价值可以获利呢?

由于互联网绝大多数的用户在不同网站使用的是相同的帐号密码的习惯,所以黑客可以通过获取的在A网站的用户账户信息尝试登录B网址,这就可以理解为撞库攻击

具体手段:撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试遍历并且批量登陆其他网站,得到一系列可以登录的用户,进行获取更多的网站的用户信息

预防

  • 「对于网站来说,我们要做的是提高黑客攻击的门槛」
  1. 数据加密:密码等敏感信息在数据库中的存储应该考虑拖库的风险,进行脱敏处理例如MD5等方法;
  2. 流程优化:设置合理的登录业务逻辑,如每一次登录请求更新为请求验证码,登录错误信息返回优化,避免明确告知错误信息;并且可以采用交互式验证码技术,有效防范工具软件批量操作;
  3. 网络防控:基于IP防控,对短时间内大量请求登录接口的IP进行监控告警甚至封禁;
  4. 设备防控:移动端应考虑设备指纹特征,当识别到某一账号设备指纹发生变化时即有可能被撞库,可引入更高级的身份验证方式;
  5. 分析建模:基于大数据分析的用户行为模型和策略,利用特征库识别发现异常请求。
  • 「对于普通用户而言,我们要做的就是提高风险意识」
  1. 密码分场景:不要在多个场合使用同一个密码,为不同的场景使用不同密码;
  2. 密码多变化:不要长期使用固定密码,应定期进行修改;
  3. 密码复杂性:不要使用弱密码(长度、特殊字符、大小写),比如123456;
  4. 密码管理:采用安全的密码管理工具进行个人密码管理;

与数据库安全相似的内容:

数据库安全

学习&&转载文章:隐私计算安全基座-数据库安全 数据安全 用数据生命周期的全链路思考,可以得出如下的结论: 数据存储态安全:对数据的存储安全负责,保障数据的静存储态安全,不泄露。 数据传输态安全:对数据的转移安全负责,保障数据的转移态安全,不泄露。 数据计算态安全:对数据的动态计算的安全负责,保障数

[转帖]【最佳实践】瀚高数据库安全版v4.5.8安装

瀚高数据库安全版v4.5.8已发布,功能和安装方式都有所不同。下面先跟我一起安装上吧。 操作系统环境:Centos7.9,处理器:x86_64 (说明:以下每一节的命令操作,均可以复制粘贴直接执行) 1. 安装软件 将软件包上传到root用户的目录下,执行以下命令校验安装包完整性,然后执行安装: m

[转帖]瀚高数据库 SM3和MD5密码验证配置

我们都知道,瀚高数据库安全版v4.5和企业版v6都支持国密sm3。一般我们在initdb的时候,会通过选项“-A sm3”来指定,这样的效果是创建用户或修改密码时,默认就会使用sm3取密码的散列值。我们也可以在后期添将密码动态改为md5。 例如,我们当前默认是md5,现在要添加一个用户,使用sm3,

详解Web应用安全系列(1)注入漏洞之SQL注入

注入漏洞通常是指在可输入参数的地方,通过构造恶意代码,进而威胁应用安全和数据库安全。常见的注入漏洞包括:SQL注入和XSS跨站脚本攻击。 这篇文章我们主要讲SQL注入,SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加

数据安全始终是一个不可忽视的问题

最近,自己的一个测试环境,遭遇了hacker攻击。 具体是oracle用户被攻破了,原因是该环境通过DDNS连接到了外网,而因为只是测试,没有注意安全防范,设置的口令过于简单。 下面记录下,也作为警醒。 1.发现资源使用异常 CPU告警,使用top去查询资源使用情况发现CPU使用率非常高,达到94%

数据安全没保证?GaussDB(for Redis)为你保驾护航

摘要:GaussDB (for Redis)通过账号管理、权限隔离、高危命令禁删/重命名、安全IP免密登录、实例回收站等企业级特性,保障用户数据库数据和信息安全。 本文分享自华为云社区《数据安全没保证?GaussDB(for Redis)为你保驾护航》,作者: GaussDB 数据库。 近日,一些用

冯登国院士:数据安全新方向——数据使用安全

链接: 冯登国院士:数据安全新方向——数据使用安全 近日,在2023中关村论坛——数据安全治理与发展分论坛上,冯登国院士做了主题为:《数据安全新方向:数据使用安全》的分享,以下是分享全文。 各位专家,各位嘉宾,大家好: 很高兴有这个机会与大家进行交流一下对数据安全的一些认识,发言题目是《数据安全新方

[转帖]RabbitMQ 消费者回执和发布确认

为了保证数据安全,消费者和生产者的回执(ack)都是非常重要的。 由于我们无法保证消息都能像我们期望的那样,正常到达另一端或者被 Consumer 消费成功。因此,publisher 和 consumer 都需要一种机制,来确保消息投递成功了和消息消费成功了。 在 AMQP 0-9-1 中,消费者处

学习文章:“浅析数据安全之密态化计算”

本文学习文章:“浅析数据安全之密态化计算” 数据安全的必要性 数据安全应保证数据产生、存储、传输、访问、使用、销毁、公开等全生命周期安全,并且需要做到保证数据处理过程的保密性、完整性、可用性。如何安全采集用户数据,并且实现安全地对用户数据进行使用,主要包括在整个数据周期中保证安全,即在数据的生产、传

如何实现云数据治理中的数据安全?

云计算被定义为计算资源的共享池,已经在不同的应用领域广泛部署和使用。在云计算中,数据治理在提高整体性能和确保数据安全方面发挥着至关重要的作用。本研究从管理和技术应用两方面探讨如何实现云数据治理中的数据