Sodobna formula za izračun pi. Število pi - pomen, zgodovina, kdo ga je izumil

03 jul

Kako obnoviti dostop do operacijskega sistema po napadu virusa Petya: priporočila kibernetske policije Ukrajine

Oddelek kibernetske policije ukrajinske nacionalne policije je objavil priporočila za uporabnike, kako obnoviti dostop do računalnikov, ki so bili izpostavljeni kibernetskemu napadu šifrirnega virusa Petya.A.

V procesu preučevanja izsiljevalskega virusa Petya.A so raziskovalci identificirali več možnosti za vpliv zlonamerne programske opreme (pri zagonu virusa s skrbniškimi pravicami):

Sistem je popolnoma ogrožen. Za obnovitev podatkov je potreben zasebni ključ in na zaslonu se prikaže okno, v katerem morate plačati odkupnino za pridobitev ključa za dešifriranje podatkov.

Računalniki so okuženi in delno šifrirani. Sistem je začel postopek šifriranja, vendar zunanji dejavniki(npr.: izpad električne energije itd.) zaustavili postopek šifriranja.

Računalniki so okuženi, vendar se postopek šifriranja tabele MFT še ni začel.

Kar zadeva prvo možnost, na žalost trenutno še ni vzpostavljene metode, ki bi zagotovila dešifriranje podatkov. Strokovnjaki oddelka kibernetske policije, SBU, DSSTZI, ukrajinskih in mednarodnih IT podjetij si aktivno prizadevajo rešiti to težavo.

Hkrati v dveh nedavni primeri obstaja možnost obnovitve informacij, ki so v računalniku, saj particionna tabela MFT ni pokvarjena ali delno pokvarjena, kar pomeni, da se bo računalnik zagnal in deloval z obnovitvijo zagonskega sektorja MBR sistema.

Tako modificirani trojanski program "Petya" deluje v več fazah:

Prvič: pridobitev privilegiranih pravic (administratorske pravice). Na mnogih računalnikih v arhitekturi Windows (Active Directory) so te pravice onemogočene. Virus obdrži originalni zagonski sektor za operacijski sistem(MBR) v šifrirani obliki bitne operacije XOR (xor 0x7), nato pa zapiše svoj zagonski nalagalnik namesto zgornjega sektorja, preostanek trojanske kode se zapiše v prve sektorje diska. Ta korak ustvari besedilno datoteko o šifriranju, vendar podatki dejansko še niso šifrirani.

Zakaj je temu tako? Ker je zgoraj opisano le priprava na šifriranje diska in se bo začelo šele po ponovnem zagonu sistema.

Drugič: po ponovnem zagonu se začne druga faza delovanja virusa - šifriranje podatkov, zdaj se obrne na svoj konfiguracijski sektor, v katerem je nastavljena zastavica, da podatki še niso šifrirani in jih je treba šifrirati. Po tem se začne postopek šifriranja, ki izgleda kot program Check Disk.

Postopek šifriranja se je začel, vendar so zunanji dejavniki (npr. izpad električne energije itd.) zaustavili proces šifriranja;
Postopek šifriranja tabele MFT se še ni začel zaradi dejavnikov, ki niso bili odvisni od uporabnika (motnja v delovanju virusa, reakcija protivirusne programske opreme na dejanja virusa itd.).

Zagon iz namestitve Windows disk;

Če je po zagonu z namestitvenega diska Windows vidna tabela s particijami trdega diska, lahko začnete postopek obnovitve MBR;

Za Windows XP:

Po nalaganju namestitvenega diska Windows XP v RAM PC, se prikaže pogovorno okno »Namesti Windows XP Professional«, ki vsebuje izbirni meni, morate izbrati možnost »za obnovitev sistema Windows XP z obnovitveno konzolo pritisnite R«. . Pritisnite tipko "R".

Naložila se bo obnovitvena konzola.

Če ima računalnik nameščen en OS in je (privzeto) nameščen na pogonu C, se prikaže naslednje sporočilo:

"1:C:\WINDOWS V katero kopijo sistema Windows naj se prijavim?"

Vnesite tipko "1", pritisnite tipko "Enter".

Prikaže se sporočilo: »Vnesite skrbniško geslo«. Vnesite svoje geslo, pritisnite "Enter" (če gesla ni, samo pritisnite "Enter").

Pojaviti se mora sistemski poziv: C:\WINDOWS> enter fixmbr

Nato se prikaže sporočilo »OPOZORILO«.

"Ali potrjujete vnos novega MBR-ja?" Pritisnite tipko "Y".

Prikaže se sporočilo: »Na fizičnem disku \Device\Harddisk0\Partition0 se ustvarja nov primarni zagonski sektor.«

"Nov primarni zagonski sektor je bil uspešno ustvarjen."

Za Windows Vista:

Prenesite Windows Vista. Izberite svoj jezik in razporeditev tipkovnice. Na pozdravnem zaslonu kliknite »Obnovi računalnik«. Windows Vista bo uredil meni računalnika.

Izberite svoj operacijski sistem in kliknite Naprej.

Ko se prikaže okno Možnosti obnovitve sistema, kliknite Ukazni poziv.

Ko se prikaže ukazni poziv, vnesite ukaz:

bootrec/FixMbr

Počakajte, da se operacija zaključi. Če je vse uspešno, se na zaslonu prikaže potrditveno sporočilo.

Za Windows 7:

Prenesite Windows 7.

Izberite jezik.

Izberite razporeditev tipkovnice.

Izberite svoj operacijski sistem in kliknite Naprej. Pri izbiri operacijskega sistema označite »Uporabi obnovitvena orodja, ki lahko pomagajo rešiti težave pri zagonu sistema Windows«.

Na zaslonu Možnosti obnovitve sistema kliknite gumb Ukazni poziv na zaslonu Možnosti obnovitve sistema Windows 7

Ko se ukazni poziv uspešno zažene, vnesite ukaz:

bootrec/fixmbr

Pritisnite tipko Enter in znova zaženite računalnik.

Za Windows 8

Prenesite Windows 8.

Na pozdravnem zaslonu kliknite gumb Obnovi svoj računalnik

Windows 8 bo obnovil meni računalnika

Izberite ukazni poziv.

Ko se ukazni poziv naloži, vnesite naslednje ukaze:

bootrec/FixMbr

Počakajte, da se operacija zaključi. Če je vse uspešno, se na zaslonu prikaže potrditveno sporočilo.

Pritisnite tipko Enter in znova zaženite računalnik.

Za Windows 10

Prenesite Windows 10.

Na pozdravnem zaslonu kliknite gumb »Popravite svoj računalnik«.

Izberite "Odpravljanje težav"

Izberite ukazni poziv.

Ko se ukazni poziv naloži, vnesite ukaz:

bootrec/FixMbr

Počakajte, da se operacija zaključi. Če je vse uspešno, se na zaslonu prikaže potrditveno sporočilo.

Pritisnite tipko Enter in znova zaženite računalnik.

Po postopku obnovitve MBR raziskovalci priporočajo skeniranje diska z protivirusnimi programi za okužene datoteke.

To ugotavljajo strokovnjaki kibernetske policije določena dejanja so pomembni tudi, če se je postopek šifriranja začel, vendar ga je uporabnik prekinil z izklopom napajanja računalnika začetni procesšifriranje. IN v tem primeru, po nalaganju OS, lahko uporabite programsko opremo za obnovitev datotek (kot je RStudio), jih nato kopirajte na zunanji medij in znova namestite sistem.

Opozoriti je treba tudi, da če uporabljate programe za obnovitev podatkov, ki beležijo svoj zagonski sektor (kot je Acronis True Image), se virus ne dotakne te particije in lahko vrnete delovno stanje sistema na datum kontrolne točke.

Kibernetska policija je sporočila, da razen podatkov o registraciji, ki so jih posredovali uporabniki programa M.E.doc, niso bile posredovane nobene informacije.

