După ce am lucrat la colegii noștri - vom merge la Caribi

După ce am lucrat la colegii noștri - vom merge la Caribi

În plus, voluntarii noștri - IT-Schnick sape curaj electronice Cohiba de achiziții publice on-line, în cazul în care o licitație organizată de Comisia Electorală Centrală (CEC) din Federația Rusă.





Specialiștii noștri au descărcat toată documentația pe calculatoarele lor, apoi s-au familiarizat cu materialele pe care le-am primit în alegeri și am analizat toate informațiile disponibile.

Ne-am întâlnit cu unul dintre ofițerii FSB FAPSI, care au acceptat voluntar să ne ajute și ale căror date, din motive cunoscute, nu pot fi dezvăluite. I-am pus cateva intrebari, raspunsurile la care deja pot sa vada o lumina si sa dispara ceata asupra situatiei care a aparut in jurul alegerilor catre Consiliul Deputatilor din districtul orasului Shcherbinka. Desigur, nu vom dezvălui informații mai detaliate cu numele și numele organizatorilor, interpreților și alți complici ai acestei crime murdare împotriva voinței Shcherbins-ului din anumite motive. Dar vom reveni cu siguranță la asta. Cu siguranță vă vom spune despre cei care, pentru a-și atinge propriile scopuri egoiste, precum și ambițiile politice, au înșelat întreaga zeci de mii de alegători și le-au dat fiecare o evaluare morală și juridică. Deci ...







- Spune-mi, ce este așa numitul Cohiba?

Cohiba (prelucrarea complexă a buletinelor de vot) - este un mini-calculator cu un scaner încorporat electronic care citește din informațiile de vot cu privire la modul în care un cetățean a votat și, la sfârșitul votării și în modul automat, care formează protocolul final al comisiei electorale ale secțiilor de votare. El a verifica în mod independent autenticitatea buletinului, și aduce rezultatele votului pentru candidați sau partide.

- Ce vulnerabilități din codul coordonatorilor utilizați în alegerile din Shcherbinka sunt vizibile pentru dvs. ca programator și specialist în domeniul securității informațiilor? Există vreo posibilitate de manipulare și de falsificare a rezultatelor votării?

Nu voi susține că vulnerabilitatea descrisă mai jos este o backdoor în mod intenționat stânga, o portiță pentru inițiat. Este posibil ca aceasta să fie doar o greșeală pentru dezvoltatori. Dar, având în vedere că codul COIB a fost auditat pentru a respecta cerințele de securitate, acesta este deja o dublă gafă - atât dezvoltatori, cât și auditori. Ceea ce duce la gândul că totul a fost conceput, adică, Au rămas oportunități de fraudă, care au fost folosite în alegerile din Shcherbinka.

Vorbind în limbajul tehnic, vulnerabilitatea găsită aparține clasei de injectare a codului (limba profesională a programatorului). Vă permite să executați codul arbitrar pe calculatorul construit în COIB la momentul protocolului final de vot, utilizând datele originale pregătite pentru COIB. Inclusiv cel care va schimba numărul de voturi exprimate pentru un anumit candidat. Dimineata. în ziua votării, președintele PEC introduce în COIB un "transportator-cheie", care este o unitate flash regulată, care este emisă în avans unei comisioane mai mari. Această unitate flash păstrează un fișier XML cu informații complete despre alegeri: când începe și se termină votarea, care este lista candidaților, ordinea în care sunt plasate în buletinele de vot, ce formular de vot și multe alte date. Exemple de intrări sunt luate din atribuirea tehnică, care a fost postată pe site-ul achiziției de stat.

Cu toate acestea, în afară de setările evidente în aceleași informații fișier stochează despre regulile de completare a protocolului final de vot de mai sus și: modul în care aceasta linii de text care ar trebui să fie scrise în aceste rânduri, pentru o anumită formulă calculează valorile numerice, și așa mai departe.

Să analizăm un exemplu al datelor sursă, conform căruia COBIB formează liniile de protocol:

Codul care înlocuiește linii de tip BlankType = NoMarks, VotingMode = Portabil> cu codul corespunzător este localizat în fișierul Common / Vot / Line.cs. Apoi, după înlocuirea valorilor, codul este transmis compilatorului C # (linia Common / Voting / SourceData.cs 434). unde va fi întocmit și amânat până la sfârșitul votării. Când se termină votarea și se generează protocolul, programul compilat se execută liniar după linie (Common / Voting / Line.cs, linia 262).

Aici a fost ascunsă vulnerabilitatea. În formula, puteți înlocui apelul oricărei funcții, inclusiv, care va schimba rezultatele alegerilor:

De exemplu, în acest fel, puteți pune candidatul # 111 (din exemplul de mai sus) 100 500 voturi. Ca urmare a unor astfel de manipulări, puteți adăuga complet pe cineva la voturile alegătorilor și puteți lua pe cineva departe de cineva. Mai mult decât atât, logica acțiunilor programate ale KOIB poate fi prescrisă orice complexitate care va verifica procentajul actual pentru fiecare dintre candidați, va decide cât de multe voturi să arunce și așa mai departe. Este clar că pur și simplu adăugarea de voturi unui anumit candidat nu va funcționa - numărul total de buletine de vot nu se converge în protocol, iar frauda va fi imediat vizibilă. Și pentru a arunca un anumit număr de voturi de la un candidat la altul - o opțiune câștig-câștig. Nici un control, cu excepția redistribuirii manuale, va fi imposibil de detectat această falsificare. De facto se dovedește că, fără a încălca integritatea sigiliilor pe KOIB, este posibil să se influențeze rezultatul votării.

- Cât de direct poate fi făcut acest lucru?

În codul de program COIB există o logică descrisă mai sus, care permite executarea codului programului de pe o unitate flash USB. În sine, aceasta este o gaură de securitate foarte serioasă. Cu toate acestea, pentru a profita de această metodă de falsificare, este necesar. astfel încât datele falsificate într-un fel au căzut în COIB.

Conform instrucțiunilor KOIB manuale în dimineața în ziua votării, operatorul trebuie să includă Cohiba și descărca datele brute în ea: „La cerere“ Insert Flash », introduceți mediul cheie în dispozitivul principal de scanare (scanner, imprimanta este conectată) și apăsați“ DA "de pe spatele scanerului. După aceea, mesajul "Încărcarea datelor sursă ..." apare pe panoul de informații al dispozitivului principal de scanare.

Transportatorul-cheie (unitate flash) este emis președintelui PEC în ajunul alegerilor din CEC superioară, astfel încât este posibilă efectuarea unei includeri de testare a KOIB, pentru a verifica eficiența acestuia. Responsabilitatea pentru siguranța cheii din acest moment revine președintelui CEC. Dar cel mai interesant este faptul că legea nu-i cere nici măcar să păstreze cheia în siguranță! Președintele poate lua acasă și poate face schimbările necesare.

Deși eu nu exclud faptul că sunt utilizate și niveluri suplimentare de protecție, care va face un „frontal“ atac face imposibilă pentru a salva „de președinții“ a datelor. De exemplu, o unitate flash USB pe care sunt stocate datele, pot conține bine kriptokonteynera, de exemplu, disponibile, orice companie națională, care nu va permite persoanelor neautorizate (PEC președinte) pentru a înlocui date.

Cu toate acestea, nici o monitorizare de către observatori pentru cei care au dreptul să cripteze și să semneze datele sursă pentru unitățile flash nu este legal stabilită. Aceasta înseamnă că persoanele care au acces la chei criptografice pot modifica în continuare datele așa cum le cer. Oricare ar fi sistemul criptosomatic perfect, persistența lui este încă limitată de nivelul de încredere în cei care generează datele inițiale. Lăsați-i să fie pregătiți de CEC. Cine poate garanta că datele inițiale pe care le introduce sunt clare?

- Poate că doar Cohib a făcut niște programatori înșelăciți, fără vreo intenție răutăcioasă?

În codul sursă prin intermediul liniei spune că dezvoltatorii - Croc (ZAO „CROC Incorporated“ - o companie care lucrează în strânsă colaborare cu Mosgorizbirkomom):

