Dzień Zaduszny z internetowym lokalizatorem

Zarząd Cmentarzy Komunalnych w Krakowie jest zakładem budżetowym, powstałym w maju 1992 roku z przekształcenia Miejskiego Przedsiębiorstwa Usług Komunalnych. Taki Zarząd służy do realizacji szeregu zadań, które wynikają z szeregu ustaw, rozporządzeń, uchwał... Krakowski Zarząd ma np. "Lokalizator internetowy", który "obejmuje wszystkie cmentarze komunalne w Krakowie, z wyjątkiem części Cmentarza Rakowickiego, gdzie trwają prace inwentaryzacyjne". Jeden z czytelników podzielił się dziś ze mną swoimi uwagami dotyczącymi tego lokalizatora...

Zanim oddam głos czytelnikowi, to wcześniej podlinkuję stronę internetową zarówno samego Zarządu Cmentarzy Komunalnych w Krakowie, jak i lokalizatora. A dla lepszego zrozumienia listu, który cytuję poniżej, warto jeszcze podlinkować tekst "Nie można przełamać czegoś, co nie istnieje" - polski wyrok w sprawie SQL Injection, bo trochę o SQL Injection, ale także o zamówieniach informatycznych dla szeroko pojętej administracji publicznej będzie w liście:

Krakowski Zarząd Cmentarzy Komunalnych ma swoją stronę. No i dobrze. Na stronie jest lokalizator grobów - nawet lepiej, w końcu na dużych nekropoliach kwater jest tak wiele, że nadawane im z przyzwyczajenia oznaczenia w numeracji rzymskiej zamieniają się w olbrzymie ciągi znaków (LXXXVIII na przykład), stąd taka wyszukiwarka staje się nieodzowna.

Kiedyś w ZCK Kraków była sobie fajna, działająca wyszukiwarka. Dziś wchodzę na stronę i... nie mogę nikogo znaleźć. Hmmm... może przenieśli? Jakaś ekshumacja masowa czy coś... Ale grobu mojej babci także nie ma, mimo że wczoraj zapalałem na nim znicz...

Kiełkująca hipoteza znalazła potwierdzenie w momencie, gdy postanowiłem poszukać grobu ojca mego kolegi. Pan ów nosił dość popularne w Polsce nazwisko "Zając". Tym razem zamiast lakonicznego "brak danych" serwer odpisał mi iż wystąpił "Uncaught exception", oraz że klauzula WHERE zapytania sql ma postać między innymi "and deceased_sex = 'm' and deceased_name = 'zajÄ?c'". No cóż - nie dziwię się że takiej sieczki serwer nie znalazł...

Pamiętając sprawę z luksusowymi samochodami i ich stroną, zrobiłem kilka testów, między innymi wprowadzając znak ' (apostrof), który jest podstawą do robienia wszelkiego rodzaju sql-injection, ale występuje też w nazwiskach osób mających polskie obywatelstwo. Akurat to działało poprawnie i sqlinjection by się tak zrobić nie dało. Ufff. Niemniej jednak serwis jest jednym wielkim bublem. Zrobionym za pieniądze podatników.

I tu następuje clue programu:
Skoro serwis został wdrożony, należy domniemywać, że ktoś (nie znany mi z nazwiska urzędnik zapewne) podpisał protokół odbioru. I tu się pojawia wątpliwość: skoro system "wywala" się na tak banalnej sprawie jak polskie znaki w imieniu lub nazwisku oraz skoro nie da się w nim znaleźć danych faktycznie istniejących grobów, to można wyciągnąć wniosek, że urzędnik podpisał odbiór systemu zupełnie nie sprawdzając czy system działa. Mówiąc wprost: urząd totalnie olał sprawę. Jakoś mi się pałęta po głowie, że to się chyba nazywa "niedopełnienie obowiązków" i jest przestępstwem... Czy więc ja, który to "wykryłem" nie mam teraz obowiązku udać się do prokuratury i poinformować ją o tym (bo jak tego nie zrobię to ukrywam fakt zaistnienia przestępstwa?)?

To jednak nie wszystko: pytanie można rozszerzyć (i dlatego piszę Pana): czy jako obywatele, my wszyscy, widząc RAŻĄCE przypadki brakoróbstwa w tworzonych za publiczne pieniądze systemach informatycznych nie jesteśmy zobowiązani do informowania prokuratury o przekraczaniu przez urzędników uprawnień? I to na skalę masową? Nie jestem prawnikiem (tylko informatykiem) i jedynie staram się zachować jakąś logikę wywodu, ale wnioski do których dochodzę są właściwie przerażające...

Pozdrawiam

Opcje przeglądania komentarzy

Wybierz sposób przeglądania komentarzy oraz kliknij "Zachowaj ustawienia", by aktywować zmiany.