Spomnimo, 27. junija 2017 se je začel obsežen kibernetski napad šifrirnega virusa Petya.A na IT sisteme ukrajinskih podjetij in vladnih agencij.

Raziskovalci in strokovnjaki za kibernetsko varnost poročajo, da je bil virus, ki ga je napad najbolj prizadel v Ukrajini, kamor je bil virus prvotno tarča, ustvarjen z namenom, da popolnoma onesposobi računalnike žrtev in ne vključuje sistema za dešifriranje informacij. Če je virus Petya.C okužil računalnik, lahko uporabnik na določeni stopnji še vedno znova zažene sistem, vendar podatkov ne bo več mogoče dešifrirati.

Predstavniki podjetij Cybersecurity and Co. in Positive Technologies ter uradni predstavnik SBU Ukrajine so povedali, da ob prvih znakih okužbe edini načinČe želite preprečiti šifriranje informacij, zaustavite računalnik.

Ko zlonamerna koda pride v napravo žrtve, virus ustvari odloženo nalogo za ponovni zagon naprave. Do takrat lahko zaženete ukaz bootrec /fixMbr, da popravite particijo. Zaradi tega bo sistem ostal delujoč, vendar bodo datoteke še vedno šifrirane. To je enosmerna vozovnica. Petya.C deluje tako, da ob okužbi ustvari poseben ključ za dešifriranje, ki se skoraj takoj izbriše.

Po uspešnem šifriranju informacij računalnika se na zaslonu prikaže sporočilo, da morate plačati 300 $ v bitcoinih, da prejmete ključ za dešifriranje informacij. Na račun hekerjev je bilo že nakazanih več tisoč dolarjev, a nobena od žrtev ni prejela zahtevane kode. Dejstvo je, da nemški ponudnik e-pošta blokiral poštni predal napadalcev, kar je bil edini način za stik s hekerji. Poleg tega so predstavniki Kaspersky Laba poročali, da avtorji Petya.C sami nimajo fizične sposobnosti dešifrira računalnike svojih žrtev, saj virus ne omogoča ustvarjanja identifikatorja za računalnik žrtve, ki bi hekerjem omogočil pošiljanje ključa.

Za šifriranje naprav Petya.C uporablja ranljivost EternalBlue, ki jo je NSA objavila v začetku tega leta. Isti podvig so maja uporabili ustvarjalci izsiljevalske programske opreme WannaCry. Microsoft je izdal potrebne popravke že marca letos in celo posodobil Windows XP, da prepreči nadaljnje okužbe. Podjetje opozorilo, da tovrstni napadi iz velik delež verjetnosti se bodo ponavljale, zato morajo uporabniki čim prej posodobiti svoje računalnike. Nihče ne zanika dejstva, da se lahko v prihodnosti pojavi še en Vasia ali Lyosha, ki bo poskušal ponoviti "uspeh" WannaCry ali Petya.C.

Spomnimo se, da je Microsoft napovedal številne spremembe varnostnih sistemov Windows 10, ki so narejene za preprečevanje ponovnih napadov v prihodnosti. Podjetje je že (uporabljeno je bilo v napadih WannaCry in Petya.C) in bo tudi dodalo, kar bo otežilo uporabo izkoriščanja za okužbo računalnika žrtve.

27.06.2017 je za tiste, ki ne delajo varnostnih kopij na izmenljive medije, postal najbolj črn dan, ko je virus Petya wiper v samo pol ure svojega delovanja nekomu uničil teden, nekomu pa 10-12 let dela in arhiviranja dragocenih datotek. , baze podatkov in drugo. Prisiljen začeti življenje s čisti skrilavec. Vendar pa obstaja možnost, da shranite vsaj Outlookove arhive in fotografije. Detajli pod krojem.
Virus je deloval v dveh fazah: šifriral je datoteke (ne vseh in ne v celoti), nato sprožil ponovni zagon in po ponovnem zagonu šifriral zagonski nalagalnik (MBR) trdega diska. Posledično se je trdi disk spremenil v pogojno "bučo", iz katere ni bilo mogoče ničesar potegniti.
Če je računalnik preživel samo prvo stopnjo, potem lahko po obnovitvi MBR v celoti nadaljujete z delom na računalniku in opazujete posledice šifrirnika datotek ter poiščete tiste, ki so preživeli. Če je računalnik šel skozi dve stopnji, potem je vse veliko slabše in celo samo izvlečenje datotek je veliko težje.

