paint-brush
Lè kodaj detèmine siviv vil lapa@pepitoscrespo
312 lekti
312 lekti

Lè kodaj detèmine siviv vil la

pa pepitoscrespo19m2024/10/07
Read on Terminal Reader

Twò lontan; Pou li

Èske C++ ka depase Rust nan kontwòl ak sekirite sistèm reyèl la? Plonje nan batay yon pirate pou sove LuxCity ak eksplore limit tou de lang yo
featured image - Lè kodaj detèmine siviv vil la
pepitoscrespo HackerNoon profile picture
0-item


Nou menm pwogramè yo souvan jwenn tèt nou kenbe nan deba - C++ vs Rust, pwogramasyon wo nivo vs ba nivo. Men, defi reyèl la se pa sèlman élaboration sistèm elegant; li pwoteje yo nan mond rezo jodi a, kote move kòd toujou kache. Kèlkeswa jan kòd ou a san defo, inyore menas potansyèl se yon envitasyon pou yon dezas.


Li pa ase pou patch twou sekirite oswa lage pwochen aktyalizasyon a. Vrè batay la se nan monte yon repons efikas lè - wi, lè, pa si - sistèm ou a vyole. Sa vle di mete ann aplikasyon deteksyon entrizyon aktif, otomatize mekanis defans, epi pafwa fè men ou sal ak pwogram ba nivo pou atake menas yo nan sous yo.


Chan batay la pwolonje pi lwen pase lojik wo nivo nan nwayo a nan sistèm nan, kote sèlman devlopè ki pi kalifye yo ka efektivman goumen tounen. Si ou pa prepare pou kontrekare atak nan nivo sa a, tout karakteristik sekirite yo nan mond lan pa pral sove ou. Nan cybersecurity, defans san abilite pou reponn se pa ase.


Bò nwa nan Fanmi Mighty C a, Rise of Rootkits yo: Ti kòd, gwo pouvwa

Oke, ann pale sou fanmi C a — C, C++, tout ekipaj la. Lang sa yo ba ou libète ultim. Ou ka bati sistèm elegant ak pèfòmans segondè ki pral fè kamarad ou yo fè jalouzi. Men, isit la nan vire bò a: menm libète sa a pèmèt ou kreye kèk nan kòd ki pi danjere yo deyò - routki ak kouzen menm sournwa yo, bootkits. Sa yo se pa sèlman liy inofansif nan kòd lounging alantou - yo se predatè yo an silans nan mond lan lojisyèl.


Se konsa, ki diferans ki genyen ant routki ak bootkits?

  • Rootkits yo fèt pou opere andedan sistèm operasyon an. Yo manipile pwosesis sistèm, kache aktivite move, ak ajiste pwogram lojisyèl. Men, yo choute nan apre OS yo bòt moute.

  • Bootkits frape ou menm pi rèd. Yo atake sistèm lan anvan OS la ap menm kouri. Yo enfekte Master Boot Record (MBR) oswa firmwèr UEFI/BIOS, pran kontwòl anvan OS ou ka fè yon bagay sou li.


Pifò nan tan an, sa moun panse a kòm yon atak rootkit se aktyèlman yon konbo tou de. Bootkits pran plis pase depi nan kòmansman an menm, pandan y ap routki etap nan yon fwa OS la leve, li kouri, kite atak la kontinye inapèsi. Fondamantalman, bootkits jwenn byen bonè, routki kenbe montre nan ale.


Koulye a, ou ap pwobableman panse: " Ki sa ki nan kontra a si OS la kode nan Rust olye pou yo swadizan ensekirite C/C++/Asanble a?


Isit la se kote bagay yo vin enteresan. Se pou nou reyèl — nan mond teknoloji jodi a, nou ap fè fas ak sistèm ibrid, rezo mare nan rezo konplèks kote pèfòmans ak kontwòl egzak yo absoliman esansyèl. Panse sistèm SCADA , kontwòl HVAC , sistèm an tan reyèl , edge computing , aparèy entegre - ou jwenn lide a. Nan anviwònman sa yo, kèlkeswa jan "san danje" yon lang pretann yo ye, w ap toujou konte anpil sou C/C++/Asanble pou kontwòl ak pèfòmans amann sa a.


E menm si sistèm nan bati ak Rust, se pou nou onèt - anpil nan li toujou sèvi ak gwo moso nan kòd Rust unsafe pou fè fas ak kou boutèy pèfòmans, pwoblèm latansi, kontrent memwa, ak kominike dirèkteman ak pyès ki nan konpitè. Nan fen jounen an, lè pèfòmans se wa, ou fini nan menm bato a. Blòk unsafe sa yo nan Rust? Yo louvri menm frajilite ou ta genyen nan C/C++/Assembly.


