网络信息安全简报(2013.12-2014..01)

 

一、         趋势系统使用情况

1.1三台服务器统计中毒排名在前的用户:

 

1)         10.10.7.222

 

2)         10.10.2.180

 

3)         10.10.2.181

 

1.2受感染用户前10名(总排行)

序号

计算机

IP地址

病毒/恶意软件数

楼宇名

1

TOSHIBA-PC

10.14.26.121

75243

玉泉-教3

2

DELL1950

10.10.14.3

55111

紫金港IDC机房

3

DX-LT

10.10.14.13

30899

紫金港IDC机房

4

SVCTAG-GTHDL2X

10.22.23.69

23706

西溪校网中心

5

IBM1

10.10.14.10

20024

紫金港IDC机房

6

WIN-5N55P2RA3CI

10.15.61.218

14306

玉泉-图书馆

7

WIN-4VR05G5VPMD

10.15.61.201

9812

玉泉-图书馆

8

WIN-QFL7POT58QG

10.15.61.219

9521

玉泉-图书馆

9

WIN-M5IP909VK62

10.15.61.220

7799

玉泉-图书馆

10

WIN-SP5CFLNHUOF

10.15.61.217

5811

玉泉-图书馆

注:排行靠前的玉泉-图书馆,紫金港IDC机房设备均为学校的服务器设备,因应用的需要而开启了文件共享。因此,难免病毒(WORM_DOWNAD病毒)利用文件共享频繁攻击这几台主机,导致趋势杀毒系统(Officescan)大量的查杀行为。

 

10.10.14.3主要查杀的是WORMDOWN类似的飞客病毒,服务器补丁都打上了。服务器都开着共享,所以是由网络中其它主机攻击造成,从查杀数来看属正常范围。而病毒也在攻击时被趋势杀毒系统(Officescan)全部查杀清除。服务器本身并未感染到病毒,目前,这几台服务器是安全的。

 

 

1.3受感染用户前10名(本月排行)

计算机

IP地址

病毒/恶意软件数

楼宇名

处理措施

1

SVCTAG-GTHDL2X

10.22.23.69

2932

西溪校网中心

清除成功

2

ZJUA

10.10.14.12

1671

紫金港IDC机房

清除成功

3

IBM1

10.10.14.10

765

紫金港IDC机房

清除成功

4

LAB4051

10.71.149.5

619

紫金港-医学院教学中心

清除成功

5

ROOM509-26

10.78.18.13

261

紫金港东4

清除成功

6

MATH20

10.13.91.160

195

玉泉-工商管理楼

清除成功

7

N/A

90

无法识别的用户

清除成功

8

PC-201301091427

192.168.1.100

64

推测为无线用户

清除成功

9

ROOM509-19

10.78.18.219

51

紫金港东4

清除成功

10

ROOM509-36

210.32.188.179

44

紫金港东4

清除成功

 

二、         安全简讯

2.1 10大活跃放码网站

网络病毒主要针对一些防护比较薄弱,特别是访问量较大的网站通过网页挂马的方式进行传播。当存在安全漏洞的用户主机访问了这些被黑客挂马的网站后,会经过多级跳转暗中连接黑客最终“放马”的站点下载网络病毒。2014 年 1 月,趋势监测发现排名前十的活跃放马站点域名和活跃放马站点 IP 如下表所示。

 

2.2 飞客蠕虫监测数据

2014 年 1 月,Trendmicro监测到全球互联网 1137 万余个主机IP 地址感染飞客蠕虫,按国家或地区分布感染数量排名前三位的分别是中国大陆、印度、巴西。

境内感染飞客蠕虫的主机 IP 为近 125 万个,按地区分布感染数量排名前三位的分别是广东省、江苏省、浙江省。

2.3本月重要的安全漏洞

1、WordPress产品安全漏洞

WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL数据库的服务器上架设自己的网志。本周,上述产品被披露存在多个安全漏洞,攻击者可利用漏洞上传 GIF 文件的任意内容或执行任意代码。

TRENDMICRO 收录的相关漏洞包括:WordPress 插件 WP e-Commerce ‘logs.php’远程代码执行漏洞、WordPress 插件 WP e-Commerce ‘misc.functions.php’本地文件包含漏洞、WordPress 插件 WP e-Commerce ‘ajax.phpwpsc_action’远程代码执行漏洞、WordPress 插件 SS Downloads 存在多个跨站脚本漏洞、WordPress 插件 WP e-Commerce ‘save-data.functions.php’ GIF 文件上传漏洞。上述漏洞中除了“WordPress 插件 WP e-Commerce ‘misc.functions.php’本地文件包含漏洞、WordPress插件SS Downloads存在多个跨站脚本漏洞”外,其它漏洞的综合评级均为“高危”。厂商已经发布了“WordPress 插件 SS Downloads 存在多个跨站脚本漏洞”的修补程序。TRENDMICRO 提醒用户尽快下载补丁更新,避免引发漏洞相关的网络安全事件。

 

