paint-brush
Marka Codayntu Go'aamiso Badbaadada Magaaladaby@pepitoscrespo
312 akhrin
312 akhrin

Marka Codayntu Go'aamiso Badbaadada Magaalada

by pepitoscrespo19m2024/10/07
Read on Terminal Reader

Aad u dheer; In la akhriyo

C++ miyay la mid noqon kartaa Rust-ka nidaamka-dhabta ah ee xakamaynta iyo amniga? Gal dagaalka hacker-ka si aad u badbaadiso LuxCity oo aad u sahamiso xadka labada luqadood
featured image - Marka Codayntu Go'aamiso Badbaadada Magaalada
pepitoscrespo HackerNoon profile picture
0-item


Anaga barmaamijiyeyaasha ayaa inta badan isku aragta in aan isku qabsano doodaha - C++ vs. Rust, heerka sare vs. barnaamijyada hoose. Laakiin caqabada dhabta ahi maaha kaliya samaynta habab xarrago leh; waxay ilaalinaysaa iyaga aduunka maanta isku xidhan, halkaas oo koodka xaasidnimada ahi had iyo jeer ku dhuunto. Si kasta oo uu koodkaagu u ekaado mid aan cillad lahayn, iska indhatirka khataraha iman kara waa martiqaad musiibo.


Kuma filna in la dhejiyo godadka amniga ama la sii daayo cusboonaysiinta soo socota. Dagaalka dhabta ahi waa kor u qaadista jawaab-celinta waxtarka leh marka - haa, marka, maaha haddii - nidaamkaaga la jebiyo. Tani waxay ka dhigan tahay hirgelinta ogaanshaha soo gelitaanka firfircoon, otomaatigga hababka difaaca, iyo mararka qaarkood in gacmahaaga lagu wasakheeyo barnaamij-hooseeya si wax looga qabto hanjabaadaha ka imanaya isha ay ka soo jeedaan.


Goobta dagaalku waxa ay dhaafsiisan tahay caqliyada heerka sare ah ee udub dhexaad u ah nidaamka, halkaas oo kaliya kuwa ugu xirfada badan ay si wax ku ool ah ula dagaallami karaan. Haddii aadan diyaar u ahayn inaad ka hortagto weerarada heerkan ah, dhammaan astaamaha badbaadada ee adduunku kuma badbaadin doonaan. Amniga internetka, difaaca aan lahayn awood wax looga qabto kuma filna.


Dhanka Madow ee Qoyska C ee Awooda leh, Koritaanka Rootkits: Koodhka Yar, Awood Weyn

Hagaag, aan ka hadalno qoyska C - C, C++, dhammaan shaqaalaha markabka. Luuqadahani waxay ku siinayaan xoriyad kama dambays ah. Waxaad dhisi kartaa nidaamyo xarrago leh, heer sare ah oo ka dhigi doona asxaabtaada masayrka. Laakin waa kan dhinaca kale: isla xoriyadaasi waxay kuu ogolaanaysaa inaad abuurto qaar ka mid ah koodhka ugu khatarta badan ee halkaas ka jira - rootkits iyo ilmaadeeradooda sneakier, bootkits. Kuwani maaha oo kaliya khadadka koodka ee ku wareegsan - waa ugaarsiga aamusan ee adduunka software-ka.


Haddaba, waa maxay farqiga dhabta ah ee u dhexeeya rootkits iyo bootkits?

  • Rootkits waxaa loogu talagalay inay ku shaqeeyaan nidaamka hawlgalka. Waxay maamulaan hababka nidaamka, waxay qariyaan hawlaha xaasidnimada ah, waxayna hagaajiyaan barnaamijyada software. Laakiin waxay bilaabaan ka dib marka OS-ga uu kor u kaco.

  • Bootkits ayaa si ka sii daran kugu dhuftey. Waxay weeraraan nidaamka ka hor inta uusan OS xitaa shaqeynin. Waxay waxyeeleeyaan Diiwaanka Bootka Masterka (MBR) ama UEFI/BIOS firmware, iyaga oo xakameynaya ka hor inta uusan OS-gaagu waxba ka qaban.


Inta badan, waxa ay dadku u maleynayaan weerarka rootkit dhab ahaantii waa isku-darka labadaba. Bootkits waxay la wareegaan bilawga bilawga, halka rootkits ay soo galaan marka OS-gu kor u kaco oo socdo, u ogolaanaya weerarku inuu sii socdo iyada oo aan la dareemin. Asal ahaan, bootkits waxay soo galaan xilli hore, rootkits waxay sii wadaan bandhigga.


Hadda, waxay u badan tahay inaad ka fekereyso: " Waa maxay heshiisku haddii OS lagu calaamadiyo Rust halkii loo maleyn lahaa inuu yahay C/C++/Assembly ammaan darro?


Waa kuwan meesha ay arrimuhu ku xiiseeyaan. Aynu run noqono - aduunkan tignoolajiyada maanta, waxaanu la tacaalaynaa nidaamyada isku-dhafan, shabakadaha isku xidhan ee shabakadaha adag halkaas oo waxqabadka iyo xakamaynta saxda ahi ay lagama maarmaan tahay. Ka fakar nidaamyada SCADA , kontaroolada HVAC , nidaamyada waqtiga-dhabta ah , xisaabinta geesaha , aaladaha ku dhexjira — waad helaysaa fikradda. Deegaannadan, iyadoon loo eegayn sida "ammaan" ah ee afku sheeganayo inuu yahay, waxaad weli si weyn ugu tiirsan tahay C/C++/Assembly xakamaynta iyo waxqabadka wanaagsan.


