Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Ewolucja mobilnego złośliwego oprogramowania: przegląd, część 1

Tagi:

Alexander Gostev
Starszy analityk wirusów, Kaspersky Lab
  1. Ewolucja mobilnego złośliwego oprogramowania: przegląd, część 1
  2. Ewolucja mobilnego złośliwego oprogramowania: przegląd, część 2

W czerwcu 2006 roku minęły dokładnie dwa lata od czasu, gdy firma Kaspersky Lab otrzymała pierwszą próbkę wirusa dla telefonów komórkowych. Chociaż wtedy nie było to jasne, teraz już wiemy, że wirus ten został napisany przez "Valleza", członka międzynarodowej grupy twórców wirusów, występującej pod nazwą 29A.

Pierwsza próbka otworzyła Puszkę Pandory. Obecnie firmy antywirusowe posiadają kolekcje setek trojanów i robaków dla telefonów komórkowych. Cienki strumyczek nowych złośliwych programów dla Symbiana, który został zapoczątkowany w 2004 roku, przemienił się w obfity strumień, który grozi przekształceniem się w rwący potok. Co tydzień do naszych sygnatur zagrożeń dodawanych jest około 10 trojanów z przedrostkiem "SymbOS".

Samo w sobie nie wydaje się to groźne. Najgorsze jest to, że robaki dla urządzeń przenośnych powodują coraz więcej epidemii, których rzeczywista skala nie jest na razie możliwa do oszacowania. Rok temu jedyne wiadomości, jakie otrzymywaliśmy o Cabirze, dotyczyły wykrycia tego robaka w kolejnym państwie lub mieście. Później właściciele zainfekowanych telefonów zaczęli kontaktować się bezpośrednio z firmą Kaspersky Lab i zaczęliśmy mieć do czynienia z rzeczywistymi infekcjami, które dotknęły również niektórych pracowników centrali Kaspersky Lab w Moskwie.

Szybkie tempo rozprzestrzeniania się robaków dla urządzeń przenośnych może wynikać z tego, że przeciętny użytkownik telefonu komórkowego jest mniej świadomy kwestii bezpieczeństwa niż przeciętny użytkownik Internetu. Z drugiej strony, nawet osoby, które już długo używają telefonów komórkowych, traktują mobilne złośliwe oprogramowanie jak problem, który jeszcze nie występuje, albo wierzą, że ich tak naprawdę nie dotyczy.

Jednak mobilne wirusy nie istnieją w jakimś równoległym świecie, ale stanowią część tego, w którym żyjemy. Dlatego twój telefon jest zagrożony za każdym razem, gdy korzystasz z transportu publicznego lub jesteś w kinie czy na lotnisku.

Wiele czasu upłynie, zanim użytkownicy będą wiedzieli tyle samo o wirusach mobilnych co o wirusach komputerowych...

Na początku był Cabir...

14 czerwca 2004 roku VirusBuster, znany hiszpański kolekcjoner wirusów, który posiada powiązania z niektórymi twórcami złośliwego oprogramowania, wysłał wiadomość na adres "newvirus@kaspersky.com". Do wiadomości załączony był plik o nazwie caribe.sis. Wtedy nie wiedzieliśmy tak naprawdę, co to oznaczało - nigdy wcześniej nie widzieliśmy czegoś podobnego. Szybka analiza wykazała, że mamy do czynienia z aplikacją dla systemu Symbian oraz z archiwum instalatora zawierającym inne pliki. Analitycy wirusów mają zazwyczaj do czynienia z plikami stworzonymi dla tradycyjnych procesorów x86. Pliki w caribe.sis były aplikacjami dla ARM - procesorów wykorzystywanych w szeregu różnych urządzeń, łącznie z telefonami komórkowymi. Początkowo o języku maszynowym wykorzystywanym przez ten procesor wiedzieliśmy bardzo niewiele, jednak poznanie go zajęło naszym analitykom zaledwie kilka godzin. Wkrótce cel tych plików stał się oczywisty: był to robak dla telefonów komórkowych rozprzestrzeniający się za pośrednictwem technologii Bluetooth. W pełni potwierdziło się to następnego dnia, po przetestowaniu go na telefonie Nokia N-Gage z systemem Symbian.

Robak został napisany przez osobę znaną jako Vallez. O ile nam wiadomo, Vallez mieszka we Francji, a w tamtym czasie należał do grupy twórców wirusów o nazwie 29A. Celem grupy było stworzenie kodu wirusa typu "proof-of-concept" dla niestandardowych systemów operacyjnych i aplikacji. Wyglądało na to, że członkowie 29A za wszelką cenę chcieli udowodnić firmom antywirusowym i innym twórcom złośliwego oprogramowania, że istnieją nowe, wcześniej nie badane metody infekcji. W czerwcu 2004 roku ich celem było stworzenie złośliwego programu dla smartfonów. Autor wybrał również niestandardową metodę rozprzestrzeniania szkodnika - analitycy przyzwyczajeni są do robaków, które rozprzestrzeniają się za pośrednictwem wiadomości e-mail. Ponieważ połączenie z Internetem i poczta elektroniczna to główne funkcje smartfonów, spodziewano się, że Cabir zostanie rozesłany w wiadomościach e-mail. Jednak autor robaka wybrał technologię Bluetooth, co okazało się kluczowym podejściem.