Reyalite a se sa a: lè ou bezwen kontwòl amann nan nivo pyès ki nan konpitè, w ap mache menm kòd la, si OS ou a kode nan Rust oswa yon lòt bagay. Se konsa, pandan ke Rust ta ka ofri kèk guardrails, operasyon sa yo unsafe nan nivo ki ba yo toujou vilnerab. Rootkits ak bootkits pa pran swen sou preferans lang ou yo-yo pral jwenn wout yo nan si gen yon krak.


Zòn Rootkits: Antre nan pwòp risk ou


Predatè dijital sa yo pa jis enfekte yon sistèm - yo posede li. Ak isit la nan bagay prensipal la: pi fò nan yo yo bati lè l sèvi avèk klasik yo - C, C++, ak Asanble. Se sa ki dwat, menm lang yo alimante aplikasyon wo-pèfòmans ou yo tou dèyè kèk nan pi move routki yo janm kreye.


Reflechi sou evolisyon pou yon segond . Se tankou vwayaj la soti nan ti dinozò kanivò sa yo nan peryòd Triasik la nan monstr yo tewopòd imans nan Kretase a, tankou T-Rex la. Menm jan dino sa yo byen bonè te evolye nan predatè apex, routki yo te transfòme soti nan kòmansman relativman "bèl" nan kolosal tèt chaje jodi a nan kòd.


Pran Hacker Defender , pou egzanp - ti cyber-reptile sa a te jis liy 3K nan kòd, eksplwate twou vid ki genyen OS debaz yo. Men, tankou nenpòt predatè bon, li evolye. Rotki jodi a se monstr, divize an modil ak dè milye de liy kòd chak, vize non sèlman sistèm opere, men tou frajilite nivo pyès ki nan konpitè. Se yon kous zam, ak chak nouvo routki pouse limit sa ki posib.


Se konsa, nan atik sa a, nou ap plonje nan de istwa . Premye a? Vèsyon ofisyèl la ou pral jwenn nan resous teknoloji tankou Rootkits ak Bootkits pa Alexander Matrosov, Eugene Rodionov, ak Sergey Bratus. Sa a se bèl anpil gid pou tout detay yo nan evolisyon routki. Pou fè bagay sa yo fasil pou ou, mwen te mete ansanm yon kladogram anba a ki rezime devlopman nan routki sa yo - chak branch ki reprezante yon nouvo kwasans nan konplike malveyan.


Apre sa, w ap jwenn yon tablo ki mete aksan sou karakteristik inik chak routki. Mete konfyans mwen, ou pral vle wè ki jan moso sa yo nan kòd transfòme soti nan ti, entrigan opòtinis nan bèt ki domine sistèm.

Men nou ale


Evolisyon nan rootkits


Evolisyon Rootkit: Gwoupman pa Fanmi

Tablo a montre pwogresyon routki yo sou tan, mete aksan sou karakteristik revolisyonè yo, langaj pwogramasyon yo itilize, ak gwosè kòd yo.


Men, gen yon lòt bò nan istwa sa a - opinyon an soti nan yon moun ki pa jis ekri routki men viv ak respire yo. Rankontre karaktè prensipal nou an: yon pirate ki wè routki kòm ekstansyon nan tèt li - yon senfoni nan kòd metikuleu ki fèt deranje ak domine. Li pa jis nenpòt pirate; li se yon lejand, tèt-niveau mastermind la ke yo rekonèt sèlman kòm zandolit-la-Sòsye.


Soti nan pèspektiv li, sa a se pa sèlman sou teknoloji oswa kòd - li nan sou pouvwa, kontwòl, e petèt menm yon touche nan atis. Pou li, routki yo pa sèlman zouti; yo ap chèf, fason li nan remodel mond lan dijital.


Kidonk, san plis ditou, kite m prezante w nonm li menm - Zandolit-Sòsye a, nan pwòp mo pa l:

Chak Atis Bezwen yon Miz: Old Masters of Rootkits

Zandolit-Sòsye a pale nan rèv: chèf mwen yo


“Ah, ou la toujou. Mwen te mande konbyen tan sa t ap pran ou, Benicio, reyalize ou t ap jwe dwat nan men mwen. Pandan ke ou te tèlman renmen ti Rust ou a ak filè sekirite li yo , mwen te travay sou yon bagay ki pi plis ... ekskiz."


