设为首页 收藏本站
查看: 785|回复: 0

[经验分享] 苹果Mac OS X系统安全评级(1)

[复制链接]

尚未签到

发表于 2016-5-16 08:48:04 | 显示全部楼层 |阅读模式
兼述:BASIC SECURITY MODEL


    苹果Mac OS X系统安全性能的完善是一个长久而持续的过程,在这个过程中,我们还可以从一个侧面回忆一下操作系统安全体系发展的过程。


   在80年代初,IBM开创引领了个人计算机时代的开端,80年代中期个人计算机开始逐渐盛行,主流市场上是IBM PC和Macintosh两大阵营的较量。从前在70年代就已经成形的UNIX,到了80年代已经很成熟了,一提到UNIX,大家自然会想到服务器,它本来和PC的交集很少。还记得当初我上大学的时候,学校的PC机房里面只有几个PC-XT,当时来说都是新鲜玩意,后来的一台AT机,大家更是爱不释手都说它那叫一个快。那是上机,是要预定和持上机票的,机房也是特殊装修的,记得当时装修机房也是一大赚钱买卖。我们班有个入门特别早和深入的哥们,他用AT机最多,上了机就输入测试,当时我连键盘字母都找不快,在毕业前的最后一年,我也从图书馆借阅了一些UNIX的外文专著,只是当时学校和后来工作都没有机器可用,后来也就搁下了。学校机房里也有两台AppleII,当时流行的观点是,PC会胜过Apple成为市场的主流,后来市场也证明了这一点。不过,Apple电脑从OS X开始,以UNIX为核心,后来摒弃PowerPC体系拥抱Intel,在加上挟iOS设备的成功,20多年后的现在重返个人电脑主流市场,当初又有谁可以预料到呢?这正如今后的市场走向,谁能说得准呢?


   不想那么远了,说到Mac OS X系统,不得不说UNIX,大家都知道UNIX是公认的比较安全的系统,不过可能不知道的是,它的安全性也是经过了曲折的。UNIX的设计之初,并没有把系统安全考虑在内,这正如个人电脑设计之初,从硬件到软件谁都没有认真考虑系统安全问题,这合乎常理。在80年代的时候,个人计算机市场刚刚兴起,IT业也没有如今这样形成一个市场巨大的产业,而当时美国政府部门是计算机的主要消费用户,抓住政府资金就能发展的道理,大家都懂。为了可以把自己的产品销售给政府,就要符合政府采购标准,对于计算机产品,安全性能是一个主要的考核项目。当时,Sun公司早于1991年的时候为它的SunOS4.1.2(就是目前大名鼎鼎的Solaris系统的前身),写了个不太成功的脚本C2Conv,从而使该系统勉强通过美国国家标准,不过C2Conv很简陋也不好用。后来,逐步改善,终于于1994年为新明名的Solaris系统发布了相关安全审计API和相关格式等,定名为基础安全模型(BASICSECURITY MODEL),简称BSM,这是一个成功的软件规范,一个很好的安全审计框架,不仅小巧、快速、适合各种粒度配置并且可靠快速,通过它可以让操作系统轻松达到美国军方的计算机安全TCSEC的(Trusted Computer System Evaluation Criteria)C2标准,Sun的这个BSM经多多年的发展,现在也成为了业界事实上的安全框架标准。
