观点 | 数据安全也要加把“保护锁”

作者: zdx         消息类型: 公司新闻         发布日期:2020-04-13

最近,两起有关数据安全的事件引发关注。工信部近日就新浪微博App(手机应用程序)数据泄露问题,对其相关负责人进行问询约谈。新浪微博回应称,已采取了升级接口安全策略等措施,后续将落实企业数据安全主体责任,切实做好用户个人信息保护工作。此前,为线上商户提供营销服务的微盟发生业务数据丢失事故,给企业和商户造成严重影响。

数据安全保护事关每位公民的合法权益,也事关企业发展和经济社会大局。在大数据时代,如何增强人们的数据“安全感”?


谁动了“你”的数据?

当用户注册某个手机软件时,会弹出要求用户授权通讯录、麦克风、地理位置各类信息权限的条款;在街边或商场的促销活动上,商家招揽顾客扫码免费领取奖品;在商场等公共场所,看到来历不明的免费无线网络,一些人会不加考虑地连接上网……日常生活中,人们经常遇见这样的场景。不经意间,个人的数据信息面临着被直接或间接“窃取”的风险。
随着互联网的迅速普及和信息化的深入发展,各种数据化信息被快速生产、收集、储存、处理和利用,大数据时代随之来临。
当今社会,数据被视为一种新型资源。通过对收集的用户数据进行深入分析和挖掘,企业能根据客户的地域、类别、喜好、社交需求等个人信息,综合判断用户的消费需求,更加精准地“推销”产品,谋划产业布局。
大数据在带来新机遇的同时,也带来了新挑战,数据泄露、数据滥用等安全风险突出,隐患不小。一旦数据泄露或者被滥用,骚扰电话、网络诈骗等也可以由“误打误撞”变为“精准定制”。


守住数据安全“红线”

“数据安全问题处理得好坏,直接影响到个人隐私甚至社会秩序和国家利益,这是数字经济发展道路上必须面对的挑战。”北京邮电大学网络空间安全学院教授辛阳指出。
在大数据时代,信息所具有的商业价值日渐成为企业的核心竞争力,越来越多的企业投入巨资收集、整理和挖掘信息。如何平衡个人信息保护与产业发展间的关系,成为当下亟待解决的问题。
2019年1月至12月,中央网信办、工信部、公安部、市场监管总局四部门在全国范围组织开展App违法违规收集使用个人信息专项治理。2019年12月30日,四部门联合印发《App违法违规收集使用个人信息行为认定方法》,将31种违法违规收集使用个人信息行为进行了分类认定,为移动互联网企业划定用户数据安全保护的“红线”。
业内人士指出,大数据采集要遵循三个原则:合法原则,即不得窃取或者以其他非法方式获取个人信息;正当原则,即不得以欺骗、误导、强迫、违约等方式收集个人信息;必要原则,即满足信息主体授权目的所需的最少个人信息类型和数量。


合力强化数据“安全感”

近日,工业和信息化部关于推动5G加快发展的通知,强调进一步强化5G网络数据安全保护,指出要围绕典型应用场景,健全完善数据安全管理制度与标准规范;要合理划分网络运营商、行业服务提供商等各方数据安全和用户个人信息保护责任等。
5G时代到来,数据安全保护面临着更大的挑战。各方应加强合力,让非法收集、滥用数据的“灰色空间”越来越小,让用户的数据安全感越来越实。
近年来,中国不断加快相关法律制度建设。2017年6月1日实施的网络安全法,对个人信息保护提出专门要求;2018年5月1日,国家标准《信息安全技术个人信息安全规范》正式实施;2019年5月,国家网信办发布《数据安全管理办法(征求意见稿)》。
此外,针对个人信息数据安全,国家和地方层面上的专向整治活动力度不小,为数据安全上紧“保护锁”。2020年初,浙江警方针对全省互联网企业涉个人信息数据安全的专项整治工作拉开序幕,此次活动将贯穿全年,将有效打击整治与个人信息安全相关的违法犯罪,加强互联网企业的数据安全保护,规范互联网企业涉个人信息经营行为。
业内人士指出,对互联网企业而言,要强化法治思维,落实法律规范,守住法律底线,这是落实大数据发展战略、推动企业数据类型业务有序发展的重要保障。平台方应通过用户协议或隐私协议等方式,明确告知用户收集信息的具体内容和目的,坚持“最少必要”的原则。对用户而言,每个人都要为个人信息把关,养成安全使用手机软件的习惯,当发现个人信息被泄露时,要勇于拿起法律武器维护自身合法权益。
(来源:人民日报海外版)

