Наближава референдума по въпроса дали да въведем дистанционно електронно гласуване по Интернет. Медиите бълват статии – и особено коментари – дали и колко сигурен е този начин да упражняване на вота.

Забелязват се огромни приливни вълни от лаици, които може би добросъвестно, но твърде умозрително или повърхностно разсъждават по специфични въпроси, които не са по силите им.

Продължават да се ширят и масово отдавна разбулени, несвързани с електронното гласуване митове. Например, че гласовете се броят от “чували” – тотално невярно: броят се по данни на секционните избирателни комисии. Те от своя страна са ги преброили пред наблюдателите и застъпниците и изпратили протоколите веднага в РИК/ЦИК по факс или емейл.

Сред тази какафония, обаче, има и скептици, базиращи своето отрицателно отношение към е-гласуването на сериозни анализи на независими експерти.

Особено популярни са дискусиите за най-напредналата с електронно гласуване в света държава – Естония. Масово известни – цитирани в западаната преса и в България – са критичните видеопрезентации на професор Дж. Алекс Халдерман към естонската система.

Като старши специалист с над 10 години стаж в областта на информационната сигурност в мултимилиардна канадска компания, това няма как да не привлича моето внимание.

Няма “загадка” какво е моето лично мнение за това може ли да се подобри естонската система или дали може да се направи още по-добра такава. Фактът, че съм един от 42-мата членове на най-големият и най-известен граждански Инициативен комитет в подкрепа на електронното гласуване “Гласувай без граници” с представляващ тенис-легендата Мануела Малеева, говори красноречиво.

Че не само аз съм на това мнение говори и друг факт: във въпросният инициативен комитет сме 15 дългогодишни ИТ-професионалисти и ИТ-предприемачи. Отделно, към ИК има 5-ма експерти по информационни технологии. Няколко от всички тези професионалисти сме специализирани в информационна сигурност.

Безспорно, видеопрезентациите на проф. Халдерман са ефектни. В тях са показани някои съществени слаби страни на естонската система за гласуване.

Но огромна част от откритията за “несигурност” не е толкова в технологиите. Самият професор признава, че естонците са разработили една сложна система с много добър дизайн на сигурността.

Най-големите проблеми, посочвани в най-известните му презентации, са в областта на прилагането на елементарни процедури и правила за оперативна сигурност.

Какво е оперативната сигурност? Това е да има подробни и завършени, описани процедури да се прилагат най-добрите практики в областта на информационната сигурност, съпътстващи изграждането и експлоатирането на една техническа система.

Ето един пример: оставяте ли ключ под изтривалката пред апартамента си? Някои все още го правят. Това е лоша оперативна сигурност: вие знаете, че не трябва да оставяте ключ там, защото е леснодостъпно място и защото е известно, че се прави.

Точно такива са много голямата част от проблеми, които са открили професор Халдерман и неговия екип. Примерите, които той дава, са почти само за липса или неспазване на елементарни процедури и правила.

Някой ще възкликне: след като естонците не са ги спазили, каква е гаранцията че ние ще ги спазим?

Аз бих попитал: а какви са гаранциите, че се спазват механизмите за защита на изборите от манипулации при сегашното (физическо) гласуване? Такива гаранции има точно колкото и при бъдещето електронно гласуване – можете да се убедите от публикацията на Йовко Ламбрев.

Забележете, че голяма част от тези “открития” за несъвършена сигурност в естонския процес на е-гласуване стават известни не защото са открити от проверяващи ии изследователски екипи, а заради доброволна инициатива на самия екип на естонците – да заснемат видео, демонстриращо как работи целият процес. Това, разбира се, не ги оправдава за много от недостатъците – известна поговорка в средите на информационната сигурност е че “скриването не е начин за сигурност.”

Голямата част от списъка на тези недостатъци на оперативната сигурност може да се коригира с елементарни и известни начини на организация – като например избор на множество екипи, които да се контролират взаимно. Други са просто азбучни случаи на пропуски в елементарни процедури за сигурност, каквито например не се допускат в сериозни организации, като най-големи телекомуникационни фирми. Познания и дисциплина да не ги допускат имат не само специалистите по сигурност, но и всички други участници в процеса, дори и не-технически ориентираните.