Xitaa haddii nidaamka lagu dhisay Rust, aynu daacad u noqonno - in badan oo ka mid ah ayaa wali isticmaala qaybo badan oo koodhka rustka unsafe si ay ula tacaalaan caqabadaha waxqabadka, arrimaha daahitaanka, caqabadaha xusuusta, iyo si toos ah ula falgalka qalabka. Dhamaadka maalinta, marka waxqabadku boqor yahay, waxaad ku dhammaanaysaa isla doon. Meelahaas unsafe ee ku jira miridhku? Waxay furaan dayacanka aad ku yeelan lahayd C/C++/Assembly.


Xaqiiqdu waa tan: marka aad u baahan tahay kontorool la hagaajiyay oo ah heerka qalabka, waxaad ku soconaysaa xadhig isku mid ah, haddii OS-gaagu ku qoran yahay Rust ama wax kale. Markaa iyadoo Rust laga yaabo inay bixiso qaar ka mid ah biraha ilaalinta, hawlgalladaas heerka hooseeya unsafe ayaa weli ah kuwo nugul. Rootkits iyo bootkits ma daneeyaan dookhyada luqadaada - waxay heli doonaan jidkooda haddii uu jiro dillaac.


Aagga Rootkits: Geli Khatarkaaga


Ugaadhsadayaashan dhijitaalka ah kaliya kuma gudbiyaan nidaamka - iyagaa iska leh. Oo waa tan waxa ugu weyn: intooda badan waxaa la dhisay iyadoo la isticmaalayo classic - C, C ++, iyo Golaha. Taasi waa sax, luuqado isku mid ah oo awood siinta abkaaga waxqabadka sare ayaa sidoo kale ka dambeeya qaar ka mid ah rootkits-kii ugu xumaa ee abid la abuuray.


Hal ilbidhiqsi ka fikir horumarka . Waxay la mid tahay safarka laga soo bilaabo kuwa yaryar, dinosaurs-cuniyeed ee xilligii Triassic ilaa daanyeerka daweynta sare ee Cretaceous, sida T-Rex. Sida Dinos-kii hore ay u xuubsiibteen ugaarsatada ugu sarreysa, rootkits-ku waxay ka beddeleen bilow "qurux badan" waxayna isu beddeleen dabeecadaha kood ee cabsida leh ee maanta.


Qaado Difaacaha Hackerka , tusaale ahaan — xamaaratada internet-ka ee yari waxa ay ahayd kaliya 3K khadadka koodka, ka faa’iidaysiga goldaloolooyinka aasaasiga ah ee OS. Laakiin sida bahal kasta oo wanaagsan, way horumartay. Rootkits-ka maanta waa daanyeerka, oo u kala qaybsan qaybo leh kumanaan xariiq oo kood ah, kuwaas oo la beegsanayo kaliya maaha nidaamyada hawlgalka laakiin sidoo kale dayacanka heerka hardware. Waa tartanka hubka, iyadoo rootkit kasta oo cusub uu riixayo xuduudaha waxa suurtagal ah.


Haddaba, maqaalkan, waxaynu u dhex quusinaynaa laba sheeko . Midka hore? Nooca rasmiga ah waxaad ka heli doontaa agabka farsamada sida Rootkits iyo Bootkits ee Alexander Matrosov, Eugene Rodionov, iyo Sergey Bratus. Tani waa wax aad u badan oo la tagi karo si loo hago dhammaan faahfaahinta nitty-gritty ee kobcinta rootkit. Si aan arrimaha kuugu fududeeyo, waxaan hoos ku soo ururiyay cladogram-ka soo koobaya horumarinta rootkit-yadan - laan kasta oo ka dhigan boodbood cusub oo ku saabsan casriyeynta malware.


Intaa ka dib, waxaad heli doontaa miis muujinaya sifooyinka gaarka ah ee rootkit kasta. I rumayso, waxaad u baahan doontaa inaad aragto sida qaybahan koodka ah ay uga beddelan yihiin kuwa yaryar, kuwa fursad-ku-soo-galista ah oo u noqda bahalo nidaamka maamula.

Waar waan tagnaa


Horumarka Rootkits


Rootkit Evolution: Kooxaynta Qoysaska

Jadwalku wuxuu muujinayaa horumarka rootkits-ka ee waqtiga, isagoo muujinaya sifooyinkooda kacaanka, luqadaha barnaamijyada la adeegsado, iyo cabbirkooda koodka.


Laakiin waxaa jirta dhinac kale oo sheekadan ah - aragtida qof aan qorin rootkits oo keliya laakiin nool oo neefsada. La kulan dabeecadeena ugu weyn: hacker-ka u arka rootkit-ka inay yihiin kordhinta naftiisa - astaanta koodka si taxadar leh loogu talagalay inuu carqaladeeyo oo uu xukumo. Isagu maaha oo kaliya hacker kasta; waa halyey, maskaxdii ugu sarraysay ee loo yaqaan Lizard-the-Wizard.


Marka laga eego aragtidiisa, tani maaha kaliya tignoolajiyada ama koodka - waxay ku saabsan tahay awoodda, xakamaynta, iyo laga yaabee xitaa taabashada farshaxanka. Isaga, rootkits-ku maaha qalab kaliya; waa farshaxan-yaqaanno, qaabkiisa dib-u-qaabaynta adduunka dhijitaalka ah.


Haddaba, aniga oo aan hadal dheerayn, aan ku baro ninka laftiisa - Lizard-the-Wizard, ereyadiisa:

Farshaxan kastaa wuxuu u baahan yahay Muse: Masters-kii hore ee Rootkits

Lizard-the-wizard wuxuu ku hadlaa riyooyin: farshaxanimadayda


"Ah, weli halkan ayaad joogtaa. Waxaan la yaabay ilaa intee ayay kugu qaadanaysaa, Benicio, inaad ogaato inaad gacantayda ku ciyaarayso. Intii aad ku jeclayd miridhkaaga yar iyo shabaqyada badbaadada , waxaan ka shaqaynayay wax aad uga sii badan…..”