"Exquisite. Sa a se yon mo ou pwobableman pa asosye ak malveyan, men sa a se paske ou te twò vlope nan pwoteje ti sistèm ou yo apresye atizay la dèyè atak la. Wi, atizay. Ou panse mwen jis yon pirate? Non, non - mwen se yon achitèk, yon kreyatè. Chak routki mwen te janm etidye se te yon bwòs nan gwo pòtrè m ap pentire sou twal dezòd la.”


Isit la de karaktè prensipal yo nan istwa nou an: Cplusser la (Zandolit-la-SòsyeI) vs Rustacean la (Benicio)


Lizard-The-Wizard kontinye:

"Ou konnen, menm gwo yo - Da Vinci, Van Gogh, Bach - yo tout te aprann nan men mèt yo anvan yo. Mwen menm? Mwen te gen Hacker Defender ak Rustock . Hacker Defender se te Houdini mwen, ki montre m 'ki jan yo glise kòd nan sistèm, fè dosye ak pwosesis disparèt tankou maji. Ak Rustock? Sa a te moman Picasso mwen an - polimòfis nan pi rafine li yo, toujou ap chanje, evolye, chanje fòm tankou yon penti ki morphing chak fwa ou gade nan li."


"Men sa yo? Yo te jis etap etap nan sa mwen te konnen mwen te kapab kreye. Lè sa a, te vini Alureon . Li pa t 'jis chita nan sistèm nan - li te fè mete pòtre nan nwayo a, frape Master Boot Record (MBR). Sa a se premye sektè nan kondwi difisil ou a, pati ki di OS ou ki jan yo menm kòmanse demaraj. Ou konnen ki jan de kontwòl sa a santi tankou, Benicio? Divin. Se tankou tande dezyèm konsè Rachmaninoff a pou premye fwa. Pi bèlte, men grave nan kòd."


“E toujou, mwen pa t satisfè. ZeroAccess se te senfoni mwen an. Li bati yon lame, vire machin yo nan yon botne kanmarad-a-kanmarad, chak sistèm enfekte jwe wòl li nan yon chèf chaotic. Li pa t jis sou yon sèl enfeksyon ankò; li te sou fè dezòd atravè yon rezo. Se la ou tonbe kout, Benicio. Ou bloke w ap kouri dèyè amoni Rust, alòske vrè atizay la chita nan dissonans la - dezòd ki fè yon chèf.



Vektè enfeksyon ak rootkits yo se pi bon zanmi


"Epi finalman te vini LoJax ak MoonBounce . Sa yo pa t 'sèlman routki - yo te evolisyon, pouse limit yo nan sa ki malveyan ta ka. LoJax, entegre byen fon nan UEFI, sistèm kontwole nan yon nivo menm Rust ou renmen anpil pa t 'kapab manyen. MoonBounce te pran li pi lwen, plonje nan memwa flash SPI, kache kote pa gen okenn antivirus oswa sistèm siye pa janm ka rive. Li pa t jis kache nan sistèm nan - li te vin yon pati nan pyès ki nan konpitè, pèmanan ak entouch, tankou yon fresko Michelangelo grave nan Silisyòm.


"Se lè sa a mwen te konprann verite reyèl la: kontwòl pa nan CPU a oswa OS la. Vrè kontwòl manti nan pyès ki nan konpitè. Epi se la mwen te kreye chèf mwen yo.”


" Antre zandolit-ble ak zandolit-wouj - Chapel Sistine mwen nan routki. Èske w konnen ki jan yo te fèt, Benicio? M ap di w, paske ou bezwen konprann jeni ki te depase w la.”


“Lizard-Blue te enjenyè avèk ou nan tèt ou. Ou menm, tèlman fyè de rouye ou a ak garanti sekirite li yo. Lizard-Blue danse nan blòk danjere ou yo, jete multithreading ou nan dezòd, deranje sistèm I/O ou yo - tout bagay sa yo distrè ou. Se te yon konpayon moun fou: senp ak elegant. Pandan w t ap kouri dèyè zandolit-ble, vre chèf mwen an, zandolit-wouj, te deja pran rasin."


Men, Lizard-Red pa t pran swen CPU ou oswa lojisyèl ou . Non, li te ale tou dwat pou memwa flash SPI a, glise nan kontwolè DMA ou yo, epi tou dousman reekri sistèm ou a soti nan andedan an deyò. Tankou yon senfoni kache, li te jwe sou firmwèr ki pa ka wè, reekri, irézistibl.