Podana strona jest hostowana

Podana strona jest hostowana przez NetArt, który - jak każdy provider - aktualizuje serwery http, silniki baz danych, PHP i inne pokrewne oprogramowanie. Możliwe, że podczas odbioru serwis działał, ale brak lub nienależyta opieka powdrożeniowa sprawiły, że w którymś momencie przestał...

Nie można przełamać czegoś, co nie istnieje

Zastanawia mnie jak by można potraktować umieszczenie tu takiego kodu i osoby które z niego skorzystają:

<form action="http://www.zck-krakow.pl/?pageId=26" method="post">
<input type="hidden" name="name" value="" />
<input type="hidden" name="surname" value="%%%" />
<input type="hidden" name="yearFrom" value="1900" />
<input type="hidden" name="yearTo" value="1910" />
<input type="hidden" name="sex" value="m" />
<input type="submit" value="Pokaż wszystkich" />
</form>

Problemy z kodowaniem znaków

Mam wrażenie że to nie tyle problem z bazą co z samym kodowaniem znaków na stronie. Nie jestem informatykiem ale można zrobić prosty test: Wpisać tylko nazwisko z polskimi znakami bez podania dat. Od razu po wyrzuceniu błędu przez stronę pojawiają się "krzaki" w samym nazwisku. (używam linuksa ale nie powinno to rzutować).

Nie tylko kodowanie znaków

VaGla's picture

Dostaję sygnały, że czytelnicy przyglądają się temu serwisowi, a niektórzy dotarli do zasobów, do których linków nie zdecydowali się wkleić w komentarzu pod tym tekstem ze względu na to, że byłoby to "zbyt nieodpowiedzialne chyba".

W każdym razie wiadomo już, że serwis zarządzany jest czymś, co się nazywa "WarskiCMS", ma pudełko i płytę instalacyjną, a także w tej instalacji, która działa dla potrzeb "internetowego lokalizatora" pozwala na przeglądanie szablonów skutecznego logowania (success.tpl) wraz z fragmentami kodu i zmiennymi (takimi jak np. "...if $newsAdmin..."). Ale chyba najgorsze jest to, że dostępny jest całkiem niezabezpieczony plik xml, który zawiera dane dotyczące połączenia do bazy danych wraz z ujawnionym w nim hostem, portem, hasłem, itp do bazy danych...
--
[VaGla] Vigilant Android Generated for Logical Assassination

pierwsza polska wyszukiwarka mogił powstała w Poznaniu

Poznański lokalizator mogił (DZIAŁAJĄCY BEZ PRZERWY OD 2005 R.) umożliwia wyszukanie mogił zarówno na cmentarzach komunalnych jak parafialnych. Prace rozpoczęliśmy od wdrożenia systemu na poznańskich cmentarzach komunalnych ze względu na łatwość dostępu do danych (cmentarzami w imieniu miasta zarządza spółdzielnia pracy). W miarę upływu czasu narzędzie stało się tak popularne, że nawiązaliśmy współpracę z kolejnymi parafiami (z pomocą kurii arcybiskupiej). Najwięcej czasu zajmuje nie samo wykonanie lokalizatora (choć wiąże się to z koniecznością precyzyjnego naniesienia na mapę KAŻDEJ MOGIŁY), ale uporządkowanie baz danych zarządzanych przez administratora cmentarzy. Budowa takiej usługi to przede wszystkim ogromny wysiłek organizacyjny wymuszający uporządkowanie danych o pochówkach, a to wcale nie jest takie oczywiste. Trzymam kciuki za krakowski projekt. Zainteresowanych działaniem największego i najstarszego polskiego systemu lokalizatora mogił na cmentarzach odsyłam na strony www.poznan.pl/cmentarze

Gdzie najpierw...?

Mi bardzo ciekawą wydaje się inna kwestia. Czy autor listu poinformował o znalezionym błędzie Zarząd Cmentarzy Komunalnych albo np. administratora strony? Z treści listu to nie wynika, co więcej można założyć, że skoro autor o tym nie wspomniał, to nie zrobił tego. Czy nie warto - zanim pójdzie się do prawnika, prokuratury, sądu etc. - spróbować załatwić sprawy "normalnie"?

Hmm... tylko kogo?

Nie, nie próbowałem. Nie spodziewałem się bowiem zastać pod podanym telefonem osoby kompetentnej, szczególnie jeśli weźmie się pod uwagę, że w Dzień Zaduszny ludzie na cmentarzu raczej będą mieć inne zadania. Można oczywiście kliknąć w logo wykonawcy, ale na jego stronie internetowej nie ma nawet śladowej informacji o firmie (żadnych nipow, adresów, telefonów, etc), i co najwyżej informacja może pochodzić z bazy WHOIS. A tam dane jakiegoś pana i email z kobiecym imieniem i nazwiskiem...