"Qosol badan. Taasi waa kelmad laga yaabo inaadan ku xidhin malware-ka, laakiin taasi waa sababta oo ah waxaad aad ugu duudduubtay ilaalinta nidaamyadaaga yar si aad u qadariso farshaxanka ka dambeeya weerarka. Haa, farshaxan Ma waxaad u malaynaysaa inaan ahay hacker? Maya, maya - waxaan ahay naqshadeeye, abuure. Rootkit kasta oo aan waligay bartay waxa uu ahaa buraash sawirka weyn ee aan ku sawirayo shaxan fawdada ah.


Halkan labada jilaa ee ugu muhiimsan ee Sheekadeena: Cplusser (Lizard-the-WizardI) vs Rustacean (Benicio)


Lizard-the-Wizard wuxuu sii wadaa:

"Waad ogtahay, xitaa kuwa waaweyn - Da Vinci, Van Gogh, Bach - dhammaantood waxay ka barteen sayidyadii iyaga ka horreeyay. Aniga? Waxaan haystay Difaacaha Hackers iyo Rustock . Difaacaha Hackers-ka waxa uu ahaa Houdini, waxa uu i tusinayey sida koodhka loogu shubo nidaamyada, samaynta faylalka iyo hab-socodka u baab’aan sida sixirka. Iyo Rustock? Taasi waxay ahayd daqiiqadgeyga Picasso - polymorphism-kii ugu fiicnaa, si joogto ah u beddelaya, isbeddelaya, isbeddelaya qaabka sida rinjiyeynta mar kasta oo aad eegto."


"Laakin kuwaas? Waxay ahaayeen oo kaliya tillaabooyinka wax aan ogahay in aan abuuri karo. Kadib waxaa yimid Alureon . Kaliya kuma fadhiyin nidaamka - waxaa lagu xardhay xudunta, iyada oo garaacday Diiwaanka Bootka Master-ka (MBR). Taasi waa qaybta ugu horeysa ee darawalkaaga adag, qaybta u sheegta OS-gaaga sida loo bilaabo xitaa kor u qaadista. Ma ogtahay sida uu dareemayo xakamaynta noocaan ah, Benicio? Rabbaani. Waxay la mid tahay maqalka Rachmaninoff's Concerto Labaad markii ugu horeysay. Qurux saafi ah, laakiin ku xardhan koodka."


"Iyo weli, kuma qanacsani. ZeroAccess waxay ahayd hees-muuqaalkayga. Waxay dhistay ciidan, iyada oo mashiinada u rogi doonta botnet-ka-faca ah, nidaam kasta oo cudurka qaba ayaa doorkiisa ka ciyaaraya farshaxan fawdo ah. Ma ahayn infekshan kaliya; waxay ku saabsanayd samaynta fowdo shabakad. Taasi waa meesha aad ka gaabinayso, Benicio. Waxaad ku dheggan tahay raacdada wada-noolaanshaha Rust, halka farshaxanka dhabta ahi uu ku jiro jahwareerka - fowdada ka dhalata sheeko-yaqaannimo.



Xididdada caabuqa iyo rootkits waa saaxiibada ugu fiican


"Ugu dambeyntiina LoJax iyo MoonBounce ayaa yimid. Kuwani ma ahayn kaliya rootkits - waxay ahaayeen horumarro, riixaya xuduudaha waxa malware noqon karo. LoJax, oo si qoto dheer ugu dhex milmay UEFI, nidaamyada la xakameeyey ee heer xataa Rust aad jeceshahay ma taaban karo. MoonBounce wuu sii qaatay, isaga oo quusiyay xusuusta Flash SPI, isaga oo ku dhuumanaya meel aan antivirus ama nidaam tirtiri karin waligiis gaadhi karin. Kaliya kuma qarsoona nidaamka - waxay noqotay qayb ka mid ah qalabka, joogtada iyo lama taabtaanka, sida Michelangelo fresco oo ku dhejiyay silikon.


"Taasi waa markii aan fahmay runta dhabta ah: xakameyntu kuma jirto CPU ama OS. Xakamaynta runta ahi waxay ku jirtaa qalabka. Waana meesha aan ku sameeyay farshaxannadaydii master-ka.”


Geli Lizard-Blue iyo Lizard-Cas - My Sistine Chapel ee rootkits. Ma ogtahay sida ay u dhasheen, Benicio? Waan kuu sheegi doonaa, sababtoo ah waxaad u baahan tahay inaad fahamto garaadka kaa fiicnaa."


"Lizard-Blue ayaa maskaxda laguu habeeyay. Adiga, aad ayaad ugu faanaysaa miridhkaaga iyo dammaanad qaadkiisa badbaadada. Lizard-Blue ayaa qoob-ka-cayaar ku dhex martay baloogyadaadii aan badbaadada lahayn, waxa ay ku tuurtay fawdadaada badan ee akhriska badan, waxa ay khalkhal galisay nidaamkaaga I/O - dhammaan si ay kuu mashquuliyaan. Waxay ahayd nacas saaxiibkiis: fudud oo xarrago leh. Intaad u barooranaysay inaad hoos u dhigto Lizard-Blue, farshaxan-yaqaankayga dhabta ah, Lizard-Red, ayaa mar hore xidid yeeshay.


Laakin Lizard-Red ma daneynin CPU-gaaga ama software-kaaga . Maya, waxay si toos ah ugu socotay xusuusta SPI, waxay ku dhex dhacday kontaroolayaasha DMA-gaaga, oo si aamusnaan ah dib ugu qor nidaamkaaga gudaha. Sida hees-muuqaal qarsoon, waxay ku ciyaartay wax aan la arkin, oo dib u qoraya firmware, lama joojin karo. "


"Tani waa xakameyn dhab ah, Benicio. Intaad ku mashquulsanayd dhejinta software-ka, waxaan si fiican u bartay qalabka. Ii sheeg, maxaad C++ uga tagtay miridhku? miridhku… aad buu u rajo badan yahay, aad u ammaan badan. Laakiin xusuusnow, Benicio, awoodda runta ahi kama iman badbaadada. Waxay ka timaaddaa xakamaynta. Haddana taas weligaa ma iloobi doontid.”


