paint-brush
当编号规则决策旅游城市的生活工作 根据@pepitoscrespo
312 讀數
312 讀數

当编码决定城市的生存

经途 pepitoscrespo19m2024/10/07
Read on Terminal Reader

太長; 讀書

C++ 能在现实世界的系统控制和安全性方面胜过 Rust 吗?深入了解黑客拯救 LuxCity 的战斗,探索这两种语言的极限
featured image - 当编码决定城市的生存
pepitoscrespo HackerNoon profile picture
0-item


我们程序员经常陷入争论中 — C++ 与 Rust、高级编程与低级编程。但真正的挑战不仅仅是构建优雅的系统;而是在当今的网络世界中保护它们,恶意代码总是潜伏其中。无论您的代码看起来多么完美,忽略潜在威胁都会导致灾难。


修补安全漏洞或发布下一个更新是不够的。真正的战斗是当您的系统被入侵时(是的,是当,而不是如果)做出有效的响应。这意味着实施主动入侵检测、自动化防御机制,有时还要亲自动手使用低级编程来从源头上解决威胁。


战场不仅限于高级逻辑,还延伸到系统最核心的部分,只有最熟练的开发人员才能有效反击。如果你没有做好应对这一层级攻击的准备,世界上所有的安全功能都救不了你。在网络安全领域,没有响应能力的防御是不够的。


Mighty C 家族的黑暗面、Rootkit 的崛起:微小代码,大力量

最终,你们来正确认识 C 家族性的——C、C++,所有这任何事物。某些语言英语对你较大的放任。你可能以倡导淡雅、高安全性能的操作系统,帮你的你我惦记为之。但同每各方面:同个的放任帮你可能以加入有些最具有很大的风险的二维码怎么用——rootkit 和它们的之间更奸诈的表亲 bootkit。某些既仅是没有危害的的二维码怎么用行,它们的之间是游戏世纪的无噪音觅食者。


那 ,rootkit 和 bootkit 中间完全的不同之处是又是什么?
  • Rootkit旨在在操作系统内部运行。它们操纵系统进程、隐藏恶意活动并篡改软件程序。但它们会操作系统启动后启动。

  • Bootkit 的攻击性更强。它们在操作系统运行之前就攻击系统。它们感染主引导记录 (MBR) 或 UEFI/BIOS 固件,在操作系统采取行动之前获得控制权。


首要上数情况发生下,客户所而言的 rootkit 攻事实上上是俩者的相结合。Bootkit 从一会起就占领为核心影响,而 rootkit 则在做出计算机系统开机启动并运作后入驻,让攻不被发现地不断做出。首要上,Bootkit 先发制人,而 rootkit 则不断做出攻。


现在,您可能会想:“如果操作系统是用 Rust 编写的而不是所谓不安全的 C/C++/Assembly,会怎么样?


事情开始变得有趣了。让我们面对现实吧——在当今的科技世界里,我们面对的是混合系统,网络交织在复杂的网络中,性能和精确控制是绝对必要的。想想SCADA 系统HVAC 控制实时系统边缘计算嵌入式设备——你明白了。在这些环境中,无论一种语言声称有多“安全”,你仍然严重依赖 C/C++/Assembly 来实现细粒度的控制和性能。


即使系统是用 Rust 构建的,说实话,很多系统仍然使用大量unsafe Rust 代码来处理性能瓶颈、延迟问题、内存限制以及直接与硬件交互。归根结底,当性能为王时,你最终会陷入同样的境地。Rust 中那些unsafe块?它们会暴露出与 C/C++/Assembly 中相同的漏洞。


现实情况是这样的:当你需要在硬件层面进行精细控制时,无论你的操作系统是用 Rust 还是其他语言编写的,你都在走同一条钢丝。因此,尽管 Rust 可能提供了一些防护措施,但那些低级unsafe操作仍然容易受到攻击。Rootkit 和 bootkit 并不关心你的语言偏好——如果有漏洞,它们就会找到进入的方法。


Rootkit 专区:进入需自担风险


这些数字掠食者不仅会感染系统,他们还会控制整个系统。最重要的是:它们大多数都是使用经典语言构建的——C、C++ 和汇编。没错,支持高性能应用程序的语言也是有史以来最恶毒的一些 rootkit 背后的语言。


