草庐IT

用全域安全防范美国NSA对西工大的网络攻击

LAXCUS分布式操作系统 2023-03-28 原文

上周写的一篇文章《全域安全:一种运行时安全管理模型》,向大家介绍了全域安全管理模型,它是如何在Laxcus分布式操作系统的分布环境下,解决了分布式应用业务的全流程安全管理问题。其中顺便提到,如果把全域安全管理模型放到西工大,也能防范美国国家安全局TAO针对西工大的网络攻击。因为文章主要是讲解全域安全管理模型的处理流程,并不是防范网络攻击的介绍,这些天持续有人在后台私信我,希望了解全域安全管理模型防范网络攻击的具体细节。那么今天再写一篇,详细说说这方面的事情。

在介绍防范网络攻击手段之前,希望各位对全域安全管理模型有点了解,不清楚的地方,可以看上面那篇文章。闲话不多说,咱们直奔主题。
全域安全管理模型是一个体系化的分布式监管模型,它从系统架构到应用操作行为,进行着全方位的安全管控。除了防范攻击行为,更主要是给用户提供了一个放心使用的安全运行环境。按照从上至下的顺序,采用了下列管控措施,这些措施被Laxcus分布式操作系统强制执行,全部属于必选项。
一、计算机集群网络分成内网和外网,中间用网关分隔。
二、使用虚拟化技术,把物理的计算机集群,分成多个独立的虚拟计算机集群空间,一个用户独享一段虚拟空间。
三、可信网络的基础,CA证书被密钥令牌取代。
四、重新设计网络加密通信。
五、隔离管理员和用户,并且不允许身份互换。
六、用户使用计算机需要获得授权,没有获得授权时,不能执行任何操作。
七、执行应用业务也要获得授权。运行过程中的任何操作,都被严格监控,接受管制。

咱们先说第一项和第二项。
第一项是针对计算机集群的环境安全部署,逻辑上把计算机网络分成内外两个网段。外网属于注册用户所有,体系设计上定义为非安全环境,它提供人机交互能力和结果展示,具体的存储和计算工作被投递到内网执行。内网由集群管理员负责维护,用户所有的存储和计算工作都在内网处理,属于高安全可靠运行环境,管理员有义务保证计算机集群内网安全。为了实现内外网的互联互通互操作,且能够隐藏内网拓扑,避免将内网暴露给外网,它们之间用网关进行了连接隔离。网关的作用是反向代理,来自外网的任何操作,都要接受网关的检查,只有通过安全校验确认后,网关才会把外网请求转发给内网处理。这样从物理环境布局上,一定程度限制了网络攻击行为。

Laxcus内外网络环境,中间有网关分隔。

 

第二项属于虚拟化技术的延伸创新。不同与传统虚拟化针对一台计算机,Laxcus分布式操作系统的虚拟化,针对计算机集群。它把硬件的计算机集群进行软件切割,在一定范围内分成N多个片段,即虚拟计算机集群,每个用户登录后独享其中一段空间,用户所做的工作,只能在自己的空间,与他人老死不相往来。在这种情况下,如果某位用户虚拟空间遭到破坏,也只局限于自己的虚拟空间范围内,其它用户不受影响。这样就进一步压缩了破坏影响范围。

虚拟化集群在用户登录时分配,退出后释放,通过虚拟化+资源复用,大幅提高了计算机集群的使用效率,降低了用户使用成本。保守估算,这个成本大概是原来的1/20 - 1/50之间。

 

