Mar a chaidh cùl-taic geama hacker mu bhith a’ sgrios frithealaiche a chruthachadh

Mar a chaidh cùl-taic geama hacker mu bhith a’ sgrios frithealaiche a chruthachadh
Tha sinn fhathast ag innse dhut mar a chaidh ar ceist laser le sgrios an fhrithealaiche a chuir air dòigh. Tòisich san àm a dh'fhalbh artaigil mu bhith a 'fuasgladh na ceiste.

Gu h-iomlan, bha 6 aonadan ailtireachd aig deireadh a’ gheama, a nì sinn sgrùdadh san artaigil seo:

  1. Cùl-fhiosrachadh de bhuidhnean geama a bha an urra ri uidheamachdan geama
  2. Bus iomlaid dàta cùl-fhiosrachaidh agus làraich air VPS
  3. Eadar-theangaiche bho iarrtasan backend (eileamaidean geama) gu Arduino agus bathar-cruaidh air an làrach
  4. Fhuair Arduino, a bha an urra ri smachd a chumail air na h-ath-chraolaidhean, òrdughan bhon eadar-theangair agus rinn e an obair fhèin
  5. Innealan fìor: fan, garlands, lampaichean làr, msaa.
  6. Frontend - làrach-lìn Falcon fhèin, às an robh cluicheadairean a’ cumail smachd air innealan

Rachamaid tro gach aon dhiubh.

Cùl-fhiosrachadh air buidhnean geama

Chaidh an backend a chuir an gnìomh mar thagradh bròg earraich: bha grunn riaghladairean fois aige, puing crìochnachaidh websocket agus seirbheisean le loidsig geama.

Cha robh ann ach trì riaghladairean:

  • Megatron. Chaidh an duilleag gnàthach Megatron a chuir tro iarrtasan GET: ro agus às deidh tionndadh air a’ chumhachd. Loisg an leusair tron ​​​​iarrtas POST.
  • A’ mapadh dhuilleagan tilde gus am bi iad air am frithealadh le ainm na duilleige. Bidh Tilde a’ dèanamh dhuilleagan airson às-mhalairt chan ann le ainmean tùsail, ach le ID a-staigh agus fiosrachadh gèillidh.
  • Rianadair captcha gus captcha frithealaiche pseudo-high-load a fhrithealadh.

Bhathas a’ cleachdadh puing-crìochnachaidh Websocket airson smachd a chumail air innealan: lampaichean, garland agus litrichean. Chaidh a thaghadh gus inbhe làithreach an inneil a thaisbeanadh don h-uile cluicheadair: ge bith a bheil e air no dheth, gnìomhach no nach eil, dè an dath den litir a tha air a lasadh air a’ bhalla an-dràsta. Gus an obair a dhèanamh gus an leusair a thionndadh beagan nas duilghe, chuir sinn cead ris an garland agus an leusair leis an aon logadh a-steach agus facal-faire admin / admin.

Dh’ fhaodadh cluicheadairean deuchainn a dhèanamh air le bhith a’ tionndadh air an garland agus ag ath-aithris an aon rud leis an leusair.

Thagh sinn paidhir facal-faire logadh a-steach cho beag gus nach cuir sinn dragh air cluicheadairean le taghadh neo-riatanach.

Gus an obair a dhèanamh beagan nas inntinniche, chaidh IDan nì bho mongodb a chleachdadh mar aithnichearan inneal san t-seòmar.

Tha clàr-ama ann an ObjectId: dà luach air thuaiream, aon dhiubh air a thogail stèidhichte air aithnichear an uidheim, agus an dàrna fear stèidhichte air pid a’ phròiseis a tha ga ghineadh agus a’ chunntair luach. Bha mi airson na aithnichearan a ghineadh aig amannan cunbhalach agus le diofar phròiseasan pid, ach le cuntair cumanta, gus am biodh taghadh aithnichear inneal laser nas inntinniche. Ach, aig a 'cheann thall, thòisich a h-uile duine le aithnichearan a bha eadar-dhealaichte a-mhàin anns a' chunntair luach. Is dòcha gu bheil seo air a’ cheum a dhèanamh ro shìmplidh agus gun a bhith feumach air mion-sgrùdadh air structar objectId.

Eadar-theangair bho backend iarrtasan

Sgriobt python, a bha ag obair air timers agus air an eadar-theangachadh bho gheàrr-chunntasan gèam gu modail fiosaigeach. Mar eisimpleir, “cuir air lampa an ùrlair” → “Cuir air sealaidheachd N2.”