Cabir został stworzony dla systemu operacyjnego Symbian, który był i pozostaje najpowszechniej wykorzystywanym systemem operacyjnym w telefonach komórkowych. Swoją pozycję lidera na rynku zawdzięcza głównie temu, że wszystkie smartfony wyprodukowane przez Nokię opierają się na Symbianie. Symbian+Nokia to obecnie standardowa kombinacja dla smartfonów i dużo czasu upłynie, zanim Windows Mobile odbierze Symbianowi znaczny udział w rynku.

Pojawienie się Cabira potwierdziło prawo ewolucji wirusów komputerowych. Aby wyłoniły się złośliwe programy atakujące określony system operacyjny czy platformę, muszą zostać spełnione trzy warunki:

  1. Platforma musi być popularna. Symbian był i pozostanie najpopularniejszą platformą dla smartfonów. Liczba jej użytkowników wynosi na całym świecie dziesiątki milionów.

    Autor Cabira: "W przyszłości Symbian może stać się powszechnie wykorzystywanym systemem operacyjnym w telefonach komórkowych. Już dzisiaj jest to bardzo rozpowszechniony system i, według mnie, może stać się jeszcze popularniejszy. (Microsoft również próbuje wejść na ten rynek.)"

  2. Muszą istnieć dobrze udokumentowane narzędzia tworzenia oprogramowania.

Autor Cabira: "Cabir został napisany w języku C++. Symbian/Nokia zapewniają kompletny zestaw do konstruowania aplikacji dla systemu operacyjnego Symbian.

Obecność luk lub błędów w kodowaniu. Symbian zawiera wiele usterek dotyczących obsługi plików i usług. Błędy te nie były wykorzystane przez Cabira, za to w pełni wykorzystują je obecne trojany dla smartfonów.

Cabir natychmiast zwrócił uwagę nie tylko firm antywirusowych, ale również twórców wirusów. Wszyscy z niecierpliwością czekali na pojawienie się kolejnego wydania elektronicznej publikacji grupy 29A, spodziewając się, że zgodnie z tradycją grupa ta opublikuje kod źródłowy robaka. Oczywiście spowodowałoby to pojawienie się nowych, bardziej szkodliwych wariantów robaka: ma to miejsce zawsze, gdy dzieciaki skryptowe uzyskają dostęp do takich technologii. Jednak drobni cyberprzestępcy mogą wyrządzić wiele szkód, nawet bez posiadania dostępu do oryginalnego kodu źródłowego.

Obecnie typy i rodziny mobilnego złośliwego oprogramowania

Jesienią 2004 mobilne złośliwe programy zaczęły ewoluować w trzech głównych kierunkach. Jednym z nich były programy trojańskie tworzone w celu osiągnięcia zysków finansowych. Pierwszym mobilnym trojanem był Mosquit.a. Teoretycznie była to nieszkodliwa gra dla telefonów komórkowych; jednak w pewnym momencie zaczynała wysyłać wiadomości SMS na numery telefonów z książki adresowej, nabijając w ten sposób rachunek telefoniczny użytkownika. W rzeczywistości Mosquit.a był nie tylko pierwszym trojanem dla smartfonów, ale również pierwszym programem adware dla telefonów komórkowych.

Skuller.a, trojan, który pojawił się w listopadzie 2004 roku, był pierwszym reprezentantem największej dzisiaj rodziny trojanów mobilnych. Był to pierwszy mobilny złośliwy program wykorzystujący błędy w systemie Symbian, który pozwalał każdej aplikacji na nadpisanie plików systemowych własnymi danymi - wszystko to bez wiedzy użytkownika telefonu. Skuller zamieniał ikony aplikacji na trupie czaszki oraz usuwał pliki aplikacji. W rezultacie, urządzenie przestawało działać, po tym jak zostało wyłączone i powtórnie włączone. Ten rodzaj trojanów "wandali" stał się jednym z najpopularniejszych wśród twórców wirusów.


Skuller.a

Praktycznie w tym samym czasie co Skuller.a pojawiły się trzy nowe warianty Cabira. Żaden z nich nie opierał się na kodzie źródłowym oryginalnego robaka. Do tego czasu twórcy wirusów przywłaszczyli sobie Cabira, a niektórzy z nich postępowali tak jak dzieciaki skryptowe: zmienili nazwę plików robaka i zastępowali niektóre fragmenty tekstów w plikach własnymi hasłami. Jeden z wariantów dodawał Skullera do oryginalnego archiwum. Powstała w ten sposób hybryda nie działała tak, jak chcieliby jej twórcy: robak nie potrafił się rozmnażać, ponieważ Trojan powodował, że telefon przestawał działać. Był to jednak pierwszy przypadek wykorzystania Cabira do przenoszenia innych złośliwych programów.

