-
-
[分享]安全沙龙会后总结及应组织者汪金宝邀请我的乱评。
-
发表于:
2013-4-15 13:39
24176
-
[分享]安全沙龙会后总结及应组织者汪金宝邀请我的乱评。
应安全沙龙组织者汪金宝邀请我对会后总结进行了个人乱评,个人言论仅供参考。
逐鹿安全第三次聚会
(聚会日期:2013-4-9,星期二)
加加减减,物是人非。
世界充满死亡和生机。
乱评:
人类自身进化动力湮。
科技智能发展演变烈。
------人之殇
1 云
本期主题讨论云安全,我们先看看什么是云。
1.1 新经济模式
有人说云计算就是虚拟机,将物理机切分成多个计算单位,为多人使用;
有人说云计算像是自来水,流入你家里。打开水龙头,你要多少就能获得多少;
有人说云计算非常经济,租用模式代替购买;云计算非常环保,提高计算资源使用效率。
以上说的不完全正确。云计算主要通过虚拟化技术,为租户提供计算资源,并能在一定限度内动态调整计算资源大小。合理使用云计算,可以达到环保目的。
可惜的是,一些不懂IT的组织就因为环保,上马云计算工程。堆切了N多机器,没有部署应用,反而浪费了大量能源。
乱评:环保是噱头,本质是计算体系进化的一个开端,由单细胞(单机)开始向多细胞模式(云)进化。云化是有条件的,特定的环境云化是可以节省费用、环保的,而目前安全问题是云发展的最大弊端。
1.2 弹性(scale in/out)
上面提到云计算能在一定限度内动态调整计算资源大小。因为,这种调整不能突破上限——当前物理机器的计算能力。
虚拟化技术可以将一台物理机器切分成多台虚拟机器。相当于将一台机器计算能力分配给多台虚拟机器。假如某个虚拟机器请求扩大计算资源。虚拟调配技术会缩小其他虚拟机器计算资源,或者将一些虚拟机器“挪到”到其他物理机器,将腾出的计算能力动态赋给请求扩大计算资源的虚拟机器。
当一台物理机器上其他虚拟机器都被“挪到”其他机器,该机器只有一台虚拟机器时,该虚拟机的计算资源就达到上限,无法继续增大。(把该虚拟机器“挪到”更大处理能力的物理机器,这是后话,也只能是权衡之计)恩,明白了吗?说的更简单一些就是:将蛋糕切成两份,小孩都能做到;将两份蛋糕合成一个蛋糕,神仙也做不到。
那么,当某个应用请求量非常大,需要申请超出当前物理机器的资源,怎么办?此时需要应用开发者自行写程序将请求分担到多台机器。物理机器计算范围内的弹性伸缩,云计算基础平台可以解决;物理机器计算范围外的弹性伸缩,需要开发者自行解决。不幸的是,很多云计算鼓吹者大谈前者,不谈后者。
乱评:大规模分布计算和网络模式应用的大群体供应适用于云,不可拆分连续运算和小众应用不适用于云。
1.3 应用切分
目前,尤其在国内,云计算基本是将应用程序部署在虚拟机器运行。这仅仅是将基础硬件环境云化了。
鉴于我们上面分析到云计算的弹性是有限度的,不论对于互联网应用还是企业应用,都要对应用做适当切分。
将应用切分出合适的模块,并将各个模块部署到不同虚拟机器。一般切分原则有:业务基础API,特定业务应用API。
为什么要做应用切分呢?
1. 如果不切分,整个应用很容易达到物理机器的计算上限;
2. 切分后的模块,达到物理机器的计算上限可能性降低很多;
3. 即使部分模块很容易达到物理机器计算上限,为数量有限、特定业务编写分流平衡程序,代价也低很多。
同时,应用切分有助于应用向面向服务模式转变,形成“应用”的云计算模式。
乱评:云的交互协议尤其是安全类的协议缺失严重,资源自动分配极容易被云上某一个不强壮的应用导致资源占用DOS。严重点可能会多个应用恶意资源抢占形成云上应用DDOS。
2 安全加减法
云计算引入专业公司,专业公司为应用开发商、企业IT部门提供基础运行环境。专业公司的出现,使得基础运行环境变得更加安全,使得应用更加安全可靠。砖家就这样炼成了,砖家告诉客户应该上云计算,越早越好。这样的砖家还是少好,会有利于IT行业更健康发展。
我们逐鹿安全沙龙对云计算安全提出一些质疑,尤其是:1)网络边界被打破,攻击变得更加简单;2)应用系统、应用数据是黑客关注的重点,他们根本不在意云计算还是普通计算;3)云计算引入了虚拟化技术,反而增加了虚拟化安全问题。显然,云计算没有回答这些安全问题。云计算安全问题堪忧啊!
乱评:云与云交互,节点间交互,端与云的交互欺骗性加入使风险急剧放大,数据的云集中使得风险权值呈几何数量级放大。虚拟系统的逃逸和本地虚拟硬件产生的溢出可能缺少关注。
2.1 虚拟机器安全性
云计算像自来水。中国的自来水不能直接饮用,欧美城市的自来水可以直接饮用。云计算的虚拟机器安全吗?
不同云计算厂商的安全性,必然存在差距。我们可以从如下角度考察:
虚拟机器本身安全性
2. 虚拟机器和物理机器之间的安全性:黑客通过入侵虚拟机器,是否能够进入物理机器,进而破坏、控制该物理机器上面其他虚拟机器(该事件已有案例)
3. 虚拟机器的补丁升级,是否会与虚拟机器上面的应用冲突,造成不兼容,应用运行失败
乱评:容器的安全就不说了真实的硬件都有漏洞,虚拟的硬件会那么完美吗?目前的案例应该只是冰山的一角。
2.2 集中化与数据产权
鸡蛋放在一个篮子里面,(主人或者小偷)把篮子提走显然便捷了。同样,云计算也有这样的问题。云计算将应用放在一起,集中调配,运行维护是舒服了。对于生产和防范黑客,却更要提高警惕,加强安全防范。
应用数据计算和保存都在云端,那么该数据产权隶属谁呢?云计算运营商,还是应用所有者。该问题上升到国家层面,就更加微妙了。中国国内的云计算数据中心,显然不会放在美国。
乱评:集中化不要紧关键入口是分散化的,更可怕的互相间还是信任的。数据的集中带来的另一个问题就是没有合适的云上加密方案,这种数据恶意采集和大数据的匹配会带来更大的伤痛。多细胞动物最大的极限有人研究过吗?其实我已经指出下一步的发展方向了,人是多合适的研究模型呀,这个具体内容打算在XCON上投个稿。
2.3 经济意义
有多少钱办多大事情。不怕贼偷,就怕贼惦记。
对于起步中的互联网公司和企业,租用公有云计算,降低运营成本。此时,专业的云计算公司对云本身的安全专业程度,会高于租户自身搭建基础运行环境。应用自身的安全性,仍然需要租户自行考虑。
对于成熟的互联网公司和企业(尤其是大型企业),搭建私有云。企业需要投入重金,确保云本身的安全和云中部署的应用安全性。
乱评:租用的风险过大目前没有解决方案,我给个简单方案:数据加密存放密钥企业自行管理,回传数据解密,支持远端企业数据自我备份和云上备份。自建最大的问题是管理水平跟不上技术发展,所以选对合作的外包公司很重要。
2.4 信任
还记得315曝光网易公司可以查看网易用户的电子邮件吗?
作为云计算的租户,你是否会担心你的数据被云计算运营商查看呢?
大数据处理,数据分析不断进步,IT科技会对你个人生活干涉越来越多,甚至感受到隐私受到侵犯。你有这样担心过吗?
乱评:目前云的数据和应用模式没有一点地方值得大公司信任。
2.5 期待新的攻防模式
随着云计算的发展,新的攻击模式会出现并发展;相对应新的防范模式也会出现。
乱评:新的攻击模式我已经猜测了很多,应用DDOS、远端链路云交互中间人劫持、欺骗云间点接入、虚拟硬件溢出、虚拟机逃逸、虚拟机路由表乱指产生网络风暴等等。
3 安全的新视角
对云计算安全性,目前研究还不够,准备不足。尤其是大部分人安全观点还停留在:1)加解密;2)外挂网关型的安全设施。但,事物不断发展,变动永远是第一位的。云计算自身的发展,将会先于云安全的发展。以下一些安全视角,供各位参考。
3.1 云运营商
如何处理好虚拟机器和物理机器的隔离,确保不被级联沦陷,一锅端。
云计算不求大而全,尽可能小求精。这样应用兼容承诺范围被缩减,安全补丁升级风险被降低。当然,统一补丁问题还是没有被很好规避。
乱评:个人感觉云运营商对云的安全也很迷茫,云计算应该建立一个基本的安全框架。我XCON准备的内容就是这个这里就不多说了,内容太多写不下。
3.2 租户有多大权限
租户成为云运营商的客户,他们真的会有上帝般的感觉吗?租户会得到多大的权限,有多大能力控制运行环境?
太小了,租户不满意,很多活干不了;太大了,会为整体云环境撕下裂口,形成安全隐患。
乱评:如果云api的细化和交互的协议有新的框架,相信租户的体验会有本质上的提升。交互通道安全畅通,高级权限管理客服代维等等。
3.3 应用安全需要受重视
随着边界被打破,应用安全必须受到重视!应用安全需要软件开发人员和企业方,共同重视,共同架构实施;
云砖家们所能做的是:不要宣传云计算反而更安全了。拜托!
乱评:这个呼吁非常有必要!!!一个虚拟机是安全外延的缩小“我们在这里调试病毒”多个虚拟机是安全外延的放大“谁敢在云上调试病毒?”
----------------------------------- 附录1 分割线 ---------------------------------
以下内容由 kvllz 提供,我代表甲方和云计算安全研究者对发展和体系的一点基本建议。
云现在可以说目前是简单的多细胞生物,那么按照正常的进化理论,云会有分化和分工的那么我们不妨先设想一下。我认为云一定要有一个云中心就和人的大脑一样,同时要有二级云中心、、三级云中心、守护者、监听者、云前台、云中台、云后台等等。同时要有备份云,由于云节点的信任机制那么往往有一个突破口就可以控制或攻击整个云。那么可以建立另一套备份云密码和系统可能都和前面的一套完全不同。这样才能在灾难性的攻击下保持业务的连续性。(直接在看雪论坛我帖子里复制过来的,太多了懒得重写了有些新东西还是在演讲的时候说吧)
----------------------------------- 附录2 分割线 ---------------------------------
以下内容由 Shawn 提供,谈论虚拟机器和物理机器之间的安全管控。(一字不改,复制过来)
云环境中的安全问题除了要解决传统安全领域的一切问题,还在系统安全的层面增加了虚拟化安全的问题,
guest提权host并非没有出现过。云这个概念很大,就像黑洞一样吸收了不同信息技术领域的东东,个人理解的云安全,简单的讲就是把所有的安全问题集中在一起来考虑和解决。
昨天也谈到了关于MAC/MLS相关的技术可以在一定程度上环境复杂安全环境的威胁,MAC简单的说就是把计算机中可执行的主体(进程,线程,etc)和被动的客体(文件,内存区域)建立一种关系,举个例子,如果apache出现了漏洞,如果通过MAC限制apache就不能提升任何权限,那即使apache沦陷了也不会影响到其他程序,MAC本来就是站在worst-case的基础上来设计的。目前完整/部分实现的开源项目主要有:SELinux,Apparmor,
grsecurity/PaX。个人对MAC的了解不够多,结合文档大概总结下前2个开源实现的优势和劣势。
AppArmor:
优点:
- 安装配置简单(简单的规则,yast模块直接配置)
- 在openSUSE/Ubuntu有基础的规则
- upstream kernel持续更新
- openSUSE/Ubuntu社区的持续贡献- 使用文件路径名称而非像SELinux使用inode( 这TM叫我怎么review规则?)
缺点:
- 非完整MAC系统,只能算DAC/RBAC的实现,而且规则只能针对进程而非用户
SELinux:
缺点:
- 规则复杂(对编写人员水平的要求很高,调试成本很高)
优点:
- 用户态工具能处理很复杂的应用
- 更容易通过Common Criteria认证
- 庞大的厂商和社区的支持
- *真正*的MAC系统
- 提供RBAC支持
- 自从Fedora 12开始SELinux就进入了社区发行版(这一点不确定是优点还是缺点,最近3个发行版都被SELinux折腾死了,systemd被搞挂已经不是一个发行版的情况-_-)
- 支持IPC规则
相关链接:
https://www.suse.com/support/security/apparmor/features/selinux_comparison.html
http://www.cyberciti.biz/tips/selinux-vs-apparmor-vs-grsecurity.html
以下内容由 刘宇超 提供,谈论虚拟机器等安全策略管控。(一字不改,复制过来)
我继续来简单介绍一下趋势的Deepsecurity和Cloudstack在安全方面做的一些功能和策略。希望对各位
能有一些帮助。
Deep Security这个产品是趋势做的,目前版本已经到了8还是9的样子,因为趋势和VMware是金牌合作关系,在不久前,VMware中国专门开了一个网络研讨会推广了一下这个产品。产品具体是这样的:
--DS需要一台物理机做管理节点,其他Hypervisor上都运行一个vm做防火墙,杀毒和监控,用于保证本
Hypervisor上的其他vm的安全,
--功能包括防火墙,IDS/IPS,应用程序监控和管理,完整日志检查。但防护VM内部的恶意程序,病毒等还是需要在VM内部安装一个agent程序才能实现。但这个agent是非常轻量级的小程序。也许对于各位高手来说,可能产品技术等级还不够高,但据我所知这是市面上唯一一个从虚拟化层面上进行防护的商业产品。
另外,CloudStack在网络层面上对客户虚机也有一定的保护。
--管理员可以指定不同租户使用不同的资源这个就不用多说了。--从UI上访问VM的console可以使用SSL加密。
--在CloudStack的高级网络模式下,每个租户使用vlan进行隔离,租户的vm在自己vlan的内网与外网通讯,必须通过一种系统虚拟机,这种系统虚拟机可以实现防火墙,端口转发,NAT,负载均衡,VPN,VPC等的功能。
--当然,这些功能都是在系统虚拟机内,通过一些程序以及iptables等来实现的。
--系统虚拟机本身也做了一些安全防护,如:无法ping,只能通过VM所在的Hypervisor,使用ssh key方式进行登陆,去掉其他用户,只安装必要程序,打最新补丁。
--但实际上毕竟是开源的东西,这个系统虚拟机的模版也有段时间没有再做更新,去年我们的客户使用绿盟这个检测工具,还是会发现其中存在apache的漏洞。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)