2、Drupal 产品安全漏洞

Drupal 是一套开放源码的内容管理平台。本周,上述产品被披露存在多个安全漏洞,攻击者利用漏洞可以获取敏感信息或劫持用户会话。

TRENDMICRO 收录的相关漏洞包括:Drupal Leaflet 模块 Map Features 访问权限绕过漏洞、Drupal Event Calendar 模块跨站脚本漏洞。厂商已经发布了“Drupal Leaflet 模块 Map Features 访问权限绕过漏洞“的修补程序。TRENDMICRO 提醒用户及时下载补丁更新,避免引发漏洞相关的安全事件。

 

3、Red Hat 产品安全漏洞

Red Hat CloudForms 是红帽子推出的混合云管理软件。本周,上述产品被披露存在安全漏洞,攻击者利用漏洞进行跨站请求伪造攻击。

TRENDMICRO 收录的相关漏洞包括:Red Hat CloudForms Management Engine 跨站请求伪造漏洞。厂商已经发布了上述漏洞的修补程序。TRENDMICRO 提醒用户尽快下载补丁更新,避免引发漏洞相关的网络安全事件。

 

4、Apple产品安全漏洞

Apple Pages 是一款源自 iWork 用于 iOS 上的文字处理应用软件。本周,该产品被披露存在漏洞,攻击者利用漏洞可以在运行应用程序的用户上下文中执行任意代码,可能会导致拒绝服务攻击。

TRENDMICRO 收录的相关漏洞包括:Apple Pages 文件处理远程代码执行漏洞。上述漏洞的综合评级为“高危“。厂商已发布了上述漏洞的修补程序。TRENDMICRO 提醒相关用户尽快下载补丁更新,避免引发漏洞相关的网络安全事件。

 

5、Easy POS System ‘login.php’多个参数 SQL 注入漏洞

Easy POS System 是基于 Web 的由 PHP 编写与 MySQL 数据库的简单的 POS 系统。本周,Easy POS System 被披露存在一个综合评级为“高危”的’login.php’多个参数 SQL注入漏洞。由于脚本 login.php 中未能正确过滤用户提供输入到“EMAILID’和’password’参数,允许远程攻击者在后端数据库中注入或操纵 SQL 查询,允许任意数据的操纵或泄露。目前,互联网上已经出现了针对该漏洞的攻击代码,厂商尚未发布该漏洞的修补程序。TRENDMICRO 提醒广大用户随时关注厂商主页以获取最新版本。

2.3 截止至本月的各查杀统计表

已查杀的病毒/恶意软件数:

 

已查杀的全部病毒、恶意软件摘要:

 

传染来源摘要:(N/A表示来自外网或无法识别)

 

被感染的目标(主机)摘要:

 

处理措拖结果摘要:

 

三、         计算机病毒常用防范知识

3.1 面对APT攻击,企业可以做什么?

APT攻击作为一种复杂且多方位的攻击,对于企业的安全保障构成了极大的风险。尽管很多全球化企业在安全控管上都投入了庞大的资源,但是APT攻击仍然渗透进这些企业,并使韩国金融企业、Adobe等遭遇了重大损失。这些事件都向我们警示了APT攻击的复杂性与巨大破坏性,并敦促我们尽快采取相应防范措施。

 

APT攻击使企业面临巨大风险

 

APT攻击可能发生在任何一家公司,其中最大的一个原因就是为了窃取公司的机密信息。知识产权、金融资料、员工和客户的个人信息、财务信息等很多机密信息都具有很高的价值。一旦黑客通过APT攻击获取这些机密信息,将有可能给目标企业造成巨大的损失。但同时,窃取机密信息并非APT攻击的唯一原因,破坏系统、监视等都有可能成为黑客攻击者的原因。因此,不管企业有无敏感信息,都时刻都暴露在APT攻击的风险之下。

 

攻击者可能会利用某个组织的网络基础设施来发动对其它组织的攻击。在某些案例中,攻击者会利用受害者的电子邮件账号来增加他们鱼叉式网络钓鱼攻击邮件的可信度。在类似的攻击事件中,为了实现对大型组织网络的攻击,黑客可能会从连接到该组织网络的小企业入手,然后以其作为跳板发动攻击。对攻击者来说,通过小企业的网络会更加容易也更为隐蔽,而且不会在大型组织的网络内留下痕�。

 