Na Runetu praktično ni iskanja informacij o tem, kako shraniti informacije s takega trdega diska, zato sem moral empirično izbrati optimalno strategijo za iskanje in obnovitev tistega, kar bi lahko preživelo. Preizkušenih je bilo približno ducat programov za obnovitev informacij, vendar je bila večina informacij pridobljena s programom R-Studio, o katerem bomo še razpravljali, z opisom zaporedja dejanj za obnovitev (vsa dejanja bodo izvedena v sistemu Windows 7, vendar mislim, da ni pomembno, katero različico operacijskega sistema Windows imate samo nameščen R-studio).

Takoj bom rekel, da lahko izvlečete skoraj vse datoteke, vendar bodo šifrirane, razen datotek, ki niso bile šifrirane, običajno fotografij in videoposnetkov. Nekatere datoteke bo mogoče obnoviti, če imate pripomočke, ki so jih zagotovili razvijalci ustreznega formata datoteke. Z uporabo spodnjega primera si bomo ogledali postopek reševanja arhivske datoteke iz Outlooka.

Torej zaporedje dejanj:

1. Priključite neformatiran šifriran disk (to je ključna zahteva; če je bil disk formatiran ali je bil na njem znova nameščen operacijski sistem, potem je verjetnost, da boste kar koli obnovili, enaka nič), ki je šel skozi 2 stopnji šifriranja z izgubo datotečni sistem v računalnik z operacijskim sistemom Windows (povežite se lahko neposredno povežete z matično ploščo prek vrat sata/ide ali prek adapterjev USB, kar vam bolj ustreza). In po zagonu računalnika prejmemo sporočilo o potrebi po formatiranju novo povezanega pogona (v mojem primeru je to pogon G).

Posnetek zaslona


Kliknite Prekliči. Prepričamo se, da je naš disk res poškodovan, kar ugotovi upravitelj diskov datotečni sistem RAW:

Posnetek zaslona



2. Zaženite program R-Studio (uporabil sem različico 8.2) in si oglejte najdene diske. Naš testni trdi disk s 320 GB je bil povezan prek priklopne postaje USB 3.0 in označen kot JMicron Tech 023 pod črko »G«.

Posnetek zaslona



Nato dvakrat kliknite na vrstico z diskom "G", kot je prikazano na zgornji sliki, in počakajte, da se disk konča s skeniranjem.

3. Odpre se okno programa R-Studio z rezultati skeniranja (glejte spodnjo sliko):

Posnetek zaslona



Praviloma je zelo malo map z jasnim imenom, vse najbolj dragocene stvari se nahajajo v razdelku »Dodatno najdene datoteke«. Zato pojdimo na naslednji korak.

4. Z miško izberite vrstico “Dodatno najdene datoteke” in na nadzorni plošči programa pritisnite gumb “Najdi/Označi”.

5. V oknu, ki se odpre, izberite iskanje po končnici datoteke in določite končnico pst (format datoteke za Outlookove arhivske mape) ter kliknite gumb »Da«.

Posnetek zaslona



6. Iskanje bo našlo arhivirane datoteke, v različnih mapah jih je lahko veliko; Zato se osredotočamo na pot, kjer so bile shranjene vaše arhivske datoteke. V spodnjem primeru lahko vidite, da so bile datoteke, ki ste jih iskali, v mapi Outlook Files.

Posnetek zaslona



Upoštevajte, da če pogledate levi meni in pojdite navzgor po hierarhiji map, lahko vidite, da se ta mapa nahaja v mapi uporabniškega računa in da obstajajo mape Namizje, Dokumenti itd. Na ta način lahko izvlečete fotografije in druge datoteke, ki jih je uporabnik shranil v te mape.