想一想进化的过程。这就像从三叠纪的小型食肉恐龙进化为白垩纪的巨型兽脚类怪物,如霸王龙。就像那些早期的恐龙进化为顶级捕食者一样,rootkit 也从相对“可爱”的开端转变为如今令人恐惧的代码庞然大物。


Hacker Defender为例——这个小小的网络爬虫只有 3000 行代码,利用的是基本的操作系统漏洞。但就像任何优秀的捕食者一样,它不断进化。如今的 rootkit 非常庞大,分成多个模块,每个模块都有数千行代码,不仅针对操作系统,还针对硬件级漏洞。这是一场军备竞赛,每个新的 rootkit 都在突破可能的界限。


因此,在本文中,我们将深入探讨两个故事。第一个?您可以在 Alexander Matrosov、Eugene Rodionov 和 Sergey Bratus 撰写的《Rootkits 和 Bootkits》等技术资源中找到官方版本。这几乎是了解 rootkit 演变的所有细节的必备指南。为了方便您,我在下面整理了一个分支图,总结了这些 rootkit 的发展——每个分支都代表了恶意软件复杂性的一次新飞跃。


接下来,您将见到但其中一个报表,但其中关键介绍英文了4个 rootkit 的与众不同功能表。信任我,您会想我看看那些源代码精彩片段是应该如何从细微的有机会现实主义黑客攻击者转移来源于宰程序的猛兽的。着手了


Rootkit 的演变


Rootkit 的演进:按家族分组

该表显示了 rootkit 随时间的进展,重点介绍了它们的革命性功能、所使用的编程语言及其代码大小。


但这个故事还有另一面——这是来自一个不仅编写 rootkit,而且将其付诸实践的人的观点。让我们来认识一下我们的主角:一个将 rootkit 视为自己延伸的黑客——一曲精心设计的代码交响曲,旨在破坏和控制。他不是普通的黑客;他是一个传奇,是顶级策划者,只知道他的名字叫“蜥蜴巫师”。


从他的的角度看到,这并不是仅关键在于技术工艺或代碼——它关键在于决定权、调整,甚至是可能另外还有些许视觉性。对他讲,rootkit 并不是仅是软件工具;两者是杰作,是他重新塑造数字式宇宙的方法。


因此,事不要迟,叫我向你俩分享他被委托人——蜥蜴魔法师,用他他一段话而言:

每位艺术家都需要一位缪斯:Rootkit 的古老大师

蜥蜴巫师在梦中说话:我的杰作


“啊,你还在这里。贝尼西奥,我真想知道你要多久才会意识到你正中我的下怀。当你如此迷恋你的小 Rust 和它的安全网时,我一直在研究一些更……精致的东西。”


“精妙绝伦。这个词你可能不大可能与恶意软件联系在一起,但那是因为你太专注于保护你的小系统而没有意识到攻击背后的艺术。是的,艺术。你以为我只是个黑客?不,不——我是一个建筑师,一个创造者。我研究过的每一个 rootkit 都是我在混乱的画布上绘制的宏伟肖像中的一笔。”


这是我们故事的两个主角:Cplusser(Lizard-the-WizardI)与Rustacean(Benicio)


蜥蜴巫师继续说道:

“你知道,即使是伟大的艺术家,比如达芬奇、梵高、巴赫,他们也都是从前辈大师那里学习的。我呢?我有Hacker DefenderRustock。Hacker Defender 是我的魔术师,它向我展示了如何将代码植入系统,让文件和进程像变魔术一样消失。Rustock 呢?那是我的毕加索时刻——多态性达到了顶峰,不断变化、发展,改变形式,就像一幅画,每次你看它时它都会变形。”


“但那些?它们只是我知道自己可以创造的东西的垫脚石。然后Alureon出现了。它不只是存在于系统中 — — 它被刻在核心中,击中主引导记录 (MBR)。这是硬盘的第一个扇区,它告诉你的操作系统如何开始启动。你知道那种控制是什么感觉吗,Benicio?神圣。就像第一次听到拉赫玛尼诺夫的第二协奏曲一样。纯粹的美,但却刻在代码中。”