第三项针对CA证书。目前互联网上的电子安全证书,由第三方安全机构颁发。证书一般包含签证机构名称、数字签名、有效期,以及非对称加密的公钥和私钥。通常是公钥用来加密,私钥用来解密。由第三方安全机构颁发安全证书的本意,是希望体现公平、公正、安全保证、不作恶原则。
过去一段时间,安全证书曾经普遍被各界接受,但是随着过去几年各种力量对抗加剧,频繁出现的各种颠覆性事件,放在这样的背景下,作为颁发安全证书的机构,其本身已经受到质疑。现在谁也不能保证它们绝对的公平、公正,不会做出违背其宗旨原则的选择。这个现实背景下的安全证书已经受到质疑。另外,获得安全证书需要缴纳一定费用。不可靠不可信+收费,安全证书的价值在减弱。
全域安全管理模型用“密钥令牌”取代了安全证书。相比安全证书,密钥令牌由管理员设置部署管控,有以下优点:
1.密钥产生来源多样性。
2.密钥具备足够的随机性。
3.零成本,不象CA证书一样需要收费。
4.自由定义安全性更强,有利强化管理计算机集群。
在全域安全管理模型中,密钥的来源多种多样,包括计算机根据运行参数生成,管理员通过管理界面手动定义设置、由经典密钥机产生,甚至可以从量子网络中取得。运行时随机生成,管理员自由定义,经典密钥机获得、从量子网络取得,这些强随机性的获得方式,CA证书不具备。
另外,在全域安全管理模型中,密钥令牌不象CA证书一样,只有一个,而是任意多个。它允许管理员为每个节点配置不同的密钥令牌,甚至在一个节点上,针对不同用户,也可以配置多个。比如为某组IP地址的用户,配置专属于他的密钥令牌,或者针对某个数字签名的用户,配置一个密钥令牌。
这些随机性和多样性,有利强化管理员安全管控计算机集群。

为“192.168.100”网段用户配属密钥令牌,实现与其它网段一致但有区别的加密通信

第四项属于Laxcus分布式操作系统FIXP网络的一部分,这个时候已经进入到个体业务处理阶段。目前的FIXP网络,强制全流程执行加密通信。如果截获这些加密通信,打开它们,你会看到的只是一堆无意义的二进制数字。FIXP网络的加密通信处理流程,类似SSL/TLS,但是在部分实现细节上,加入了新的元素。比如通信采用了短报文通信技术,即每一次RPC调用,按照需求,被系统分成N个步骤来处理。每一次通信IO,都是一次一密的执行,对称密钥、数字签名、非对称密钥都可以随机动态更换。并且非对称密钥、数字签名、对称密钥,它们不允许接触任何物理存储设备,被严格限制在网络、内存、CPU之间的传递。因为一次一密的机制,保证了上次通信的密钥和本次不同,即使数据明文是完全一样的信息,也会呈现不同的传输内容。这样的网络通信有相当的迷惑性,它降低密钥被截获后破解的概率,强化了个体业务的安全强度。再加上多密钥令牌机制,即使用上Laxcus这样超级强大的分布式处理系统来逆向计算,也难以破解这些加密密码。

FIXP网络管理非对称加密、数字签名、对称加密,是个人安全服务的入口

第五项涉及的是权限管理问题。在全域安全管理模型中,系统将管理员的管理权限和用户的使用权限,进行了严格限制分割,不允许身份互换。这样的结果就是,如果一个人以管理员身份登录进入Laxcus分布式操作系统,那么他只能执行计算机集群方面的工作,用户能够执行的操作被禁止。同样的,如果一个人以用户身份登录进入Laxcus分布式操作系统,管理员能够执行的操作被严格禁止,所有工作都被限制在用户权责范围内。这是从计算机程序层面进行的限制,除非有能力修改全部源代码,否则整体无解。
这一点和Unix、Linux等操作系统的设计完全不同。在Unix/Linux上,每个人的身份可以随时切换,比如一个登录者以普通用户身份登录,如果他需要执行更高权限的工作,切换到root用户状态,使用“su”命令就可以完成。但是在Laxcus分布式操作系统上,不允许这样操作,用户的身份,在他登录成功那一刻即被确认,没有切换的机会。
拒绝身份切换,也除了减少密码泄漏的机会,更主要为Laxcus分布式操作系统提供更高级的安全管控能力。

管理员非法执行用户指令,被系统拒绝!

 

第六项可以看作第五项管理员权限的延伸。在Laxcus分布式操作系统上,一个用户账号注册成功后,尚不具有处理任何工作的能力。要想得到这样的能力,必须获得管理员的授权。目前用户能够使用的权限有几十种,比如操作大数据的权限,针对分布式应用软件的权限,针对用户虚拟空间的权限。这些权限还可以进一步细分,比如细化到执行原子级别IO的操作。

