Bezpieczeństwo

Jak nie wprowadzać produktu na rynek na przykładzie portalu Albicla

 

Rok 2021 zaczął się od sporych zawirowań, a wszystko za sprawą polityki za oceanem.

Na początku stycznia potwierdzono, że następnym prezydentem Stanów Zjednoczonych został Joe Biden. Nie każdemu spodobała się ta wiadomość. Były prezydent Donald Trump nie był zbyt chętny do zrzeczenia się swojego stanowiska. Nie byli też na to przygotowani jego zwolennicy, którzy szturmowali amerykański Kapitol, żądając „powstrzymania kradzieży” (głosów wyborczych), twierdząc, że wybory zostały sfałszowane. Przez chwilę oczy całego świata skupiły się amerykańskiej demokracji. Wielu zaniepokoił jednak nie tylko sam atak na Kapitol, ale też to, co nastąpiło po tym wydarzeniu w mediach społecznościowych. 

Renesans alt-tech

Choć debata na temat roli gigantów technologicznych w kształtowaniu poglądów politycznych toczy się od lat, tym razem stała się tematem przewodnim świata polityki i biznesu. Twitter, Facebook i wiele innych platform zawiesiło konta Donalda Trumpa, powołując się na swoje regulaminy i wewnętrzne zasady etyczne. 

Spowodowało to natychmiastową reakcję prawicy,  która zarzuciła korporacjom cenzurę i zamach na wolność słowa. Te natomiast tłumaczyły, że nie chcą, aby ich platformy były wykorzystywane do rozprzestrzeniania, jak określono, „fake newsów”.

W dobie tej amerykańsko-amerykańskiej wojny o rację, najwięcej sławy zyskał ruch alt-tech. Choć od dawna funkcjonowały alternatywne media społecznościowe – takie jak GAB czy Parler – platformy te były raczej mało znane. Brakowało społecznego entuzjazmu, aby masowo przesiąść się np. z Facebooka na GAB-a, a bez dużej ilości użytkowników media społecznościowe po prostu nie funkcjonują.

Sytuacja jednak dość szybko się zmieniła. Zablokowanie osoby o tak wysokim stanowisku spowodowało, że część internautów panicznie zaczęła uciekać do portali alt-tech przed domniemaną cenzurą. Nisza rynkowa i potencjał alt-tech natychmiast został zauważony – również w Polsce.

Albicla – alternatywa dla Facebooka?

Założenie własnego portalu społecznościowego wcale nie jest takie trudne, jak mogłoby się wydawać. Istnieją gotowe frameworki (w uproszczeniu można powiedzieć „szablony”)które po pewnej ilości modyfikacji mogą zmienić się w dość zaawansowane odpowiedniki np. Twittera lub Facebooka. Wystarczy kilku programistów, wirtualny serwer, administrator baz danych, domena oraz silne zaplecze marketingowe, bez którego portal świeciłby pustkami. 

Właściciel spółki medialnej i pomysłodawca portalu Albicla teoretycznie posiadał wszystko co potrzeba do odniesienia sukcesu. Postanowił więc wykorzystać momentum sprzeciwu społecznego aby zachęcić internautów do porzucenia Facebooka na rzecz własnego, pozbawionego cenzury portalu. Niestety, o kilku technologicznych szczegółach chyba zapomniał albo po prostu nie był ich świadomy.

Bez alpha, bez beta, czyli życie na krawędzi

Pośpiech jest najgorszym doradcą – w świecie technologii niejedna firma przekonała się o tym na własnej skórze. Dobrym przykładem jest amerykański startup Cuil, który w 2010 r. wyzwał Google na pojedynek, argumentując, że baza zindeksowanych stron światowego giganta jest znacznie mniejsza, niż ich. Może i tak było, ale sama witryna Cuila pozostawiała wiele do życzenia: strona regularnie się zawieszała, rezultaty tylko pobieżnie nawiązywały do wyszukiwanej treści i ogólnie, cały User Experience był fatalny. To było ponad dekadę temu.

Niestety, mimo upływu czasu i różnicy geograficznej, Cuil z Albiclą mają wiele wspólnego. Choć na pierwszy rzut oka w dniu publikacji portal działał poprawnie, internauci szybko zauważyli błędy, które mogły świadczyć o zarówno braku stosowania dobrych praktyk wytwarzania oprogramowania, jak i braku audytów, w tym Quality Assurance i bezpieczeństwa aplikacji.

Brak Secure Software Development Life Cycle (SSDLC)?

SSDLC, czyli Secure Software Development Life Cycle, to zestaw praktyk, wspierających tworzenie oprogramowania z myślą o bezpieczeństwie danych. W przeciwieństwie do innych metod wytwarzania oprogramowania, SSDLC wymusza współpracę dwóch zespołów jednocześnie: bezpieczeństwa i programistów. Podczas wspólnej pracy te dwa zespoły rozważają każdy aspekt techniczny, skupiając się na rozwiązaniach, które zagwarantują bezpieczeństwo danych na każdym etapie wytwarzania oprogramowania. Rezultatem jest oprogramowanie, dla którego bezpieczeństwo jest nieodłącznym elementem wbudowanym od samego początku, a nie umieszczonym później jako dodatek.