За да убедим скептиците, че е възможно тези пропуски не са ни най-малко сериозни или фатални и могат да бъдат преодолени, ще трябва да навлезем в технически подробности.

Някой ще възкликне: “Ама това е много сложно!” Да, сложно е. Но е дългогодишна практика, не нещо ново. “Дяволът – както се казва – се крие в детайлите”. “Ангелът също” – бих си позволил да добавя аз.

Ядрените реактори да не би да не са много сложни? А самолетите? При това от спазването на процедурите и правилата за тяхното правилно опериране зависи не просто един вот, а животът на стотици или дори милиони хора.

Затова нека се заемем с примерите на посочените пропуски в оперативната сигурност на естонския процес е-вота и как те могат да бъдат преодолени със стандартни, отдавна известни практики и технологии:

ПРОПУСК 1: “Сървърът, където се разработва софтуера за е-гласуването, е свързан директно към Интернет и така е атакуем както отвън, така и от инсталирането на вреден софтуер (“malware”) който да вкарва несигурност отвътре навън”.

Всяка уважаваща себе си организация има инфраструктура извън сървъра – защитна стена (firewall) и сървър за достъп до Интернет (proxy), през които трябва да се мине, за да се стигне до Интернет. Допълнително, основен принцип на сигурността е вътрешната мрежа на една организация да се сегментира като сървърите и другите важни елементи са на отделен сегмент, разделен с втора защитна стена от останалите компютри на “вътрешната” мрежа.

Основен принцип е както сървърите, така и вътрешната защитна стена по подразбиране да не позволяват връзка към Интернет.

Как ще защитите от някой, на когото му “трябва Интернет”, но е сам на сървъра в момента, от това да пренебрегне правилото и да се свърже директно към Интернет?

Елементарните стандартни практики за това са отдавна разработени:

 - поддържащите сървъри и поддържащите защитни устройства (като защитни стени) да саразлични роли изпълнявани от напълно различни екипи, подчинени на различни мениджъри

 - административната парола за сървъра или защитното устройство (например firewall) се въвежда от няколко души (например 2-ма или 3-ма, а най-добре – два екипа от по 2-ма или 3-ма). Всеки от тези 2-ма или трима знае само част от паролата. Така за да се влезе в режим на администрация на сървъра или устройството, трябва да присъстват всички 2-ма или 3-ма, като всеки последователно въвежда своята част от паролата. (Това е много стар механизъм – използван е за защита срещу злоупотреба за касата на Рилския манастир, например).

Чрез този начин се гарантира с много висока сигурност, че никой няма на своя глава – без да бъде премислен и оценен риска – да промени важни настройки на сървъра и така да застраши сигурността му.

Някой ще опонира, че това е много “тежка” процедура – изисква ангажирането едновременно на твърде много хора. Да, тежка е – но след като искаме възможно най-минималните рисков, трябва да сме готови да платим “цената” за това.

ПРОПУСК 2: “Използван е много слаб хеширащ алгоритъм за проверка интегритета на данни (SHA-1)”

Този пропуск се коригира елементарно (доста учудващо е въобще защо естонците са използвали толкова стар и отдавна обявен за слаб механизъм). Използва се просто много по-неразбиваемия SHA-512 (не струва нищо повече особено – малко повече време на компютъра да изчислява, но няма състезание да се извършва гласуването за микрочастица от секундата, нали?)

ПРОПУСК 3: “WiFi парола за мрежата на системите за гласуване се вижда написана на стената в една от стаите за разработка” (вижда се във видеото, направено от самия естонски екип за да покаже сигурността на процеса на е-вота).

Елементарна сигурност, която може да се гарантира от знаещи мениджъри, както и от взимноконтролиращи се добре обучени екипи..

Също така, от видеото въобще не става ясно дали в тази WiFi мрежа са включени сървърите и компютрите за разработка на софтуера за гласуване – тя би могла спокойно да е само за свързване към Интернет, например.