DSC0000.png

   说到TCSEC,当初是1983年美国安全局下属的国家计算机安全中心NCSC制定发布的,这个标准俗称“橘皮书”(Orange Book)。该标准把安全等级分为A/B/C/D四大类,其中每类又细分小级别,分别是:C1,C2, B1, B2, B3 和A1C2级别是政府购买的最低级别,持有C2认证也是当时各个系统开发商标榜自己系统安全的一大说辞。后来TCSEC标准在2005年被Common Criteria替代(全称叫:CommonCriteria for Information Technology Security Evaluation,简称也叫CC,也是目前的国际标准(ISO/IEC 15408),它是在北约(ITSEC)、加拿大(CTCPEC)和美国(TCSEC)三个相关标准的基础上改进形成的。现在,这个认证的颁发主要由NIAP来管理了,NIAP是美国NationalInformation Assurance Partnership的简称,它是美国国家安全局直属的机构,实施安全检测规则并进行系统安全检测、进行评级认证,现在提供依据CC标准的认证,认证叫EAL证书,分成7级。


   原始的UNIX系统也就符合C1标准,而C2和C1的主要区别是审计和存取控制功能。系统审计是系统安全的一个重要方面,而审计的一个重要原则就是可追溯性,也就是随时可以检查系获得哪个人以什么权限何时存取了什么东西,审计也是检测系统是否被入侵的一个重要有效手段。不是老听说,美国爆料五角大楼或者国防部被黑客入侵吗?他们如何得知的呢?手段很多,而计算机系统的审计功能是其中重要的一环。为了获得国家认证,各个系统厂商不得不改进自己的系统安全指标,也有了我们现在所使用的各种比较安全的系统软件。大家可以看到,当时美国国家政府标准也为计算机产业产品的成熟,起到了关键促进的作用。


   话说苹果公司,在OS X10.3系统之前,也就是10年前,它的系统安全架构还不完善。大家都知道,苹果的Mac OS X系统是以Mach为核心的基于UNIX操作系统的一套图形化操作系统。苹果为了能够通过 NIAP的安全认证,自己的操作系统又是源于UNIX,所以就依据Sun的这个比较成熟的BSM基础安全模型,委托McAfee Research公司开发了一套,用在它的Darwin系统上,苹果的BSM使用该模型的函数库和接口定义等,既能记录系统核心事件也能记录应用程序事件轨迹,保存为今后分析使用。后来苹果应要求把它从Darwin中分离出来,并决定以BSD开放源码协议对外开放,改名叫做openBSM,于是它成为了Sun的BSM模型的开源版本,后来TrustedBSD志愿者团队为它的完善和发展作出了重要贡献,这一点从目前openBSM的官方网站的名称依然是用trustedbsd.com就可以看出,TrustBSD的重要性。自此之后,它获得空前的发展,除了被MacOS X使用之外,也被广泛用于freeBSD和其它的Linux等系统上,也是最为广泛使用的系统审计模块。


   看到这里,不由得想到,很多人都埋怨/抨击Apple系统封闭不开放,并预言它今后必在封闭的道路上死去。其实,苹果很久之前就积极参与软件开源活动了,另外一个例子就是GPL和LGPL开放协议下的CUPS(Common UNIX Printing System)系统,它也是苹果OS X和被其它Unix系统所接受的打印系统核心。苹果还支持着OpenDarwin的开发。大家之所以诟病苹果封闭,一个主要原因是因为它的硬件系统没有象PC那样开放标准,想当初IBM把PC的硬件标准公开,也才有了现在红火的个人计算机市场,当初也造就了好多如Intel,Compaq, HP, Dell, 和联想这样的硬件巨头,养活了多少的人员,也有了软件行业的空前进步,要说IBM的贡献还是很大的。苹果硬件不开放,只有它自己可以制造售卖苹果,而且在iOS软件管理售卖方面,苹果的控制手段也是延续强硬封闭套路。这些都是事实,我也希望苹果能够对自己的做法作出一些调整,看看Google的Android项目,开放的结果是虽然市场比较混乱,系统使用也有点不流畅,但是市场占有率在手持移动设备中还是高于iOS系统。不过,他们自己的选择有自己的道理,它的成功是否会因为自己策略的改变与否而延续,我们也不做预测,对它也要从多个侧面进行评判。


    再回到正题。最后,Mac OS X 10.3在2005年前后通过了EAL3级别认证(通过顺序测试检查)(参考1),这对于苹果系统算是一个不错的结果。相比较,微软的Windows 2003和XP等系统,2005年通过的是EAL4级别(参考1)。目前没有一个操作系统达到EAL7级,一般都是4级,比如Solaris10, SUSE Linux, RedHat Linux,以及Windows 7和Windows server 2008啊等,IBM System z servers达到5级,目前可知的最高的是Green Hills Software INTEGRITY公司出的实时系统,达到6级。


   openBSM作为操作系统的安全审计部分,在从Mac OS X 10.3到10.5系统中是可选安装部分,也就是说,在需要的场合可以自选安装。到了10.6之后,它成为了随OS X系统一起默认安装的系统核心的一部分,而且在普通客户版和服务器版都存在。目前来说,Mac OS X系统依旧只持有EAL3认证。
待续...


参考:
1. NIAP: Archived Product Compliant Listhttp://www.niap-ccevs.org/vpl/archived/?tech_name=Operating+System
2. openBSM主页:http://www.trustedbsd.org/openbsm.html
3. BSM日志的格式:http://www.gsp.com/cgi-bin/man.cgi?section=5&topic=audit.log
4. 苹果官方文档:Common Criteria
5. Sun的官方文档:Solaris Basic Security Mode (BSM) AuditingAuditingin the Solaris™ 8 Operating Environment,SunSHIELDBasic Security Module Guide - Oracle Documentation (801-6636/801-6636.pdf),SunSHIELDBasic Security Module Guide (806-1789/index.html)或者SunSHIELDBasic Security Module Guide - Oracle Documentation(806-1789/806-1789.pdf)
6. FreeBSD的官方文档:Chapter 18 Security Event Auditing

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217498-1-1.html 上篇帖子: Mac OS X: 在脚本里关闭Airport 下篇帖子: 在苹果系统(Mac OS X)上安装PyQt4
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表