Do początku 2005 roku wykształciły się główne typy mobilnych złośliwych programów, które twórcy wirusów wykorzystywali przez następne osiemnaście miesięcy:

  • robaki rozprzestrzeniające się za pośrednictwem protokołów i usług smartfonów
  • trojany-wandale, które instalowały się do systemu, wykorzystując błędy w systemie Symbian
  • trojany tworzone dla zysku finansowego

Mimo że istnieje tylko kilka głównych typów zachowań, w rzeczywistości mobilne złośliwe programy występują w różnorodnych formach. Kaspersky Lab dysponuje obecnie kolekcją 31 odrębnych rodzin mobilnych złośliwych programów. Tabela poniżej pokazuje główne cechy każdej z rodzin (OS oznacza system operacyjny).

Nazwa Data OS Funkcjonalność Wykorzystana technologia Liczba wariantów
Worm.SymbOS.Cabir Czerwiec 2004 Symbian Rozprzestrzenia się za pośrednictwem technologii Bluetooth Bluetooth 15
Virus.WinCE.Duts Lipiec 2004 Windows CE Infekuje pliki (File API) 1
Backdoor.WinCE.Brador Sierpień 2004 Windows CE Umożliwia zdalny dostęp do sieci (Network API) 2
Trojan.SymbOS.Mosquit Sierpień 2004 Symbian Wysyła wiadomości SMS SMS 1
Trojan.SymbOS.Skuller Listopad 2004 Symbian Zamienia pliki, ikony i aplikacje systemowe Luka w systemie operacyjnym 31
Worm.SymbOS.Lasco Styczeń 2005 Symbian Rozprzestrzenia się za pośrednictwem technologii Bluetooth, infekuje pliki Bluetooth, File API 1
Trojan.SymbOS.Locknut Luty 2005 Symbian Instaluje uszkodzone aplikacje Luka w systemie operacyjnym 2
Trojan.SymbOS.Dampig Marzec 2005 Symbian Zamienia aplikacje systemowe Luka w systemie operacyjnym 1
Worm.SymbOS.ComWar Marzec 2005 Symbian Rozprzestrzenia się za pośrednictwem technologii Bluetooth i MMS-ów, infekuje pliki Bluetooth, MMS, File API 7
Trojan.SymbOS.Drever Marzec 2005 Symbian Zamienia programy ładujące aplikacje antywirusowe Luka w systemie operacyjnym 4
Trojan.SymbOS.Fontal Kwiecień 2005 Symbian Zamienia pliki czcionek Luka w systemie operacyjnym 8
Trojan.SymbOS.Hobble Kwiecień 2005 Symbian Zamienia aplikacje systemowe Luka w systemie operacyjnym 1
Trojan.SymbOS.Appdisabler Maj 2005 Symbian Zamienia aplikacje systemowe Luka w systemie operacyjnym 6
Trojan.SymbOS.Doombot Maj 2005 Symbian Zamienia aplikacje systemowe, èíñòàëëÿöèÿ Comwar Luka w systemie operacyjnym 17
Trojan.SymbOS.Blankfont Lipiec 2005 Symbian Zamienia pliki czcionek Luka w systemie operacyjnym 1
Trojan.SymbOS.Skudoo Sierpień 2005 Symbian Instaluje uszkodzone aplikacje, instaluje Cabira, Skullera, Doombora Luka w systemie operacyjnym 3
Trojan.SymbOS.Singlejump Sierpień 2005 Symbian Wyłącza funkcje systemu, zamienia ikony Luka w systemie operacyjnym 5
Trojan.SymbOS.Bootton Sierpień 2005 Symbian Instaluje uszkodzone aplikacje, instaluje Cabira Luka w systemie operacyjnym 2
Trojan.SymbOS.Cardtrap Wrzesień 2005 Symbian Usuwa pliki oprogramowania antywirusowego, zamienia aplikacje systemowe, instaluje na kartach pamięci złośliwe oprogramowanie dla systemu Win32 Luka w systemie operacyjnym 26
Trojan.SymbOS.Cardblock Październik 2005 Symbian Blokuje karty pamięci, usuwa foldery Luka w systemie operacyjnym, File API 1
Trojan.SymbOS.Pbstealer Listopad 2005 Symbian Kradnie dane Bluetooth, File API 5
Trojan-Dropper.SymbOS.Agent Grudzień 2005 Symbian Instaluje inne złośliwe programy Luka w systemie operacyjnym 3
Trojan-SMS.J2ME.RedBrowser Luty 2006 J2ME Wysyła SMS-y Java, SMS 2
Worm.MSIL.Cxover Marzec 2006 Windows Mobile/ .NET Usuwa pliki, kopiuje swój kod na inne urządzenia File (API), NetWork (API) 1
Worm.SymbOS.StealWar Marzec 2006 Symbian Kradnie dane, rozprzestrzenia się za pośrednictwem technologii Bluetooth i MMS Bluetooth, MMS, File (API) 5
Email-Worm.MSIL.Letum Marzec 2006 Windows Mobile/ .NET Rozprzestrzenia się za pośrednictwem wiadomości e-mail E-mail, File (API) 3
Trojan-Spy.SymbOS.Flexispy Kwiecień 2006 Symbian Kradnie dane 2
Trojan.SymbOS.Rommwar Kwiecień 2006 Symbian Zamienia aplikacje systemowe Luka w systemie operacyjnym 4
Trojan.SymbOS.Arifat Kwiecień 2006 Symbian 1
Trojan.SymbOS.Romride Czerwiec 2006 Symbian Zamienia aplikacje systemowe Luka w systemie operacyjnym 8
Worm.SymbOS.Mobler.a Sierpień 2006 Symbian Usuwa pliki oprogramowania antywirusowego, zamienia aplikacje systemowe, rozprzestrzenia się za pośrednictwem karty pamięci Luka w systemie operacyjnym 1
31 rodzin, 170 wariantów
Kompletna lista (do 30 sierpnia 2006 roku) wszystkich rodzin mobilnego złośliwego oprogramowania według klasyfikacji firmy Kaspersky Lab.

