Bloatware to oprogramowanie, które zużywają duże zasoby procesora, pamięci RAM i pamięci stałej. Tym terminem określa się również programy preinstalowane na nowych urządzeniach, dołączane do innych pobieranych programów oraz takie, które dostają się do systemu poprzez złośliwe witryny. Czy są one groźne? Niekoniecznie, ale mogą niekorzystnie wpływać na pracę naszych urządzeń.
Zjawisko bloatware jest powszechne. Za każdym razem, kiedy kupujesz nowy komputer, tablet lub smartfon, zawsze znajdziesz w nich wiele preinstalowanych programów, których nigdy nie będziesz używać. Zajmują one dużo miejsca na urządzeniu, skracają również czas pracy baterii i wpływają na jego ogólną wydajność.
„Z szerszej perspektywy, jest to oprogramowanie zawierające niepotrzebne funkcje i zużywające zbyt duże ilości zasobów systemowych w stosunku do realizowanych przez siebie funkcjonalności. Tego typu oprogramowanie często charakteryzuje się nadmiernym zużyciem pamięci operacyjnej RAM, pamięci stałej na dysku twardym czy też czasu jednostek obliczeniowych dostępnych w systemie” – mówi mgr inż. Michał Glet z Wydziału Cybernetyki WAT.
Czym jest bloatware?
Bloatware zwane jest również potencjalnie niechcianymi programami (PUP). O jego początkach można mówić w latach dziewięćdziesiątych dwudziestego wieku. Oprogramowanie było wtedy ulepszane co roku. Programiści, aby zachęcić użytkowników do jego aktualizacji dodawali do niego wiele dodatkowych funkcji, co zwiększało rozmiar programów i wymagania systemowe potrzebne do ich płynnego działania.
Dodatkowo firmy produkujące oprogramowanie podpisywały umowy z producentami komputerów, aby ich produkty były preinstalowane na urządzeniach. Niektóre z nich uruchamiały się zaraz po starcie i spowalniały ich pracę. Sprzeciw konsumentów doprowadził do tego, że skala zjawiska znacząco się zmniejszyła, ale nadal w systemach Windows 10 i Windows 11 instalowany jest bloatware, podobnie zresztą jak na urządzeniach z systemem operacyjnym macOS.
Problem strukturalny
„Duża grupa oprogramowania stała się bloatwarem w wyniku błędów popełnianych podczas jego tworzenia. Mam na myśli błędy, które sprawiły, iż oprogramowanie działa nieefektywnie i do poprawnej pracy potrzebuje zbyt wiele zasobów systemowych” – wyjaśnia Michał Glet.
Powodów tego stanu rzeczy jest kilka:
- błędy programistów, które nie zostały wyłapane podczas testów;
- brak testów związanych z efektywnością tworzonego oprogramowania. Obecnie komputery dysponują bardzo dużymi zasobami systemowymi, więc często, producenci oprogramowania, w ramach ograniczania kosztów, nie przywiązują uwagi do procesu optymalizacji zużywanych przez ich produkty zasobów systemowych;
- sposób tworzenia oprogramowania. Praca programistów zużywa zasoby finansowe firmy, więc tworzone oprogramowanie powinno osiągnąć gotowość produkcyjną w jak najkrótszym czasie. Dlatego też częstym rozwiązaniem podczas tworzenia oprogramowania jest korzystanie z gotowych platform programistycznych, bibliotek i mechanizmów, które same w sobie przeważnie posiadają dużo większą funkcjonalność niż wymagana na potrzeby tworzonego oprogramowania.
„Wyobraźmy sobie, że budujemy deskorolkę korzystając z frameworka, za pomocą którego można zbudować samolot. Będzie ona jeździć, ale będzie też bardzo obciążona, ponieważ wraz z nią cały czas będzie jeździł również nieużywany kadłub samolotu. To jest pewnego rodzaju znak obecnych czasów. Bardzo szybki rozwój sprzętu wymaga bardzo szybkiego tworzenia i rozwoju oprogramowania, co napędza tworzenie różnego rodzaju technik programistycznych, nowych języków programowania, kolejnych platform programistycznych, bibliotek programistycznych i innych mechanizmów – wszystko celem umożliwienia coraz szybszego tworzenia i rozwoju oprogramowania” – tłumaczy Michał Glet.
Na przykład zdecydowana większość powszechnie używanych języków oprogramowania w sposób automatyczny zarządza pamięcią operacyjną podczas wykonywania kodu programu, w odróżnieniu od klasycznych języków programowania takich jak C czy C++. Programiści często, czasami nie zdając sobie z tego sprawy, korzystają z niemutowalnych obiektów, w których próba zmiany przechowywanych przez nich wartości danych powoduje utworzenie nowego obiektu danego typu, a nie modyfikacji istniejącego. Powoduje to często nadmierne i niepotrzebne zużywanie pamięci operacyjnej RAM oraz czasu procesora związanego ze sprzątaniem pamięci zużywanej przez takie obiekty.
Smartfony i renesans bloatware
Współcześnie problem z bloatware dotyka przede wszystkim użytkowników smartfonów. Dodatkowe oprogramowanie jest instalowane nie tylko przez ich producentów, ale również firmy telekomunikacyjne. Powodem takich działań jest nie tylko chęć zarobienia dodatkowych pieniędzy, które producenci oprogramowania chętnie płacą chcąc powiększyć grono swoich użytkowników, ale również dążenie do obniżenia ceny smartfona. Przychody z tego źródła pozwalają zmniejszyć cenę urządzenia i skuteczniej konkurować na rynku.
Również producenci systemów operacyjnych preinstalują na smartfonach preferowane aplikacje. Google, który odpowiada za system Android przymusowo instaluje m.in. takie aplikacje jak: Dysk Google, Mapy Google, Zdjęcia Google, Chrome, Gmail, YouTube. Podobne rozwiązania stosowane są w smartfonach działających w oparciu o system iOS.
Niestety nie wszystkie aplikacje można usunąć. Na szczęście możemy je wyłączyć, aby nie były widoczne podczas codziennego użytkowania smartfona oraz nie działały w tle zabierając cenne zasoby i wpływając na czas pracy baterii. Permanentne odinstalowanie aplikacji najczęściej możliwe jest do zrobienia tylko poprzez zrootowanie smartfona, po uzyskaniu dostępu do rdzenia ustawień systemowych. Ingerowanie w oprogramowanie telefonu wymaga dużej wiedzy i prowadzi do utraty gwarancji, dlatego nie zalecamy takich działań.
Bloatware a bezpieczeństwo naszych urządzeń
Mamy dobre wieści, bloatware nie jest oprogramowaniem celowo zagrażającym bezpieczeństwu naszych urządzeń. Wpływa znacząco na ich wydajność i bywa uciążliwe. Na przykład wyświetla dużą ilość reklam co utrudnia korzystanie z funkcjonalności programu. Jednak nie oznacza to, że jego obecność nie rodzi żadnych zagrożeń. Nieużywane, ale działające w tle aplikacje mogą zagrażać bezpieczeństwu systemu operacyjnego, ponieważ w urządzeniu rośnie ilość możliwych luk bezpieczeństwa, które cyberprzestępcy mogą wykorzystać do ataku. Sprzeciw wielu osób budzi również fakt, że bloatware może zbierać dane o użytkownikach oraz zawierać reklamy.
Co robić z bloatware?
Zastanawiasz się jakie konkretne aplikacje są bloatware? Bardzo trudno jest to stwierdzić, ponieważ każdy użytkownik oczekuje od swojego urządzenia trochę czegoś innego. Dla jednej osoby niepotrzebne będą gry, inna wskaże na komunikatory lub media społecznościowe. Dobrym testem jest przejrzenie dostępnych aplikacji, aby zobaczyć jak często z nich korzystamy. Te, które nie są nigdy używane można z dużą dozą prawdopodobieństwa uznać za bloatware.
Takie aplikacje najlepiej spróbować odinstalować, a jeśli się to nie uda chociaż je wyłączyć. Przyspieszy to pracę urządzenia i zwiększy jego zasoby pamięci, co umożliwi na przykład instalację nowego oprogramowania lub zapisanie większej ilości danych.
Śledź także cykl #cyberWAT, w którym w prosty i zrozumiały sposób tłumaczymy czytelnikom zagadnienia cyberbezpieczeństwa.
Marcin Wrzos
Projekt graficzny: Katarzyna Puciłowska