Dar asta este totul, este ușor de înțeles, pentru că poți introduce orice. Cu toate acestea, o confirmare mai gravă a faptului că acest lucru este cazul sunt mâinile lor - participarea CRIC la licitație pentru dreptul de a produce COIB-uri. De fapt, CROC nu ascunde că lucrează îndeaproape cu CEC și o implementează. de exemplu, chiar serviciul și suportul tehnic al sistemului GAS "Vybory".

- Văd. Deci, cum arata falsificarea rezultatelor votului, folosind oportunitati ascunse identificate in codul COIB?

Metoda de falsificare poate arăta astfel: votul se desfășoară fără încălcări aparente - nu există liste adiționale imense, sens giratoriu, aruncare, vot în masă la domiciliu. Iar când votul se termină, KOIB emite rezultatul, unde votul este redistribuit în favoarea candidaților. Totul sa întâmplat înaintea ochilor observatorilor, țânțarul nu subminează nasul - nu există nici un motiv pentru renumărarea manuală a voturilor. Observatorii lipsiți de sens sunt forțați să convină că alegerile au fost corecte.

Pentru a se proteja de colegii "acuzați", legislația prevede o renumărare manuală obligatorie a voturilor la 5% din loturile alese de lot. Cum ar face rogues, astfel încât COIB-urile, în cazul în care recalcularea manuală, va arăta rezultatul corect, iar restul de 95% - "necesar"? Cum să dați un semnal COIB, ce este aici, și apoi puteți să înșeli? Ideea! Și să o facem astfel: dacă COEB este reîncărcat înainte de a imprima protocolul, atunci vom fi cinstiți. Și dacă nu se repornește, atunci "cum ar trebui". Pentru a face acest lucru este foarte simplu: de exemplu, de îndată ce se va constata că renumărarea va fi pe site-ul N, unii Chaban îi sună pe un administrator și îl întreabă să oprească comutatorul pentru un minut. Ei bine, sau cineva despre cablul de alimentare "accidental" se poticnește. COIB va reporni și va emite protocolul corect. Reîncărcarea KOIB este cea mai simplă soluție pentru un astfel de caz. Apropo, în acest moment puteți înlocui purtătorul de chei (unitatea flash). La urma urmei, președintele PEC ar trebui să-l scoată din buzunar (sau acolo unde îl ține acolo) și, din nou, după o repornire, introduceți-l în KOIB. El poate fi dat două chei: una este cinstită, cealaltă nu este. Instrucțiunea - în cazul unor probleme cu observatorii, recalcularea, etc. Reîncărcați COIB și introduceți o cheie cinstită.

Pentru a contracara acest lucru este doar o singură cale: în primul rând, toate Cohiba dau înregistrările electronice, care sunt semnate de membrii PEC, și să facă copii ale acestora pentru observatori, și numai apoi tragerea la sorți se face, zonele selectate pentru renumărarea manuală, și, de fapt, este recalculată. În acest caz, puteți face cu adevărat sigur Cohiba onestitate.

- Asta înseamnă că măsurile actuale de asigurare a corectitudinii votului cu ajutorul KOIB nu sunt suficiente?

În mod evident, acestea nu sunt suficiente. Aici este un exemplu de algoritm de falsificare, care este construit pe baza unor vulnerabilități identificate Cohiba cod software. persoane autorizate (de la CEC, IPCC, CET sau altă organizație care pregătește datele brute pentru Cohiba) este încărcat pe datele de intrare-cheie, care atunci când sunt executate de către orice condiții externe se vor efectua falsificare. O astfel de condiție poate fi, de exemplu, absența rebootărilor din momentul activării BISS sau o anumită perioadă de timp. De exemplu, în cazul în care protocolul rezultatele alegerilor a fost retras în prima jumătate de oră, falsificarea nu vor, iar dacă al doilea - va fi. Această vulnerabilitate ne permite să descriem logica programului de orice complexitate.