"Sa a se kontwòl reyèl, Benicio. Pandan ke ou te okipe patch lojisyèl, mwen metrize pyès ki nan konpitè. Di m, poukisa ou abandone C++ pou Rust? Rust... tèlman pwomèt, tèlman an sekirite. Men sonje, Benicio, vre pouvwa pa soti nan sekirite. Li soti nan kontwòl. Epi kounyeya, ou pap janm bliye sa."


Premye blakawout yo gaye soti nan katye yo nan direksyon sant la apre chak reset griy entelijan.

Etap la mete. Yon konfwontasyon ant yon mèt C++ ki pi wo ak yon lame renegat C++ ki te tounen vin jwenn Rust se sou limen nan LuxCity - oswa pi mal, plonje li nan fènwa. Enjeux yo? Kontwòl konplè - pa sèlman nan kòd, men nan menm enfrastrikti ki kenbe metwopòl sa a vivan.


Vil la, buz ak enèji, se sou yo vin chan batay la. Benicio, fòtifye pa defans Rust li yo, fè fas a yon defi li pa janm wè vini - yon defi fabrike pa mèt nan C++ li menm, Lizard-the-Wizard, detèmine pou pote Rustaceans renegade sa yo tounen nan pliye a. De fòs, de filozofi, sou yon kou kolizyon . Men, sa a se pa sèlman sou langaj pwogramasyon - li se yon batay pou kontwòl nan sistèm, pouvwa, e petèt, jis petèt, avni nan pwogramasyon, modi!


LuxCity pa t jis yon metwopòl - li te yon senbòl ki jan demen ta ka sanble. Lari li yo te frekante ak machin otonòm, ak syèl la te vivan ak dron entelijan ki te dirije trafik soti anwo. Men, anba tout pwogrè sa yo, te gen vrè sans vil la: kadriyaj entelijan an - yon sistèm konplèks, konplèks trikote ki te kenbe tout bagay mache san pwoblèm.


Nan sal kontwòl ki anwo vil la, Alice ak Bob, ansyen veteran nan griy la, te gade dezòd ki t ap dewoule sou monitè yo. Premye blakawout la te sanble tankou yon ti pwoblèm - yon bagay yo te kapab okipe. Men, li gaye, distri apre distri plonje nan fènwa. Pouvwa flickered san kontwòl, ak ak chak rdemare, bagay sa yo sèlman vin pi mal. Alam yo te sonnen, ak monitè yo te klere avètisman sou yon kriz ki pi pwofon, kache yo te poko dekouvri.

Yo te bezwen èd. Yo te bezwen Benicio.

Benicio: Yon defansè rouye an danje

Benicio: Yon defansè rouye an danje


Lè Benicio rive, li pa te sèlman ame ak laptop li; o non, li te pote yon bagay ki pi presye: kwayans inebranlab li nan Rust - lang li te genyen fòseman defann pou senk ane ki sot pase yo. Se ak Rust ke li menm ak ekip li a nan enjenyè Rustacean te devlope nwayo a nan LuxCity SmartGrid la. Rust se te epe li, plak pwotèj li a, nouvo jwèt briyan ki te pwomèt pou l sove l anba laterè C++ — tanpon debòde, kondisyon ras yo, tout tan tout tan redoutée exploiter Use-After-Free. Rust te repons pou tout bagay, pa vre? Tan kap vini an, oswa konsa li te kwè. Apre yo tout, kadriyaj LuxCity a te bati sou fondasyon sa a swadizan kase.


Men, iwoni a? Konfyans enkondisyonèl sa a te sou yo dwe teste, e petèt - jis petèt - C++ pa t 'tan demode jan Benicio te panse.


Pandan Benicio te plonje nan nwayo sistèm nan, li imedyatman te konnen yon bagay te mal. Avèk chak reset nan sistèm kontwòl SmartGrid la, blakawout la gaye pi lwen — deplase anndan soti nan katye vil la nan direksyon kè LuxCity. Li pa t 'o aza; li te fè espre, yon modèl dewoulman devan je l ', yon atak byen kowòdone ak kalkile. Kè li te koule. Sa a pa t jis yon glitch - se te yon routki, vivan epi evolye.


Siyati a te ékivok.