Madoobaadkii ugu horreeyay wuxuu ka soo faafay bannaanka xagga xarunta ka dib dib-u-dejin kasta oo xariif ah.

Marxalada ayaa la dhigay. Bandhiga u dhexeeya macalinka heerka sare ee C++ iyo ciidamada C++ gadoodsan ee u soo jeestay Rust waxay ku dhowdahay inay ka shido LuxCity - ama ka sii daran, waxay gelisaa mugdi. Saamayntu? Xakamaynta dhamaystiran - ma aha oo kaliya koodka, laakiin kaabayaasha aadka u ilaaliya magaaladan.


Magaaladu, oo tamar badan ka guuxaysa, waxay ku dhowdahay inay noqoto goob dagaal. Benicio, oo uu xoojiyay difaacyadiisa ku dhisan Rust, ayaa wajahaya caqabad uusan waligiis arkin soo socda - caqabad uu sameeyay sayidkii C++ laftiisa, Lizard-the-Wizard, ayaa go'aansaday inuu dib ugu soo celiyo Rustaceans-ka caasiga ah. Laba xoog, laba falsafadood, oo ku socda koorsada isku dhaca . Laakiin tani maaha oo kaliya ku saabsan barnaamijyada barnaamijyada - waa dagaal lagu xakameynayo nidaamyada, awoodda, iyo laga yaabee, kaliya laga yaabee, mustaqbalka barnaamijyada, habaar!


LuxCity ma ahayn magaalo magaalo kaliya - waxay calaamad u ahayd waxa berri u ekaan karo. Waddooyinkeeda ayaa waxaa lagu arkayay baabuurta iskood u shaqeysta, cirkana waxa ay la socdeen diyaarado casri ah oo haga gaadiidka dhanka sare ka imaanaya. Laakin horumarkaas oo dhan waxaa ka hooseeya halbowlaha nolosha dhabta ah ee magaalada: xariijimo wanagsan — nidaam adag oo tolsan oo wax walba si habsami leh u socda.


Qolka kantaroolka ee sare ee magaalada, Alice iyo Bob, oo ah mujaahidiin khibrad leh, ayaa ku dhaygagay qalalaasaha ka dhacayay kormeerayaashooda. Madoobaadkii ugu horreeyay wuxuu u ekaa cilad yar - wax ay xamili karaan. Laakiin way ku fiday, degmo ilaa degmo gudcur bay gashay. Korontadu si aan la xakamayn karin ayaa u liiqliiqatay, iyo dib-u-bilaabid kasta, arrimuhu waa ka sii xumaadeen. Qaylo-dhaan ayaa soo baxay, kormeerayaashuna waxay iftiimiyeen digniino qoto dheer oo dhibaato qarsoon oo aanay weli daaha ka qaadin.

Waxay u baahdeen caawimo. Waxay u baahdeen Benicio.

Benicio: U doode Daxalaystay oo Halis ku jira

Benicio: U doode Daxalaystay oo Halis ku jira


Markii Benicio yimid, kuma hubaysnayn laptop-kiisa; Maya, waxa uu sitay shay aad uga qaalisan: rumaysnaantiisa aan la dhayalsan karin ee Rust - luqadda uu si adag ugu ololaynayey shantii sano ee la soo dhaafay. Waxay ahayd Rust in isaga iyo kooxdiisa injineerada Rustacean ay horumariyeen xudunta u ah LuxCity SmartGrid. Daxalku wuxuu ahaa seeftiisa, gaashaankiisa, toyga cusub ee dhaldhalaalaya ee u ballan qaaday inuu isaga ka badbaadinayo cabsida C++ - qulqulka qulqulka, xaaladaha jinsiyadda, ka faa'iidaysiga-isticmaalka-free-ka-dib-ka-free ee abid laga baqo. Daxalku wuxuu ahaa jawaabta dhammaan, sax? Mustaqbalka, ama sidaas ayuu rumaystay. Ka dib oo dhan, shabakadda LuxCity ayaa lagu dhisay aasaaskan la moodo inaan la jabin karin.


Laakiin yaabka leh? Kalsoonida aan leexleexa lahayn waxay ku dhowdahay in la tijaabiyo, iyo laga yaabee - laga yaabee - C++ may ahayn mid duugoobay sidii Benicio u maleynayay.


Sida Benicio qoolley galay xudunta nidaamka, wuxuu isla markiiba ogaaday in ay wax khaldan yihiin. Dib-u-habayn kasta oo lagu sameeyo nidaamka xakamaynta SmartGrid, mad madowgu wuu sii faafay - oo gudaha uga soo baxayay bannaanka magaalada una sii jeeday wadnaha LuxCity. Ma ahayn rankh; waxa ay ahayd badheedh, hannaankii indhihiisa hortooda ka muuqday, weerar la isku dubariday oo xisaabsan. Qalbigiisii wuu murugooday. Tani ma ahayn cillad kaliya - waxay ahayd rootkit, nool oo soo koraysa.


Saxeexa ayaa ahaa mid aan la garan karin.


Waxay ahayd Janus, aka Lizard-the-Wizard - saaxiibkii hore ee Benicio wuxuu noqday cadow. Mar, waxay si wadajir ah u qori lahaayeen kood, iyagoo sahaminaya fursadaha aan dhammaadka lahayn ee C++. Laakin Janus wuu ku majaajilooday shabaqyada badbaadada adag ee Rust iyo waxyaalaha aan la taaban karin. Hadda, Janus waxa uu isticmaalay quwadda C++ cayriin, ee aan la dhaqmin, isaga oo u maamulaya kaabayaasha magaalada sida sayid-ku-jileec, isaga oo beegsanaya maskaxda iyo mindhicirka SmartGrid-ka ugu weyn - waxaa u codeeyay Benicio gudaha Rust.