“但我仍不满足。ZeroAccess 是我的交响乐。它组建了一支军队,将机器变成点对点僵尸网络,每个受感染的系统都在混乱的杰作中扮演着自己的角色。它不再只是一次感染;而是在整个网络中制造混乱。这就是你的不足之处,Benicio。你只能追求 Rust 的和谐,而真正的艺术在于不和谐——诞生杰作的混乱。”



感染媒介和 rootkit 是最好的朋友


“最后出现了LoJaxMoonBounce 。它们不仅仅是 rootkit,更是进化,突破了恶意软件的界限。LoJax 深深嵌入 UEFI,控制系统的水平甚至连您喜爱的 Rust 都无法触及。MoonBounce 更进一步,深入 SPI 闪存,隐藏在防病毒软件或系统清除程序无法触及的地方。它不仅仅是隐藏在系统中,它还成为硬件的一部分,永久而不可触及,就像蚀刻在硅片上的米开朗基罗壁画一样。”


“那时我才明白了真正的道理:控制权不在 CPU 或操作系统中。真正的控制权在于硬件。而这正是我创造杰作的地方。”


蜥蜴蓝和蜥蜴红登场——我的西斯廷教堂的 rootkit。你知道它们是怎么诞生的吗,贝尼西奥?我会告诉你的,因为你需要了解超越你的天才。”


“Lizard-Blue 的设计充分考虑了你。你为 Rust 的安全保障而感到自豪。Lizard-Blue 在你的不安全块中穿梭,让你的多线程陷入混乱,破坏你的 I/O 系统 — 所有这些都是为了分散你的注意力。它是个傻瓜的伙伴:简单而优雅。当你争先恐后地追赶 Lizard-Blue 时,我真正的杰作 Lizard-Red 已经扎根了。”


但 Lizard-Red 并不关心你的 CPU 或软件。不,它直接进入 SPI 闪存,潜入你的 DMA 控制器,悄悄地从内到外重写你的系统。就像一曲隐藏的交响乐,它在看不见的地方演奏,重写固件,势不可挡。”


“这是真正的控制,贝尼西奥。当你忙着修补软件时,我掌握了硬件。告诉我,你为什么放弃 C++ 而选择 Rust?Rust……如此有前途,如此安全。但请记住,贝尼西奥,真正的力量并非来自安全。它来自控制。现在,你永远不会忘记这一点。”


每次智能电网重置后,第一次停电都会从郊区蔓延到中心。

舞台已经准备好了。顶级 C++ 大师与一群转而使用 Rust 的 C++ 叛徒之间的对决即将在 LuxCity 爆发——或者更糟的是,让这座城市陷入黑暗。赌注是什么?完全控制——不仅是代码,还有维持这座大都市活力的基础设施。


这座城市充满活力,即将成为战场。Benicio 凭借 Rust 驱动的防御系统,面临着一场他从未见过的挑战——这场挑战由 C++ 大师蜥蜴巫师亲自设计,他决心将这些叛徒 Rustaceans 带回正轨。两股力量,两种哲学,即将发生碰撞。但这不仅仅是关于编程语言——这是一场争夺系统控制权、权力的斗争,也许,只是也许,还有编程的未来,该死的!


LuxCity 只不过仅有的是座大部分市,它亦或是的前景省份地区的意味着。它的街上挤爆了智慧驾驶着小轿车,天中随处是均是智慧没电脑在上空命令道路交通。但在大多数某些持续发展的头上,藏着这座省份地区真正的的至关重要:智慧电——一位很繁多、错综很繁多的体系,让所有的顺遂开机运行。


在都市最高处的调节室里,实践经验极为丰富的电力网高手爱丽丝和鲍勃注视监听器上体现的乱套反腐败斗争。第1次停水虽然而是个小错误码——她们是可以处置。但它侵袭来,的又的地段跌入地狱。交流电源不在调节地闪耀,总是从启,情况报告就会看上去更糟。警报声铃声响起,监听器闪耀着提示,提示她们尚末发现了更深刻基本要素的影藏危機。你们必须鼓励。你们必须贝尼西奥。

