技术开发 频道

杨宁谈数据库攻防实践与SOX安全审计

  【IT168技术】完美世界信息资深安全顾问杨宁在今天的数据库大会上给大家分享了数据库攻防实践与SOX安全审计。在谈论现在安全面临的形势时,杨宁给的定调是“严峻”。1、形势越来越严重:国家互联网应急响应中心,一度引起中央电视台等媒体重点关注,同时也引起国家司法机构大力整冶。2、目的越来越趋向利益化:内部用户被利益冲昏头脑,从盗游戏币到发职业资格证,网银大盗与网马频发。3、黑客队伍越来越壮大:地下黑客拥有强大的利益链条,也导致了前不久的一连串的“密码门”事件。4、黑客入门门槛越来越低:入侵工具随手可得,漏洞随处可见,黑客培训基地层出不穷。

杨宁谈数据库攻防实践与SOX安全审计
▲点击进入专题报道

  现在安全方面谈及比较热的话题是啥,大家搜索下就会发现, SOX, Basel II, HIPAA, J-SOX, GLB, Privacy laws这些对于涉及会计职业监管、公司治理、证券市场监管等方面改革的重要法律,逐渐成为各个公司、企业所要重点考虑的方面,而这些法规里面对数据安全管理提出了严格的要求。

杨宁谈数据库攻防实践与SOX安全审计
▲杨宁

  数据库安全包含两层含义:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动; 第二层是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。

  安全是一个整体

  安全保证是一个纵深防御体系。安全威胁的构成符合木桶原理,取决于水桶最短的那块板子。这里面WEB安全,数据库安全,系统安全,网络安全都属于木桶的板子。某一个方面出现问题都可以导致安全威胁的产生。

  WEB安全威胁

  一、OWASP TOP10

  1. sql注入。2. XSS跨站。3. 失效的身份验证和会话管理。4. 不安全的直接对象引用。5. CSRF。6. 安全配置错误。7. 不安全的加密存储。8. 没有限制URL访问。9. 传输层保护不足。10. 未验证的重定向和转发

  二、Demo Time

  某大型域名提供商SQL注入导致敏感信息泄露

  • 案例分析:

  1. sina某平台注入,密码为明文。2. 某第三方人力资源管理系统

  存在注入导致包括多家大型企业信息泄露,主要包括身份证、银行卡号、家庭关系、电话号码等等。

  数据库安全

杨宁谈数据库攻防实践与SOX安全审计

  其他高级数据库攻击技术:Mysql UDF存储过程执行命令漏洞;Db2远程溢出漏洞;Mysql 高级注入技术 load_file(),into oufile等技术。

  数据库安全解决方案之TDE

杨宁谈数据库攻防实践与SOX安全审计

  •ORACLE 10之前的DBMS_CRYPT包需要改动应用程序。

  •ORACLE 10可以加密列,ORACLE 11可以加密整个表

  •数据存储威胁:

  1.未加密的重要信息可以再dbf中明文查看到

  2.数据查询为明文,如果存在安全性漏洞可以直接导致重要信息泄露

  •注意:

  一定要注意安全保存TDE的两个密钥和wallet密码。

  •TDE功能开启和关闭

  Security_manager@AOS> ALTER SYSTEM SET WALLET CLOSE;

  Security_manager@AOS> ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY “Wallet”

  •注意:

  1.一定要注意权限的分配,不要让应用程序数据库用户具有ALTER SYSTEM的权限,否则他就可以绕过TDE的限制

  •Wallet manager随着数据库的重新启动或者操作系统的重新启动而自动启动

  [oracle@aosdb /] $ owm

  •创建新的字段

  system@AOS> CREATE TABLE sh.customer_enc (

  cust_id NUMBER(6) PRIMARY KEY,

  cust_firstname VARCHAR2(20),

  cust_lastname VARCHAR2(20),

  cust_addresss VARCHAR2(40),

  cust_city VARCHAR2(20),

  cust_state VARCHAR2(20),

  cust_zip VARCHAR2(20),

  cust_credit_card_no VARCHAR2(19) encrypt using ‘AES192’,

  cust_credit_card_exp VARCHAR2(4)

  )

  TABLESPACE customer_info_protected

  /

  •数据库备份和恢复

  导出时对数据进行加密

  [oracle@aosdb ~] expdp system/oracle11g DUMPFILE=exports:customer_enc_protended.dmp TABLES=sh.customer_enc ENCRYPTION_PASSWORD=‘wallet’。

  数据库安全解决方案之Database vault

  •DVB四个关键要素

  1.因素

  在安全条件中,没有基于某些人是否具有做某些事情的权限来制定的静态规则,这样的规则很容易被绕过。安全是更加动态的概念,可以在运行时对多个因素进行检查,并具有很好的扩展性。

  a) 一天中的时间

  b) 一周中的某天

  c) 用户身份如何验证

  d) 是否请求某个特定事物的一部分

  2. 规则

  对于一个简单的数据库示例,考虑如下的简单逻辑来判断一个用户是否能对一个表进行select操作:

  a) 用户身份验证是否使用安全套接字层

  b) 用户的请求是否来自于一个应用服务器的已知IP地址

  c) 当前是否处于星期一到星期五之间

  d) 是否属于某个用户组的成员

  3. 领域

  领域就是要保护的对象的集合,而不需要考虑到底归谁所有。这个概念与JAVA使用的sandbox类似,利用领域可以很好的限制哪些人可以访问哪些内容。这就是传说中的职责分离

  4. 命令规则

  命令规则提供了一个新的安全层,允许使用客户定义的规则对数据库命令进行授权。是否允许命令的执行,往往基于已有的权限和必须通过的规则。

0
相关文章