W moim pytaniu o zawiadamianie prokuratury chodzi jednak o coś innego: wiem ze powinno się zacząć od administratorów strony. Ale - czy w takim razie nie może to zostać przez jakiegoś "zero tolerancji" prokuratora podciągnięte pod zacieranie śladów?

RFC

webmaster@nazwahosta.pl lub hostmaster@nazwahosta.pl
Jeżeli nie przestrzegają RFC, to już ich problem.

Zgłoszenie przyjęto

VaGla's picture

Wysłałem informacje na temat tego wątku zarówno do Zarząd Cmentarzy Komunalnych w Krakowie (mail w BIP) oraz do wykonawcy CMS-a. Otrzymałem właśnie informacje od tego ostatniego:

Bardzo dziękujemy za zgłoszenie błędów.
System został zabezpieczony, hasła zmienione. Natomiast lokalizator zostanie poprawiony w najbliższym czasie.
Wersja serwisu jest wersją alfa, w pełni funkcjonalny serwis będzie dostępny najpóźniej 14 listopada.

--
[VaGla] Vigilant Android Generated for Logical Assassination

No i znów tłumaczenie.

Jak widać, gdyby nie reakcja ludzi, to firma X nigdy nie przejęłaby się problemem.

Ciekawe kiedy wreszcie przestaną być wdrażane wersje alfa czy nawet beta jako produkty końcowe? Klient płaci za produkt, a nie za prototyp! Zwłaszcza gdy jest to produkt, na którego producent został wyłoniony w postępowaniu przetargowym.

Przetarg ma ponoć gwarantować otrzymanie finalnego produktu za określoną cenę i w określonym terminie. Nie spotkałem w żadnym SIWZ-ie wzmianki, że dostarczenie przez producenta wersji testowej (bo z czymś takim tu mamy ewidentnie styczność) będzie uznane za zrealizowanie przedmiotu przetargu.

Jak zatem widać, producent ma obowiązek przetestować we własnym zakresie i na własny koszt każdą wersję swojego produktu zanim odda go do użytku zamawiającemu. Zamawiający ma dostać produkt finalny, wolny od wad i ukrytych błędów.
Wszelkie odstępstwa od tej zasady pozwalają na kultywowanie procedury marnotrawstwa pieniędzy publicznych. Ponadto stawiają pod znakiem zapytania, realność ofert cenowych stawianych w przetargach przez wykonawców.

Innym problemem jest to, że zamknięty kod uniemożliwia przeprowadzenie analizy poprawności działania zamawianej aplikacji, zgodnie z opisem jej funkcjonalności zawartej w SIWZ.

Dodatkowo problemem jest to, że takie SIWZ-y piszą entuzjaści-teoretycy, których wiedza o systemach gromadzenia czy przetwarzania danych, kończy się na poziomie MS Office.

Powiem krótko. Szkoda słów i pieniędzy publicznych, wydawanych na pseudo produkty mające imitować profesjonalne systemy czy oprogramowanie.

Piotr VaGla Waglowski

VaGla
Piotr VaGla Waglowski - prawnik, publicysta i webmaster, autor serwisu VaGla.pl Prawo i Internet. Ukończył Aplikację Legislacyjną prowadzoną przez Rządowe Centrum Legislacji. Radca ministra w Departamencie Oceny Ryzyka Regulacyjnego a następnie w Departamencie Doskonalenia Regulacji Gospodarczych Ministerstwa Rozwoju. Felietonista miesięcznika "IT w Administracji" (wcześniej również felietonista miesięcznika "Gazeta Bankowa" i tygodnika "Wprost"). Uczestniczył w pracach Obywatelskiego Forum Legislacji, działającego przy Fundacji im. Stefana Batorego w ramach programu Odpowiedzialne Państwo. W 1995 założył pierwszą w internecie listę dyskusyjną na temat prawa w języku polskim, Członek Założyciel Internet Society Poland, pełnił funkcję Członka Zarządu ISOC Polska i Członka Rady Polskiej Izby Informatyki i Telekomunikacji. Był również członkiem Rady ds Cyfryzacji przy Ministrze Cyfryzacji i członkiem Rady Informatyzacji przy MSWiA, członkiem Zespołu ds. otwartych danych i zasobów przy Komitecie Rady Ministrów do spraw Cyfryzacji oraz Doradcą społecznym Prezesa Urzędu Komunikacji Elektronicznej ds. funkcjonowania rynku mediów w szczególności w zakresie neutralności sieci. W latach 2009-2014 Zastępca Przewodniczącego Rady Fundacji Nowoczesna Polska, w tym czasie był również Członkiem Rady Programowej Fundacji Panoptykon. Więcej >>