Presentation is loading. Please wait.

Presentation is loading. Please wait.

Smelý Palko v Ohiu alebo pán Turing ide voliť

Similar presentations


Presentation on theme: "Smelý Palko v Ohiu alebo pán Turing ide voliť"— Presentation transcript:

1 Smelý Palko v Ohiu alebo pán Turing ide voliť
Pavol Černý GJH, Január 2009

2 Smelý Palko v Ohiu alebo pán Turing ide voliť
Čo je Ohio? Kto je Turing? Bonus: čo je na obrázku? Smelý Palko v Ohiu alebo pán Turing ide voliť Pavol Černý GJH, January 2009

3 Voľby v roku 2000

4 Volebné automaty Homér Simpson má problém.
(tu bolo video ako Simpsonovci volili)

5 iVotronic

6 M100 Scanner

7 M650 Scanner

8 ES&S Systém -- úvodné nastavenia

9 ES&S Systém -- zbieranie výsledkov

10 PEB

11 Unity aplikácia na zrátavanie výsledkov
hlasy[kandidat] = hlasy[kandidat]+1 ?? nie: riadkov.. v C, C++, Cobol, Java and Visual Basic

12 Ako sme hľadali

13 Čo sme našli

14 Tlačiareň

15 Tlačiareň 2

16 Zámky a kľúče

17 Ako si vyrobiť PEB

18 Ako si vyrobiť PEB QA option – no election specific password

19 Softvérové chyby Buffer overflow Vrátiť dáta z viacerých okrskov
vrátiť nebezpečný (a dlhý) string Vrátiť dáta z viacerých okrskov týka sa optických scannerov Žiadna (alebo zlá) kryptografia na prenosových médiach

20 Úplný útok 1. Volič-zločinec začne proces nahrávania nových volebných dát na iVotronic pomocou emulovaného QA PEBu (3 mins) 2. Volič-zločinec využije buffer-overflow chybu a nahrá nový firmware naiVotronic (15 mins) 3. Volič-zločinec odletí do Severnej Kórei

21 Úplný útok 4. pri zbere dát sa od infikovaného iVotronic-u zreportujú vymyslené výseldky a infikuje sa back-end Unity 5. pri ďalších voľbach sa infikujú všetky ostatné iVotronic-y, M100vky a M650ky.

22 Prečo niekto konečne nenapíše program, ktorý by skontroloval, či iné programy robia to, čo majú?

23 Prečo niekto konečne nenapíše program, ktorý by skontroloval, či iný program skončí?

24 Skúsme si to predstaviť
bool Zastaví?(string Program, string vstup) Program P (zdrojový kód) Vstup Zastaví? Áno / Nie

25 Hrajme sa ďalej bool Zastaví?(string Program, string vstup)
bool Trik(string program) { if Zastaví?(program,program) { while true {}; } else { return true; }

26 Hrajme sa ďalej Trik(“bool Trik(string program) { “);
if Zastaví?(program,program) { while true {}; } else { return true; } “);

27 Inými slovami... Trik(Trik) bool Trik(string program) {
if Zastaví?(program,program) { while true {}; } else { return true; } Trik(Trik)

28 Zastaví Trik(Trik)??? Predstavme si, že Trik(Trik) zastaví:
bool Trik(string program) { if Zastaví?(program,program) { while true {}; } else { return true; } Predstavme si, že Trik(Trik) zastaví: ale to znamená, že funkcia Zastaví? vraví, že Trik(Trik) nezastaví

29 Zastaví Trik(Trik)??? Predstavme si, že Trik(Trik) nezastaví:
bool Trik(string program) { if Zastaví?(program,program) { while true {}; } else { return true; } Predstavme si, že Trik(Trik) nezastaví: ale to znamená, že funkcia Zastaví? vraví, že Trik(Trik) zastaví

30 ???

31 Funkcia Zastaví? neexistuje.

32 Záver Dajte sa na informatiku! (ak chcete..)
Volebné automaty – zdá sa, že je ešte dosť práce Písať spoľahlivé programy - ako na to? .. Výpočet .. moc zaujímavý pojem – v matematike, fyzike, biológii


Download ppt "Smelý Palko v Ohiu alebo pán Turing ide voliť"

Similar presentations


Ads by Google