调查显示:工控安全事件已造成人员伤亡

    消息类型: 公司新闻         发布日期:2019-11-20

国际控制系统网络安全协会 (CS2AI) 进行的调查显示,最近几起涉工业控制系统 (ICS) 的网络安全事件已造成人员受伤甚至死亡。


CS2AI 是一个非营利性组织,专注联网机会的增长与扩张,以及控制系统网络安全领域中每个人的职业发展。该组织目前拥有遍布全球的 1.6 万多成员,正通过调查研究执行一年一度的 ICS 网络安全状态分析,试图回答如何更好保护关键系统的一系列重要问题。

目前约有 300 名工业和自动化系统网络安全负责人已经接受了此项问卷调查,CS2AI 将于 11 月发布完整报告。但媒体 SecurityWeek 举办的 2019 ICS 网络安全大会上公布了截至目前收集到的一些数据。该调查可在任何时间进行,第一份报告发布后收集的数据将被用于后续报告。

出席 ICS 网络安全大会的部分专家指出,很多工业公司仍未严肃对待网络安全问题,常辩称自己从未或不可能成为恶意黑客的目标。

然而,调查显示——假定受访者均诚实作答,运营技术 (OT) 安全事件确实发生时可造成严重后果。

被问及过去一年中经历的 ICS 安全事件有何影响时,约 1% 的受访者承认造成人员受伤,1% 称事件导致了人员死亡。

由于数据绝大部分是匿名收集的,造成人员伤亡的几起事件并无更多信息透露。如果想注册赢取奖励的机会,受访者也可以选择提供自身信息。

约 1/4 的受访者称事件导致了运营中断,且由于组织策略问题,很多都无法解决。

说到企业遭遇安全事件的原因,34% 的受访者将受恶意软件感染的可移动媒体驱动器列为攻击途径,提名电子邮件(如网络钓鱼)的人数与之基本相当。16% 的受访者举出预先感染了恶意软件的硬件或软件,12% 归罪于第三方网站(如水坑攻击),10% 归因于受感染或被入侵的移动设备。也有一些受访者提到了实体安全入侵和 WiFi 入侵。

一些公司承认拥有可直接从互联网访问的控制系统,包括可编程逻辑控制器 (PLC)、人机接口 (HMI)、服务器、工作站和历史数据库。

45% 的受访者处在运营岗位上,管理岗位的占 20%,领导岗位的有 18%,身居高管层的占 17%。近半数受访者来自北美,1/4 来自欧洲,其他来自亚太地区、中东和拉丁美洲。

很多公司的安全重点工作是风险评估与管理,其次是网络边界安全,再次是业务连续性。云安全处在这张表的底端,仅有少数工业公司将之作为工作重点之一。

被问及缓解或修复 ICS 漏洞中存在的障碍时,最常见的答案是专业技能不足,其次是人手不够、运营要求(如因必须的正常运行时间而无法处理漏洞)、财务资源不足和领导层支持不够。

CS2AI 完整报告还将呈现开支与预算、意识培训、组织计划、网络安全项目和安全评估等方面的数据。


【IOT安全研究】D-Link RCE漏洞分析

作者: zdx         消息类型: 公司新闻         发布日期:2020-03-21

