Божидар Божанов е компютърен специалист, основател и ръководител на LogSentinel.

...
Божидар Божанов е компютърен специалист, основател и ръководител на LogSentinel.
Коментари Харесай

Течът на данни от НАП беше неизбежен

Божидар Божанов е компютърен експерт, създател и началник на LogSentinel. Работил е като консултант към Министерския съвет. Текстът е от блога му и е препечатан с дребни съкращения. Заглавието е на " Дневник ".

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

Инцидентът

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

По информация на хора, които са разгледали данните, вътре има ЕГН-та, три имена и осигурителни приходи на милиони жители, номера на персонални карти, както и данъчни заявления, цивилен контракти, а също и данни от други инстутуции – Агенция по заетостта, Агенция Митници, Агенция за обществено подкрепяне. Има данни за задгранични юридически лица и любопитни данни, като да вземем за пример файл, озаглавен QneQnev.

Дали приключването на тази информация е съдбовно – не. Дали е огромен проблем – сигурно. Ако не беше, нямаше данъчно-осигурителната информация да се употребява със специфичен статус (и Национална агенция за приходите постоянно да употребява тайната на тази информация като мотив да не обменя данни с други институции).

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

Как?

Няма публична информация по какъв начин е станал пробивът, само че на няколко места излезе слух, че е така наречен SQL инжекция. Това звучи правдоподобно, тъй че ще разясня него. SQL инжекциите са измежду най-простите уязвимости – хакерът вкарва особено квалифициран текст в обещано поле и получава надзор над базата данни, тъй като разработчикът не е " почистил " входните данни (и не употребява така наречен prepared statements).

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

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

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

Длъжностите в администрацията са написани в така наречен класификатор. До 2016 година там нямаше ИТ длъжности (ИТ фрагменти бяха наемани на общи експертни позиции). Тогава предложихме изменение на класификатора, тъй че да включим ИТ длъжности и то на оптималните вероятни равнища на възнаграждение за съответния опит. Това, несъмнено, отново е доста под пазарните заплати, само че е някаква стъпка.

Паралелно това, с промените в Закона за електронното ръководство направихме две неща. По-маловажното беше, че създадохме алтернатива Държавна организация " Електронно ръководство " да сътвори стратегия за привличане на специалисти от частния бранш, които краткосрочно да оказват помощ за ИТ услугите на страната. Нещо, което и аз правех тогава, само че в мащаб. Нещо сходно на американските 18F/USDS. Това, ненужно е да споделям, не се случва към този момент трета година.

По-важното беше основаването със закон на държавно дружество " Единен систематичен оператор ". Идеята му е да може да дава пазарни ИТ заплати, като дава избрани услуги на държавната администрация – механически задачи, планов надзор, проби, в това число за уязвимости, ръководство на поддръжката на инфраструктурата, консултиране на основни планове, незабавни ограничения по " закърпване " на проблеми, и други Това дружество също трета година е блокирано и не се случва. Изпълнителната власт, и Горанов включително, сякаш осъзнаха потребността от нещо такова след срутва на Търговския указател предходната година, само че очевидно просветлението е било кратковременно. И това не сме си го измислили ние – BRZ (Австрия) и GDS (Великобритания) са едни от образците за сходни структури в Европа.

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

Информационна сигурност

Причината за ниското равнище на осведомителна сигурност е човешкият фактор, който е разследване на политическа некомпетентност. Но въпреки всичко има метод нещата да станат малко по-добре даже единствено с уместно структурирани правила. С промени в наредбите към Закона за електронното ръководство въведохме редица условия за осведомителна сигурност, включително образец за задание за всички нови планове. В този образец категорично се приказва за осведомителна сигурност и за уязвимости от вид SQL инжекция и XSS, тъй че планове, основани по този образец, да са умишлено тествани за такива уязвимости, а съществуването им да се явява несъблюдение на контракт. Между другото, тогава Национална агенция за приходите бяха срещу някои текстове, тъй като те вътрешно си пишели някои системи и някои условия не важали за тях.

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

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

Течът обаче не значи, че всички системи в Национална агенция за приходите са толкоз " пробити ". Хакерите постоянно нападат най-слабото звено в системата. Именно по тази причина осведомителната сигурност е мъчно нещо и не е еднократно изпитание. Нужни са редица от ограничения и непрекъснато внимание към голям брой елементи. Рискът в никакъв случай не е отстранен 100%, което е видно и от всекидневните пробиви в уважавани частни компании. Но една държавна институция няма право да позволява толкоз елементарни за осъществяване (и за предотвратяване) пробиви.

GDPR

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

В Национална агенция за приходите, а и освен, следим тъкмо противоположното – вършат се всекидневни копия на данни от други администрации и те се пазят постоянно. Винаги съм бил против тази процедура, тъй като с изключение на рисковете за теч на данните, основава и редица други опасности – да вземем за пример от неактуални данни. При електронното ръководство има така наречен първоначални регистри. Те са единственият настоящ и правилен източник на данни и инспекциите би трябвало да се вършат в действително време, а не върху техни копия. Тази процедура би трябвало последователно да намалее и да спре, като бъде сменена от директния продан на данни сред администрациите. Обмен, който с изключение на всичко друго, оставя диря – кой, по кое време какви данни е чел и за кого. В сходство с правилото на отчетност на GDPR. Друга мярка, която GDPR планува, е криптирането. Ако сензитивните данни бяха криптирани по избран метод, тогава SQL инжекцията можеше и да не бъде сполучлива.

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