管理员向一个名为“TINY”的用户授权,使他获得删表、加载索引,SQL SELECT检索的能力

 

第七项已经进入到具体的用户执行层面。在这个层面,全域安全管理模型会严格监督用户发出的任何操作行为。用户运行的分布式应用软件,执行大数据处理工作,判断提取系统信息的操作,都会受到严格监控。这些监控基于第六项的管理员授权,如果用户没有获得某个应用软件的运行授权,那么他不能运行这个应用软件,即使在前端的图形桌面执行,这项工作投递到云端内网环境中,也会被系统拒绝执行,大数据存取处理、操作数据库的SQL语句也是同样的道理。

以上就是全域安全管理模型针对网络攻击的具体处理措施。这些安全手段对于初学者,可能仍然比较抽象。那么咱们换个角度,结合实际案例,谈谈如果使用全域安全管理模型,如何防范网络攻击获取西工大机密信息,这样应该更容易让各位理解。
根据披露的信息,西工大机密数据被窃,是嗅探程序和木马程序组团作恶的结果。流程大致是这样:美国国家安全局TAO为了掩人耳目,派出大批跳马侵入世界各国的计算机系统,从这些地方发起攻击,集中扫描西工大的计算机系统,寻找系统漏洞。比如某个可以利用的端口,或者发送诱饵邮件,由此值入木马程序。在缺少必要安全保护的情况下,有些木马程序被激活运行,取得某台计算机最高级别的root权限,然后这些木马程序继续依此循环往复,获得更多计算机的root权限,植入更多木马程序。利用root权限加上木马程序,TAO大规模持续检索计算机上的信息,寻找窃取机密数据,然后通过网络,传输保存到它们预设的某个位置。最后“抹脚印”,将计算机系统上的行动轨迹销毁,删除作案证据,撤出被攻击的计算机系统,好象什么事情都没有发生一样。在国际社会继续利用手中的媒体,把自己装扮成一朵白莲花。
针对这些情况,结合全域安全管理模型,我们可以这样防御处理:
1.内外网络分离,网关连接通信双方,对外只保留一个通信端口。这个端口的后端节点使用密钥令牌通信。必要时候,依据IP地址来源或者启用数字签名,严格识别和控制外来通信,杜绝非法访问。
2.在计算机集群虚拟化层面,因为每个空间都是独立的,一个空间出现问题,并不影响同处一个物理计算机集群其它空间用户使用。这样就将问题波及影响限制在个体层面。
3.在个体层面,用户如果想使用计算机集群,需要获得授权。因为授权只能由管理员执行,而管理员是某个具体的人来操作,他的操作只在内网环境中执行,执行信息不会出现在外网环境,加上管理员空间和用户空间分开,所以授权过程具备相当的安全保证,进一步降低安全风险。
4.个体用户使用,运行分布式应用软件,存取数据、执行命令都建立在授权基础上。因为每个分布式应用软件都有数字签名,这个签名由软件开发者签发,具备唯一性。如果发布到应用软件商店,还将接受应用商店的安全检查才能发布。软件的安装部署过程只能由用户手工处理,拒绝自动执行,这个环节还可以增加自定义的安全检查,比如手机校验或者其它什么可以识别的方式,由此拒绝木马植入。软件部署到内网的云端环境,会继续接受系统的安全检查识别。这些检查信息都被记录下来,保存到一个安全的注册表里。在软件运行前,它们一起分发到各个计算机节点上。一旦运行时发现不符,比如被植入木马,或者携带了病毒,可以立即检测出来,这个时候系统会拒绝运行,同时通知用户。这个道理也同样适用Laxcus分布式操作系统的各种命令,包括很多类似Linux/Unix的高危命令。
同样基于授权机制,即使用户的应用软件本身没有问题,但是软件在运行过程中,出现了超越权限的行为,比如在没有获得写权限情况下,执行了一个针对磁盘的写操作。或者在没有读取权限的情况,读取系统信息,这些情况都会被系统识别,做出拒绝执行操作。
以上就是全域安全管理模型的处理流程。这些安全管控措施跟随业务需求被一层层分解,然后一层层分阶段判断执行,细密到每一个处理环节,十分繁琐。系统实际运行过程中,也确实因为各种安全措施的深度介入,降低了计算机系统运行效率。但是如果考虑现在的计算机系统越来越需要安全的运行环境,而全域安全管理模型能够保护计算机系统安全运行,杜绝各种安全隐患,降低计算机被网络攻击的概率,和数据泄漏的可能。它从另一个维度,保护着我们的数字资产,提高了安全保障能力,所以这一切的成本付出和代价都是值得的。