上一篇文章(https://www.freebuf.com/articles/ics-articles/221625.html)分析了一下ARM系统的路由器漏洞,本次打算尝试一下MIPS系统,于是选了最近DLink路由器的漏洞CVE-2019-17621作为目标。同样一路走来各种踩坑不断,“纸上得来终觉浅,绝知此事要躬行”,对整个过程做一下梳理。

1、环境搭建

运行环境安装配置之前须了解你所使用的Linux系统的版本以及Qemu的版本,因为这直接影响着你后续选择安装各种依赖包、mips qemu镜像等的版本,各种版本都对应上,最终系统才能正确运行。本次漏洞分析的基础环境为前期的Ubuntu18.04虚拟机和基于qemu-4.0.0源码编译安装的Qemu运行环境:

从站点https://people.debian.org/~aurel32/qemu/mips/下载debianmips qemu镜像,由于虚拟机是Ubuntu linux,下载debian_squeeze_mips_standard.qcow2和vmlinux-2.6.32-5-4kc-malta即可:

MIPS系统网络配置


使用QEMU 模拟运行MIPS系统,需要将ubuntu虚拟机设置成桥接,这样以来ubuntu系统就可以和QEMU虚拟机进行通信和数据传输(此操作类似配置VMware Workstation的桥接用以与物理机的通信)。

获取安装依赖,执行以下命令:

sudo apt-get install bridge-utils uml-utilities

修改ubuntu主机网络配置,将ubuntu的网络接口配置文件 /etc/network/interfaces 修改为如下内容并保存、关闭:

sudo gedit /etc/network/interfaces

修改QEMU的网络接口启动脚本,重启网络使配置生效,执行以下命令:

sudo gedit /etc/qemu-ifup

在脚本文件/etc/qemu-ifup结尾增加如下内容:

保存文件/etc/qemu-ifup 以后,赋予可执行权限,然后重启网络使所有的配置生效:

sudo chmod a+x /etc/qemu-ifup

sudo /etc/init.d/networking restart

QEMU启动配置

Qemu运行之前先启动桥接网络,在本地ubuntu命令行终端执行以下命令(注意:ens33为ubuntu默认网卡):

sudo ifdown ens33

sudo ifup br0

QEMU MIPS虚拟机启动

进入前面下载的mips镜像目录,执行以下命令:

sudo qemu-system-mips -M malta -kernelvmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append"root=/dev/sda1 console=tty0" -net nic,macaddr=00:16:3e:00:00:01 -nettap



输入root/root便可登入qemu mips虚拟机,为了更便操作mips虚拟机,可在unbuntu中新开启一个终端,ssh连接到qemu mips:


固件模拟运行

从DLink官网下载包含漏洞版本的路由器固件:ftp://ftp2.dlink.com/PRODUCTS/DIR-859/DIR-859_REVA_FIRMWARE_v1.05B03.zip,使用binwalk -Me直接解压固件可得到文件系统文件:

固件模拟运行由两种方式可以考虑:① 将文件系统上传到qemu mips虚拟机中运行;② 借助firmadyne工具运行固件(当然也可以尝试使用AttifyOS VM):

① 使用scp命令将squashfs-root目录上传到qemu mips虚拟机:

chroot /root/squashfs-root sh

② 借助firmadyne工具运行固件

Firmadyne是一款自动化和可裁剪的嵌入式Linux系统固件分析框架,它支持系统固件逆向QEMU嵌入式系统模拟执行,使用其可模拟路由器固件、执行路由器。安装和使用方法详见https://github.com/firmadyne/firmadyne。注意:Firmadyne安装之前,先安装firmware-analysis-toolkit,安装方法详见https://github.com/attify/firmware-analysis-toolkit,安装完成之后在firmware-analysis-toolkit目录中创建firmadyne目录并下载安装Firmadyne。各自全部安装完成后如下所示(注意两个工具须完全按照步骤安装完成,否则后续固件运行会出错):

首先将firmware-analysis-toolkit目录下的fat.py和reset.py文件移动到firmadyne目录;接着进入firmadyne修改firmadyne.config设置路径如下:

将固件bin文件拷贝至firmadyne目录,继续执行以下命令:

rm -rf images*

python3 reset.py

sudo -u postgres createdb -O firmadyne firmware

sudo -u postgres psql -d firmware < ./database/schema

./sources/extractor/extractor.py -b Dlink -sql 127.0.0.1 -np-nk "DIR859Ax_FW105b03.bin" images

./scripts/getArch.sh ./images/1.tar.gz

./scripts/makeImage.sh 1

./scripts/inferNetwork.sh 1

./scratch/1/run.sh

Ubuntu中打开浏览器,输入192.168.0.1即可访问仿真路由器:


2、远程调试

路由器固件已成功得以运行,接下来可以对目标程序进行调试,此时可借助物理机中IDA进行远程调试(当然,IDA也可以安装在ubuntu中)。调试仍然有两种思路:

① 在qemu mips虚拟机中,借助静态gdbserver和远程IDA的“remote GDB debugger”功能对目标mips程序进行动态调试,此处需要注意的是静态gdbserver文件格式必须和mips系统的大/小端完全对应,可用file命令查看固件的相关信息:

因此须首先交叉编译得到32bit MSB格式的静态gdbserver文件,交叉编译可用选择Openwrt或Buildroot,此处省略。

② 在ubuntu解出固件文件系统后,使用chroot命令,配合qemu-mips-static运行目标文件(cgibin为目标文件),然后附件远程IDA进行动态调试,首先在ubuntu中执行以下命令:

chroot . ./qemu-mips-static -g 1235 ./htdocs/cgibin

接着在物理集中打开IDA调试器,进行如下操作:



最终可成功进行远程调试:


3、漏洞分析

在路由器运行状态下,文件系统中的/htdocs/cgibin的genacgi_main()函数在UPnP请求处理过程中,存在远程执行代码漏洞。UPnP是专用网络中设备之间的通信协议,实现了智能设备端到端网络连接结构。它也是一种架构在TCP/IP和HTTP技术之上的,分布式、开放的网络结构,以使得在联网的设备间传递控制和数据。UPnP不需要设备驱动程序,因此使用UPnP建立的网络是介质无关的。同时UPnP使用标准的TCP/IP和网络协议,使它能够无缝的融入现有网络。构造UPnP应用程序时可以使用任何语言,并在任何操作系统平台上编译运行。

尝试静态下使用IDA反汇编cgibin文件,然后F5查看伪代码,发现操作失败,故换用Ghidra(NSA发布的、基于Java开发的、适用于Windows、Mac和Linux的跨平台反汇编工具),发现可快速定位genacgi_main()函数并查看伪码(貌似反汇编能力优于IDA?):

从伪码中可以看到,sprintf()函数设置了一个包含所有值的缓冲区,其中函数参数 ?service=及其值,被xmldbc_ephp()函数(最后调用send())将“buffer_8”中包含的数据发送给PHP:

可看出sprintf()用于连接多个变量的值,用于填充一个缓冲区,设置要传递的新变量,其中SHELL_FILE将以格式%s_%d.sh进行传递,主要用于为新的shell脚本命名。缓冲区中的数据经过xmldbc_ephp处理,由PHP文件run.NOTIFY.php进行处理,如下:

程序的调用流程为:buf_8 ->xmldbc_ephp->FUN_0041420c ->FUN_0041372c -> socket。

关于run.NOTIFY.php内容:

其中可见调用了PHP函数 GENA_subscribe_new(),并传递cgibin程序中genacgi_main()函数获得的变量,还包括变量SHELL_FILE。搜索GENA_subscribe_new()发现其定义在gena.php文件中,分析GENA_subscribe_new功能可知其并不修改$shell_file变量,

其传递 $shell_file到GENA_notify_init函数,也就是shell_file最终处理的地方:通过调用PHP函数fwrite()创建新文件,且fwrite() 函数被使用了两次:

fwrite()函数第一次创建文件,文件名由可控的SHELL_FILE变量(uri_service)以及getpid()组成:



第二次调用fwrite()向文件中添加删除命令"rm -f ".$shell_file."\n",攻击时,只需要插入一个反引号包裹的系统命令,将其注入到shell脚本中,当脚本执行rm命令时遇到反引号将失败,继续执行引号里面的系统命令,从而达到远程命令执行漏洞的触发。因此,控制好"/gena.cgi?service=shell_file"中shell_file的内容为反引号包裹的系统命令,就可以触发漏洞。


4、漏洞重现

根据漏洞原理,执行以下PoC脚本:

由此可见漏洞利用后,目标路由器的telnetd服务被开启,获得维持访问shell。



注:本文已同步在Freebuf同步发表:https://www.freebuf.com/vuls/228726.html


“凯发k8App赛博空间非攻研究院”为凯发k8App_凯发体育下载_娱乐凯发app下载旗下技术创新、安全研究的重要部门,部门拥有一支能力突出、技术过硬、业务精通、勇于创新的技术队伍,当前主要专注于应用安全、攻防渗透、工业互联网安全、物联网安全、电信安全和人工智能安全等方向。

服务热线
025-8660 3700

微信公众号