Lizard-Cas: Weerar aan naxariis lahayn oo lagu qaaday aasaaska

Weerar aan naxariis lahayn oo uu sameeyay Janus aka Lizard-the-Wizard


Meel fog oo ka hooseysa LuxCity, oo ku jira dhalaalka darran ee kaydka server-ka ee nolosha la boodboodaya, Janus waxa uu daawaday shaqadiisa sare ee furmi doonta. Farihiisa ayaa si degdeg ah uga dul dhaqaaqay kiiboodhka, indhuhu waa fiiqan yihiin oo diiradda saarayaan marka uu la socdo qalalaasaha ka dhacaya shaashadaha biligleynaya. Laba ka mid ah hal abuurkiisii ugu wacnaa waxay ku jireen ciyaarta: Lizard-Red iyo Lizard-Blue , mid kasta oo ka soo weerarey wejiyo kala duwan haddana ka shaqeynayay is-waafajin qumman.


Lizard-Red waxay horeba u ahayd mid qoto dheer gudaha xudunta u ah xariifnimada magaalada - duuliyaha aamusan ee qumman. Tani ma ahayn qaar ka mid ah malware-ka caadiga ah oo garaacaya dhibcooyinka daciifka ah ee software-ka caadiga ah. Maya, Lizard-Red wuxuu ahaa rootkit firmware ah, oo lagu beegsanayo aasaaska ugu qoto dheer: kontaroolayaasha DMA, xusuusta Flash SPI, iyo kuwa carqaladeeya . Waxa ay dhex martay nidaamka iyada oo aan la dareemin, iyada oo hoos siibanaysa hababka badbaadada ee Rust ee sida aadka ah loo farsameeyey. Maxaad u dhibaysaa inaad weerarto CPU ama kaydiyeyaasha xusuusta? Lizard-Red ayaa gabi ahaanba hareer maray iyagii, isaga oo isku dhejiyay firmware-ka halkaas oo dammaanadda Rust aysan wax saameyn ah ku yeelan.


Janus wuxuu ogaa xadka badbaadada Rust ee loo malaynayo sida gadaasha gacantiisa - wuxuu ku qaatay sanado badan inuu kala qaybiyo. Daxalku, dhamaan dhalaalkiisa, wuxuu joogsaday gaaban markii uu yimid lakabka qalabka . Halkaas ayay Lizard-Casku ku soo barbaartay. Tani ma ahayn oo kaliya weerar kood; waxay ahayd la wareegitaanka cadawtinimo ee qalabka laftiisa.


Dhanka kale, Lizard-Blue waxay dhibaato ka geysanaysay dhinaca software-ka heerka sare ah . Si toos ah uma aysan weerarin laakiin waxay u shaqeysay sidii khiyaanada saxda ah, iyadoo ka faa'ideysaneysa rust's blocksyada aan badbaadada lahayn sida maestro oo qabanaya heeso fowdo ah. Waxay beegsatay adeegyada isku-xidhka badan, way qalloocisay hawlgalladii I/O, waxayna samaysay burbur iyadoo ku khasabtay xaaladaha jinsiyadda ee Rust uu si taxadir leh u debcay sababo waxqabad dartood. Aagaggaas aan badbaadada lahayn waxay la mid ahaayeen albaabada bannaanka ka baxay ee Benicio ee difaacyada sida aadka ah loo dhisay, Janus - isagoo ahaa sayidkii hore ee C++ - wuu garanayay sida saxda ah ee loo furo. Qaabka badbaadada ee Rust, shayga kalsoonida siiyay Benicio, ayaa noqday hoos u dhaciisa sida Lizard-Blue uu dammaanadahaas u rogay daciifnimo.


Janus, oo ka soo baxay godkiisii qarsoonaa, wuu qoslay. Iimaanka Benicio ee Rust wuxuu ku dhowaa inuu burburo. Tani ma ahayn oo kaliya weerar tignoolajiyadeed; waxay ahayd cashar ku saabsan farshaxanka xakamaynta.


Benicio dib buu u garaacay: Soo bandhigida ciladaha miridhku

Benicio dib ayuu u garaacay


Qolka kantaroolka, Benicio wuxuu u dagaalamay si geesinimo leh, farahiisuna waxay u socdaan si ka dhaqso badan fikirradiisa. Fure kastaa waxa uu dareemay garaaca wadnaha oo kale - joogto laakiin quus ah - maadaama uu la legdamayay shabaqyada badbaadada adag ee Rust ee ka dhanka ah fowdada aan joogsiga lahayn ee uu toddobo koodhka Lizard-the-Wizard. Benicio waxa ay si fiican u baratay qaabka badbaadada ee Rust, isaga oo ku kalsoon ilaalintiisa, laakiin Lizard-Blue ayaa si sax ah u dhex maray CPU-ga. Xaaladaha jinsiyadda iyo guul darrooyinka I/O ayaa ka qarxay shaashadaha. Mar kasta oo Benicio u maleeyo inuu leeyahay gacanta sare, weerarku wuu qaabeeyey - qaab beddelidda, silcinaya difaacyadii hore sida hadh ku siibanaysa albaabka hoostiisa.


miridhku wuu sii wadi kari waayay. Waxa Benicio mar uu jeclaa Rust - shabakadeeda badbaadada adag - ayaa hadda ceejisay awoodiisa inuu dib u soo ceshado xukunka. Ilaali kasta waxa uu noqday qafis, xaddidaya dhaq-dhaqaaqiisa, isaga oo ku dabinaaya wareegyo aan dhammaad lahayn oo difaac difaac ah oo ku dhacay dareeraha, weerar aan joogsi lahayn.


Laakiin Benicio, oo ku xeel dheer fanka dagaalka, ayaa ogaa in tani ay tahay uun leexin.


