Хакери в детската градина
Не мога да се въздържа, защото Лора Крумова е много готина, обаче не може да разбира от всичко. Както и повечето родители…
Вчера сутринта започна регистрацията на деца за детските градини на адрес http://kg.sofia.bg. До тук нищо нередно – общината се опитва да спести на родителите часове опашки за записване с подаване на документите лично на хартия. Изготвя се техническо задание, провежда се търг, участват 7 или 9 фирми (госпожа Йорданка Фандъкова – заместник-кмет на София не можа да се сети колко точно), една от тях – „Сирма груп“ АД – печели конкурса. Изненадващо за мен беше, че никъде на посочения сайт за регистрация на деца в детските градини, нито пък в сайта на „Сирма груп“ АД или някое от нейните подразделения или дъщерни дружества не беше посочен този факт. От какво всъщност се оплакваме: регистрацията трябвало да започне вчера сутринта (04.02.2008 г.) в 9:00 часа. За около 4 часа обаче сайтът бил недостъпен, работел много бавно, не позволявал да се извърши регистрация и да се избере детска градина, в която детето да кандидатства. Затова много родители, които ДОРИ си били взели почивен ден (и двамата родители, сподели майка в студиото на NOVA сутринта), бяха разгневени, огорчени и сърдити. Затова заключаваме: „Сирма груп” АД, общината и всички други виновни – на съд!!! Да гният на топло до живот, да видят дали ще мамят пак целокупния български народ от София с тия компютърни регистрации!…
Да започнем от начало. За мен е логично в техническото задание, което предхожда подобен процес задължително, да се съдържат данни относно очакваната посещаемост на сайта (когато става дума за интернет-базирано приложение). По този начин екипът, разработващ приложението, ще може да съобрази процесът на работа и техническото оборудване, което ще е необходимо, за да се справи сървърът и самият код с подобен брой заявки. Това най-често става, като се посочват очакваните среднодневни стойности на посещаемост (по този начин можете да установите приблизително колко души може да се очаква да посетят сайта и да стартират приложение едновременно), както и пиковата посещаемост (колко биха били тези хора в моменти на максимална натовареност). Всички посочени данни са необходими, за да може хардуерът да се проектира така, че скоростта на достъп до базата данни и скриптовете от приложението да се оптимизира и да може да се справи с всички едновременни заявки на потребителите.
Какво обаче се случва у нас: Въпреки че сроковете за регистрация на децата са от 04.02.2008 г. до 30.05.2008 г. (близо четири месеца), всички се опитват да се регистрират в първите 5 минути. Нормално за България всичко безплатно се прави в първата секунда, а всичко, за което ще се плаща – в последния момент – справка: плащането на данъци. Безумието тук е предизвестено, защото децата ще се класират по доход, след което ще се подредят по реда на постъпване на молбите (не мога да се сетя за друга причина за тази истерия). Ако това е така, в техническото задание би трябвало да пише, че пиковият брой очаквани заявки е равен на броя на децата, за които се очаква да бъдат подадени заявления (9 000 по данни от телевизия) плюс поне още толкова роднини и приятели, които също са пред компютъра и цъкат, за да е по-сигурно, че детето наистина ще се регистрира. Съмнямав се да има сайт на българска държавна институция (пък дори и частните – да прощават, ако има такива), който да изтрае на 9 000 клика едновременно (това е относително казано, но да кажем в рамките на секунди). Все пак не става дума за проста HTML страница, а за скрипт, който отправя заявки до база данни, търси и записва в нея и връща динамично съдържание в зависимост от резултата от тези заявки. За онези от вас, които се интересуват – припомнете си какво стана с електронния регистър на Комисия за финансов надзор в деня, когато за кратко бе разпространена информацията, че там ще бъдат публикувани всички новини, свързани с публичните дружества и емитенти на ценни книжа: „Сървърът е претоварен, моля изчакайте няколко минути, преди да се свържете отново.“, казваше съобщението.
На следващо място нека имаме предвид още нещо. Дори да приемем, че хардуерът и базата данни бяха така подбрани и конфигурирани, че скоростта на харддисковете и процесорната мощ позволява уеб-сървърът да изпълни 9 000 заявки наведнъж и базата да поеме няколко хиляди запитвания едновременно, конкуренцията не би допуснала това, нали? Защото в случаят с уеб-сайт е много лесно да саботираш другия, за да докажеш себе си. По този начин изключваш потърпевшия от всякакви шансове да работи с държавни клиенти занапред. Как става това? Да допуснем, че от деветте участвали в конкурса фирми три се чувстват лично обидени и искат отмъщение! Те правят маааалки програмки, които имат за единствена цел да отправят заявки към сървъра на посочения сайт, все едно потребител се опитва да види някоя от страниците. Достатъчни са само няколко заявки в секунда. После качват програмката на всички компютри със самостоятелно IP, с които разполагат, а ако поддържат локална мрежа – могат дори да насочат въпросната програмка да използва адресите на компютрите на нищо неподозиращите си потребители. И точно в 9:00 часа програмката стартира ;). Но това е само сценарий, разбира се, едва ли подобно нещо се е случило наистина. (Прочетете още за т.нар DOS атаки като потърсите термина в Гугъл или посетите направо страничката в Уикипедия [en], в Уебопедия [en] или определение и множество примери в Whatis.com [en]).
Още един подобен сценарий е свързан с надписа от съобщението на сайта на КФН, споменат по-горе. Пример: Аз съм родител (един от деветте хиляди) и отварям сайта на Информационна система за обслужване на детските градини. За съжаление, поради някоя от изброените вече причини виждам надписа „Сървърът е претоварен, моля, опитайте по-късно“. И какво правя? Опитвам по-късно? Нееее, щракам Refresh, Reload, F5 или както там се опреснява страницата в съответния браузър с такава скорост, на която би завидял и кален в хиляди CS битки тинейджър. Ефектът е като онзи, описан в предходния сценарий, а тук даже няма намесена конкуренция… Ето още една слабост на общината: процедурата. Защо децата ще се класират по доходи, а след това – по дата и час на подаване на документите? Така винаги ще има накърнен интерес: „нямах интернет“, „сайта им заби“, „не можах да вляза точно тогава“, „този ден бях извън България“, „вероятно защото цъкнах 245 пъти Refresh са решили, че съм зложелател и са блокирали достъпа до страницата от моето IP“ и т.н. – цялата процедура се превръща в безкрайно цъкане. И винаги ще има недоволни от самата процедура. Ето няколко предложения, които ми хрумнаха в момента:
- децата да се класират по доходи. От общия брой 9 000 кандидати отпадат онези 2 000 деца от семейства с най-високи доходи, докато останат 7 000 (колкото са местата), после на първо класиране да се разпределят по детските градини. Ако някое от тях не се запише или иска в друга детска градина, идва второ класиране. В него влизат тези от първото, които искат да се местят, плюс толкова от децата с по-висок доход, колкото са се отказали от записване на първо класиране и така нататък, докато се запълнят всичките 7 000 бройки;
- от общия брой 9 000 кандидати да отпадат децата от семейства с доход над определен праг, а онези с доход на член от семейството 0 лева (и такива ще има в София, повярвайте!) задължително да се записват. Останалите с доходи над 0 лева и под прага да се класират на лотариен принцип до 7 000 броя. Повтаря се втората част от точка 1;
- класирането е изцяло на лотариен принцип без значение от дохода и се прави на база заявената на първо място детска градина и т.н.
Всеки от посочените варианти изключва нуждата регистрацията да става ЕДНОВРЕМЕННО първия ден, защото времето на регистрация не е намесено по никакъв начин в класирането. Тогава ще може да се даде пълния срок от 4 месеца (ненужно дълъг за мен) и няма да има никой с пренебрегнати интереси. Но нека не забравяме, че сме в София, България.
Изводите: Члена на управителния съвет на „Сирма груп” АД, който гостуваше на Лора сутринта – на топло! Ама защо само той бе! Направо целия управителен съвет. Ведно с всички програмисти и дивелъпъри, участвали в разработката на сайта. А, да не пропуснем и оня търтей, дето е събирал хардуера. И експертите от общината, подготвили и осъществили търга. До живот! Без право на замяна… Ааа, на маймуни ни направиха, майка му мечка! Хората отпуската им замина да цъкат в интернет… Вместо като хора да си висим цяла нощ на студа, те 4 месеца дали, да се не знае…
Тази публикация е разглеждана 3974 пъти.