Cheangail an sgriobt ri ciudha RabbitMQ agus ghluais e iarrtasan bhon ciudha gu Arduino. Chuir e an gnìomh cuideachd loidsig atharrachadh solais co-shìnte: còmhla ri cuid de dh’ innealan, chaidh an solas orra a thionndadh air, mar eisimpleir, nuair a chaidh cumhachd a thoirt do Megatron an toiseach, chaidh a shoilleireachadh le solas àrd-ùrlar. Tha dealbhadh solais airson cinematography an t-seallaidh gu lèir na sgeulachd air leth mu obair mhòr ar co-riochdaire pròiseict agus dealbhaiche riochdachaidh Ilya Serov, agus innsidh sinn mu dheidhinn ann am post air leth.

Bha an t-eadar-theangair cuideachd an urra ri loidsig an inneal-brisidh a chuir air bhog a ’cleachdadh timer agus an ìomhaigh a chuir chun Tbh: an timer airson an inneal-brisidh a chuir air bhog, capybara sgreuchail, sanas aig deireadh a’ gheama.

Mar a chaidh an loidsig airson an tòcan Megatron a chruthachadh

Sealladh deuchainn

A h-uile 25 diog chaidh comharra ùr a chruthachadh agus ghabhadh a chleachdadh gus an leusair a thionndadh air airson 10 diogan aig cumhachd 10/255. Ceangal gu github le còd Megatron.

An uairsin dh’ fhuaraich an leusair sìos airson 1 mhionaid - rè na h-ùine seo cha robh e ri fhaighinn agus cha do ghabh e ri iarrtasan peilearan ùra.

Cha robh an cumhachd seo gu leòr airson losgadh tron ​​​​ròp, ach dh'fhaodadh cluicheadair sam bith Megatron a losgadh agus an giùlan laser fhaicinn ag obair.

Chaidh an algairim hashing MD5 a chleachdadh gus an comharra a ghineadh. Agus dh’obraich an sgeama a-mach MD5 bho MD5 + counter + dìomhair airson tòcan sabaid agus às aonais dìomhaireachd airson comharra deuchainn.

Tha MD5 a’ toirt iomradh air pròiseact malairteach a rinn Pavel, an cùl-taic againn. Dìreach dà bhliadhna air ais chleachd am pròiseact seo MD5, agus nuair a dh'innis e do ailtire a 'phròiseict gur e seann algairim crioptachaidh a bh' ann, thòisich iad a 'cleachdadh MD5 bho MD5. Leis gun do chuir sinn romhainn am pròiseact as fheàrr a dhèanamh comasach, chuimhnich e air a h-uile càil agus chuir e roimhe iomradh beag a dhèanamh.

Losgadh sabaid

Is e modh sabaid Megatron cumhachd laser 100% aig 3 watt. Tha seo gu leòr airson 2 mhionaid airson losgadh tron ​​​​ròp a bha a ’cumail cuideam, gus an aquarium a bhriseadh agus an frithealaiche a thuiltean le uisge.

Dh’ fhàg sinn beagan sanasan air Github a’ phròiseict: is e sin, an còd gineadh tòcan, às an tuig duine gu bheil na comharran deuchainn agus sabaid air an gineadh stèidhichte air an aon chunntair. A thaobh tòcan sabaid, a bharrachd air a’ chunntair, thathas cuideachd a’ cleachdadh salann, a tha cha mhòr gu tur air fhàgail ann an eachdraidh a bhith ag atharrachadh an gist seo, ach a-mhàin an dà charactar mu dheireadh.

Le eòlas air an dàta seo, bha e comasach na 2 shamhla mu dheireadh den t-salann a sheòrsachadh agus faighinn a-mach gun deach na h-àireamhan bho Lost, a chaidh atharrachadh gu siostam hexadecimal, a chleachdadh air a shon.

An uairsin bha aig na cluicheadairean ris a’ chunntair a ghlacadh (le bhith a’ dèanamh anailis air an tòcan deuchainn) agus comharra sabaid a ghineadh a’ cleachdadh an ath chunntair agus an salann a chaidh a thaghadh aig a’ cheum roimhe.

Bha an cuntair dìreach ag àrdachadh le gach peilear deuchainn agus a h-uile 25 diog. Cha do sgrìobh sinn mu dheidhinn seo an àite sam bith, bha còir aige a bhith na iongnadh geam beag.