附说明:全域安全管理模型目前应用于Laxcus分布式操作系统。Laxcus是一个开源、容错、高扩展、多人共享、多机协同分布运行的操作系统,支持百万级节点规模的计算机集群、亿级用户在线。通过分布式应用软件,处理大规模、超大规模的存储和计算工作。

有关用全域安全防范美国NSA对西工大的网络攻击的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  3. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  4. ruby-on-rails - 安全地显示使用回形针 gem 上传的图像 - 2

    默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同

  5. ruby - 使写入文件线程安全 - 2

    我在一个ruby​​文件中有一个函数可以像这样写入一个文件File.open("myfile",'a'){|f|f.puts("#{sometext}")}这个函数在不同的线程中被调用,使得像上面这样的文件写入不是线程安全的。有谁知道如何以最简单的方式使这个文件写入线程安全?更多信息:如果重要的话,我正在使用rspec框架。 最佳答案 您可以通过File#flock给锁File.open("myfile",'a'){|f|f.flock(File::LOCK_EX)f.puts("#{sometext}")}

  6. ruby-on-rails - 最灵活的 Rails 密码安全实现 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我需要实现具有各种灵活需求的密码安全。这些要求基本上取自Sanspasswordpolicy:Strongpasswordshavethefollowingcharacteristics:Containatleastthreeofthe

  7. 什么是0day漏洞?如何预防0day攻击? - 2

    什么是0day漏洞?0day漏洞,是指已经被发现,但是还未被公开,同时官方还没有相关补丁的漏洞;通俗的讲,就是除了黑客,没人知道他的存在,其往往具有很大的突发性、破坏性、致命性。0day漏洞之所以称为0day,正是因为其补丁永远晚于攻击。所以攻击者利用0day漏洞攻击的成功率极高,往往可以达到目的并全身而退,而防守方却一无所知,只有在漏洞公布之后,才后知后觉,却为时已晚。“后知后觉、反应迟钝”就是当前安全防护面对0day攻击的真实写照!为了方便大家理解,中科三方为大家梳理当前安全防护模式下,一个漏洞从发现到解决的三个时间节点:T0:此时漏洞即0day漏洞,是已经被发现,还未被公开,官方还没有相

  8. 常见网络安全产品汇总(私信发送思维导图) - 2

    安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un

  9. ruby - 为什么我必须对 Net::HTTP 请求的安全字符进行 URI.encode? - 2

    我尝试使用Net::HTTP向Twitter发送GET请求(出于隐私原因替换了用户ID):url=URI.parse("http://api.twitter.com/1/friends/ids.json?user_id=12345")resp=Net::HTTP.get_response(url)这会在Net::HTTP中引发异常:NoMethodError:undefinedmethodempty?'for#from/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:1

  10. 使用时 Rubygems 2.0.14 不是线程安全的 bundle 程序安装消息 - RUBYGEMS VERSION : 2. 4.5.1 - 2

    运行bundle安装时,我收到以下消息:Rubygems2.0.14isnotthreadsafe,soyourgemswillbeinstalledoneatatime.UpgradetoRubygems2.1.0orhighertoenableparallelgeminstallation.这很奇怪,因为在我的RubyGems环境中它说我的RubyGems版本是:2.4.5.1(见下文)~/w/Rafftopia❯❯❯gemenvRubyGemsEnvironment:-RUBYGEMSVERSION:2.4.5.1-RUBYVERSION:2.2.5(2016-04-26patc

随机推荐