Wzrost liczby wariantów znanych mobilnych złośliwych programów

Wzrost liczby mobilnych złośliwych programów należących do znanych rodzin

Ogólnie, tabela zawiera odpowiedź na pytanie: "Co mogą zrobić mobilne złośliwe programy?":

  • Rozprzestrzeniać się za pośrednictwem technologii Bluetooth, MMS
  • Wysyłać wiadomości SMS
  • Infekować pliki
  • Umożliwiać przejęcie zdalnej kontroli nad smartfonem
  • Modyfikować i zamieniać ikony lub aplikacje systemowe
  • Instalować "fałszywe" lub niedziałające czcionki i aplikacje
  • Zwalczać programy antywirusowe
  • Instalować inne złośliwe programy
  • Blokować karty pamięci
  • Kraść dane

Pod względem szkodliwych funkcji mobilne wirusy są obecnie bardzo podobne do wirusów komputerowych. Jednak ewolucja wirusów komputerowych trwała ponad dwadzieścia lat, a mobilne złośliwe programy przebyły taką samą drogę w niespełna dwa lata. Bez wątpienia, złośliwe oprogramowanie dla urządzeń przenośnych jest najszybciej ewoluującym rodzajem złośliwego kodu i posiada duży potencjał dalszego rozwoju.

Wirusy bazowe

Technologie wykorzystywane w wirusach mobilnych różnią się od tych stosowanych w złośliwych programach dla komputerów osobistych przede wszystkim tym, że mimo istnienia licznych rodzin wirusów mobilnych, niewiele z nich jest oryginalnych. Podobnie było z wirusami komputerowymi pod koniec lat 80. Istniały wtedy setki wirusów opartych na kodzie źródłowym "bazowego" złośliwego kodu. Wiele złośliwych programów zostało stworzonych na bazie zaledwie trzech wirusów: Vienna, Stoned oraz Jerusalem.

  • Cabir
  • Comwar
  • Skuller.gen

Cabir służył jako baza licznych wariantów, które różniły się tylko pod względem nazw plików i zawartości plików instalacyjnych sis. Cabir wykorzystywany był również jako baza pozornie różnych rodzin, takich jak StealWar, Lasco i Pbstealer.

Lasco

Lasco pojawił się jako reprezentant pierwszej z tych nowych rodzin. Poza funkcjonalnością robaka, programy z tej rodziny potrafią infekować pliki w pamięci telefonu. Ewolucja Lasco jest dobrym przykładem tego, co może nastąpić, gdy kod źródłowy wirusa stanie się publicznie dostępny. Kod źródłowy Cabira został przechwycony przez Brazylijczyka Marcosa Velasco, który zaczął tworzyć własne wirusy. W ostatnim tygodniu 2004 roku Velasco wysłał kilka napisanych przez siebie wariantów Cabira firmom antywirusowym. Niektóre z nich w ogóle nie działały, natomiast wszystkie zostały zaklasyfikowane jako warianty Cabira. Autor nie był z tego zadowolony; pragnąc zostać sławnym stworzył wariant robaka, który potrafił infekować pliki sis. W ten sposób robak Lasco znalazł się w sygnaturach zagrożeń programów antywirusowych.

Na szczęście, pomysł infekowania plików sis nie został podchwycony przez innych twórców wirusów, mimo że Velasco opublikował kod źródłowy swojego "dzieła" na własnej stronie internetowej. Nadal nie jest jasne, czy Cabir został wykorzystany jako źródło Lasco. Marcos Velasco twierdzi, że cały kod stworzył niezależnie, jednak liczba plików, ich nazwy i zasady działania są bardzo podobne do Cabira. Poniżej możecie porównać główne funkcje obu robaków i wyciągnąć własne wnioski.

Funkcja wysyłania robaka przez Bluetooth (Cabir):

if(WithAddress)
{
        WithAddress = 0;
        Cancel();
        TBTSockAddr btaddr(entry().iAddr);
        TBTDevAddr devAddr;
        devAddr = btaddr.BTAddr();
        TObexBluetoothProtocolInfo obexBTProtoInfo;
        obexBTProtoInfo.iTransport.Copy(_L("RFCOMM"));
        obexBTProtoInfo.iAddr.SetBTAddr(devAddr);
        obexBTProtoInfo.iAddr.SetPort(0x00000009);
        obexClient = CObexClient::NewL(obexBTProtoInfo);
        if(obexClient)
        {
                iState = 1;
                iStatus = KRequestPending;
                Cancel();
                obexClient->Connect(iStatus);
                SetActive();
        }
}
else
{
        iState = 3;
        User::After(1000000);
}
return 0;