此外,一家公司也可能单纯的被当成跳板,用来掩盖攻击者和目标之间的攻击路径。

 

在韩国近期遭受的大规模APT攻击中,黑客就假冒银行的电子邮件账号发送主题为“三月份信用卡交易明细”的钓鱼邮件,该邮件包含了名为“您的账户交易历史”的恶意.rar文件,它会连接数个恶意IP地址并下载9个文件,企业内部的中央更新管理服务器也会因为遭受入侵而被植入恶意程序。

 

面对APT攻击可以做什么

 

不管企业的防御措施有多么完善,只要一个设定错误或某个用户打开恶意文件或访问恶意网站,就可能会让公司受到影响。因此,企业所要做的不仅是在攻击发生后迅速的采取修补措施,还应该及时的对整个IT架构的数据动态进行检测,一旦攻击者进入公司网络,受攻击的目标必须要能尽快的加以侦测和控制。在这时间点,可以进行完整的调查来看看攻击者去过哪些地方和造成哪些损害。

 

在韩国此次遭受的APT攻击中,就有部署了趋势科技TDA的韩国用户成功的抵挡了此次攻击。趋势科技TDA具备完善的启发式侦测能力与沙盒分析提示,当恶意程序在网络中传播感染其它用户时,它们就会被打上标记,其中就包括向外界传送信息或从恶意的来源接收命令的隐藏型恶意软件。当TDA侦测出此次攻击相关的邮件中的恶意附件后,企业就有充足的时间来定制防御策略(Custom Defense Strategy)以抵御攻击。

 

对威胁进行侦测和控制的过程可能非常耗时,但是企业可以先专注在两个方面来将损害降到最低程度,同时也让事件调查可以尽可能的快速和成功。第一,企业要执行适当的纪录政策,将网络分割,并通过趋势科技TDA等威胁发现设备来加强安全威胁检测和对关键资料的保护。第二,企业要有已经受过训练和运作正常的威胁情报小组和事件调查小组。

 

为了帮助改善安全状态,渗透测试对公司来说也会很有帮助,从测试结果里可以了解很多安全隐患。如果可以的话,也要进行社交工程和实体安全测试。一旦完成,渗透测试可以用来作为事件调查小组的训练工具,并将所发现的信息提供给公司,有助于企业了解整体的安全性问题。

 

安全是一项投资,但由于APT攻击可能对企业造成的巨大损害,这种投资是值得的。企业需要随时关注APT攻击的防御措施,并且了解更多关于如何尽量减少成为APT攻击受害者风险的详细信息,以保证企业的安全性。

 

3.2 常见病毒处理方法-保障MySQL安全的14个最佳方法

MySQL数据库一贯以高性能、高可性和易用性著称,它已经成为世界上最流行的开源数据库。大量的个人、WEB开发者、大型公司等都在其网站、关键系统、软件包中广泛使用MySQL数据库。

 

通常,许多企业在部署一种产品时,安全性常常得不到应有的重视。企业最关心的是使其可以尽快地运行,企业由此也可以尽快赢利。

 

但有的企业在安装MySQL时用的是默认选项,由此造成其数据不安全,且服务器也面临被入侵的风险,并有可能在短时间内就出现性能问题。下面将提供保障MySQL安全的最佳方法。

 

1、避免从互联网访问MySQL数据库,确保特定主机才拥有访问特权

 

直接通过本地网络之外的计算机改变生产环境中的数据库是异常危险的。有时,管理员会打开主机对数据库的访问:

 

> GRANT ALL ON *.* TO ‘root’@’%’;

 

这其实是完全放开了对root的访问。所以,把重要的操作限制给特定主机非常重要:

 

> GRANT ALL ON *.* TO ‘root’@’localhost’;

 

> GRANT ALL ON *.* TO ‘root’@’myip.athome’

 

> FLUSH PRIVILEGES

 

此时,你仍有完全的访问,但只有指定的IP(不管其是否静态)可以访问。

 

2、定期备份数据库

 

任何系统都有可能发生灾难。服务器、MySQL也会崩溃,也有可能遭受入侵,数据有可能被删除。只有为最糟糕的情况做好了充分的准备,才能够在事后快速地从灾难中恢复。企业最好把备份过程作为服务器的一项日常工作。

 

3、禁用或限制远程访问

 

前面说过,如果使用了远程访问,要确保只有定义的主机才可以访问服务器。这一般是通过TCP wrappers、iptables或任何其它的防火墙软件或硬件实现的。

 