Președinte al PEC (în cazul în care este în mod direct în conspirație care vizează falsificarea rezultatelor alegerilor) este instruit că, dacă el a fost să fie anunțat pentru a efectua o renumărare manuală în zonă, este necesar să se raporteze rezultatelor din Cohiba se retrage în prima jumătate de oră. Atunci datele vor fi sincere. Dacă recalcularea manuală nu este, atunci, sub orice pretext, întârziați îndepărtarea protocolului până în a doua jumătate a oră.

indicații indirecte pe care site-ul dvs. ar putea fi o astfel de falsificare sunt: ​​întârzierea inexplicabilă în îndepărtarea protocolului cu Cohiba, penele de curent bruște înainte de îndepărtarea de protocol de la Cohiba, orice alte acțiuni ilogice ale Comisiei în legătură cu Cohiba înaintea deplasării protocolului (repornire, comutator corzi), scopul real al căruia este de a da un semnal Cohiba, așa cum ar trebui să îl considere - sincer sau nu. În general, există multe modalități de a înșela observatorii și de a face falsificare pentru "alegeri corecte".

Într-adevăr, după procesarea buletinului informativ, COIB creează o înregistrare despre acesta (Recognizer / RecognitionManager.cs, linia 744):

Și le loghează în jurnal (Recognizer / RecognitionManager.cs, linia 616):

WriteRecognitionResultToLog (recResult, stampResult, stampNumber, recLogAddInfoSb.ToString ());

Dat fiind că timpul este fixat la cea mai apropiată mie o secundă (Recognizer / RecognitionManager.cs, linia 750):

Având în vedere că aceste date nu sunt înregistrate pe transportatorul cheie, ele pot fi obținute numai după alegeri, prin conectarea la computerele construite în COBI. Accesul la un calculator, cel puțin să aibă tehnologia, efectuarea de punere în funcțiune, diagnosticare si reparare Cohiba. De asemenea, accesul la acestea este disponibil și pentru angajații comisiilor electorale superioare, deoarece extragerea datelor de la COIB poate fi necesară pentru efectuarea inspecțiilor. Accesul la aceste informații poate fi obținut și prin servicii speciale.

- Este posibil să se organizeze în mod tehnic un vot curat și echitabil cu KOIB? Ar trebui să fie un cod deschis de la cooperative, astfel încât toată lumea să poată verifica în siguranță și să nu caute urme în achiziție?

Este inutil să faceți codul open source cu sursa deschisă, deoarece este imposibil să verificați în vreun fel înainte de vot că codul încărcat în biblioteca publică este încărcat în COIB. Deși, în general, KOIB este o soluție excelentă pentru a verifica automat autenticitatea buletinelor de știri, pentru a împiedica aruncarea de pachete într-o urnă, pentru a efectua o alternativă, numărătoarea independentă a voturilor.

Cu toate acestea, în scopul de a organiza un vot curat și corect este necesară în fiecare zonă și numără voturile folosind Cohiba și manual. renumărare manuală se va asigura că nu KOIB ieftin cu vocile și Cohiba se va asigura că Comisia nu se va deplasa buletinele de vot de la un teanc la altul, rula cu protocoalele nesemnate, lacrimogene sau se înece într-un bazin de buletine și așa mai departe. Procedura ar trebui să solicite calcularea manuală a tuturor, și apoi imprimați raportul de la Cohiba. Dacă nu este de acord, recalculați manual din nou. Dacă tot nu este de acord, este obligatorie remedierea încălcării.

Pentru a rezuma, există două opțiuni pentru organizarea unui vot cinstit. Prima este atunci când doar 5% din site-uri sunt recalculate. Apoi, este foarte important ca protocolul de la KOIB să fie primul și apoi ar trebui să fie o aruncare. Deci, comisia nu va avea ocazia să-l informeze pe Cohiba că ar trebui să fie cinstit. A doua opțiune este o recalculare manuală obligatorie a tuturor site-urilor. Apoi, nu există nici o diferență ce se va întâmpla mai întâi: calculul manual sau eliminarea protocolului electronic.

Această întrebare necesită o evaluare oficială de către autoritățile de aplicare a legii și de securitate în cadrul competențelor lor.

Vă mulțumesc foarte mult pentru ajutorul dvs.!

Conversația a fost condusă de E.N. castane







Trimiteți-le prietenilor: