Blog 24/7

bomba logiczna

TAB. 1Hasłopo polsku
Po angielskulogic bomb
Którą formą pisaćpo polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie.
Inne formybomba czasowa (podtyp: warunkiem jest data lub upływ czasu)
KategoriaZłośliwe oprogramowanie

Bomba logiczna to fragment kodu celowo umieszczony w systemie, który uruchamia szkodliwą funkcję dopiero wtedy, gdy zostaną spełnione określone warunki [1]. Do tego czasu program działa normalnie, więc wstawka nie zwraca uwagi. MITRE opisuje ją w katalogu słabości jako CWE-511: kod zaprojektowany do zakłócenia działania produktu albo jego otoczenia po upływie określonego czasu lub po spełnieniu warunku logicznego [2]. Bomba logiczna jest rodzajem złośliwego oprogramowania (malware), ale zwykle nie przychodzi z zewnątrz. Najczęściej wstawia ją ktoś, kto ma legalny dostęp do kodu.

Jak działa

Bomba logiczna ma dwie części: wyzwalacz i ładunek. Wyzwalacz to warunek sprawdzany przy każdym uruchomieniu programu. Ładunek (payload) to działanie wykonywane po spełnieniu warunku. MITRE podaje jako typowe wyzwalacze datę i czas systemowy, generator liczb losowych oraz liczniki [2].

Po „detonacji” bomba może spowodować odmowę usługi (DoS), na przykład przez awarię systemu, skasowanie ważnych danych albo spowolnienie odpowiedzi [2]. MITRE zaznacza też, że bomba może być ukryta w koniu trojańskim, zarówno powielającym się, jak i niepowielającym [2].

Cykl życia takiego kodu pokazuje schemat poniżej.

RYS. 1Cykl życia bomby logicznej

Kluczowa cecha to opóźnienie. Między wstawieniem kodu a szkodą mija czas, więc związek przyczynowy trudno odtworzyć. Kod może też wyglądać jak zwykły błąd programu, zwłaszcza gdy ładunek tylko psuje wyniki albo powoduje losowe awarie.

Odmiany

CWE-511 łączy dwa pojęcia: bombę czasową i bombę logiczną [2]. Różnią się rodzajem wyzwalacza. Oba należą do szerszej kategorii CWE-506, czyli osadzonego złośliwego kodu, obok konia trojańskiego, zapadni (trapdoor) i oprogramowania szpiegującego [3].

WyzwalaczNazwaPrzykład warunku
data albo upływ czasu [2]bomba czasowa„po 1 marca”
warunek logiczny [2]bomba logicznabrak rekordu w bazie
licznik [2]bomba logicznasetne wywołanie funkcji
generator liczb losowych [2]bomba logicznaawaria w części przebiegów

Od tylnej furtki (backdoor) bomba różni się celem. Tylna furtka daje dostęp, bomba logiczna ma w określonym momencie wyrządzić szkodę.

Kto ją podkłada

Bomba logiczna to typowe narzędzie osoby z wewnątrz, czyli insidera. CISA definiuje insidera jako każdą osobę, która ma albo miała autoryzowany dostęp do zasobów organizacji lub wiedzę o nich, w tym o sieciach i systemach [4]. Zagrożeniem wewnętrznym nazywa możliwość, że taka osoba wykorzysta dostęp albo wiedzę, by zaszkodzić organizacji [4].

Wśród form zagrożenia wewnętrznego CISA wymienia sabotaż, a w nim sabotaż cyfrowy: złośliwe działania środkami technicznymi, które mają zakłócić albo zatrzymać normalną działalność organizacji [4]. Jako przykład sabotażu podaje między innymi usuwanie kodu, by uniemożliwić normalną pracę [4].

Programista, administrator albo wykonawca zewnętrzny ma to, czego brakuje atakującemu z zewnątrz: dostęp do repozytorium, zaufanie i czas. Dlatego bomba logiczna rzadko wymaga wykorzystania podatności. Wystarczy zwykły proces wdrażania kodu.

W WordPressie

Na stronach WordPress ryzyko dotyczy kodu, którego właściciel strony nie pisał i nie przeglądał: wtyczek, motywów i fragmentów dodanych przez wykonawcę. MITRE wskazuje, że przy osadzonym złośliwym kodzie groźny atak może kryć się w jednej lub dwóch zaciemnionych linijkach umieszczonych w dowolnym miejscu aplikacji [3]. Zaciemnianie kodu w plikach wtyczki powinno więc budzić ostrożność.

Szczególną uwagę warto zwrócić na:

WordPress ma wbudowany mechanizm zadań zaplanowanych, WP-Cron. Sprawdza on przy każdym wczytaniu strony listę zaplanowanych zadań i uruchamia te, których termin minął [7]. To zwykłe narzędzie do kopii zapasowych czy wysyłki wiadomości, ale z tego samego powodu zadanie zaplanowane na konkretną datę może też posłużyć jako wyzwalacz. Dokumentacja zaznacza, że WP-Cron nie działa stale jak systemowy cron, tylko przy wczytaniu strony [7]. Zadanie zaplanowane na określoną godzinę wykona się więc przy pierwszym wejściu na stronę po tym czasie.

Jak się bronić

MITRE jako środek zaradczy dla CWE-511 zaleca, by zawsze weryfikować integralność instalowanego produktu [2]. Dla osadzonego złośliwego kodu w ogóle zaleca usunięcie go i szczegółowy przegląd całego kodu, by zapobiec kolejnym wstawkom [3].

W praktyce przekłada się to na kilka zasad:

Przy podejrzeniu sabotażu przydaje się plan reagowania na incydenty. Trzeba ustalić, kto wprowadził kod i kiedy, zanim zostanie usunięty.

Historia i przykłady

Głośnym przypadkiem była sprawa wykonawcy firmy Siemens, Davida Tinleya. Sekurak w lipcu 2019 roku opisał, że wprowadzał on „bomby logiczne” do arkuszy Excela, z których firma korzystała przy zarządzaniu zamówieniami [5]. Po określonej dacie skrypty psuły działanie arkuszy, a Tinley zarabiał na ich naprawianiu [5].

Według BleepingComputer działał tak od 2014 roku do 13 maja 2016 roku [6]. Kod umieszczony w arkuszach chronionych hasłem miał uruchamiać się po ustalonym czasie i losowo powodować awarie [6]. Sprawa wyszła na jaw, gdy Tinley wyjechał i musiał przekazać hasło pracownikom Siemensa, którzy mieli pilny termin [6]. W grudniu 2019 roku sąd skazał go na sześć miesięcy więzienia, dwa lata nadzoru i 7500 dolarów grzywny [6]. W porozumieniu z prokuraturą stratę ustalono na 42 262,50 dolara [6].

TAB. 2

Przypisy

7
  1. [1] Glossary: logic bomb (CNSSI 4009-2022, NIST SP 800-12 Rev. 1) · NIST CSRC
  2. [2] CWE-511: Logic/Time Bomb · MITRE
  3. [3] CWE-506: Embedded Malicious Code · MITRE
  4. [4] Defining Insider Threats · CISA
  5. [5] „Bomba logiczna” w Excelu. Specjalnie wprowadzał błędy, żeby zarabiać na „łatkach” · Sekurak
  6. [6] Siemens Contractor Jailed for Sabotage With Logic Bombs · BleepingComputer
  7. [7] Cron — Plugin Handbook · WordPress.org
TAB. 3

Hasła w tym artykule

15

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com