Khatarta dhabta ahi ma ahayn qoob ka ciyaarka Lizard-Blue ee kormeerayaasha. Meel aad uga hooseysa dusha sare, oo qoto dheer xididada xariiqda smart ee LuxCity, Lizard-Red ayaa mar hore la wareegtay xakamaynta. Kamay ciyaarin lakabyada sare ee difaaca Rust. Waxa ay si qoto dheer u qodday, iyada oo adeegsanaysa qalabyada firmware-ka si ay u dhex gasho nidaamyada muhiimka ah sida SCADA iyo hababka HVAC ee gacanta ku haya kaabayaasha magaalada ilaa gunteeda. Kuwani waxay ahaayeen nidaamyada ay qalabku ku kulmeen software - halkaasoo inta badan qalabka dayactirka iyo kantaroolka ugu dambeeya ay ku shaqeeyaan firmware-ka caadiga ah, intiisa badan ayaa weli ku shaqeeya dhaxalka C iyo Golaha.


Koontaroolayaasha DMA iyo xusuusta Flash SPI waa la dhimay. Lizard-Red ayaa gabi ahaanba dhaaftay CPU-ga , iyada oo isku dhejisay qalabka ka hooseeya OS-ka. Waxay beegsanaysay halbowlaha nolosha kaabayaasha - nidaamyada SCADA ee xakameynaya hawlgallada muhiimka ah iyo nidaamyada HVAC ee hubinta in qalabka magaalada uu u shaqeeyo si aan kala go 'lahayn. implants Kuwani ma ahayn oo kaliya code fudud - waxay ahaayeen joogto ah, qalliin lagu beeray firmware ah, dib u qoraan xeerarka nidaamka gudaha.


Qaabka xusuusta ee Rust - loo dhisay si loo ilaaliyo software - halkan waxba kama jeedin. Kani waxa uu ahaa dagaal heerka firmware-ka ah, mid ka mid ah halka ilaalinta Rust ay la mid tahay darbi qalcaddii si fiican loo dhisay, laakiin weeraryahanadu waxa ay horeba ugu sugnaayeen albaabbada, iyaga oo si toos ah u maamulayay qalabka.

Janus wuxuu sameeyay wax yar oo kale: wuxuu ka faa'iideystey dhibcooyinka daciifka ah ee qalabka - meelaha Rust-ka ah ee aan waligood loogu talagalay in lagu ilaaliyo. Meelaha kaliya ee birta qaawan, C++, iyo Golaha ay xukumaan ugu sarreeya. Benicio wuu ka fiicnaa, oo si qoto dheer, wuu ogaa.


Dareenka Melodramatic: Dhibaatada rumaysadka ee Benicio

WTF?


Benicio ayaa feedh kaga dhuftay console-ka. Daxalku waxa uu ahaa afkiisa quduuska ah, luuqad uu ku kalsoon yahay in uu ka ilaaliyo qaska hadda khatarta ku ah LuxCity. Waxa uu rumaysnaa ballan-qaadkeedii ahaa in la tirtirayo dhammaan qaybaha nuglaanta. Laakiin hadda, iyada oo magaaladu ay qarka u saaran tahay burburka, garasho qabow ayaa ku dhacday: miridhku kuma filna.


Waxa uu eegay muraayadii dhalaalaysay, indhihiisu waxa ay ku sii jeedaan gal duug ah oo ku dheggan miiskiisa oo ay ku suntan yihiin "Alaabtii C++ hore." Shan sano - shan sano ayaa laga joogaa markii ugu dambeysay ee uu wax ka taabto galkaas. Wuxuu ku dhaartay inuusan dib u laaban doonin. Uma baahnayn. Daxalku waxa uu ahaa mustaqbalka, ka baxsashadiisa khataraha iyo isbeddelka C++. Laakiin hadda, markii ay nalkii magaaladu mid mid u biligmeen, wuxuu ogaa in adkaanta miridhku - badbaadada mar hore gaashaanka u ahayd - ay noqotay qafis. Waxay ahayd mid aad u jilicsan in laga jawaabo hanjabaad noocan oo kale ah.


Weeraradii lagu qaaday LuxCity waxay ahaayeen kuwo aan joogsi lahayn, mana ay ahayn kuwa dhijitaal ah - waxay garaacayeen qalabka aadka u gaarka ah, qoto dheer ee heerka firmware-ka halkaasoo Rust aanu ku tuman karin. Runta wuu ogaa hadda: dagaalkani ma ahayn kaliya Rust vs C++. Tani waxay ku saabsan tahay awoodda. Iyo C++? C++ waxa uu lahaa awooda cayriin, ee aan la koobi karin si uu u gaadho meesha Rust aanu kari karin, oo qoto dheer oo ku jirta firmware-ka halka Lizard-Red ay isku dhejisay.


Gacantiisu waxay dul haadisay jiirka, isagoo gariiraya. Furitaanka galkaas waxa uu dareemayay in la gaadho hub qadiimi ah, oo khatar ah - kaas oo awood u leh in uu waxyeello u geysto inta uu la egyahay. Hal tallaabo oo khaldan, LuxCity-na way tagi doontaa weligeed. Laakin la'aanteed, la'aanteed fowdadii iyo xoogagii C++, ma jirin dariiqo lagula dagaalami karo.


Isaga oo wadne culus leh, Benicio ayaa gujiyay galka. Aragtida loo yaqaanay ee qalabkiisii hore ayaa soo dhaweeyay, isla markaas, wuu ogaa - dagaalkan laguma guulaysan karo ammaan iyo taxaddar. Waxay qaadan lahayd halis.


Khadka Nolosha Lama Filaan ee Janus: Qallooca Dagaalka

