Не стихва дебатът покрай зрелищния провал на сегашната система за случайно разпределение на делата (ССРД) в съдилищата. Макар да е отдавна известна (поне от началото на 2013-а) опасната възможност за манипулиране избора на съдии, общественото пространство беше взривено наскоро от необяснимата липса на разпределението не на кое да е, а на ключовото за политическото здраве дело за КТБ.
Мненията категорично клонят към създаване на нова система за случайно разпределение. Основното, на което тя трябва да отговаря, е да истински сигурна. Сегашната платформа – “Law Choice” – е изключително лесно и елементарно манипулируема, както бе демонстрирано брилянтно в доклада на експерта Васил Величков, съветник на вицепремиера Румяна Бъчварова. Многократно “разпределение” до достигане на “желания” съдия по дадено дело може да извърши всеки с достъп до компютър в конкретното съдилище, без нужда от особени компютърни познания.
Колко добре сегашният софтуер “защитава” случайния избор на съдия по едно дело? Точно толкова, колкото ако заключите вратата на къщата си, но оставите прозорец отворен.
В дебатът по въпроса какво да правим се коментират най-вече мнения кой трябва да изготви новата система, по каква поръчка, колко ще струва тя …
В тази иначе изключително здравословна обществена дискусия, обаче, липсва нещо важно: какво ще гарантира, че новата система ще е по-добра от сегашната?
Главната опасност е в слагането на каруцата пред магарето. В случая – тенденцията първо да избираме кой ще осъществи проекта, и след това да се надяваме, че той “знае” как се “правят нещата”.
А трябва да е обратното. Държавата – в лицето на МС и ВСС – трябва първо да изготви детайлни изисквания каква сигурност очаква от една такава нова система. И чак тогава да започва конкурс за изпълнител и поръчка за изработката й.
Няколко фундаментални принципа на сигурността
На първо място, най-важно е да бъде търсена цялостна сигурност на системата. Една такава система не се състои просто от един “софтуер”, а е съвкупност от много повече компоненти. Най-просто те могат да бъдат дефинирани в четири обособени групи: софтуерни апликации, бази данни, сървъри и мрежова инфраструктура.
Изключително важно е да се използва парадигмата “сигурност в дълбочина” – внедряване на сигурност във всеки компонент от тези групи. Защото една сложна система е точно толкова сигурна, колкото най-слабото й звено.
Ако внедрим отлична сигурност в апликациите, но недостатъчна в участващите сървъри, рискуваме отново някой ден да открием как някой е намерил “цаката” да манипулира разпределението. Една такава бъдеща манипулация може и да е доста по-трудна от демонстрираната от експерта на правителството. Но подобни рискове непременно трябва да бъдат взети предвид. Защото потенциалните интереси, които ще бъдат засегнати от смяната на ССРД, са огромни. Стоящите зад тях гарантирано могат да купят най-добрите хакери или свои “агенти под прикритие” в лицето на работещи в съдилищата.
Няма подробно разписани “стандарти” точно какви елементи на сигурност да бъдат внедрени в една система като тази конкретно за случайно разпределение на съдебни дела.
Но предвид обществената значимост на решавания проблем, в нея трябва да бъдат вложени много голяма част от най-напредналите концепции и методи за намаляване и елиминиране на потенциалните рискове.
Разбира се, рисковете трябва да бъдат достатъчно разумно оценени. Има различни степени на риск и към тях трябва да се подходи пропорционално. Например рискът да бъде разчетено криптирано съобщение – създадено по най-добрите практики – от атакуващ отвън хакер, без достъп до ключа за декриптиране, е нищожен.
Как да изберем изпълнител на поръчката, който ще създаде най-сигурната система?
Първо, трябва да бъдат създадени специфични изисквания към сигурността на ССРД още преди да бъдат търсени фирми, които да я разработят. На базата на тези изисквания, фирмите-кандидати трябва да отговорят на подробен списък с технически изисквания на желаната от поръчителя сигурност. Така потенциално избраният изпълнител няма да може да се “измъква” защо не е изпълнил елементарни практики за защита, нито да изнудва държавата за неоправдани доплащания по поръчката.
Тъй като сигурността на една нова ССРД е с много голям приоритет – предвид огромният обществен интерес – то трябва да бъде избран този изпълнител, който удовлетворява в най-голяма степен изискванията за сигурност.
Ако кандидатите не могат да удовлетворят буквално абсолютно всяко изискване в максимална степен, важно е да се оцени поотделно риска на неизпълнимите изисквания. Ако те водят до твърде голямо увеличение на риска, поръчката да се допълни с изисквания за спомагателни методи за редуциране на риска, които да работят в периода до максималното му намаляване. Много важно е също и да се изиска конкретен план и срок за всяко подобно отлагане в прилагането на най-добрите практики в сигурността и заместването му с временни средства с по-малка ефективност на защитата.
Всичко това е важно за да избегнем повърхностно опростяване от типа да изберем кандидат-изпълнителя, събрал механично най-много отговори “да” на въпроса дали изпълнява изискванията за сигурност.
Тези изисквания трябва да станат неизменна част от договора за осъществяване на поръчката. В този договор изключително важен елемент трябва да е и клауза за проверка и одобряване на детайлен технически дизайн още преди започването на изработката на една нова система от избрания изпълнител.
Дизайнът трябва да включва раздел за сигурността, подробно описващ какви конкретни решения се прилагат за всяко от изискванията на информационната защита.
Този документ е най-добре да бъде прегледан и одобрен от поне няколко реномирани независими (извън държавните институции и несвързани с изпълнителя) консултанти по информационна сигурност. Възможно е консултантите да намерят несъответствия с предявените изисквания за сигурност. В такъв случай трябва да бъде предварително договорено как ще бъде процедирано от двете страни. Държавата – в качеството си на възложител – трябва да има крайната дума и да подпише дали и при какви условия приема посочените разлики между изискванията и предложения дизайн по отношение на идентифицираните рискове.
Постигането на достатъчно висока степен на сигурност не се изчерпва само с процеса на създаване на една система. Най-добрите практики изискват също редовни и периодични независими проверки (одити) след внедряването й. Резултатите от тях се обсъждат с изпълнителя и се договарят кои проблеми (с каква степен на риск) да бъдат отстранени и в какви конкретни срокове.
Във всеки един момент институцията, отговорна за случайното разпределение, трябва да е наясно с текущия риск.
Основни архитектурни принципи на една нова система за случайно разпределение на делата
Експертът на правителството Васил Величков вече предложи – в одитния доклад, разкриващ механизма за манипулация – кратък списък от механизми за една много по-голяма сигурност на бъдещата платформа. Ето и още някои по-общи архитектурни принципи на сигурността от високо ниво и несвързани с определени технологии, които (силно препоръчително) да бъдат вградени в новата система:
- Централно генериране на случайното разпределение – за разлика от настоящия локален (във всяко съдилище) случаен избор. Съдилищата ще ползват компютрите си само да подават заявка за разпределение и за да видят резултата. Самото разпределение трябва да става в централна специализирана система.
Локалното разпределение е изключително трудно за контрол, както показа докладът. Ако бъде намерено слабо място, то може да бъде използвано и манипулациите мултиплицирани в много съдилища – без ВСС (или която и да е друга държавна институция) да има и идея за това. - Незабавно автоматично публично обявяване резултатите от разпределение.
Една от огромните слабости на сегашната система “Law Choice” е изискването за човешко действие за публикуване резултата на разпределението на сайта на ВСС. Това предоставя потенциална възможност за многократни и масови злоупотреби.
Затова в една нова система, резултатът от разпределението трябва да се публикува автоматично и моментално. Това ще вдигне многократно доверието към честността на процеса. - Повторно разпределение на едно и също дело задължително да изисква мотиви и да следва уникална идентификация.
Понякога се налага повторно разпределение на дело по обективни причини – например, съдията е болен. Подобно последващо разпределение на същото дело трябва да изисква задължително въвеждане на минимален текст с мотиви, който също да се обявява публично заедно с новото разпределение.
За да не се налага използването на “заобиколни” методи – както се оказа че се прави сега за повторен избор по същото дело – всяко генериране, дори грешно или повторно наложило се, да има свой уникален идентификатор (номер). Това ще подсигури интегритет на процеса и отново – ще увери обществото, че няма технически “трикове” от страна на съдилищата. - Разделяне различните дейности на системата върху различни компоненти.
Например компонентът, приемащ заявките за разпределение, да е отделен от този, който генерира кой съдия се пада на делото, а съвсем друг, трети компонент, да съхранява и показва резултатите.
Доста често с цел спестяване на средства, тези дейности се реализират на един и същ сървър, което увеличава потенциала за намиране на възможни “дупки” за манипулиране. - Отделен екип за поддръжка ССРД.
В него не трябва да не участват специалисти, поддържащи останалата част от средата, в която работи ССРД.
Целта е постигане на разумна степен на независимост от тези, които биха били имали техническата възможност да злоупотребят със системата. - Взаимен контрол върху най-чувствителните части на системата – като стартиране и спиране на системата, инсталиране на нов софтуер, но най-вече – при генериране и съхраняване на криптиращи ключове и пароли.
Дейността по криптиращите ключове може да се подели между поне двама участници в процеса, като всеки знае само своята част от цялата “парола”, необходима за създаване или използване на такъв ключ.
Любопитна подробност е, че подобен механизъм са прилагали българските монаси още в средновековието: двама различни монаси са имали ключ за различните ключалки на касата на Рилския манастир. - Дублиране резултатите от разпределенията в допълнителен компонент, който не е под контрол на същата институция.
Представете си ако всеки случаен избор се записва не само на сървър на ВСС, но и на отделен сървър в Министерството на правосъдието, или друга институция. Това ще създаде сериозна допълнителна трудност пред желаещите да манипулират избора, тъй като ще трябва да проникнат – технически или с участието на съдействащи им лица – не на едно а на две различни места. - Поддържане висока степен на цялостна сигурност на широката средата, в която оперира ССРД.
Сигурността трябва да бъде търсена и поддържана не само в техническите елементи, участващи непосредствено в разпределението, но и във всички останали, които по някакъв начин (директен или не) могат да комуникират със ССРД.
Това включва редовно и често обновяване и на не-специализирания софтуер на всички елементи и компоненти в средата около ССРД – като операционни системи, вграден софтуер (“firmware”), базов софтуер, платформи.
Задължително е също и редовно, планирано и достатъчно често сканиране за предварително откриване на потенциални проблеми със сигурността (“vulnerability assessment scanning”) от екипите, поддържащи както ССРД, така и средата в която тя работи.
Някои специализирани механизми за сигурност, липсващи в сегашната платформа и задължителни в новата
- Тъй като една централизирана система ще изисква отдалечен достъп от съдилищата, компонентът за поръчка на разпределение ще трябва да е достъпен през интернет. С цел висока степен на сигурност, най-добре е този достъп да става по криптирана връзка – такава като VPN (“Virtual Private Network”). Това трябва да се комбинира и с висока степен на сигурността при автентикация. Възможната реализация е внедряването на парола за еднократно използване (OTP – “One-Time Password”). Съществуват много удобни решения с мобилни апликации, които генерират тази временна парола, валидна само в следващите 30 или 60 секунди.
- Ползване цифрови сертификати за “подписване” резултата от разпределение с цел запазване цялостността му и невъзможност да бъде променен без откриване на такава неоторизирана промяна
- Ползване на многократно проверени стандартни механизми за криптиране, за разлика от “домашно-сготвени” методи. Последните обикновено са повърхностни и лесно преодолими (има съмнения че сегашната версия на Law Choice ползва точно такива)
- Криптиране на всякакъв мрежов обмен на информацията между елементите на системата
- Криптиране на системно ниво на пространството за съхраняване данните и резултатите от разпределението
- Регистриране на всеки вид достъп и всяко събитие/действие в “журнал” (“log”) във всеки отделен компонент на системата. За най-голяма ефикасност и предпазване от “заличаване на следите”, е крайно препоръчително да се внедри и централизирано решение за събиране и анализ на събития свързани със сигурността (“SIEM”). Самите “журнали” специално трябва да са защитени срещу неоторизирана промяна.
- Внедряване на система за засичане на пробиви и наблюдение срещу неочаквани промени (IDS – Intrusion Detection System) в компонентите на системата.
Дори и в най-добрата система може да съществуват неизвестни пробойни. Понеже докато не станат известни, за тях не съществуват предпазни защити, проникването чрез тях може да бъде “засечено” по други признаци. Такива са например източване на големи обеми от информация за кратко време, или промяна на (или дори само достъп до) ключови настройки в системата. Една система за наблюдение автоматично ще алармира отговорни специалисти при засичане на дадено неочаквано събитие. Условията какви събития да бъдат засичани на базата на това какви рискове са свързани с тях ще бъдат предварително оценени.
Този механизъм ще даде възможност за бърза реакция при пробиви в сигурността. Особено важна е такава система за сървърите и мрежовите устройства – да се наблюдават правата за достъп, събитията за достъп и промяна на ключови файлове.
- Отделяне на СПРД в отделна “под-мрежа” в средата, където е оперирана.
Това ще позволи внедряване на нейни собствени мрежови защити срещу останалите – макар и смятани за “доверени” – системи в същата мрежа.
- Създаване на добре дефинирани роли за различните потребители на СПРД и ограничаване достъпа им до минимално необходимия – такъв, позволяващ само извършването на действията, за които са упълномощени и имат служебни задължения.
- Всяка нова версия на специализираните софтуерни апликации на ССРД, да бъдат подлагани както на статично сканиране (проверка сигурността на изпълнимия код без стартирането му), така и на динамично сканиране (проверка реакциите на стартираната апликация при различни видове атаки)
- Забрана на мрежово ниво за достъп до частта от системата за заявка на разпределение от небългарски интернет адреси. Това ще намали значително както обема на опитите за атаки през интернет (особено автоматични такива), така и вероятността подобна атака да успее.
Този списък, разбира се, и не е изчерпателен. Той съдържа само крещящо липсващо в сегашната платформа “Law choice”. Информационната сигурност на една средноголяма система се специфицира обикновено с над 200 отделни и конкретни изисквания.
Каква е “гаранцията”, че ще имаме 100% сигурност?
Някой ще каже: момент, нали постоянно чуваме, че винаги може да се открие пробойна във всяка система, дори в направените от най-добрите в света?
Че няма 100% сигурност в каквото и да било в реалния свят не е нещо ново.
Но това в никакъв случай не означава да не правим нищо. Защото в областта на сигурността – както и с много други неща в живота ни – нещата не са само “черно” и “бяло”, а са степенувани.
Защото 90% сигурност е много по-добре от 10%, нали?
Това, че някой може да прескочи оградата на лозето ви, не означава да го оставите съвсем без ограда, нали?
Не трябва да си правим и илюзии, че една сигурна система за случайно разпределение на делата в съдилищата ще реши всички или дори голяма част от проблемите на съдебната ни система. Справедливостта и прилагането на закона зависят в много по-голяма степен от човешката, моралната страна. А тя е къде-къде много по-трудна и сложна за “ремонтиране”.
Но при положение, че поне техническата част на процеса за случаен избор на съдии може да бъде защитена достатъчно добре срещу манипулации – време е да го направим.
—
* Авторът Красимир Гаджоков е дългогодишен консултант по информационна сигурност с водеща роля в ключови проекти за стотици милиони във втората най-голяма канадска комуникационна компания с милиардни годишни приходи.
Поредната задълбочена статия по темата за информационната сигурност на държавните институции. Наскоро списвах един пост за това колко лесно е за всеки тийнейджър с подходящ лаптоп да прихване паролите за достъп на магистратите до сайта на ВСС. Тогава се поразрових и установих, че има поръчка за 33 хил. лв. за обновяване на същия сайт. Като си спомня как преди една-две години за 50 хил. лв. направиха по един акаунт във Facebook и Twitter, не знам сега за тия 33 хил. лв. какви размазващи иновации да очакваме. Та мисълта ми е, че те парите си се дават и се прибират, ама резултат…
Прекрасен анализ. Бих добавила и независими одити на IT фирма/и (най-добре не български), които да наблюдават и проверяват прилагането и функционирането на секурити елементите. Ще е по-скъпо, но абсолютно си заслужава.