Seirbheis eadar-obrachaidh Captcha

Anns an t-saoghal cluichidh, b 'e seo an aon captcha a dh'fheumadh a bhith air a luchdachadh gus an neach-leantainn a thionndadh agus a' chairt-flip fhosgladh le sanas. Ri taobh a’ chamara bha laptop le sgrùdadh luchdan.

Mar a chaidh cùl-taic geama hacker mu bhith a’ sgrios frithealaiche a chruthachadh

seirbheis Dh'obraich mi a-mach dè a bu chòir a thaisbeanadh ann an sgrùdadh mar an luchd làithreach: teòthachd agus CPU Fan. Chaidh metrics a ghluasad chun stòr-dàta clàr-ama agus a tharraing le grafana.

Nam biodh anns na 5 diogan mu dheireadh barrachd air 50 iarrtas airson an captcha a thaisbeanadh, chaidh an luchd àrdachadh le àireamh stèidhichte + air thuaiream de cheumannan. B 'e an àireamhachadh gun gabhadh 100% luchd a choileanadh ann an dà mhionaid.

Gu dearbh, bha barrachd loidsig anns an t-seirbheis na bha air a thaisbeanadh sa gheama mu dheireadh: chuir sinn an monitor ann an dòigh nach robh ach cuairteachadh an CPU Fan ri fhaicinn.

Aig toiseach na ceiste bha iad airson Grafan fhàgail ruigsinneach bho làrach-lìn Falcon. Ach bha metrics springboot ann cuideachd bhon aithisg tagraidh backend, nach robh ùine againn a ghlanadh, agus mar sin chuir sinn romhainn casg a chuir air ruigsinneachd air. Agus gu ceart mar sin - eadhon aig toiseach a ’cheist, bha cuid de chluicheadairean a’ tomhas gun deach an tagradh a sgrìobhadh ann am frèam springboot agus eadhon air ainmean cuid de sheirbheisean a chladhach.

Aoigheachd agus bus dàta

Inneal airson fiosrachadh a ghluasad bhon deireadh-sheachdain chun na làraich, am frithealaiche VPS air an robh RabbitMQ a’ ruith.

Chaidh an backend agus am bus dàta a chumail air ar VPS. Bha a chumhachd an coimeas ris a 'choimpiutair a chunnaic thu air an sgrion: VPS 2-core le dà gigabytes de RAM. Chaidh cosgais a chuir air a’ phrìs airson goireasan, leis gun deach an luchd as àirde a dhealbhadh airson dìreach beagan làithean - is e seo a bhios ar luchd-dèiligidh a’ dèanamh a tha an dùil VPS a luchdachadh airson ùine ghoirid. An uairsin thionndaidh e a-mach gu robh an luchd nas àirde na bha sinn an dùil, agus bhiodh cosgais stèidhichte nas prothaidiche. Ma nì thu ceist, tagh na targaidean loidhne turbo.

Gus am frithealaiche a dhìon bho DDoSa, chleachd sinn Cloudflare.

Is fhiach a ràdh gun do sheas an VPS an-aghaidh a h-uile càil le urram.

Fhuair Arduino, a bha an urra ri smachd a chumail air na h-ath-chraolaidhean, òrdughan bhon eadar-theangair agus rinn e an obair fhèin

Is e seo barrachd cuspair an ath artaigil mun phàirt bathar-cruaidh den phròiseact: chuir an deireadh-sheachdain dìreach iarrtasan airson sealaidheachd sònraichte a chuir air. Tha e mar sin a thachair gu robh an deireadh-sheachdain eòlach air cha mhòr a h-uile buidheann agus bha coltas ann gun robh na h-iarrtasan aige mar “tionndadh air an eintiteas seo." Rinn sinn seo airson deuchainn tràth air an làrach (cha robh sinn fhathast air na Arduino agus na h-ath-chraolaidhean gu lèir a chruinneachadh), aig a’ cheann thall dh’ fhàg sinn a h-uile càil mar sin.

Ceann aghaidh

Chruthaich sinn an làrach gu sgiobalta air tilde, thug e aon latha obrach agus shàbhail sinn 30 mìle air a’ bhuidseit againn.

An toiseach, smaoinich sinn air dìreach às-mhalairt a dhèanamh air an làrach agus cuir ris an loidsig a bha sinn a dhìth, ach ruith sinn a-steach a thaobh cleachdadh a chuir casg oirnn seo a dhèanamh.