ПРОПУСК 4: “Ползва се онлайн услуга за дейности, които може да афектират сървърите: конкретно, вижда се как екипа разработва конфигурационни настройки ползвайки онлайн услуга.”

Отново – елементарна оперативна сигурност: ако е нужен Интернет, той се ползва на други компютри на друга мрежа, различна от тази на сървъри и работни станции за разработка , тестване и реализация на системата за е-вота. Пренасянето на информация от едната на другата мрежа може да става с междинни компютри, където да се прехвърля изработеното или сваленото от Интернет, да се сканира и да бъде достъпвано по другата мрежа, като първо компютъра бъде откачен от първата мрежа.

ПРОПУСК 5: “На работните станции за разработка на софтуера за е-гласуване има инсталирани ИГРИ и друг съмнителен софтуер“

Безспорно крайно аматьорско “изпълнение” на естонските колеги. Липса на елементарната практика на сигурността в случая е просто въпиюща – това е правило №1 на сериозно разработване на софтуер въобще от всяка елементарно уважаваща се организация.

Работните станции за разработка на е-вот софтуера трябва да са централно поддържани и “заключени” максимално срещу конфигурационни промени. Те трябва да не са притежание на разработчиците. Изготвящите софтуера не трябва да имат административни права върху тези станции. Софтуер трябва да се инсталира само от друг, отделен екип занимаващ се само с поддръжката им, и то само след изрично поискване и одобряване от мениджмънта. Станциите трябва да бъдат постоянно сканирани за промени в конфигурацията.

Всичко това са масови практики във всяка средна и всички големи фирми.

За проект като този – изискващ максимална степен на сигурност заради твърде голямата цена ако изборите бъдат фалшифицирани заради технологиите – трябва да се инсталира не само стандартния анти-вирусен софтуер, но и софтуер за наблюдение на интегритета (File Integrity Monitor – FIM) на всяка станция.

ПРОПУСК 6: “Ползване Windows компютри за разработка”

Всеизвестно е от десетки години, че – най-вече заради своето широко разпространение: над 90% от лаптопите и десктопите в света са Windows – това е платформата, за която има най-много вируси, “троянски коне” и най-успешни атаки.

Затова сигурността може значително да се подобри с наемане/обучаване на разработчици на платформи като Mac OS X или Linux, които да бъдат “домакин” на “виртуална” Windows система, изпълнявана вътре в тях и единствено ползвана за разработката.

Така ще е много по-сигурно изработването на софтуер за Windows (нали все пак повечето избиратели ще гласуват точно от Windows!), докато в същото време се намали многокатно възможността за атаки и тайно, незабележимо вмъкване на нежелан и опасен софтуер. Много добра и напълно възможна практика би било най-малко всеки ден – а защо дори не всеки час – да се “освежава” (преинициализира) виртуалния Windows от начално, проверено и сигурно копие.

А сървърния софтуер най-добре да бъде разработен на не-Windows система.

ПРОПУСК 7: “Използват се на ЛИЧНИ компютри в работата по софтуера и системата”

Тук едва ли има какво повече да се коментира от вече описаното в Пропуск 4.

ПРОПУСК 8: “ПИН-кодове и пароли за критични части на системата – сървъри, електронни карти – се въвеждат с просто писане с клавиатурата, което може да бъде прихванато от почти всеки троянски кон/вирус.”

Този пропуск се коригира като се въведе задължителна практика – като процедура, както и като технология – да се ползва “виртуална” (изписваща се на екрана графична клавиатура). Тогава ПИН-кода/паролата се въвежда с щракане на мишката върху графичните образи на клавишите на екрана. Така една тайно инсталирана “подслушваща” програма няма да може да “прихване” от кои символи се състоят тези чувствителни информационни елементи.

Огромна част от хората сигурно не знаят, но такъв начин за писане има вграден в Windows, както и в много други системи.

Друг начин – когато е нужно въвеждане на пароли на само текстови екрани (например сървърни конзоли/командни прозорци) е да се ползват не прости пароли, а двойка публичен/частен ключ, защитена с парола. Логването тогава е възможно само ако и ключа е наличен (а той може да е на флаш памет или друг външен носител, които се прикачат към компютъра само в момента на логването/аутентикирането).

