如何创建根据I类保护认证的OS

关于如何创建它的第一手资料,然后准备在受“特殊重要性”保护的OS Astra Linux标题下使用数据进行认证。



什么是Astra Linux?




Astra是一个国内Linux发行版本,它结合了在开放许可证(例如GPL,MPL,Xiph许可证等)下分发的社区组件,以及同一公司集团的专有软件。 用户功能大部分由开源软件中的组件关闭-标准Linux机制用于执行基本任务,例如启动应用程序,虚拟化,硬件支持或Steam。 我们自己开发的组件基本上解决了两个关键任务:确保安全以及操作系统和人的图形界面的交互。

从许可的角度来看,分发是一个复杂的对象(来自俄罗斯联邦民法典第4部分的概念),即 合成作品,因此其整体发行存在一些局限性。 尽管产品中包含的开源软件的所有组件均保持其自由状态。











存在用于多种平台的Astra Linux版本。 此外,平台名称在版本号的第一位“隐藏”:

  • 1和2-Intel(Smolensk和Oryol版本);
  • 3-IBM System Z(摩尔曼斯克);
  • 4-ARM(新罗西斯克)
  • 6-MIPS处理器(塞瓦斯托波尔);
  • 8-布鲁斯(列宁格勒)。

似乎一个不寻常的解决方案是将平台类型带到第一位,同时收到一个奇怪的版本序列-1.6、2.12.13、8.1等。 但这是故意进行的,以简化技术支持的寿命,因为从视觉上看,操作系统的图形界面在任何硬件平台上看起来都是相同的,而与计算机的目标应用领域无关:从服务器到智能手机。 因此,在与用户的对话中,您可以快速了解所涉及的平台类型。

顺便说一下,每个平台的版本都有其自己的代号,以纪念俄罗斯的英雄城市之一。 这里没有准则,我们依靠美感。

在Astra的开发版本中,既有常规发行版又有受保护的发行版(特别版),其重点是处理机密数据,并已根据俄罗斯所有认证系统的信息安全要求进行了认证。 从用户功能集的角度来看,版本几乎相同。 但是,其中的保护系统以不同的方式构建。 特殊版本的某些组件需要使用机密数据,尽管它们对于普通用户和企业不一定是多余的,但由于常规版本未包括在内,因为 俄罗斯联邦的法规和法律框架要求其强制性认证。

基本版本-适用于谁


Astra Linux的常规版本面向企业客户。 对于家庭用户,当用于非商业目的时,许可证是免费的-但是在开发中,我们努力满足公司部门的需求。 最后,我们还是一家商业公司,家庭用户细分非常困难。 它们有各种Linux发行版,包括免费发行版。

常规版本的Astra Linux使用了自由访问控制模型-用户自行决定可以授予其文件访问权限的对象。 第三方程序(浏览器,办公套件等)以与其他Linux发行版完全相同的方式运行。



像任何其他软件一样,Astra Linux的常规版本可以通过电子方式下载或购买(对于组织而言),而无需任何物理介质。 顺便说一下,该版本也发布在国际Linux社区的资源上,那里有一个良好的外部渠道。

随着全球趋势的发展,该版本正在积极朝着支持新设备和技术的方向发展。

特别版


除了常规版本外,Astra Linux还具有所谓的特殊版本-特殊版本,该特殊版本是在俄罗斯FSTEC和其他认证系统通过认证的情况下开发的。 从用户功能的角度来看,特殊版本实际上与通常版本没有什么不同。 但是,它实现了其他组件来提高安全性(仅是自行编写的),尤其是:

  • 当访问控制(MAC)和完整性控制(MIC)的强制性模型时,系统的所有组成部分均按其安全性的重要性从最高级别的不信任用户(完整性级别0)到系统管理级别(默认完整性级别63)进行划分
  • 自动验证系统中任何文件的电子数字签名,以防止未经授权的更改。 实际上,EDS机制不仅可以阻止单个文件,甚至可以阻止使用任何文本编辑器以Python或Perl等语言编写的脚本。 尝试启动或打开文件时,正在运行的内存中挂起的模块会检查EDS的正确性,并决定启动的可能性。 对于脚本,数字签名不是放置在脚本本身中,而是放置在文件系统的扩展属性中。 另外,我想指出与已实现的安全功能有关的术语“数字签名”的使用。 该名称是有意从国家标准GOST R 34.10中获得的,并且在我们的文档和参考资料中使用该名称是为了将Astra Linux中实现的安全功能与确保电子文档的合法性的任务明确区分开来,可以通过创建和验证电子签名的适当方法来解决此问题;



  • 信息亭模式,在内核级别,允许启动一组严格定义的应用程序;
  • 限制解释型编程语言的工作;
  • 限制用户访问控制台;
  • 能够多次写入以零和一的序列覆盖磁盘上文件的功能;
  • 阻止“陌生的”外部设备的连接,从而防止恶意软件通过闪存驱动器的各种技巧进入系统。 只需在建筑物内散布可爱的闪存驱动器和恶意软件,以希望工作人员会捡起它,就可以危及企业系统,这已不是什么秘密。 在我们的情况下,这种技巧将行不通。

当然,这不是完整的列表。 还有大量其他模块和组件。 所有这些工具都彼此独立工作,从而提供了一种安全系统的隔离。 所有列出的安全功能都是在计算机安全领域的国内最初发展基础上实现的,而没有使用NSA开发的SELinux。



同时,它们彼此独立地打开和关闭(由系统管理员)。 对于某些组件,存在不同的操作模式。 例如,对于EDS验证工具,当仍启动具有错误EDS(或没有EDS)的文件但在系统级别发出警告时,可以启用训练模式。 所有这些机制均由管理员根据管理层定义的安全策略进行配置。 同时,几乎所有配置都已按照图形模式进行。 当然,管理员可以访问整个基于控制台的工具集,以自动化设置和配置安全子系统的任务。




Astra Linux特别版的当前版本是Smolensk 1.6。

与常规版本一样,正在开发一种特殊版本,但是只有在常规版本中进行测试并运行后,创新才能投入使用。

我们如何准备特殊版本的认证


每个安全员和系统管理员都以自己的方式确定信息安全问题的优先级。 要求他们创建一个用于保护特定IT基础结构的项目,每个人都将提供自己的解决方案,因为他会看到自己的一些威胁和重音。 对于商业公司,关于听取意见的决定由企业自行承担。

在州一级,必须将任何风险降到最低,因此,我们需要评估保护有效性的通用机制,或者更确切地说,是确认信息系统可以抵御某些威胁。 为此,必须在系统中实现某些安全功能(例如,密码验证,访问控制功能等),另一方面,该系统本身的开发过程和代码必须满足某些信任要求。 认证系统和认证机构的任务是检查特定产品是否符合所有功能条件和信任要求。

根据信息系统的功能,各个部门都会参与其认证问题,以考虑将其用于处理重要数据的可能性。 例如,俄罗斯的FSTEC从事信息安全工具的认证。 但是,FSB和国防部也拥有自己的防护设备认证体系。 顺便说一句,Astra Linux特别版是我国唯一拥有所有证书的操作系统。







保密程度


关于受限访问数据处理系统,此数据的性质起着重要作用-这是用于自由分发的信息,个人数据,有价值的医学信息,国家秘密,包括特别重要的信息。 符合逻辑的是,对于每个保密级别,都有一系列功能要求和标准,用于评估信息系统代码的“授权书”-其自身的保护级别,其中包括信任级别。 每个后续级别的需求列表包括上一个级别的列表,以及一些其他条件。 许多国家都有类似的做法。 同时,每个人都坚持自己的某些标准,甚至以自己的方式按级别共享数据。 俄罗斯接受六种课程,第六种是最低的,第一种是最高的。

较低的等级(从第六级到第四级)是保护个人数据以及商业和官方机密的要求。 在俄罗斯市场上,与这些类别相对应的产品不再稀罕。 我们将讨论带有“秘密”,“最高机密”和“特殊重要性”邮票的上层阶级的认证-从第三到第一(例如,新苏霍伊战斗机的图纸或有关该国关键基础设施状况的一般数据)等同于国家机密)。 在这里,最困难的部分甚至不是功能需求(最后开发一些东西不是问题),而是要确认对OS的信任。 这需要正确的数据访问控制数学模型,并证明真实软件产品与该数学模型的对应关系合理。 即 开发专注于处理机密数据的系统的过程要复杂许多倍。

这是一个系统对Fedora发行版中的SELinux中包含MLS(多级安全性)策略的反应的示例:



如我们所见,当系统包含用于多个隐私级别的策略时,图形外壳程序和控制台应用程序都无法正确处理这种情况。 因此,所有这些对于回收或自己做都是必要的,这在Astra Linux中是完成的。

顺便说一句,就增强保护而言,认证不会限制系统管理员的自由。 通过认证反映了对最低要求的满足,但是,每个公司,政府机构,甚至每个单独的保安人员都可以根据自己的意愿改进系统。 认证仅确认信息安全功能的可用性和其工作的正确性的“必要的最低要求”,以及供应商在整个生命周期中维护此功能的承诺,例如:

  • 识别和认证;
  • 访问控制;
  • 安全事件记录
  • 软件环境限制;
  • 流程隔离;
  • 内存保护;
  • 完整性控制;
  • 确保可靠的运行;
  • 网络流过滤



认证准备


在实践中,认证程序相当漫长。 但是,提到的发行版仅通过了六个月的认证,这已经足够快了,因为这是经过测试的第六个版本。 以前的五个发行版(大约十年的开发时间)中,Astra Linux的证书达到了第二类,如果没有这些开发,就不可能调试所有保护机制,改编验证码,通过必要的检查并“刷卡”。一年级

应该注意的是,当前认证不是冻结产品,而是强制性迅速消除认证解决方案中已发现的漏洞。

在过去六个月中发生的最重要的事情是,Astra Linux特别版经历了检查和分析程序代码的多级过程。 但是,对产品的不同部分进行了不同的测试。

最严格的安全系统已经过测试。 除了标准的自由裁量权外,它还使用基于角色的授权访问控制和完整性控制模型,该模型支持俄罗斯现有的信息安全程度-“秘密”,“最高机密”等。 根据此模型,为每个用户帐户,进程,文件或目录分配了一个隐私标签,通过该标签可以确定访问权限。 例如,由最高机密坦克生产部门创建的文件不可用于其他具有秘密级别或更低级别的部门。 此外,完整性标签已分配给所有用户帐户,进程,文件或目录,因此,例如,用户低完整性进程将无法修改系统高完整性文件。 即使用户进程通过利用漏洞获得了系统特权,也不会影响系统的性能。



在屏幕截图中,显示了一个低完整性用户如何获得超级用户权限,但无法同时复制数据的示例。

为了证明这种访问提供的安全性,建立了数学模型,并对其逻辑完整性,隔离性和正确性进行了测试。

此外,检查了安全系统的源代码是否符合声明的数学模型。 这是一个相当复杂和费力的过程,是与俄罗斯科学院系统编程研究所的工作人员共同完成的。

值得一提的是,现在在俄罗斯,我们可以解决类似的问题,即检查代码是否符合数学模型,以用于总复杂度高达一万行的组件。 而且Astra Linux安全系统完全在这些限制之内。 但是Linux内核是数千万行代码,并且不仅在公司中,而且在整个国家,目前都没有用于对这个规模的项目进行严格数学验证的工具。 因此,可以使用其他控制机制-借助来自俄罗斯科学院同一系统编程研究所或自己开发的静态和动态代码分析工具。 此步骤的目的是检查代码中是否有错误,书签或后门。 通过此检查可提供对代码的高度信任,并因此有可能将其认证为第一级信息保护。



认证不仅决定了Astra Linux代码的外观,而且还决定了产品(或更确切地说是其特殊版本)如何交付给用户-产品仅分布在磁盘上。 这是由于监管文件的局限性:确认程序代码未更改,以及长期存储原始介质的实际任务。 从技术上讲,它可以是闪存驱动器,但它们往往会损坏,而光盘上的存储更可预测(并且可以保证不会重写)。

竞争对手呢?


目前,没有人可以夸耀获得如此高级别保护的认证。

但是,即使假设明天将有一个竞争对手,其操作系统的版本可能可以满足认证条件,但在不久的将来它将无法挤兑Astra Linux。 障碍将是真正的认证程序,或者是与程序代码验证有关的部分。 根据我们的估计,只有俄罗斯科学院系统编程研究所和Astra Linux在俄罗斯拥有用于此过程的资源和科学知识。

如果我们评估公司的科学和技术潜力,那么从理论上讲,俄罗斯的认证可以通过Microsoft产品。 该公司拥有必要的资源和能力,他们甚至谈论YouTube上的代码验证任务的重要性。 但是,他们不太可能决定开放源代码。 更重要的是,他们不会针对俄罗斯的要求最终确定其安全模型(我记得在美国,州认证的要求有不同的清单)。

也许Google和卡巴斯基实验室在受保护的卡巴斯基OS项目上可能采取了相同的方法,但是,我们在其帐户上没有任何信息。 «». , .

Astra?


Astra Linux , . — , . — , , , . . , , — , (.. , ). IT. , .. ( ), , .

— Astra Linux Special Edition — , , , . , .

Astra Linux . , . Astra Linux , , .. . , — , .. Astra Linux, , , 10- . .

Source: https://habr.com/ru/post/zh-CN456622/


All Articles