Cha robh sinn deiseil airson an cead a bhriseadh, agus mar sin bha dà roghainn ann: a h-uile càil a chuir an gnìomh sinn fhìn no fios a chuir gu Tilda gu dìreach, bruidhinn mun phròiseact agus cead iarraidh an còd atharrachadh.

Thagh sinn an dàrna roghainn agus chan e a-mhàin gun do choinnich iad rinn letheach slighe, ach thug iad eadhon bliadhna de chunntas gnìomhachais an-asgaidh dhuinn, agus tha sinn air leth taingeil dhaibh. Bha e gu math neònach dealbhadh làrach-lìn Sokol a shealltainn dhaibh.

Mar thoradh air an sin, cheangail sinn loidsig js ris an aghaidh airson iarrtasan a chuir gu innealan bunaiteach, agus dh’ atharraich sinn beagan stoidhlichean nam putanan airson eileamaidean geama a thionndadh air agus dheth.

Dealbhadh làraich

Eachdraidh nan rannsachaidhean, is fhiach caibideil air leth.

Bha sinn airson chan e a-mhàin làrach seann-fhasanta a chruthachadh, ach làrach gu tur tàmailteach a bhriseas a h-uile riaghailt dealbhaidh bunaiteach. Aig an aon àm, bha e cudromach creideas a chumail suas: dh'fheumadh e gun a bhith a 'briseadh sgeulachd ENT, a' sealltainn cho cugallach 'sa bha an t-ùghdar, agus dh'fheumadh cluicheadairean a bhith a' creidsinn gum faodadh làrach mar sin a bhith ann agus eadhon luchd-dèiligidh a thoirt a-steach. Agus thug e leis! Fhad ‘s a bha an geama a’ dol air adhart, chaidh fios a chuir thugainn dà uair gus làraich-lìn a chruthachadh.

An toiseach rinn mi an dealbhadh mi-fhìn, a’ feuchainn ri barrachd gifs agus eileamaidean gleansach a thoirt a-steach. Ach bha an duine dealbhaidh agam airson 10 bliadhna a’ coimhead thairis air a ghualainn agus chuir e às dha mar “ro mhath”. Gus riaghailtean dealbhaidh a bhriseadh, feumaidh fios a bhith agad orra.

Mar a chaidh cùl-taic geama hacker mu bhith a’ sgrios frithealaiche a chruthachadh

Tha grunn choimeasgaidhean dath ann a tha ag adhbhrachadh faireachdainn maireannach de mhì-mhisneachd: uaine is dearg den aon bheairteas, liath is pinc, gorm agus donn. Aig a 'cheann thall, shocraich sinn air measgachadh de dhearg is uaine mar na dathan bunaiteach, chuir sinn gifs le cat agus thagh sinn dealbhan 3-4 de Sokolov fhèin bho dhealbh stoc. Cha robh agam ach beagan riatanasan: fear meadhan-aois, le deise neo-fhreagarrach air meud càraid ro mhòr agus ann an suidheachadh “togail dhealbhan stiùidio proifeasanta”. Airson an deuchainn, sheall iad dha caraidean e agus dh’fhaighnich iad “ciamar as toil leat e?”

Rè a 'phròiseas leasachaidh dealbhaidh, bha aig an duine agam ri dhol a laighe gach leth uair a thìde; thòisich an heileacoptair air itealaich. Dh’ fheuch Pasha ri consol an leasaiche fhosgladh don mhòr-chuid den sgrion fhad ‘s a chuir e crìoch air crìoch a chuir air an aghaidh - gus a shùilean a dhìon.

Innealan fìor

Chaidh an luchd-leantainn agus na solais a chuir suas tro shealaidhean stàite cruaidh gus nach tionndaidh iad air adhart aig làn chumhachd sa bhad - gus am biodh an cumhachd ag àrdachadh aig an aon àm ri sgrùdadh.

Ach bruidhnidh sinn mu dheidhinn seo san ath phost, mu phàirt bathar-cruaidh a’ gheama agus fìor thogail na làraich.

Cum sùil air!

Artaigilean eile mun cheist gus am frithealaiche a sgrios

Mar a chaidh cùl-taic geama hacker mu bhith a’ sgrios frithealaiche a chruthachadh

Source: www.habr.com

Cuir beachd ann