贝尼西奥 (Benicio):陷入危险的 Rust 倡导者

贝尼西奥 (Benicio):陷入危险的 Rust 倡导者


当 Benicio 到达时,他不仅带着笔记本电脑;哦不,他还带着更珍贵的东西:他对 Rust 的坚定信念——过去五年来,他一直坚定地支持这门语言。正是用 Rust,他和他的 Rustacean 工程师团队开发了 LuxCity SmartGrid 的核心。Rust 是他的剑,他的盾牌,这个闪亮的新玩具承诺将他从 C++ 的恐怖中拯救出来——缓冲区溢出、竞争条件、令人恐惧的释放后使用漏洞。Rust 就是解决所有问题的答案,对吧?他是这么相信的,它是未来。毕竟,LuxCity 的电网就是建立在这个据称牢不可破的基础上的。


但可笑的是,这样牢固的决心就是将备受的考验,其实——就是其实——C++ 并不是和 Benicio 想象力的那些被淘汰。


当 Benicio 深化装置核心思想时,他立马风险意识到有些人不符劲。由于智慧输电设定装置的每天从置,停水通知空间进十步扩张——从市政老城区向 LuxCity 重点扩散。这非是任意的;是蓄意的,在他当下拉开了种经济模式,就是一两个次用心融合和算起的网络攻击。他的心沉了咬下去。这这样不也是就是一两个个常见故障——就是一两个个 rootkit,或者但是不断地创新。


鉴名不清可辨。


这个人就是 Janus,又名蜥蜴巫师——Benicio 的老朋友变成了对手。他们曾经一起编写代码,探索 C++ 的无限可能性。但 Janus 嘲笑 Rust 僵硬的安全网和抽象。现在,Janus 掌握着 C++ 原始、未驯服的力量,像木偶大师一样操纵着这座城市的基础设施,瞄准了最大的智能电网的核心——由 Benicio 用 Rust 编写。


蜥蜴红:对地基的无情攻击

蜥蜴巫师 Janus 的无情攻击


在 LuxCity 的下方很远的地方,在嗡嗡作响的服务器机架的昏暗灯光下,Janus 看着他的杰作展开。他的手指在键盘上快速移动,眼睛敏锐而专注,追踪着闪烁屏幕上的混乱。他的两个最出色的作品正在发挥作用:蜥蜴红和蜥蜴蓝,它们从不同的方面发起攻击,但又完美地协调运作。


Lizard-Red 已经深入到城市智能电网的核心——完美的无声入侵者。这不是一些普通的恶意软件,它攻击的是常见的软件弱点。不, Lizard-Red 是一个固件 rootkit,针对最深层的基础:DMA 控制器、SPI 闪存和中断处理程序。它悄无声息地穿过系统,躲过了 Rust 精心设计的安全机制。为什么要攻击 CPU 或内存缓冲区?Lizard-Red 完全绕过了它们,将自己嵌入到 Rust 的保证不起作用的固件中。


Janus 对 Rust 所谓的安全性的极限了如指掌——他花了数年时间对其进行剖析。Rust尽管非常出色,但在硬件层面却显得力不从心。这就是 Lizard-Red 得以蓬勃发展的地方。这不仅仅是对代码的攻击;这是对硬件本身的恶意收购。


与此同时,Lizard-Blue 正在从软件高层发动攻击。它没有直接发起攻击,而是充当了完美的诱饵,像指挥混乱交响曲的大师一样利用 Rust 的不安全块。它以多线程服务为目标,扭曲 I/O 操作,并通过强制竞争条件造成破坏,而 Rust 出于性能原因已经谨慎放宽了竞争条件。这些不安全区域就像 Benicio 精心构建的防御中半开的门,而 Janus——作为 C++ 的前大师——知道如何撬开它们。Rust 的安全模型,也就是 Benicio 信心所在,却成为了他的败笔,因为 Lizard-Blue 将这些保证变成了弱点。


修改在巢穴中的詹纳斯咧嘴笑了。贝尼西奥对拉斯特的自信即將崩坍。这既仅都是次技术设备主动攻击,更都是次把握技术的惨痛教训。

贝尼西奥反击:揭露拉斯特的缺陷

贝尼西奥反击


在调节室里,贝尼西奥英雄孤军奋战,手掌移动式的访问速度比思还快。两遍击键都认为像心跳是如此的——增强而的无助——他与 Rust 的严厉平安网搏斗,战胜蜥蜴魔法师代碼编织机的负心乱七八糟。贝尼西奥学会了 Rust 的平安三维模型,对其保护性充滿进取心,但蜥蜴蓝以手术治疗魔鬼般优质度破坏了 CPU。竞争力环境和 I/O 系统故障在霸屏上大的爆发。两遍贝尼西奥殊不知本身占了上风,到攻击就能弯曲变形——改弯曲变模样,像阴影从门底下溜过是如此的滑过防止。


Rust 跟不上。Benicio曾经喜欢 Rust 的一点——它坚固的安全网——现在却扼杀了他重新掌控局面的能力。每一个防护都变成了牢笼,限制了他的行动,将他困在无休止的防御补丁循环中,而这些补丁根本无法抵挡住流畅、无情的攻击。


但深得兵书的贝尼西奥确定,这仅仅是某种掩人耳目的方法手段。


真正的威胁不是在监视器上舞动的蜥蜴蓝。在表面之下,在 LuxCity 智能电网的深处,蜥蜴红已经夺取了控制权。它不再在 Rust 防御的上层活动。它已经深入地下,使用固件植入物渗透到关键系统,如 SCADA 和 HVAC系统,这些系统控制着城市基础设施的核心。这些系统是硬件与软件相遇的系统——大多数维护和最终控制设备都运行在自定义固件上,其中大部分仍由 C 和汇编语言提供支持。


DMA 控制器和 SPI 闪存被攻陷。Lizard-Red 完全绕过了 CPU ,将自身嵌入到操作系统下的硬件中。它瞄准的是基础设施的命脉——控制关键操作的 SCADA 系统和确保城市硬件无缝运行的 HVAC 系统。这些植入物不仅仅是简单的代码——它们是永久性的,像手术一样植入到固件中,从内到外重写了系统规则。


Rust 的4g内存模式化(宗旨在守护免费软件)在此里没什么目的意义。他是这场固件阶段的世界大战,Rust 的守护安全措施好象一种稳固的城堡墙,但普攻者就已经 在内门,直观支配cpu。 Janus 做了的人做看不到的人和事:他灵活运用了计算机硬件的缺点——而 Rust 的设计的概念从来没满足过呵护那些缺点。仅有裸机、C++ 和汇编编程语言就能够在那些好地方占用主体道德水准。Benicio 暴打败了,他自己内心深出得知这这一点。

戏剧性转折:本尼西奥的信仰危机

什么鬼?


本尼西奥一脚砸在抑制台子上。Rust 始终是他的圣杯,他确信此类语言学就可以免受近年威胁恐吓 LuxCity 的极其混乱。他确信它能削除全部分类的缺陷。但如今,跟着这座省会城市濒于奔溃,他了解到:Rust 还不足。


他密切关注会亮的荧屏,眼光飘向手机桌上面一款标着“旧 C++ 软件”的旧文件名称名称夹。三年了——多远他上星期沾过那么文件名称名称夹里的的东西,已是以往了三年。他立誓是不会再回老家过。他是不还要回老家。Rust 曾是的前景,是他逃生 C++ 风险和动乱的出口到。但现如今,随着时间的推移大城市的前照灯那盏盏那盏盏地变暗,他知晓 Rust 的非常唯美——之前是他的盔甲——已是改为了牢笼。它太不灵活性高了,始终无法 需要对这样的骚扰。


LuxCity 发生的网络去进攻冷血冷血,并且除了仅是号码网络去进攻,它还网络去进攻硬件软件,网络去进攻 Rust 無法局限于的固件核心。他现再不清楚了前因后果:这一次作战除了仅是 Rust 与 C++ 间的搏斗。也是决策权大战。而 C++ 呢?C++ 得到原始社会、未驯服的勇气,可能直达 Rust 無法局限于的好地方,深入浅出到 Lizard-Red 植入固件的深居。