Markii ay magaaladu sii gashay fowdo iyo SmartGrid ay qarka u saaran tahay burburka, ogeysiis ayaa ku biligmay shaashaddii Benicio. Waxay ka timid Janus . Wadnaha Benicio ayaa garaacday - waa maxay hadda? Laakiin halkii ay ka ahaan lahayd qalalaase badan, farriintu waxay haysay tiir nololeed. Janus ma uusan joogin si uu u baabi'iyo gebi ahaanba LuxCity - weli ma dhicin. Wax aanu filayn ayuu la soo baxay: liis. Faahfaahin faahfaahsan oo ku saabsan adeeg kasta oo la kharribmay, hannaan kasta oo la jabsaday, iyo - ugu muhiimsan - koodhadhka si loo raad raaco.


Benicio wuu ka warwareegay, isaga oo aan hubin in uu ku kalsoonaan karo saaxiibkiis hore uu u noqday cadow. Laakin ma jirin waqti shaki la gelin lahaa. Iyadoo mustaqbalka LuxCity uu ka laadlaadsan yahay dheelitirka, ma uusan haysan wax doorasho ah oo aan ahayn inuu aqbalo kaalmada. Gacantiisa ayaa cabaar dul heehaabaysay jiirka ka hor inta aanu gujin fur faylka ay ku jiraan qalabkiisii hore ee C++.

Furashada Benicio: Awoodda C++

Chaps hore mar kale?


Gacmo gariiraya, Benicio wuxuu bilaabay inuu wax qoro. Ereyga hore loo yaqaan ee C++ ayaa ku dhex qulqulay isaga sida dabeecadda labaad, sannado xusuusta muruqa ah ayaa soo galaysa. Waxa uu bilaabay farsamaynta tallaabooyin liddi ku ah, isaga oo ku dhex-xidhay kaabayaasha Rust, isaga oo isku xidhaya firmware-ka si uu u daboolo fowdadii Janus uu furay. Qaab dhismeedka adag ee Rust ayaa isaga uga tagay awood la'aan ka dhanka ah weerarka heerka firmware, laakiin C++ waxay ahayd seeftiisa iyo gaashaankiisa hadda. Waxa uu hareer maray shabaqyada badbaadada ee Rust, isaga oo si toos ah ugu dhex quusaya qalabka nugul, isku dhejinta codsiyada DMA iyo musuqmaasuqa xusuusta SPI mid mid.


Hawada qolka laga hago ayaa kacsanayd. Alice iyo Bob way daawadeen, indhahoodu waxa ay ka dhex guuxayeen nalka sii dhacaya ee shabkada iyo xadhkaha koodka ee daadanaya shaashada Benicio. Waqtigu wuu is guraa.


Fure kasta, Benicio waxa uu isticmaalay awoodda C++ ee casriga ah, oo uu hagayo Janus, milkiilaha labada midab ee qorraxdu, uu bixiyay - codes iyo khariidad waddo oo ah adeegyada la dhimay. Tani ma ahayn khatartii C++ ee hore. Casriga ah ee C++ waxa uu dafiray qaar badan oo ka mid ah khatarahaas: Tilmaamayaal xariif ah, dhadhan ka badan waligii, iyo moodooyinka lahaanshaha ee ka dhawaajiyay sifooyinka badbaadada Rust laakiin leh dabacsanaan badan, awood ceeriin ah. Waa la safeeyey, la kobciyay. Laakiin sidaas oo ay tahay, xariiq kastaa waxa uu qaaday miisaan. Hal tallaabo oo khaldan ayaa weli keeni karta musiibo. Hase yeeshee, sida uu u shaqeeyay, Benicio wuxuu dareemi karaa qaybo ka mid ah shabakada oo soo kabanaya, nidaamka ka jawaabaya saxnaanta C ++ casriga ah.


Janus wuu shiday fiyuuska, laakiin hadda wuxuu u dhiibay Benicio furayaasha defusal . Haddi ay tahay fal madax furasho ah ama dhaqdhaqaaq ego-ku-jiid ah si uu u caddeeyo awoodiisa ciyaarta dhamaadka ciyaarta, dhib ma lahayn, Benicio ayaa u maleeyay. Hadda waxa uu codaynayey noloshii magaalada, iyada oo rooxaanta C++ ay ku dul wareegayso go’aan kasta.


Wicitaan kasta oo hawlqabad ah, qayb kasta oo ka mid ah isu imaatinka, waxay ahayd qoob-ka-cayaar qallafsan oo ku yaal cidhifka masiibada. Laakiin koodka aan badbaadada lahayn ayaa lagu duuduubay C ++ casriga ah, iyadoo la adeegsanayo dhismayaal xusuusin kara monads - wax Janus uu ku qanciyay Benicio inuu qaato, iyada oo la siinayo Benicio oo aan aqoon u lahayn Haskell . Markii ay daqiiqadihii is gurayeen, qaskii kormeerayaasha ayaa bilaabay inuu yaraado.


Maskaxda Benicio waa ay ruxmi wayday mantra-ka waswaaska ah: miridhku waxa uu ahaa shabaggiisa badbaadada. Hase yeeshee, xilligan, kaliya C++ ayaa lahaa dabacsanaan iyo awood cayriin si ay LuxCity dib uga soo celiso qarka. Sida uu si cadho leh u codeeyay, isku-dubbarid kasta oo adeeg Janus ah ayaa kharribmay, hal shay ayaa caddaaday - ma jirin luqad qumman, kaliya qalabka saxda ah ee dagaalka saxda ah.


Waqtigaas, Benicio kaliya ma ahayn codaynta si loo badbaadiyo LuxCity; wuxuu ku socday jidka wanaagsan ee u dhexeeya abuurista iyo halaagga, isagoo ku hagaya afkii uu ku dhaartay inuusan mar dambe taaban.


Casharka u dambeeya: Badbaadada miridhku vs. Saraynta Xakamaynta C++

