creative-commons-images.com
Reklama.
W 1997 r. Bill Gates - prezes Microsoftu, na targach komputerowych błysnął takim stwierdzeniem:
gdyby General Motors rozwijał się tak szybko jak przemysł komputerowy, to dziś wszyscy jeździlibyśmy samochodami wartymi 25 USD, które potrzebowałyby tylko 1 galonu paliwa do przejechania 1000 mil”.
Na odpowiedź GM nie trzeba było długo czekać. W oficjalnym oświadczeniu producent samochodów zakomunikował:
“Gdyby GM tworzyło technologię tak jak Microsoft, to wszyscy jeździliby pojazdami o następujących cechach:
1. Twój samochód, bez żadnego powodu miałby awarię dwa razy dziennie.
2. Za każdym razem, gdy odmalowanoby pasy na jezdni, musiałbyś kupić nowy samochód.
3. Od czasu do czasu, Twój samochód zgaśnie podczas jazdy - bez żadnego powodu. Po prostu zaakceptuj to, uruchom go ponownie i jedź dalej.
4. Od czasu do czasu wykonanie manewru skrętu w lewo, spowoduje wyłączenie samochodu i odmowę jego ponownego uruchomienia, co w takim wypadku oznacza potrzebę ponownego zainstalowania nowego silnika.
5. Tylko jedna osoba może korzystać z samochodu, chyba że kupiłeś “samochód95” lub “samochód NT” i dokupiłeś więcej miejsc.
6. Macintosh (od autora: dawna nazwa Apple) jest w stanie sprawić, że samochód napędzany będzie przez słońce, będzie niezawodny, 5 razy szybszy i 2 razy łatwiejszy w prowadzeniu - ale poruszałby się wyłącznie po 5% dróg.
7. Nowe fotele w samochodzie wymuszałyby, aby każdy kierowca był tego samego rozmiaru.
8. Lampki ostrzegawcze oleju, temperatury wody i alternatora zostaną zastąpione pojedynczym światłem ostrzegawczym “Ogólne oświetlenie samochodu”.
9. System poduszek powietrznych zapyta “czy jesteś pewien?”, zanim zostaną uruchomione.
10. Od czasu do czasu, Twój samochód, bez żadnego powodu blokowałby się i nie pozował wsiąść dopóki jednocześnie nie podniesieś klamki, nie przekręcisz kluczyka i złapiesz anteny radiowej.
11. GM wymagałby od wszystkich nabywców samochodów zakupu również luksusowego zestawu map drogowych, mimo że nie potrzebujesz ich. Próba rezygnacji z tej opcji natychmiast podowowałaby zmniejszenie wydajności pojazdu o 50% lub więcej.
12. Za każdym razem, gdy GM wprowadzałoby nowy samochód, nabywca samochodu musiałby nauczyć się jeździć nim na nowo, ponieważ żadna z kontrolek nie działałby w taki sam sposób jak dotychczas.
13. Aby wyłączyć silnik, trzeba nacisną przycisk “START”.
Ponad 20 lat temu było to zabawne wydarzenie, jednak współcześnie powyższa wymiana “poglądów” zaczyna brzmieć złowrogo.
Przez ostatnie 20 lat oprogramowanie rozpędziło się tak mocno, że obecnie praktycznie w każdym aktywnym przedmiocie dnia codziennego znajduje się procesor z oprogramowaniem.
W dodatku od wielu lat propaguje się ideę Internet of Things, czyli Internet Rzeczy. W praktyce ma to oznaczać tysiące urządzeń, czujnków, sprzęgniętych systemami transmisji danych, które zasilać będą danymi tysiące systemów komputerowych.
W dodatku gromadzone i przetwarzane dane będą miały praktyczny, a często bezpośredni wpływ na nasze bezpieczeństwo.
Mało tego, przez te 20 lat przemysł komputerowy wkroczył w każdą dziedzinę naszego życia, za to prawo i wymagania co do bezpieczeństwa są praktycznie na podobnym poziomie.
Wprowadzone w bieżącym roku przepisy RODO mają za zadanie chronić nasze dane wrażliwe, natomiast nic nie mówią o naszym bezpieczeństwie.
Czy w obecnym ustawodawstwie istnieją przepisy, które nakładałyby na producentów oprogramowania odpowiedzialność, za poprawną pracę tworzonego przez nich oprogramowania?
Czy kupując komputer z zainstalowanym systemem operacyjnym, nie powinniśmy oczekiwać że urządzenie będzie bezpieczne? Dlaczego to użytkownik ma się martwić tym, czy ktoś nie włamał się do jego urządzenia - nie pozostawiając śladów, a wykorzystując "dziury" w oprogramowaniu? Kto bierze odpowiedzialność za kradzież pieniędzy z internetowego konta bankowego użytkownika komputera? Producent komputera? Producent oprogramowania, które jest dziurawe? A może dostawca Internetu, poprzez którego sieć haker włamał się do domowego komputera czy smartfonu? Niestety, żaden z nich.
A przecież kupując samochód nie martwimy się o to, czy na pewno hamulce będą działały poprawnie? Czy poduszka powietrzna zadziała, gdy będzie taka potrzeba? Czy kierownica działa poprawnie? Itd. W przypadku samochodów odpowiedzialność za bezpieczeństwo i poprawność działania systemów bierze producent. Każdy koncern samochodowy w swojej historii ma setki spraw, gdzie wypłacił ogromne odszkodowania dla ofiar swojego niedbalstwa. A ile odszkodowań zapłacili producenci oprogramowania? I nie myślę tutaj o karach nakładanych przez różne instytucje, za praktyki monopolistyczne.
A to dopiero początek problemów.
W tym roku miał miejsce pierwszy na świecie wypadek autonomicznego samochodu, w którym zginął człowiek. Już sam fakt takiego zdarzenia stworzył całą masę pytań dotyczących kwestii odpowiedzialności. Kto faktycznie powinien ponieść odpowiedzialność karną, za zdarzenie spowodowane samochodem sterowanym przez komputer? Producent oprogramowania? Pracownik serwisu, który konfigurował to oprogramowanie? Czy producent samochodu?
A może będziemy zamykać w więzeniu "Sztuczną Inteligencję"?
Na te pytania wciąż nie ma odpowiedzi. A przecież mamy całą masę innych urządzeń z softwarem, które może mocno zawirować nam życiorys.
Obecnie każdy nowoczesny telewizor posiada wbudowany system telekonferencyjny, który pozwala mi. na połączenia wideo. Pytanie co w przypadku, gdy do takiego systemu włamał się haker - wykorzystując "dziurawe" oprogramowanie, dokonał nagrań z naszego prywatnego domu i potem szantażuje domowników, że ujawni te nagrania. Kto jest odpowiedzialny za naruszenie naszego bezpieczeństwa? Producent telewizora? Producent oprogramowania? Żaden z nich.
A przecież za tysiącami dramatów ludzkich stoi często oprogramowanie, które najczęściej jest dziurawe jak sito. Oprogramowanie, do którego można się włamać, nie pozostawiając żadnych śladów, wykorzystując masę podatności na ataki.
Wszystko zdalnie, przez Internet, najczęściej z miejsc będących poza jurysdykcją kraju, w którym żyjemy.
Co z oprogramowaniem, które nie zostało dostatecznie przetestowane i potrafi się zawiesić lub dokonać bzdurnych obliczeń, a w efekcie sprowadzić zagrożenie lub przyczynić się do realnych strat?
Mało tego, lansuje się wśród softwareowych startup’ów regułę:
Nie czekaj aż twoje oprogramowanie będzie doskonałe. Wprowadź je na rynek i usuwaj stopniowo wszelkie niedogoności i problemy!”.
Kto z was latałby samolotami producenta z takim mottem?
Co ciekawe. Mamy tysiące przepisów którymi zobowiązujemy banki, firmy ubezpieczeniowe, producentów samochodów, pociągów, firmy lotnicze, producentów żywności, firmy medyczne do tego, aby efekty ich pracy były maksymalnie bezpieczne dla klientów czy użytkowników.
Mamy Rzecznika Praw Obywatelskich, Rzecznika Praw Pacjenta, Rzecznika Ubezpieczonych, Rzecznk Praw Dziecka, Rzecznik Interesu Publicznego, a jednocześnie ani słowa o komputerach, oprogramowaniu czy bezpieczeństwie.
W dodatku prawie żadnych przepisów, które nakładałyby odpowiedzialność na producentów oprogramowania. Większość sporów sądowych odbywa się w oparciu o Kodeks Cywilny, gdzie nawet biegli sądowi potrafią przyznać, że brak jest formalnych regulacji dotyczących jakości oprogramowania i odpowiedzialności jego twórców.
A przecież oprogramowanie praktycznie nas osacza. Począwszy od smartfonów, laptopów, bransoletek mierzących aktywność fizyczną, przez system sterowania światłami drogowymi, nawigacją samochodową, sterownikami rozruszników serca (do nich też można się włamać!), telewizorów, lodówek, routerów WiFi, oprogramowania sterującego w samochodach, tramwajach, samolotach.
Wszędzie zainstalowany jest software, którego producenci praktycznie nie ponoszą odpowiedzialności za zagrożenia i straty użytkowników. Bo jeżeli kupuję ciasto lub loda, w którym znajdują się np. bakterie salmonelli, to nie ma problemu, aby pociągnąć do dopowiedzialności producenta czy dystrybutora. Jest cała masa przepisów sanitarnych, które regulują nawet zakres temperatur transportu i przechowywania żywności, a za nieprzestrzeganie tych regulacji grożą wysokie kary - z karą więzienia włącznie. Spróbujcie to zrobić z producentem oprogramowania.
Kto z was przeczytał licencję np. Windowsa? Ja przeczytałem. Dowiedziełem się z niej, że nie jestem właścicielem systemu operacyjnego Windows, a jedynie Licencjobiorcą. Czyli właścicielem tego co zakupiłem jest Microsoft. Mało tego, na zakupioną licencję Microsoft udziela rocznej, ograniczonej gwarancji, a po tym okresie nie można mieć żadnych roszczeń do producenta.
Jest tam też jeszcze jeden ciekawy zapis:
Licencjobiorca nie ma prawa do dochodzenia z tytułu niniejszej ograniczonej gwarancji lub dowolnych postanowień niniejszej umowy lub zgodnie z dowolną podstawą prawną jakichkolwiek odszkodowań lub innych środków zaradczych, w tym odszkodowań z tytułu utraty zysków lub szkód bezpośrednich, wtórnych, specjalnych, pośrednich lub ubocznych. ”.
W przypadku oprogramowania typu open-source jest jeszcze gorzej, w przypadkach licencji GNU GPL mówimy o "licencji publicznej", czyli w ogóle trudno jest ustalić kto bierze odpowiedzialność za niesprawność lub "dziurawość" jakiegoś modułu oprogramowania. Skoro społeczność programistów tworzy taki software to kogo pociągnąć do odpowiedzialności za jego wady? Jeden twórca oprogramowania napisał tyle linijek kodu, inny programista dopisał parę kolejnych, a jeszcze inny wykorzystał ten soft w swoim projekcie. Kto odpowiada za poprawność działania i bezpieczeństwo tak stworzonego oprogramowania?
Czy kupilibyście sprzęt AGD, który mógłby eksplodować w waszych rękach, ponieważ po sieci energetycznej ktoś wysłał jakiś impuls aktywujący "dziwne" zachowanie sprzętu? A producent takich urządzeń AGD w karcie gwarancyjnej zawarłby klauzule, że nie odpowiada za zdarzenia i wypadki, które są wynikiem przestępczej lub terrorystycznej działalności osób trzecich.
Dokładnie w ten sam sposób zabezpieczają się w licencjach producenci oprogramowania, na wypadek gdy ktoś włamie się do waszego elektronicznego urządzenia, wykorzystując jakąś lukę lub błąd oprogramowania.
Ciekawe co jeszcze musi się stać, zanim rozpocznie się poważna dyskusja nad przepisami zobowiązującymi producentów oprogramowania do tworzenia bezpiecznych produktów, szczególnie w sektorach gdzie software bierze na siebie odpowiedzialność za nasze bezpieczeństwo.