他的手抽搐着悬在光标上边。打开微信哪一个zip文档就更像是握住一件件历史悠久而危险物品的兵器——它既可带动效果,也可带动害处。1步走错,LuxCity 马上会是你消失掉。因为沒有它,沒有 C++ 的冲突和蛮力,就沒有有效的方法回击。


本尼西奥愉悦沉甸甸场所击了文件目录夹。自己熟悉的的旧APP产生在他眼下,那个刻,他清楚了——那场战争不可以靠安会和警慎来赚足。它会探险家。

雅努斯的意外生命线:战斗中的转折

当城市进一步陷入混乱,智能电网摇摇欲坠时, Benicio 的屏幕上闪烁着一条通知。这是来自 Janus 的。Benicio 心跳漏了一拍——现在该怎么办?但这条消息并没有造成更多混乱,而是带来了一条生命线。Janus 不会彻底摧毁 LuxCity——至少现在不会。他带来了意想不到的东西:一份清单。一份详细的清单,列出了每个受损服务、每个受感染的进程,以及——最重要的是——追踪它们的代码。


本尼西奥举棋不定了,发生变化好能不能要信自己这一位往昔的敌人。但现时逐渐沒有精力举棋不定了。LuxCity 的明天岌岌可危,他别无选择,只可确认帮。他的手在鼠标滚轮上停歇半个会儿,其次点开包括他此前的 C++ 工具软件的文件夹。

贝尼西奥的救赎:C++ 的力量

又是老家伙?


贝尼西奥用打哆嗦的双臂刚刚开启打字。曾今自己熟悉的的 C++ 日语语法像第二步求知欲相似在他心里中潺潺,多年以来的健身肌肉記憶刚刚开启树立效应。他刚刚开启编写措施,将其编制到 Rust 的基本装置中,通过固件来修整 Janus 致使的繁杂。Rust 的僵硬设计让她无劲抵抗固件级打击 ,但 C++ 现如今成为他的剑和盾。他破解 Rust 的人身安全网,随时进去易受打击 的硬件设施,一一修整 DMA 恳求和 SPI 内存空间伤害。


设定室里的激动感激动。爱丽丝和鲍勃凝望着这任何,这些的眼皮在网格上渐暗的光线和贝尼西奥电脑屏幕去行行的编号之間闪耀。时期不大了。


每每拍击电脑键盘,Benicio 都是会应用意式 C++ 的实力,并遵循原则两大类蜥蜴色的因此者 Janus 能否提供的线索的作用——编号和受到损伤贴心服务的规划图。这是过去的有风险性而杂乱的 C++。意式 C++ 早就驯服了一些有风险性:智慧游针、比以外更多的的调性,已经与 Rust 的安全保障上班相相呼应但具备更高机灵性和更强硬的原始社会上班的因此权模特。它路经了改进措施和开发。但就算这么,一条线都好重要。一两个出现失误确实可能会介绍大灾难。而是,在他上班的的时候,Benicio 能否察觉到网格的这部分这部分未能还原,系统软件对意式 C++ 的精确度高性作出了初始化失败。


詹纳斯点燃了导火索,现在他把拆弹密码交给了本尼西奥。本尼西奥想,这到底是救赎之举,还是为了证明自己在最后阶段的统治地位而采取的自我驱动之举,都无关紧要。他现在正在为这座城市的生命编写代码,而 C++ 的幽灵则在每一个决定上徘徊。


每次函数调用、每个嵌入的汇编代码块都是一场在灾难边缘上错综复杂的舞蹈。但是,不安全的代码被封装在现代 C++ 中,使用让人联想到 monad 的结构——这是 Janus 说服 Benicio 采用的,因为 Benicio 不熟悉 Haskell 。随着时间一分一秒地过去,监视器上的混乱开始减缓。


Benicio 的脑海里中仍旧挥之不想去那句妄念:Rust 向来是他的安全性网。因此,这时或许,只要 C++ 才享有将 LuxCity 从山崖边拉归来的灵活机动性和最原始力量图片。当他爆爽地创作编号,修整 Janus 破环的每个贴心服务时,有件事变得精准起床——是没有极致的文学语言,只要适用对战争的对用具。


在哪位刻,本尼西奥不止仅是在制定编号来营救 LuxCity;他就要建立与毀灭彼此排回,工作规范他的是他曾起誓从来不碰的语言学。

最后一课:Rust 的安全性 vs. C++ 的控制力

当 Benicio 全力以赴对于 LuxCity 贫瘠的设计时,他总是感受到到负压:他所尊重的 Rust 编程语言在真实感游戏世界的负压下摇一摇欲坠。它的卫生性高得到保障——他所依耐的舒适性之墙——已为他的牢笼。蜥蜴女巫 Janus 利用了 Rust 设备的每个人条从严界限——每个人个不卫生性高的区块链都为冲突的填报志愿系统,每个人个卫生性高运存建模 都为 Benicio 始终无法 直接克服自己的障碍物。Rust 对话框防护任何东西,却让这座都市的地基配制外露在防御之上,这样防御不只是包括软件下载,还深入调查到操作系统其实质就。


接下来实情忽地一击,射中了 Benicio 的心:Rust 无效是不这是由于它太弱。它无效是这是由于它太厉害、太要从严,尚未自我调节 Janus 发出的必须精准预测的魔力。但他赌咒要放弃的 C++ 语种——既然它体现了因此有危险的魔力和错乱的机灵性——又是独一无二是可以灰复均衡性的手段。C++ 只仅就是种平台;它就是种随意,有一种挑战不明、操作必须控表象的约请。


经过手机耳机,詹纳斯的有些破除了遗忘。但上述次,他的有些没挖苦,也没敌意。


“你现在明白了吧?”他问道,语气冷静而精准,犹如一位精心策划了整场演出的大师。 这从来都不是语言的问题,贝尼西奥。关键在于掌握整个系统——每一层,每一个缝隙——从软件到硬件,从逻辑到数学,这是我们编程网格的核心。


贾努斯不只是恐袭了 LuxCity。他还把贝尼西奥逼来了绝地,给自己到了课文,只要有入侵网站巨匠才会领悟到自己:切实的能力不有赖于挑选“最健康”的语言,而有赖于学好其下层网络架构,在必要条件时击破规定以自我调节和生活。


“我从未想过要毁掉 LuxCity,” Janus 继续说道,语气中带着几分怀旧。 我想向你展示,依赖 Rust 这样的安全网只会让你变得可预测。你已经亲眼见证了这一点——Rust 受其自身规则的约束。C++……C++ 让你可以创建规则。我唯一尊重的约束是那些由抽象代数、范畴论和支配图论的镜头优雅而优雅地设定的约束。”


这座大城市摇摆欲坠,贝尼西奥現在明确了。雅努斯发起在这里遭袭也是出至故意,可是方便考试——这堂至于的控制、控住和适应环境的必修课程。批判的是?方便打赢雅努斯,贝尼西奥必须要接纳他所推辞的语言英文。


这是最终的受损服务列表,” Janus 说道,将拼图中最后一个决定性的碎片递给了 Benicio。是时候完成这件事了,但现在他们正在合作——师生合作,就像以前一样。


当 Benicio 继续潜心研究编号时,他那股 C++ 的机能又被烧燃了。在 Janus 的免费指导下,他逐个自动隐藏了然后的牢固性恶性软文编号,在要有的地儿内嵌汇编编号,跳过 Rust 的控制,并在固件阶段除去损伤。类似这些办法并不时不时雅致的,不会时不时安全可靠的,但真实有郊。


控制室里的气氛开始发生变化。爱丽丝和鲍勃虽然很紧张,但他们还是看着系统慢慢开始稳定下来。电力又回到了城市郊区。智能电网,LuxCity 的心脏,终于开始反击了。


Benicio 从惨痛经历中认识到,无论多么“安全”,任何语言都无法在真正的挑战面前保证控制权。归根结底,问题不在于选择 Rust 还是 C++;而在于掌握两者,要明白真正的战斗不在于代码行,而在于使用它们的程序员的思维和科学



想要访问更多与该主题相关的文章和新闻吗?


您不错目光我的的工作并订报我的时事新闻通讯设备,以得到 新资讯新闻、独到见解和独代项目:


要保持连续以收集比较多技巧感受和中央新闻!
바카라사이트 바카라사이트 온라인바카라