Funkcja wysyłania robaka przez Bluetooth (Lasco):

if ( FoundCell )
{
        FoundCell = _NOT;
        Cancel();
        TBTSockAddr addr( entry().iAddr );
        TBTDevAddr btAddress;
        btAddress = addr.BTAddr();
        TObexBluetoothProtocolInfo obexProtocolInfo;
        obexProtocolInfo.iTransport.Copy( _L( "RFCOMM" ) );
        obexProtocolInfo.iAddr.SetBTAddr( btAddress );
        obexProtocolInfo.iAddr.SetPort( 9 );
        if ( ( iClient = CObexClient::NewL( obexProtocolInfo ) ) )
        {
                iStatus = KRequestPending;
                BluetoothStatus = _BLUETOOTH_NOT_CONNECTED;
                Cancel();
                iClient->Connect( iStatus );
                SetActive();
        }
}
else
{
        BluetoothStatus = _BLUETOOTH_CONNECTED;
}
}

Pbstealer

Pierwszy Trojan-Spy dla Symbiana, Pbstealer, to kolejny "potomek" Cabira. Został stworzony w Azji, prawdopodobnie w Chinach i wykryty na koreańskiej stronie poświęconej grze internetowej Legend of Mir, która padła ofiarą włamania. Ta metoda dystrybucji trojana oraz fakt, że Pbstealer został napisany z zamiarem przestępczym, pokazuje, że "dobre intencje" autora Cabira utorowały drogę powstaniu kolejnych złośliwych programów.

Funkcja umożliwiająca trojanowi wysyłanie plików za pośrednictwem technologii Bluetooth została zapożyczona z Cabira. Jednak autor Pbstealera dokonał jednej istotnej modyfikacji w oryginalnym kodzie. Jego trojan wyszukuje telefoniczną książkę adresową i poprzez Bluetooth wysyła zawarte w niej dane na pierwsze znalezione urządzenie. Stąd jego nazwa Pbstealer, która oznacza "Phonebook Stealer". W celu kradzieży takich informacji cyberprzestępcy wykorzystywali do tej pory różne luki w protokole Bluetooth. Przykładem może być trojan BlueSnarf, który znacznie rozszerzył dostępne możliwości.

Oczywiście Cabir często wykorzystywany był do przenoszenia różnych innych trojanów. Ponad połowa wszystkich wariantów Skullera, Appdisablera, Locknuta, Cardtrapa i innych wariantów trojanów wandali zawiera Cabira, który został tak zmodyfikowany, aby rozprzestrzeniać nie tylko siebie, ale również cały pakiet trojanów. Ten rodzaj hybrydyzacji spowodował poważne trudności w klasyfikacji wielu złośliwych programów. Problem ten zostanie szczegółowo omówiony w dalszej części tekstu.

Comwar

Kolejny punkt zwrotny w rozwoju mobilnego złośliwego oprogramowania stanowił Comwar, pierwszy robak, który rozprzestrzeniał się za pośrednictwem MMS-ów. Podobnie jak Cabir, robak ten może rozprzestrzeniać się za pośrednictwem technologii Bluetooth, jednak MMS jest jego główną metodą propagacji, przez co szkodnik ten stanowi ogromne zagrożenie. Bluetooth posiada zasięg 10 do 15 metrów (w niektórych urządzeniach nawet do 30 metrów), tak więc zainfekowane mogą zostać tylko te urządzenia, które znajdują się w tym promieniu. MMS nie posiada ograniczeń i może zostać natychmiast wysłany nawet na urządzenia znajdujące w innych państwach.

Autor Cabira rozważał początkowo tę metodę, jednak z oczywistych powodów (z perspektywy ideologii grupy 29A) wybrał technologię Bluetooth:

«mms: Łatwo jest przesłać na telefon program wyszukujący numery i wysyłający na nie wiadomość MMS z załączonym robakiem, pojawiają się jednak dwa problemy:
  • Nie wiemy, na jaki rodzaj telefonu wysyłamy MMS, i czy telefon ten może otrzymywać wiadomości MMS albo wykonać robaka.
  • Marnujemy pieniądze użytkownika telefonu."

Szczególnie wymowny jest drugi powód: oznacza on, że autor Cabira nie miał zamiaru narażać użytkowników na szkody finansowe. Natomiast twórca Comwara nie miał co do tego skrupułów.

Chociaż dla autorów mobilnego złośliwego oprogramowania najbardziej atrakcyjna jest technologia umożliwiająca wysyłanie złośliwego oprogramowania przez MMS-y, jak dotąd byliśmy świadkami jedynie zwykłych transformacji przeprowadzanych na oryginalnym robaku. Polegały one na tym, że małoletni hakerzy zmieniali nazwy plików i teksty w oryginalnych plikach bez dokonywania zmian w funkcjonalności Comwara. Spowodowane było to tym, że kod źródłowy Comwara nie został opublikowany, a dzieciaki skryptowe nie znają procedury wykorzystywanej do wysyłania zainfekowanych wiadomości MMS.