Tutaj niestety Albicla zupełnie poległa – nawet przeciętni, nieobeznani z cyberbezpieczeństwem użytkownicy portalu zauważyli błędy, które mogą świadczyć o zupełnym braku zgodności z wytycznymi SSDLC. Do błędów portalu zalicza się takie wpadki jak:

  • używanie przestarzałych funkcji hashowania haseł przy użyciu MD5 (standard sprzed 20 lat),
  • niepoprawne rozmieszczenie i przechowywanie plików konfiguracyjnych,
  • brak higieny dotyczącej komunikatów bazy danych MySQL
  • i wiele innych podstawowych błędów, które powinny być wyeliminowane jeszcze na procesie projektowania aplikacji. 

Biorąc pod uwagę powyższe można dojść do wniosku, że Albicla nie korzystała z darmowych i sprawdzonych frameworków, które pomogłyby jej uniknąć wyżej wymienionych błędów. 

Brak audytu?

Niezależnie od tego, czy tworząc portal korzystamy z gotowego frameworku, opartego o licencję open-source, czy piszemy kod „od zera”, kluczową częścią przygotowywania produktu, który z natury będzie gromadził i przetwarzał dane, jest dogłębny audyt bezpieczeństwa. Tutaj znowu Albicla prawdopodobnie zaoszczędziła na czasie, pomijając ten etap.

Użytkownicy portalu szybko zauważyli, że formularz rejestracyjny zawiera błędy, które pozwalają na założenie konta bez wymaganych danych, takich jak nazwa użytkownika lub hasło. Inni znów byli w stanie wrzucać treści na cudze konta, co mogło doprowadzić prawdziwego właściciela profilu do poważnych konsekwencji prawnych. Kilku internatów zauważyło też błąd logiczny w nazwie URL profili użytkowników. Rejestrując ksywy takie jak „login” i „delete_account” powodowali, że inni użytkownicy portalu byli automatycznie wylogowywani lub tracili swoje konta, niefortunnie klikając w link. Z odrobiną humoru można by powiedzieć, że portal był dziurawy, jak szwajcarski ser.

Bezpieczeństwo po fakcie?

Przy tworzeniu aplikacji web-facing (czyli dostępnych dla każdego, kto korzysta z Internetu) , bezpieczeństwo powinno być integralną częścią pierwowzoru, a nie dodatkiem łatanym na produkcji. Choć takie błędy jak pozostawienie narzędzi diagnostycznych na serwerze produkcyjnym może przydarzyć się każdemu, nieskorzystanie ze sprawdzonych praktyk SSDLC jest już trudne do wytłumaczenia – zwłaszcza jeśli mowa o budowie rozwiązania, które z założenia przetwarza dane osobowe. To samo można powiedzieć o braku audytu bezpieczeństwa, problemami ze stabilnością produktu, jak i o prawdopodobieństwie, że programiści pracują na środowisku produkcyjnym, co nigdy nie powinno być praktykowane.

Wiele do stracenia

Brak bezpieczeństwa danych to nie tylko falstart lub utrata kilku klientów. Jeżeli chodzi o Albiclę, eksperci debatują, czy cały projekt nie wymaga przygotowania od nowa, tracąc całą dotychczasową pracę. Pewnym szczęściem też jest fakt, że portal jest nowy i nie posługuje się znaną marką, która permanentnie mogłaby ucierpieć na jednym, pośpiesznie przygotowanym produkcie – zresztą, możliwe, że właśnie stąd wynikają też opisane powyżej błędy. Producenci mają więc szansę na naprawienie produktu lub w najgorszym wypadku zmianę nazwy, co odetnie projekt od negatywnego PR-u ze stycznia bieżącego roku.

Warto też zwrócić uwagę na aspekt prawny całej sytuacji. W związku z tym, że użytkownicy portalu chwilowo mogli dodawać treści w imieniu innych użytkowników, istnieje  prawdopodobieństwo, że ktoś mógłby przysporzyć niewinnej osobie kłopotów, publikując treści w jej imieniu. Co więcej, używanie przestarzałych standardów szyfrowania, nieadekwatne zabezpieczenia i liczne błędy również narażały użytkowników na utratę danych osobowych, co może się wiązać z poważnymi karami od Urzędu Ochrony Danych Osobowych.

Podsumowanie

Nie warto oszczędzać podczas tworzenia projektów online – a już na pewno nie na bezpieczeństwie. Zbytnia oszczędność czasu prowadzi do sytuacji w których programiści pracują na środowisku produkcyjnym, fundamenty projektu są nieprzemyślane i błędy ludzkie zdarzają się częściej, niż by się wydawało. Oszczędzanie na bezpieczeństwie danych, natomiast, najczęściej przynosi nie tylko negatywny PR, ale może mieć poważne konsekwencje prawno-finansowe.

Oceń artykuł:


03.02.2021