为限制打开网络socket,管理员应当在my.cnf或my.ini的[mysqld]部分增加下面的参数:

 

skip-networking

 

这些文件位于windows的C:Program FilesMySQLMySQL Server 5.1文件夹中,或在Linux中,my.cnf位于/etc/,或位于/etc/mysql/。这行命令在MySQL启动期间,禁用了网络连接的初始化。请注意,在这里仍可以建立与MySQL服务器的本地连接。

 

另一个可行的方案是,强迫MySQL仅监听本机,方法是在my.cnf的[mysqld]部分增加下面一行:

 

bind-address=127.0.0.1

 

如果企业的用户从自己的机器连接到服务器或安装到另一台机器上的web服务器,你可能不太愿意禁用网络访问。此时,不妨考虑下面的有限许可访问:

 

mysql> GRANT SELECT, INSERT ON mydb.* TO ‘someuser’@’somehost’;

 

这里,你要把someuser换成用户名,把somehost换成相应的主机。

 

4、设置root用户的口令并改变其登录名

 

在linux中,root用户拥有对所有数据库的完全访问权。因而,在Linux的安装过程中,一定要设置root口令。当然,要改变默认的空口令,其方法如下:

 

Access MySQL控制台:$ mysql -u root -p

 

在MySQL控制台中执行:

 

> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘new_password’);

 

在实际操作中,只需将上面一行的new_password换成实际的口令即可。

 

在Linux控制台中更改root口令的另一种方法是使用mysqladmin工具:

 

$ mysqladmin -u root password new_password

 

此时,也是将上面一行的new_password换成实际的口令即可。

 

当然,这是需要使用强口令来避免强力攻击。

 

为了更有效地改进root用户的安全性,另一种好方法是为其改名。为此,你必须更新表用户中的mySQL数据库。在MySQL控制台中进行操作:

 

> USE mysql;

 

> UPDATE user SET user="another_username" WHERE user="root";

 

> FLUSH PRIVILEGES;

 

然后,通过Linux访问MySQL控制台就要使用新用户名了:

 

$ mysql -u another_username -p

 

5、移除测试(test)数据库

 

在默认安装的MySQL中,匿名用户可以访问test数据库。我们可以移除任何无用的数据库,以避免在不可预料的情况下访问了数据库。因而,在MySQL控制台中,执行:

 

> DROP DATABASE test;

 

6、禁用LOCAL INFILE

 

另一项改变是禁用”LOAD DATA LOCAL INFILE”命令,这有助于防止非授权用户访问本地文件。在PHP应用程序中发现有新的SQL注入漏洞时,这样做尤其重要。

 

此外,在某些情况下,LOCAL INFILE命令可被用于访问操作系统上的其它文件(如/etc/passwd),应使用下现的命令:

 

mysql> LOAD DATA LOCAL INFILE ‘/etc/passwd’ INTO TABLE table1

 

更简单的方法是:

 

mysql> SELECT load_file("/etc/passwd")

 

为禁用LOCAL INFILE命令,应当在MySQL配置文件的[mysqld]部分增加下面的参数:

 

set-variable=local-infile=0

 

7、移除匿名账户和废弃的账户

 

有些MySQL数据库的匿名用户的口令为空。因而,任何人都可以连接到这些数据库。可以用下面的命令进行检查:

 

mysql> select * from mysql.user where user="";

 

在安全的系统中,不会返回什么信息。另一种方法是:

 

mysql> SHOW GRANTS FOR ”@’localhost’;

 

mysql> SHOW GRANTS FOR ”@’myhost’;

 

如果grants存在,那么任何人都可以访问数据库,至少可以使用默认的数据库“test”。其检查方法如下:

 

shell> mysql -u blablabla

 

如果要移除账户,则执行命令:

 

mysql> DROP USER "";

 

从MySQL的5.0版开始支持DROP USER命令。如果你使用的老版本的MySQL,你可以像下面这样移除账户:

 

mysql> use mysql;

 

mysql> DELETE FROM user WHERE user="";

 

mysql> flush privileges;

 

8、降低系统特权

 

常见的数据库安全建议都有“降低给各方的特权”这一说法。对于MySQL也是如此。一般情况下,开发人员会使用最大的许可,不像安全管理一样考虑许可原则,而这样做会将数据库暴露在巨大的风险中。

 

为保护数据库,务必保证真正存储MySQL数据库的文件目录是由”mysql” 用户和” mysql”组所拥有的。

 

shell>ls -l /var/lib/mysql

 

此外,还要确保仅有用户”mysql”和root用户可以访问/var/lib/mysql目录。

 