Sida Benicio ula legdamayay nidaamyada jilicsan ee LuxCity, culeyska waqtiga ayaa ku soo noqnoqday isaga: Rust, luqadda uu u ololeeyay, ayaa ku burburtay cadaadiska adduunka dhabta ah. Dammaanad qaadkeeda - darbiyada raaxada leh ee uu ku tiirsanaa - waxay noqdeen qafiskiisa. Janus, Lizard-the-Wizard, ayaa ka faa'iidaystay xudduud kasta oo adag oo Rust dhigay - goob kasta oo aan ammaan ahayn waxay noqotay albaab laga galo fowdo, nooc kasta oo xusuusta ammaan ah oo caqabad ku ah Benicio ma dhaafi karo wakhtiga. Daxalku, iyada oo isku dayaysa in ay wax walba ilaaliso, waxa ay ka tagtay kaabayaasha magaalada oo ay soo bandhigeen weeraro ka baxsan software-ka, iyaga oo si qoto dheer u gaadhay qalabka laftiisa.


Kadibna runtu waxay ku dhufatay Benicio sida feerka mindhicirka: Rust ma dhicin sababtoo ah waa daciif. Way fashilantay sababtoo ah aad bay u xoog badnayd, aad bay u adkeyd, awoodi wayday inay la qabsato xooggii aan la saadaalin karin ee Janus soo saaray. Laakiin C++, luqaddii uu ku dhaartay inuu ka tago - oo leh dhammaan awooddeeda khatarta ah iyo dabacsanaanta fowdada - waxay ahayd hal hub oo awood u leh soo celinta dheelitirka. C++ ma ahayn kaliya qalab; waxay ahayd xorriyad, martiqaad lagu quusto waxaan la garanayn, si loo xakameeyo aan la xakamayn karin.


Iyada oo la adeegsanayo sameecadaha, ayuu codka Janus jabiyay aamusnaanta. Laakiin markan, may ahayn jeesjees iyo colaad.


"Hadda ma aragtaa, saw maaha?" ayuu weydiiyey, isagoo si deggan u saxan maestro oo soo agaasimay waxqabadka oo dhan. " Tani weligeed kuma saabsanayn luqadaha, Benicio. Waxay ku saabsan tahay maaraynta nidaamka - lakab kasta, dillaac kasta - laga bilaabo software-ka ilaa qalabka, laga bilaabo macquulka ilaa xisaabta xudunta barnaamijkayaga.


Janus kaliya ma uusan weerarin LuxCity. Waxa uu ku riixay Benicio qarka si uu u baro cashar kaliya hacker hackers ayaa bixin kara: Awoodda runta ahi kuma jirto doorashada luqadda 'ugu ammaansan', laakiin in la barto qaab-dhismeedka hoostiisa, qawaaniinta qawaaniinta marka loo baahdo in la qabsado iyo badbaado.


"Weligay ma rabin inaan burburiyo LuxCity," Janus wuu sii waday, codkiisu wuxuu ku dhowaa inuu niyad jabo. " Waxaan rabay inaan ku tuso in ku tiirsanaanta shabaqyada badbaadada sida Rust ay kaliya kaa dhigayso mid la saadaalin karo. Adigu waad aragtay - miridhku waxa uu ku xidhan yahay xeerarkiisa. C++... C++ wuxuu kuu ogolaanayaa inaad abuurto sharciyada. Caqabadaha kaliya ee aan ixtiraamo waa kuwa lagu dejiyay nimcada iyo xarrago leh aljabrada aan la taaban karin, aragtida qaybta, iyo muraayadaha aragtida garaafyada .


Iyadoo magaaladu ay qarka u saaran tahay burburka, Benicio hadda wuu fahmay. Janus waxa uu weerarka u sameeyay ma aha xumaan, laakiin imtixaan ahaan - cashar ku saabsan xakamaynta, maaraynta, iyo la qabsiga. yaabka leh? Si uu uga adkaado Janus, Benicio waa in uu qaato luqaddii uu dhabarka u jeediyay.


" Waa kan liiska ugu dambeeya ee adeegyada la dhimay ," Janus ayaa yiri, isaga oo u dhiibaya Benicio qeybtii ugu dambeysay, ee go'aaminta xujooyinka. Waxa la gaadhay wakhtigii tan la dhamayn lahaa, laakiin hadda way wada shaqaynayeen - sayid iyo arday, sidii wakhtiyadii hore.


Sida Benicio qoolleyda dib ugu soo laabtay koodhka, dareenkiisii hore ee C++ ayaa dib u kacay. Iyada oo la raacayo tilmaanta Janus, waxa uu mid mid u beegsaday koodhadhka malware-ka ee joogtada ah ee ugu dambeeya, isaga oo ku dhejinaya isu imaatinka meeshii loo baahnaa, ka gudubka xaddidaadda Rust, iyo baabiinta dhaawaca heerka firmware. Mar walba ma ahayn xarrago, mar walbana ma ahayn ammaan, laakiin way shaqaynaysay.


Hawada qolka kantaroolka ayaa dhaqaaqday. Alice iyo Bob, in kastoo ay kacsan yihiin, waxay daawadeen sida nidaamku si tartiib tartiib ah u bilaabay inuu xasiliyo. Korontadu waxay dib ugu soo laabatay duleedka magaalada. SmartGrid, wadnaha garaaca ee LuxCity, ayaa ugu dambeyntii dib u dagaallamayay.


Benicio waxa ay baratay si adag oo ah in luuqadna, si kasta oo 'amaanka ah', ay dammaanad qaadi karto xakamaynta marka ay jirto caqabad dhab ah. Dhammaadkii, may ahayn doorashada Rust ama C++; Waxay ku saabsan tahay in la barto labadaba, fahamka in dagaalka dhabta ahi uusan ku jirin khadadka code, laakiin maskaxda iyo sayniska ee barnaamijka isticmaala .



Ma doonaysaa inaad hesho maqaallo iyo warar badan oo la xidhiidha mawduucan?


Waxaad raaci kartaa shaqadayda oo aad iska qori kartaa warsidahayga si aad u hesho warar cusub, aragtiyo, iyo xog gaar ah:


Ku xidhnow si aad u hesho aragtiyo teknooloji iyo warar badan!