Obecnie znanych jest nam 7 modyfikacji tego robaka. Cztery z nich zawierają "sygnaturę autora".

CommWarrior v1.0b (c) 2005 by e10d0r
CommWarrior is freeware product. You may freely distribute it in it's original unmodified form.

Comwar.b:

CommWarrior v1.0 (c) 2005 by e10d0r
CommWarrior is freeware product. You may freely distribute it in it's original unmodified form.

Comwar.c:

CommWarrior Outcast: The dark side of Symbian Force.
CommWarrior v2.0-PRO. Copyright (c) 2005 by e10d0r
CommWarrior is freeware product. You may freely distribute it
in it's original unmodified form.
With best regards from Russia.

Comwar.d:

Nie zawiera żadnych znaczących tekstów. Treść MMS-ów jest zastąpiona hiszpańskimi tekstami.

Comwar.e:

WarriorLand v1.0A (c) 2006 by Leslie

Również zawiera teksty w języku hiszpańskim.

Comwar.f:

Nie zawiera żadnych znaczących tekstów. Treść MMS-ów jest zastąpiona hiszpańskimi tekstami.

Comwar.g:

CommWarrior Outcast: The Dark Masters of Symbian.
The Dark Side has more power!
CommWarrior v3.0 Copyright (c) 2005-2006 by e10d0r
CommWarrior is freeware product. You may freely distribute it in it's original unmodified form.

Comwar.g był pierwszym wariantem, który zawierał funkcjonalność infektora plików. Robak szuka w pamięci telefonu innych plików sis i dodaje do nich swój kod. Jest to dodatkowa, obok tradycyjnych (MMS i Bluetooth), metoda propagacji.

Jak dotąd Comwar nie uruchomił lawiny innych rodzin. Jak już wcześniej wspominaliśmy, wynika to z tego, że jego kod źródłowy nie został opublikowany. Podobnie jak Cabir, Comwar wykorzystywany jest do przenoszenia innych programów trojańskich. Tak więc jedyny program wykorzystujący Comwara, o którym można powiedzieć, że zapoczątkował nową rodzinę, jest StealWar. Robak ten łączy Cabira, Comwara i trojana Pbstealer. Taka kombinacja jest bardzo niebezpieczna i umożliwia rozpowszechnianie się na szeroką skalę.

Wydaje się nieuniknione, że rozprzestrzenianie się poprzez MMS stanie się najpopularniejszą metodą propagacji mobilnego złośliwego oprogramowania. Jest to tym bardziej prawdopodobne, że istnieje już poważna luka w obsłudze MMS-ów w Windows Mobile 2003, która prowadzi do przepełnienia bufora i umożliwia wykonanie dowolnego kodu. Luka ta została zgłoszona przez Collina Mullinera w sierpniu 2006 roku na konferencji DefCon.


Demonstracja luki MMS (Collin Mulliner, Advanced Attacks Against PocketPC Phones).

Szczegółowe informacje dotyczące tej luki nie zostaną rozpowszechnione do czasu, gdy Microsoft opublikuje odpowiednie uaktualnienia. Jednak brak informacji nie sprawia, że luka jest mniej niebezpieczna. Jeśli komuś uda się napisać robaka, który po przedostaniu się do pamięci smartfonu będzie się uruchamiał automatycznie, bez udziału użytkownika, możemy stać się świadkami globalnej epidemii.

W swoim wariancie .c Comwar wykorzystał po raz pierwszy technologię rootkit. Robak ukrywa się na liście procesów i nie jest widoczny na standardowej liście aktualnie uruchomionych aplikacji, ponieważ definiuje swój proces jako proces systemowy. Chociaż proces ten można łatwo wykryć przy użyciu innego oprogramowania do przeglądania uruchomionych programów, taka metoda maskowania wykorzystywana jest obecnie w niektórych innych złośliwych programach dla Symbiana.

Skuller

Jak już wspominaliśmy wcześniej, Skuller to najliczniejsza rodzina mobilnych trojanów: do pierwszego września 2006 roku spotkaliśmy się z 31 wariantami. Nie powinno to nikogo dziwić, ponieważ programy te są najbardziej prtmitywnymi złośliwymi programami dla Symbiana. Każdy, kto wie, jak używać narzędzia do tworzenia plików sis, będzie potrafił stworzyć takiego trojana. Całą resztę wykonają luki w Symbianie: możliwe jest nadpisanie każdego pliku, łącznie z plikami systemowymi, w wyniku czego system staje się bardzo niestabilny, gdy napotyka na niespodziewane pliki (tj. pliki, które są uszkodzone lub nie mają standardowego formatu dla danej wersji systemu).

Większość wariantów Skullera opiera się na dwóch plikach, które klasyfikujemy jako Skuller.gen, i to właśnie te pliki wyróżniają Skullera od innych rodzin z podobną funkcjonalnością (np. Doombot lub Skudoo):

  • plik o tej samej nazwie co aplikacja, którą zastępuje (rozszerzenie "aif"). Jego rozmiar wynosi 1 601 bajtów. Jest to plik ikony zawierający obrazek trupiej czaszki. Plik zawiera również następujący ciąg tekstowy: “↑Skulls↑Skulls”;
  • plik o tej samej nazwie co aplikacja, którą zastępuje (rozszerzenie "app"). Jego rozmiar wynosi 4 796 bajtów. Jest to aplikacja EPOC, plik jest pusty i nie zawiera żadnych funkcji.

Problemy z klasyfikacją

Jeden z głównych problemów we współczesnych badaniach nad mobilnym złośliwym oprogramowaniem dotyczy klasyfikacji; w szczególności właściwego oznaczania nowych próbek i przydzielenia ich do klasy, która odzwierciedla ich zachowanie. Główna trudność polega na tym, że większość nowych złośliwych programów dla mobilnych urządzeń to hybrydy posiadające funkcjonalność dwóch lub większej ilości różnych typów złośliwego oprogramowania.

System klasyfikacji firmy Kaspersky Lab ma przejrzystą strukturę:

  • Zachowanie: określa, jaki to program i co robi, na przykład: Email-Worm, Trojan-Downloader, Trojan-Dropper.
  • Środowisko - tj. system operacyjny lub aplikacja, w której działa złośliwy program, na przykład: Win32, MSWord, Linux, VBS.
  • Nazwa rodziny i identyfikator wersji (litera lub litery).

Problemy dotyczące zaklasyfikowania szkodnika do odpowiedniej rodziny oraz nadania identyfikatora wersji z reguły nie występują. Zdarzają się jednak przypadki, gdy wybór rodziny nie jest oczywisty. Problem ten zostanie szczegółowo omówiony w dalszej części tekstu.

Niekiedy trudno jest zidentyfikować środowisko. Obecnie większość mobilnych złośliwych programów pisanych jest dla systemu operacyjnego Symbian, który oznaczamy symbolem "SymbOS". Jednak coraz częściej użytkownicy chcą wiedzieć, dla jakiej konkretnej serii Symbiana został stworzony określony złośliwy program. "Czy dany trojan będzie uruchamiał się tylko w środowisku Symbian Series 60 SE, czy będzie również atakował urządzenia działające pod kontrolą Series 80 itd." W przypadku złośliwego oprogramowania dla komputerów, w naszym systemie klasyfikacji identyfikujemy określoną wersję Windowsa: Win16, Win9x, Win32. Tak więc możliwe jest, że w przyszłości nasza klasyfikacja złośliwego oprogramowania dla Symbiana będzie również zawierała identyfikator wersji systemu operacyjnego podatnego na infekcję.

Jeśli chodzi o mobilne złośliwe programy, zidentyfikowanie serii Symbiana jest dla nas najmniejszym z problemów. Sprawy komplikują się o wiele bardziej, gdy analizujemy system Windows Mobile.

Na przykład, istnieją wirusy, które zostały napisane dla Windows CE 2003. Nazwaliśmy to środowisko WinCE. Jednak złośliwe programy stworzone dla Windows Mobile 5.0 nie działają w środowisku Windows CE. Co więcej, Windows Mobile nie zastępuje całkowicie Windows CE, ponieważ istnieje również Windows Pocket PC. Mobilne i kieszonkowe PC-ty zawierają zestaw funkcji, które wykorzystywane są także przez Windows CE, ale posiadają własne specyficzne aplikacje i właściwości.

W rezultacie, przy pomocy istniejącego systemu klasyfikacji bardzo trudno jest nadać precyzyjną nazwę określonemu złośliwemu programowi, która odzwierciedlałaby jego zachowanie.

Dodatkowo, wiele wirusów wymaga do swojego działania zainstalowania .NET for WinCE/ Windows Mobile. W takich przypadkach stosujemy dla tego środowiska oznaczenie MSIL, co nie podkreśla faktu, że złośliwy program został napisany dla urządzeń przenośnych.

To jednak tylko wierzchołek góry lodowej. Najbardziej skomplikowanym etapem procesu nadawania nazw mobilnym złośliwym programom jest wybór zachowania. Sprawę poważnie komplikuje hybrydyzacja, jak również wieloplatformowe złośliwe oprogramowanie dla urządzeń przenośnych oraz różne konwencje w nazewnictwie stosowane przez poszczególnych producentów rozwiązań antywirusowych.

Pokażmy to na przykładach:

Załóżmy, że posiadamy plik sis (który jest zasadniczo zarchiwizowanym instalatorem). Zawiera on pliki Cabira, Comwara, trojana Pbstealer, kilka plików Skuller.gen i kilka pustych plików (0 bitów), które są cechą charakterystyczną Locknuta. Na dodatek, plik ten instaluje wirusa Win32 do karty pamięci telefonu (tak samo jak trojan Cardtrap).

Zgodnie z naszym obecnym systemem klasyfikacji, powinniśmy zaliczyć taki plik do grupy Trojan-Dropper. Jednak nie w tym przypadku! Po zainstalowaniu Cabir wysyła plik sis za pośrednictwem technologii Bluetooth. Czy to oznacza, że plik sis jest robakiem? A jeśli tak, jak go nazwać? Cabir? Niemożliwe. Nie możemy nazwać go Cabirem i nadać identyfikatora nowej wersji, ponieważ 90% zawartości pliku sis nie ma nic wspólnego z Cabirem. Nazwanie go Cabirem zmyliłoby tylko użytkowników.

A co ze Skullerem, Locknutem czy Cardtrapem? Żadna z tych nazw nie jest stosowana osobno, ponieważ nowa próbka stanowi hybrydę. Dlatego plik sis zostanie najprawdopodobniej sklasyfikowany jako trojan i otrzyma nazwę istniejącej rodziny z naszej kolekcji. Nazwa zostanie wybrana na podstawie cech drugorzędnych, takich jak to, że trojan został napisany przez tego samego autora.

Takie skomplikowane sytuacje zdarzają się rzadko w przypadku wirusów komputerowych, jednak dla mobilnego złośliwego oprogramowania są praktycznie typowe. Możliwe, że jeśli zmniejszy się liczba prymitywnych trojanów wandali, takich jak te opisane wyżej, klasyfikacja mobilnego złośliwego oprogramowania stanie się łatwiejsza.

Podobne problemy sprawia robak działający w środowisku Win32. Po uruchomieniu na komputerze PC robak ten tworzy między innymi plik sis na dysku E:\. Telefony z Symbianem łączą się zazwyczaj z komputerami PC poprzez ten dysk. Plik sis zawiera kilka pustych plików, które wykorzystywane są do nadpisywania wielu aplikacji systemowych telefonu. Zawiera również tego samego robaka dla systemu Win32, który kopiuje się do karty pamięci telefonu razem z plikiem autorun.inf. Jeśli zainfekowany telefon zostanie podłączony do "czystego" komputera, z którego podejmie się próbę uzyskania dostępu do karty pamięci, nastąpi uruchomienie robaka, który zainfekuje komputer.

Jest to przykład wirusa wieloplatformowego, który potrafi działać w dwóch systemach operacyjnych: Symbianie i Windowsie. Taki robak już istnieje - nazywa się Mobler. Ale jak go sklasyfikować?

Dla wirusów wieloplatformowych używamy identyfikatora "Multi". Może więc Worm.Multi.Mobler? Niestety, nazwa ta nie powie użytkownikom, że wirus ten stanowi zagrożenie dla smartfonów z Symbianem. Dlatego uważamy, że najlepiej sklasyfikować taki program na podstawie jego dwóch komponentów: plik win32 jako Worm.Win32.Mobler, natomiast plik sis jako Worm.SymbOS.Mobler.

Jednak inne firmy antywirusowe nie klasyfikują pliku sis ani jako Mobler, ani jako robaka. Nadają mu nazwę Trojan.SymbOS.Cardtrap, ponieważ zgodnie z ich systemami klasyfikacji każdy szkodnik, który instaluje do karty pamięci złośliwy program dla systemu Win32, to Cardtrap. Jednak szkodnik ten nie instaluje losowego trojana, ale swój główny komponent i wysyła własną kopię tylko na inne systemy operacyjne. Problem tkwi w sztywnych kryteriach, na których oparte są klasyfikacje firm antywirusowych. To oznacza, że przypadki nie mieszczące się w standardach, które wykazują podobieństwo do znanych złośliwych programów, zostają sklasyfikowane tak samo jak one. Tracą na tym wszyscy - zarówno użytkownicy, jak i same firmy antywirusowe.

Jeśli wyjdziemy z założenia, że metody rozprzestrzeniania się i zachowania wielu mobilnych złośliwych programów będą fundamentalnie różnić się od wszystkiego, co do tej pory widzieliśmy, oznacza to, że będziemy musieli stworzyć nowe klasy. Na przykład Cabir (lub jakikolwiek robak, który rozprzestrzenia się za pośrednictwem technologii Bluetooth) mógłby zostać sklasyfikowany jako Bluetooth-Worm (jak na przykład Inqtana, robak dla systemu Mac OS), a robak rozprzestrzeniający się poprzez MMS - jako MMS-Worm. A co jeśli robak wysyła siebie za pośrednictwem technologii Bluetooth i MMS? Która z tych dwóch metod propagacji jest ważniejsza? Kaspersky Lab uważa MMS za główną metodę propagacji, jednak pozostałe firmy antywirusowe mogą mieć inne zdanie, przyznając pierwszeństwo technologii Bluetooth.

Wcześniej czy później branża antywirusowa będzie musiała zaakceptować fakt, że niezbędne jest stworzenie ujednoliconego systemu klasyfikacji mobilnego złośliwego oprogramowania. Należy to uczynić tak szybko, jak to tylko możliwe, zanim sytuacja stanie się krytyczna i zamęt panujący w klasyfikacji wirusów dla komputerów PC (różne firmy antywirusowe nadają wirusom zupełnie inne nazwy) wtargnie również do świata mobilnego złośliwego oprogramowania.

Źródło:
Kaspersky Lab