Posnetek zaslona



7. Nato potrdite polja za datoteke, ki jih iščete s pripono pst in kliknite gumb »Obnovi označeno«, označite lokacijo za shranjevanje shranjenih datotek (v mojem primeru je to mapa Obnovi na pogonu C). Čakamo na dokončanje postopka kopiranja datoteke.

Posnetek zaslona



8. Obnovljena arhivska datoteka je običajno poškodovana in je Outlook ne zazna. Na srečo je virus šifriral samo prvi megabajt velikih datotek, ostale pa je pustil nedotaknjene. Zato moramo poskusiti obnoviti strukturo arhiva, za to obstaja več načinov:

A) Uporabite pripomoček SCANPST, ki je vključen v standardni paket MS Office. Na primer, v MS Office 2010 se ta pripomoček nahaja v mapi C:\Program Files (x86)\Microsoft Office\Office14\, če imate 64-bitni Windows in po poti C:\Program Files\Microsoft Office\Office14 pri uporabi 32-bitne različice sistema Windows.

B) Uporabite pripomočke razvijalci tretjih oseb. Veliko jih najdete na Googlu.

Uporabil sem prvo možnost in načeloma je delovala na vseh PC-jih, ki so mi jih prinesli v obnovo.

Prilagam tudi povezavo do objave navodila po korakih o delu s pripomočkom SCANPST.

To je vse, druge datoteke se obnovijo s podobnim algoritmom, samo zamenjati morate želeno pripono datoteke ali se ročno pomakniti po vseh mapah v razdelku »Dodatno najdene datoteke« in izbrati, kaj točno je treba obnoviti.
Če se komu moja objava zdi "kapetanska", prosim, da je ne kritizirate preveč, nimajo vsi izkušenj z obnovitvijo podatkov in preizkušenih orodij. Če imate še vprašanja, jih lahko napišete v ZS ali tukaj v komentarjih.

Pred kratkim je na voljo elegantna formula za izračun števila Pi, ki so jo leta 1995 prvič objavili David Bailey, Peter Borwein in Simon Plouffe:

Zdi se: kaj je posebnega pri tem - obstaja veliko formul za izračun Pi: od šolska metoda Monte Carlo do nerazumljivega Poissonovega integrala in formule Françoisa Vieta iz pozni srednji vek. Toda ravno ta formula je vredna pozornosti posebna pozornost- omogoča izračun n-ti znakštevila pi, ne da bi našli prejšnje. Za informacije o tem, kako to deluje, kot tudi za že pripravljeno kodo v C, ki izračuna 1.000.000. števko, se naročite.

Kako deluje algoritem za izračun N-te števke pi?
Na primer, če potrebujemo 1000. šestnajstiško števko števila Pi, celotno formulo pomnožimo s 16^1000, s čimer spremenimo faktor pred oklepajem v 16^(1000-k). Pri potenciranju uporabljamo binarni algoritem potenciranja ali, kot bo pokazal spodnji primer, modulo potenciranje. Po tem izračunamo vsoto več členov niza. Poleg tega ni treba veliko računati: ko k narašča, se 16^(N-k) hitro zmanjšuje, tako da naslednji členi ne bodo vplivali na vrednost zahtevanih števil). To je vsa čarovnija - briljantno in preprosto.

Formulo Bailey-Borwine-Plouffe je našel Simon Plouffe z uporabo algoritma PSLQ, ki je bil leta 2000 vključen na seznam 10 najboljših algoritmov stoletja. Sam algoritem PSLQ je razvil Bailey. Tukaj je mehiška serija o matematikih.
Mimogrede, čas delovanja algoritma je O(N), poraba pomnilnika je O(log N), kjer je N serijsko številkoželeni znak.

Mislim, da bi bilo primerno citirati kodo v C, ki jo je neposredno napisal avtor algoritma David Bailey:

/* Ta program izvaja algoritem BBP za generiranje nekaj šestnajstiških števk, ki se začnejo takoj za danim ID-jem položaja ali z drugimi besedami, začnejo se pri ID-ju položaja + 1. V večini sistemov, ki uporabljajo IEEE 64-bitno aritmetiko s plavajočo vejico, ta koda deluje pravilno dokler je d manjši od približno 1,18 x 10^7. Če je mogoče uporabiti 80-bitno aritmetiko, je ta meja bistveno višja. Ne glede na uporabljeno aritmetiko lahko rezultate za dani ID položaja preverite tako, da ponovite z id-1 ali id+1 in preverite, ali se šestnajstiške števke popolnoma prekrivajo z odmikom ena, razen po možnosti za nekaj končnih števk. Dobljeni ulomki so običajno točni na vsaj 11 decimalnih mest in na vsaj 9 šestnajstiških mest. */ /* David H. Bailey 2006-09-08 */ #include #vključi int main() ( dvojni pid, s1, s2, s3, s4; dvojna serija (int m, int n); void ihex (dvojni x, int m, char c); int id = 1000000; #define NHX 16 char chx ; /* Številke sledijo takoj za id-om; s3 = serija (5, id); * s1 - 2. * s2 - s3 - s4; pid = (int) pid + 1.; printf("position = %i\n); fraction = %.15f \n hex cites = %10.10s\n", id, pid, chx ); ) void ihex (double x, int nhx, char chx) /* To vrne v chx prvih nhx šestnajstiških števk ulomka x. */ ( int i; dvojno y; char hx = "0123456789ABCDEF"; y = fabs (x); for (i = 0; i< nhx; i++){ y = 16. * (y - floor (y)); chx[i] = hx[(int) y]; } } double series (int m, int id) /* This routine evaluates the series sum_k 16^(id-k)/(8*k+m) using the modular exponentiation technique. */ { int k; double ak, eps, p, s, t; double expm (double x, double y); #define eps 1e-17 s = 0.; /* Sum the series up to id. */ for (k = 0; k < id; k++){ ak = 8 * k + m; p = id - k; t = expm (p, ak); s = s + t / ak; s = s - (int) s; } /* Compute a few terms where k >= id. */ za (k = id; k<= id + 100; k++){ ak = 8 * k + m; t = pow (16., (double) (id - k)) / ak; if (t < eps) break; s = s + t; s = s - (int) s; } return s; } double expm (double p, double ak) /* expm = 16^p mod ak. This routine uses the left-to-right binary exponentiation scheme. */ { int i, j; double p1, pt, r; #define ntp 25 static double tp; static int tp1 = 0; /* If this is the first call to expm, fill the power of two table tp. */ if (tp1 == 0) { tp1 = 1; tp = 1.; for (i = 1; i < ntp; i++) tp[i] = 2. * tp; } if (ak == 1.) return 0.; /* Find the greatest power of two less than or equal to p. */ for (i = 0; i < ntp; i++) if (tp[i] >p) odmor;<= i; j++){ if (p1 >pt = tp;
p1 = p; r = 1.; /* Izvedba binarnega eksponentnega algoritma po modulu ak. */ za (j = 1; j= pt)( r = 16. * r; r = r - (int) (r / ak) * ak; p1 = p1 - pt; ) pt = 0,5 * pt; if (pt >= 1.)( r = r * r; r = r - (int) (r / ak) * ak; ) ) vrni r; ) Kakšne priložnosti to ponuja? Na primer: ustvarimo lahko porazdeljeni računalniški sistem, ki izračuna število Pi in ga dostavimo vsem nov rekord v smislu natančnosti izračuna (ki zdaj, mimogrede, znaša 10 trilijonov decimalnih mest). Po empiričnih podatkih je delni del Pi predstavlja normalno

številčno zaporedje

(čeprav tega še ni bilo mogoče zanesljivo dokazati), kar pomeni, da lahko zaporedja številk iz njega uporabimo pri generiranju gesel in preprosto



naključna števila , ali v kriptografskih algoritmih (na primer zgoščevanje). Najdete lahko veliko različnih načinov za uporabo – uporabiti morate le svojo domišljijo.