Проблемът със отбраната на данните е огромен в международен мащаб. Всеки ден текат данни от всевъзможни компании. Това не е опрощение за обикновените неточности на Национална агенция за приходите, само че слага нещата в вероятност. А GDPR е опит да понижи риска това да се случи. Разбира се, GDPR не може да спре теча на данни заради небрежност. Целта му е да направи такива течове по-малко евентуални и с по-малък резултат посредством редица ограничения и по-важното – посредством няколко съществени правилото, с които всички участващи в построяването и оперирането на програмен продукт да са наясно. Засега не е ясно дали съумява да понижи този риск.

Мерките?

Какви ограничения могат да се вземат на този стадий. Краткосрочните: прекъсване на уязвимата услуга (вече направено), цялостен одит на сигурността на всички системи освен в системата на Министерствоjf на финансите, ами в цялата страна. Проверка дали всички осведомителни системи са включени в одита на Държавна организация " Електронно ръководство " и поредната им автоматизирана инспекция за уязвимости.

Средносрочните са осъществяване на образования на всички чиновник в ИТ дирекциите за осведомителна сигурност и отбрана на данните и запознаване с използваната нормативна уредба, но освен като членове и алинеи, а и какво стои зад нея. Евентуално узаконяване на всички първостепенни и второстепенни разпоредители по ISO 27001 (стандарт за осведомителна сигурност), въпреки че те към този момент имат това обвързване съгласно наредбата за общите условия за мрежова и осведомителна сигурност. Друга средносрочна мярка е поощряване на така наречен отговорно докладване (reposnisble disclosure). Хора, които откриват уязвимости и го рапортуват на органа, без да има риск да бъдат осъдени (и даже против финансово възнаграждение). Такъв текст бяхме добавили в Закона за електронното ръководство, само че при приемането не Закона за киберсигурност се е изгубил.

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

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

Комуникацията

Комуникацията на формалните лица може да се раздели на две елементи – от една страна тази на специалистите в Национална агенция за приходите, отпред с пиара Росен Бъчваров, и въпреки това всички останали.

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

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

Хакерът

Хакерът първо беше съветски, след това сякаш го откриха и се оказа български. Първо, това, че хакер твърди, че е някакъв, не значи безусловно нищо. Всеки може да си записва поща в Яндекс и да твърди каквото си желае.

Дали хванатият наистiна е причинител, ще реши съдът. ГДБОП би трябвало да събере доказателства и от тях да следва еднопосочно, че той е причинителят. Дали откритият файл, в който се съдържа името му, е същински или не – не можем да кажем. Има доста разновидности, в които е същински. И такива, в които не е.

Ако това не беше същинският хакер, може би същинският щеше да напише писмо, с което опровергава, че е хванат. Но би трябвало да е от същия имейл адрес (и отново няма гаранция, че не е дал паролата на друг). Проверка по онлайн конгреси демонстрира, че евентуално уличаващи мнения изчезват, т.е. евентуално някой различен има достъп до сметките му.

Дали хакерът е " вълшебник " обаче, е относително ясно – не е. Злоупотреба с SQL инжекция може да направи съвсем всеки. Ако е оставил да бъде открит, значи не си е покрил добре следите.

Какви биха били претекстовете му – има доста разновидности. Просто адреналинът от това до пробиеш система на държавен орган е един претекст. Ако мога да изтъквам обичан филм (The Dark Knight) – " Някои хора просто желаят да гледат по какъв начин светът гори ". Ако приемем хипотезата, че не е един уединен хакер, а група хакери, евентуално свързани с друга страна, тогава претекстовете одобряват напълно различен темперамент. А тази догадка не можем да я изключим напълно на този стадий.

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

Заключение

В умозаключение, имаме доста да научим от този случай. За осведомителната сигурност, за отбраната на данните, за политическата адекватност и за дълготрайните промени, чието неслучване води до предстоящи резултати. Такъв случай беше неминуем при равнищата на подготвеност в администрацията. С това не споделям, че там няма никакви способени хора, а просто, че са малко и не могат да огреят на всички места. Аз, да вземем за пример, съм кърпил системи, до момента в който бях в Министерския съвет, само че фокусът ми беше по-скоро към формулиране на решения на систематичните проблеми. Защото ще закърпя една система, а други три ще останат пробити.

За такива произшествия би трябвало да се носи политическа отговорност. Дали посредством оставки или на избори, не знам. Но всеки случай е разследване от нечие деяние или безучастие.

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

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

Всичко, което би трябвало да знаете за: Изтичането на персонални данни от Национална агенция за приходите (49)
Източник: dnevnik.bg

СПОДЕЛИ СТАТИЯТА


Промоции

КОМЕНТАРИ
НАПИШИ КОМЕНТАР