Последното не е абсолютна защита, но би спряло огромна част от враждебните подслушващи софтуери да копират и след това да използват ПИН-а/паролата.

ПРОПУСК 9: “Използват се твърде елементарни физически ключове за вратите и шкафовете на ИТ-центъра където са сървърите; много лесно да се копира ако някой го види”.

Отново неясен елементарен пропуск на физическата сигурност: всяка ключалка може да бъде “хакната”, но някои са много трудни и нужното време е много или инструментите – доста скъпи.

Тази заплаха се намалява значимо с ползване на по-сложни ключалки. Но да не забавяме, че ключът въобще е видян само благодарение на видеото, което естонците са направили, в което той попада случайно.

ПРОПУСК 10: “Използва се свързване на външни устройства – като USB флаш памет – към най-важните елементи на системата” (сървърите за приемане и броене на гласове).

Безспорно, на най-критичните елементи на системата могат да бъдат ограничени или изключени (чрез настройки в BIOS или операционната система) свързванията на несигурни устройства. Проблемът специално с флаш памет идва от факта, че така най-ефективно се инсталират “rootkits” (дълбоко “окопани” и трудни за откриване враждебни атакуващи програми). Точно по този начин е бил пренесен специализирания софтуер, с който бяха извадени от строя хиляди центрофуги за обогатяване на уран в Иран преди няколко години.

 

Освен гореизброените, има и още многобройни станали стандартни защитни механизми и идеи, които или не са били реализирани от естонския екип, или не е известно да с ползвани. Ще ги изброя набързо, но съвсем кратко казано те могат да повишат изключително много сигурността на една система за е-гласуване:

 - Програмата за е-гласуване, която се сваля от избирателя, да е на практика специално направена и максимално заключена “виртуална машина” – за да бъде много по-трудно атакувана от компрометиран компютър, от който се гласува

 - Защита на Интернет-свързаните сървъри – освен с обикновени мрежови защитни стени (firewalls) – и с облачно-базирани специализирани защитни стени за уеб-приложения (WAF). Такива услуги спират огромен брой атаки преди още въобще да стигнат до същинския сървър.

 - Динамично “въртене” на IP адресите на Интернет-свързаните сървъри – за да не могат да бъдат атакувани лесно с DDoS атака (“динамична разпределена атака” с цел забавяне или сриване работата на сървърите)

 - Ползването на няколкостотин – а не само няколко – сървъра за гласуване

 - Ползване идеята за “разпределено съхранение на данни” – на практика по пример на “торентите”, като криптирания глас се съхранява на всеки компютър на избирател, инсталирал си софтуера за гласуване; така ще стане абсолютно невъзможно да се подменят гласове на “централния” компютър за броене – както е посочено за слабост в естонската система

 - Ползване на български специалисти за разработката, но на чуждестранни специалисти за контрола, наблюдението и инсталацията на софтуера и техническите системи за е-гласуването

 - Ползване на много голям брой и географски пръснати по целия свят сървъри в специализирани и с висока сигурност информационни центове – за предотвратяване атака на българската Интернет-инфраструктура (единствената сериозна и доказана атака срещу естонското е-гласуване е осъществена точно по тази причина – е всичко е на “едно място”, в мрежата на една държава)

Разбира се, много от предложените решения на пропуските изискват наемането на много добре обучени и с голяма практика специалисти по информационна сигурност. Евтино. Но след като искаме да осигурим много по-голяма степен на сигурност спрямо други дейности с електронни технологии, е само въпрос на воля да го направим.

Като заключение, трябва да не забравяме, че всяка защита на система – техническа или не – е преодолима, защото по дефиниция е несъвършена. Не само заради многобройните непредвидени състояния, в които може да изпадне, но най-вече защото е създадена от несъвършени хора.

Въпросът е рискът да е достатъчно малък, за да е приемлив за обществото.

Ако чакахме всяка технология да бъде “100% сигурна”, щяхме да живеем вероятно още в пещерите.