Se te Janus, aka Zandolit-Sòsye a - ansyen zanmi Benicio a tounen advèsè. Yon fwa, yo ta ekri kòd ansanm, eksplore posiblite yo enfini nan C++. Men, Janus te pase nan betiz filè sekirite rijid Rust yo ak abstraksyon. Kounye a, Janus te sèvi ak pouvwa anvan tout koreksyon C++, manipile enfrastrikti vil la tankou yon mèt mannken, vize sèvo yo ak kouraj nan pi gwo SmartGrid la - kode pa Benicio nan Rust.


Zandolit-wouj: yon atak san pitye sou fondasyon yo

Yon atak san pitye pa Janus aka zandolit-la-Sòsye


Byen pi ba pase LuxCity, nan ti limyè etajè sèvè k ap chante ak lavi, Janus te gade travay li dewoulman. Dwèt li te deplase rapidman sou klavye a, je byen file ak konsantre pandan li te swiv dezòd la debouche sou ekran yo k ap flickering. De nan pi rafine kreyasyon l 'yo te nan jwèt: zandolit-wouj ak zandolit-ble , chak atake soti nan diferan fwon ankò k ap travay nan amoni pafè.


Zandolit-Wouj te deja byen fon anndan nwayo a nan kadriyaj entelijan vil la - anvayisè an silans pafè. Sa a pa te kèk malveyan òdinè frape pwen fèb lojisyèl nòmal yo. Non, Lizard-Red se te yon routki firmwèr, ki vize fondasyon ki pi pwofon yo: contrôleur DMA, memwa flash SPI, ak moun kap okipe entèwonp . Li glise nan sistèm nan san li pa remake, li glise anba mekanis sekirite Rust yo metikuleuman fabrike. Poukisa deranje atak CPU oswa tanpon memwa? Zandolit-Wouj kontoune yo tout ansanm, entegre tèt li nan firmwèr la kote garanti Rust yo pa t gen okenn enfliyans.


Janus te konnen limit yo nan sipoze sekirite Rust a tankou do a nan men li - li te pase plizyè ane ap diseke li. Rust, pou tout klere li yo, te sispann kout lè li te rive nan kouch pyès ki nan konpitè . Se la kote zandolit-wouj te pwospere. Sa a pa t jis yon atak sou kòd; li te yon kontwòl ostil nan pyès ki nan konpitè tèt li.


Pandan se tan, Lizard-Blue te fè ravaj nan bò lojisyèl wo nivo . Li pa t 'atake dirèkteman men li te aji kòm dekou pafè a, eksplwate blòk danjere Rust a tankou yon maestro ki mennen yon senfoni nan dezòd. Li te vize sèvis multithreading yo, tòde operasyon I/O yo, ak fè ravaj pa fòse kondisyon ras ke Rust te dekole avèk prekosyon pou rezon pèfòmans. Zòn ensekirite sa yo te tankou pòt ki te rete bouche nan defans Benicio yo byen bati, e Janus - ki te ansyen mèt C++ - te konnen egzakteman ki jan yo louvri yo. Modèl sekirite Rust la, bagay ki te bay Benicio konfyans, te vin tounen yon pèlen lè Lizard-Blue te tounen garanti sa yo nan feblès.


Janus, ki soti nan tani kache l 'yo, souri. Lafwa Benicio te genyen nan Rust te prèt pou kraze. Sa a pa t jis yon atak teknolojik; se te yon leson nan atizay kontwòl la.


Benicio Strikes Back: Ekspoze defo Rust la

Benicio frape tounen


Nan sal kontwòl la, Benicio te goumen avèk kouraj, dwèt li te deplase pi vit pase panse li. Chak frap te santi tankou yon batman kè - fiks men dezespere - pandan li te lite ak filè sekirite sevè Rust yo kont dezòd inplakabl tise pa kòd Lizard-The-Wizard la. Benicio te metrize modèl sekirite Rust la, gen konfyans nan pwoteksyon li, men Lizard-Blue te chire CPU a ak presizyon chirijikal. Kondisyon kous ak echèk I / O te eklate atravè ekran yo. Chak fwa Benicio te panse ke li te gen gwo men an, atak la te chanje fòm - chanje fòm, glise devan defans tankou yon lonbraj glise anba yon pòt.


Rust pa t 'kapab kenbe moute. Bagay sa a Benicio te renmen yon fwa sou Rust - rezo sekirite rijid li yo - te kounye a trangle kapasite li pou reprann kontwòl. Chak pwoteksyon te vin tounen yon kaj, limite mouvman l 'yo, pyèj li nan yon bouk kontinuèl nan plak defans ki te tonbe kout kont likid la, atak inplakabl.


Men, Benicio, expérimenté nan atizay la nan lagè, te konnen ke sa a se jis yon detounman.