Mysql的二进制文件存在于/usr/bin/目录中,它应当由root用户或特定的”mysql”用户所拥有。对这些文件,其它用户不应当拥有“写”的访问权:

 

shell>ls -l /usr/bin/my*

 

9、降低用户的数据库特权

 

有些应用程序是通过一个特定数据库表的用户名和口令连接到MySQL的,安全人员不应当给予这个用户完全的访问权。

 

如果攻击者获得了这个拥有完全访问权的用户,他也就拥有了所有的数据库。查看一个用户许可的方法是在MySQL控制台中使用命令SHOW GRANT

 

>SHOW GRANTS FOR ‘user’@’localhost’;

 

为定义用户的访问权,使用GRANT命令。在下面的例子中,user1仅能从dianshang数据库的billing表中选择:

 

> GRANT SELECT ON billing.dianshang TO ‘user1’@’localhost’;

 

> FLUSH PRIVILEGES;

 

如此一来,user1用户就无法改变数据库中这个表和其它表的任何数据。

 

另一方面,如果你要从一个用户移除访问权,就应使用一个与GRANT命令类似的REVOKE命令:

 

> REVOKE SELECT ON billing.ecommerce FROM ‘user1’@’localhost’;

 

> FLUSH PRIVILEGES;

 

10、移除和禁用.mysql_history文件

 

在用户访问MySQL控制台时,所有的命令历史都被记录在~/.mysql_history中。如果攻击者访问这个文件,他就可以知道数据库的结构。

 

$ cat ~/.mysql_history

 

为了移除和禁用这个文件,应将日志发送到/dev/null。

 

$export MYSQL_HISTFILE=/dev/null

 

上述命令使所有的日志文件都定向到/dev/null,你应当从home文件夹移除.mysql_history:$ rm ~/.mysql_history,并创建一个到/dev/null的符号链接。

 

11、安全补丁

 

务必保持数据库为最新版本。因为攻击者可以利用上一个版本的已知漏洞来访问企业的数据库。

 

12、启用日志

 

如果你的数据库服务器并不执行任何查询,建议你启用跟踪记录,你可以通过在/etc/my.cnf文件的[Mysql]部分添加:log =/var/log/mylogfile。

 

对于生产环境中任务繁重的MySQL数据库,因为这会引起服务器的高昂成本。

 

此外,还要保证只有root和mysql可以访问这些日志文件。

 

错误日志

 

务必确保只有root和mysql可以访问hostname.err日志文件。该文件存放在mysql数据历史中。该文件包含着非常敏感的信息,如口令、地址、表名、存储过程名、代码等,它可被用于信息收集,并且在某些情况下,还可以向攻击者提供利用数据库漏洞的信息。攻击者还可以知道安装数据库的机器或内部的数据。

 

MySQL日志

 

确保只有root和mysql可以访问logfileXY日志文件,此文件存放在mysql的历史目录中。

 

13、改变root目录

 

Unix操作系统中的chroot可以改变当前正在运行的进程及其子进程的root目录。重新获得另一个目录root权限的程序无法访问或命名此目录之外的文件,此目录被称为“chroot监狱”。

 

通过利用chroot环境,你可以限制MySQL进程及其子进程的写操作,增加服务器的安全性。

 

你要保证chroot环境的一个专用目录,如/chroot/mysql。此外,为了方便利用数据库的管理工具,你可以在MySQL配置文件的[client]部分改变下面的参数:

 

[client]

 

socket = /chroot/mysql/tmp/mysql.sock

 

14、禁用LOCAL INFILE命令

 

LOAD DATA LOCAL INFILE可以从文件系统中读取文件,并显示在屏幕中或保存在数据库中。如果攻击者能够从应用程序找到SQL注入漏洞,这个命令就相当危险了。下面的命令可以从MySQL控制台进行操作:

 

> SELECT LOAD_FILE("/etc/passwd");

 

该命令列示了所有的用户。解决此问题的最佳方法是在MySQL配置中禁用它,在CentOS中找到/etc/my.cnf或在Ubuntu中找到/etc/mysql/my.cnf,在[mysqld]部分增加下面一行:set-variable=local-infile=0。搞定。

 

当然,唇亡齿寒,保护服务器的安全对于保障MySQL数据库的安全也是至关重要的。服务器的安全对于数据库来说可谓生死攸关。

 

四、         技术交流

欢迎老师和同学们前来交流问题,多提建议,希望下期简报内容更加接近大家的需求。

 

咨询服务电话:87951669

 

工程师联系方式:

13588277982 章荣伟

 

原文链接:https://itc.zju.edu.cn/2014/0227/c11911a521638/page.htm

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享