Menas reyèl la se pa zandolit-ble t ap danse atravè monitè yo. Byen lwen anba sifas la, byen fon nan venn yo nan kadriyaj entelijan LuxCity a, Lizard-Red te deja sezi kontwòl. Li pa t ap jwe nan kouch siperyè defans Rust ankò. Li te fouye byen fon, lè l sèvi avèk enplantasyon firmwèr pou enfiltre sistèm kritik tankou SCADA ak sistèm HVAC ki te kontwole enfrastrikti vil la jiska nwayo li yo. Sa yo te sistèm yo kote kenkayri te rankontre lojisyèl - kote pi fò nan antretyen yo ak aparèy kontwòl final yo te kouri sou firmwèr koutim, anpil nan li toujou patrone pa eritaj C ak Asanble.


Kontwolè DMA yo ak memwa flash SPI yo te konpwomèt. Zandolit-Wouj te kontourne CPU a antyèman , entegre tèt li nan pyès ki nan konpitè anba OS la. Li te vize san enfrastrikti a — sistèm SCADA ki te kontwole operasyon kritik yo ak sistèm HVAC ki te asire ke pyès ki nan konpitè vil la fonksyone san pwoblèm. Enplantasyon sa yo pa t jis kòd senp - yo te pèmanan, yo te plante operasyon nan firmwèr la, yo te reekri règ yo nan sistèm nan soti anndan an deyò.


Modèl memwa Rust la - bati pou pwoteje lojisyèl - pa vle di anyen isit la. Sa a se te yon lagè nan nivo firmwèr, youn kote pwoteksyon Rust yo te tankou yon miray chato ki byen bati, men atakè yo te deja andedan pòtay yo, manipile pyès ki nan konpitè dirèkteman.

Janus te fè sa kèk lòt te kapab: li te eksplwate pwen fèb yo nan pyès ki nan konpitè yo - kote Rust pa t janm fèt pou pwoteje yo. Kote yo kote sèlman metal fè, C++, ak Asanble gouvènen siprèm. Benicio te depase, epi byen fon, li te konnen li.


Vire melodramatik la: Kriz lafwa Benicio a

WTF?


Benicio frape pwen li sou konsole a. Rust se te Graal li, yon lang li te fè konfyans pou l pwoteje kont dezòd la kounye a ki menase pou vale LuxCity. Li te kwè nan pwomès li pou efase tout klas vilnerabilite yo. Men, kounye a, ak vil la teetering sou kwen nan efondreman, yon realizasyon frèt frape l ': rouye pa t ase.


Li te fikse sou ekran an klere, je l 'derive nan yon ansyen katab ki kache sou Desktop li ki make "Ansyen C++ Zouti." Senk ane - li te gen senk ane depi dènye li te manyen anyen nan katab sa a. Li te sèmante li pa t ap tounen. Li pa ta bezwen. Rust te lavni an, chape l 'soti nan danje yo ak volatilité nan C++. Men, kounye a, pandan limyè vil la t ap bat youn pa youn, li te konnen ke frigidité a nan Rust - sekirite a ki te yon fwa te plak pwotèj li a - te vin tounen yon kaj. Li te twò enflexib pou reponn a jan de menas sa a.


Atak yo sou LuxCity yo te inplakabl, epi yo pa t 'sèlman dijital - yo te frape kenkayri a anpil, pwofondè yo nan nivo firmwèr kote Rust pa t 'kapab kraze. Li te konnen verite a kounye a: batay sa a pa t sèlman sou Rust kont C++. Sa a te sou pouvwa. Ak C++? C++ te gen pouvwa a anvan tout koreksyon, san donte pou rive kote Rust pa t 'kapab, byen fon nan firmwèr la kote Lizard-Red te entegre tèt li.


Men li te plane sou sourit la, tranble. Ouvèti katab sa a te santi tankou lonje men pou yon ansyen, zam danjere - yon sèl ki kapab mal menm jan ak bon. Yon move mouvman, ak LuxCity ta ale pou tout tan. Men, san li, san yo pa dezòd ak fòs brital nan C++, pa te gen okenn fason yo goumen tounen.


Ak yon kè lou, Benicio klike sou katab la. Vi abitye nan ansyen zouti li yo te salye l, e nan moman sa a, li te konnen - batay sa a pa t 'kapab genyen ak sekirite ak prekosyon. Li ta pran risk.


Janus's Inatandi Lifeline: Yon tòde nan batay la

Kòm vil la te plonje pi lwen nan dezòd ak SmartGrid la teeter sou bò gwo efondreman, yon notifikasyon te bat je sou ekran Benicio a. Li te soti nan Janus . Kè Benicio sote yon bat - e kounye a? Men, olye pou yo plis fè ravaj, mesaj la te kenbe yon liy sovtaj. Janus pa t la pou detwi LuxCity nèt - poko. Li te rive jwenn yon bagay inatandi: yon lis. Yon dekonpozisyon detaye sou chak sèvis pèvèti, chak pwosesis konpwomèt, ak - sa ki pi enpòtan - kòd yo swiv yo.


Benicio te ezite, li pa sèten si li te fè ansyen zanmi l konfyans li te tounen advèsè. Men, pa t 'gen tan gen dout. Ak avni LuxCity a pandye nan balans lan, li pa te gen okenn chwa ke aksepte èd la. Men l 'plane sou sourit la pou yon moman anvan li klike sou louvri dosye a ki gen ansyen zouti C++ li yo.

Redanmsyon Benicio a: pouvwa a nan C++

Vye granmoun ankò?


Ak men ki tranble, Benicio te kòmanse tape. Sentaks yon fwa abitye nan C++ te koule nan li tankou dezyèm nati, ane nan memwa nan misk choute pous. Estrikti rijid Rust te kite l san fòs kont atak nan nivo firmwèr, men C++ te epe li ak plak pwotèj kounye a. Li te kontourne filè sekirite Rust yo, li plonje tou dwat nan pyès ki nan konpitè vilnerab la, li te korije demann DMA ak koripsyon memwa SPI youn pa youn.


Lè a nan chanm kontwòl la te tansyon. Alice ak Bob t ap gade, je yo t ap tranble ant limyè k ap disparèt sou kadriyaj la ak liy kòd ki te inonde ekran Benicio a. Tan t ap fini.


Avèk chak frap, Benicio te sèvi ak pouvwa modèn C++, gide pa endikasyon Janus, pwopriyetè de koulè zandolit yo, te bay - kòd ak yon plan sèvis konpwomèt. Sa a pa te riske, chaotic C++ nan tan lontan. Modèn C++ te donte anpil nan danje sa yo: konsèy entelijan, plis gou pase tout tan, ak modèl pwopriyetè ki repete karakteristik sekirite Rust men ak plis fleksibilite, plis pouvwa anvan tout koreksyon. Li te rafine, evolye. Men, menm si sa, chak liy te pote pwa. Yon misstep ka toujou eple dezas. Men, pandan li t ap travay, Benicio te kapab santi pati nan kadriyaj la rekipere, sistèm nan reponn ak presizyon nan C++ modèn.


Janus te limen fusil la, men kounye a li te remèt Benicio kòd defusal yo . Kit se te yon zak redanmsyon oswa yon mouvman ego-kondwi pou pwouve dominasyon li nan final la, li pa t gen pwoblèm, Benicio te panse. Li te kounye a kode pou lavi a nan vil la, ak fantom yo nan C++ plane sou chak desizyon.


Chak apèl fonksyon, chak blòk nan asanble entegre, se te yon dans konplike sou kwen nan dezas. Men, kòd ensekirite a te vlope nan C++ modèn, lè l sèvi avèk konstwi ki okoumansman de monad - yon bagay Janus te konvenk Benicio pou l adopte, paske Benicio pa abitye ak Haskell . Kòm minit yo te pase, dezòd la sou monitè yo te kòmanse ralanti.


Espri Benicio pa t 'kapab souke mantra a obsession: Rust te rezo sekirite li. Men, nan moman sa a, sèlman C++ te gen fleksibilite ak pouvwa anvan tout koreksyon pou rale LuxCity tounen soti nan bò gwo a. Pandan l te kode kòlè, li te korije chak sèvis Janus te pèvèti, yon bagay te vin klè - pa te gen okenn lang pafè, se sèlman bon zouti pou bon batay la.


Nan moman sa a, Benicio pa t jis kode pou sove LuxCity; li t ap mache byen liy ki genyen ant kreyasyon ak destriksyon, gide pa lang li te sèmante pou l pa janm manyen ankò.


Leson final la: Sekirite Rust vs Metriz C++ nan kontwòl

Pandan Benicio t ap lite ak sistèm frajil LuxCity yo, pwa moman sa a te frape l plizyè fwa: Rust, lang li te defann, t ap kraze anba presyon monn reyèl la. Garanti sekirite li yo - mi rekonfòtan li te konte sou yo - te vin kalòj li. Janus, Zandolit-Sòsye a, te eksplwate chak fwontyè rijid Rust te fikse — chak blòk ki pa ansekirite te vin tounen yon pòt pou dezòd, chak modèl memwa ki an sekirite yon obstak Benicio pa t 'kapab simonte nan tan. Rust, nan tantativ li pou veye tout bagay, te kite enfrastrikti vil la ekspoze a atak ki te ale pi lwen pase lojisyèl, rive byen fon nan pyès ki nan konpitè tèt li.


Lè sa a, verite a frape Benicio tankou yon kout pwen nan zantray: Rust pa t 'echwe paske li te fèb. Li te echwe paske li te twò fò, twò strik, li pa t 'kapab adapte yo ak fòs enprevizib Janus te deklannche. Men, C++, lang li te sèmante pou l kite dèyè - ak tout pouvwa danjere li yo ak fleksibilite chaotic - se sèl zam ki te kapab retabli balans. C++ pa t jis yon zouti; se te libète, yon envitasyon pou plonje nan enkoni, pou kontwole enkontwolab.


Atravè kask la, vwa Janus te kraze silans la. Men, fwa sa a, li pa t nan betiz oswa ostil.


"Ou wè li kounye a, pa vre?" li te mande, ak presizyon kalm nan yon maestro ki te orchestre tout pèfòmans lan. " Sa a pa janm te sou lang yo, Benicio. Li se sou metrize sistèm nan - chak kouch, chak fant - soti nan lojisyèl an nan pyès ki nan konpitè, soti nan lojik la nan matematik nan kè a nan kadriyaj pwogramasyon nou an.


Janus pa t jis atake LuxCity. Li te pouse Benicio pou l ba l yon leson sèlman yon mèt pirate te kapab bay: vrè pouvwa pa chita nan chwazi lang ki pi an sekirite a, men nan metrize achitekti ki anba li a, nan koube règ yo lè sa nesesè pou adapte ak. siviv.


"Mwen pa janm te vle detwi LuxCity," Janus kontinye, vwa li prèske nostaljik. " Mwen te vle montre w ke konte sou filè sekirite tankou Rust sèlman fè ou previzib. Ou te wè li tèt ou - Rust se mare pa pwòp règ li yo. C++… C++ pèmèt ou kreye règ yo. Sèl kontrent mwen respekte yo se sa yo mete ak gras ak distenksyon pa aljèb abstrè, teyori kategori, ak lantiy teyori graf dominan yo .


Ak vil la teetering sou kwen nan efondreman, Benicio konprann kounye a. Janus te òganize atak la pa akoz malveyans, men kòm yon tès - yon leson sou kontwòl, metriz, ak adaptasyon. Iwoni a? Pou defèt Janus, Benicio te oblije anbrase lang li te vire do l.


" Men lis final la nan sèvis konpwomèt ," Janus te di, lonje Benicio dènye, moso desizif nan devinèt la. Li te tan yo fini sa a, men kounye a yo te travay ansanm - mèt ak elèv, jis tankou ansyen tan.


Pandan Benicio te pijon tounen nan kòd la, ansyen ensten C++ li te reyamen. Avèk konsèy Janus a, li te vize dènye kòd malveyan ki pèsistan yo youn pa youn, entegre asanble kote sa nesesè, kontoune limit Rust yo, ak defèt domaj yo nan nivo firmwèr la. Li pa t toujou elegant, epi li pa t toujou an sekirite, men li te travay.


Lè a nan chanm kontwòl la deplase. Alice ak Bob, byenke tansyon, te gade sistèm nan tou dousman te kòmanse estabilize. Pouvwa te flickered tounen nan katye yo nan vil la. SmartGrid la, kè a bat LuxCity, te finalman goumen tounen.


Benicio te aprann fason difisil ke okenn lang, kèlkeswa jan 'san danje', pa t 'kapab garanti kontwòl an fas a yon defi vre. Nan fen a, li pa t 'sou chwazi Rust oswa C++; li te sou metrize tou de, konprann ke batay la reyèl se pa nan liy yo nan kòd, men nan lespri a ak syans nan pwogramè a manyen yo .



Ou vle jwenn plis atik ak nouvèl ki gen rapò ak sijè sa a?


Ou ka swiv travay mwen epi abònman nan bilten mwen an pou jwenn mizajou, enfòmasyon ak kontni eksklizif:


Rete konekte pou plis enfòmasyon teknoloji ak nouvèl!