Przypisanie autorstwa ataku z reguły jest trudnym zadaniem. Nie dość, że przestępcy potrafią nie zostawiać żadnych znaczących śladów, to czasem także podrzucają mylne tropy. Nie inaczej było w przypadku ataku na polskie banki.
Echa włamania do kilku polskich banków nie milkną. Firma BAE Systems, która swojego czasu jako pierwsza opisała atak na bank narodowy Bangladeszu, przyjrzała się dość dokładnie niektórym elementom złośliwego oprogramowania atakującego komputery w polskich bankach i uznała, że jego autorzy próbowali podszyć się pod osoby rosyjskojęzyczne.
Transliteracja czy transkrypcja
Badacze z BAE Systems przebadali zarówno elementy kodu z serwera serwującego eksploity jak i próbki oprogramowania, które używane było w pierwszym etapie infekcji do sprawdzenia, na jaki komputer trafili przestępcy. W obu elementach kodu znaleźli sporo słów, które wygladają zupełnie jakby napisane były po rosyjsku. W jednym z komponentów można znaleźć następujące polecenia / statusy: nachalo, ustanavlivat, poluchit, pereslat, derzhat oraz vykhodit, podczas kiedy zdaniem ekspertów BAE Systems prawidłową formą powinno być raczej ustanovit zamiast ustanavlivat czy vyiti zamiast vykhodit.
Dalej robi się jeszcze ciekawiej, gdyż w kodzie pojawia się słowo chainikaddress. Skąd taki zwrot? Otóż w potocznym rosyjskim чайник może oznaczać kogoś głupiego – po angielsku dummy. Z kolei w kodzie można użyc sformułowania dummy address, czyli adres tymczasowy, zastępczy – lecz na pewno nie chodzi tu o adres czajnika. Czajnik funkcjonuje dość konsekwentnie, łącznie z poleceniem daiadreschainika. W jednym fragmencie kodu autor nie może się jednak zdecydować, czy używa słów angielskich, czy pseudorosyjskich:
private function put_dummy_args(param1:*) : * { return chainik.call.apply(null,param1); } private function vyzov_chainika() : * { return chainik.call(null); }
Użyta przez autorów malware pisownia może udawać transliterację – czyli zapis słów rosyjskich za pomocą znaków łacińskich. Nie stosują jej jednak konsekwentnie. W kodzie pojawia się na przykład słowo kliyent2podklyuchit, prawdopodobnie tłumaczenie client2connect. Co jednak istotne, rosyjskie słowo клиент w transliteracji zapisane zostanie jako klient. Skąd więc dziwny zapis kliyent? Prawdopodobnie jest to transkrypcja podawana przez usługę Google Translate. Najwyraźniej autorzy malware mieli problem z odróżnieniem transkrypcji od transliteracji.
Analiza exploit kitu i malware
Badacze BAE Systems wykonali także kawał świetnej roboty w kwestii analizy sposobu działania exploit kitu serwującego złośliwy kod i niektórych elementów samego malware. Serdecznie polecamy lekturę całości – dowiecie się z niej np. do czego używane było hasło polki89jdm#ks@. Na zachętę zobaczcie także schemat działania exploit kita.
A na koniec taka mała refleksja – gdybyśmy byli Rosjanami atakującymi Polaków i chcieli utrudnić analizę, to pewnie zamieścilibyśmy w kodzie własnie takie ciągi, by wyszło na to, ze ktoś tylko próbował udawać Rosjan… :)
Komentarze
przecież atrybucja to czysta polityka, można rzeczywiście znajdować cechy wspólne w atakach a i b, i jeśli robi się to dość rzetelnie, przez dłuższy czas można rozpoznawać pewne atrybuty specyficzne dla danej grupy, dodając do tego szerszy kontext jak np aktualną sytuacje geopolityczną, cele ataków można wiązać kampanie z grupami przy założeniu że kod źródłowy złośliwego oprogramowania, wykorzystywane eskploity, podatności, techniki nie są sprzedawane na czarnym rynku, ogólnie nie są dostępne.
To że ktoś umieszcza rosyjskie teksty, źle przetłumaczone nie oznacza, paradoksalnie że atak nie ma źródeł w Rosji, a żeby było śmieszniej to że ma tam źródła nie znaczy że to GRU, itd.
Ogólne i tak sądzę że większość poważnych ataków ma związek z ss różnych państw a jakże zaprzyjaźnionych
kryminaliści nie są ambitni
A może pracowali nad kodem w międzynarodowym zespole?
Część polskich firm ma w kodzie złożenia nazw – jedno słowo po polsku, drugie po angielsku lub podobnie. Na przykład sendPakiet. Więc nie jest dziwne, że rosjanie mogą mieć podobnie.
Rozjanie ze swoim chainikiem u tak są bardziej kreatywni niż Polacy z „// Gowno tu znajdziesz”.
Gdybym był Amerykaninem i chciał utrudnić analizę, to bym zamieścił w kodzie takie ciągi, by wyglądało jakby to Rosjanie chcieli udawać Rosjan, aby zrzucić na nich winę :)
Zauważyłem że ostatnio każdy atak przeprowadzany jest przez Rosjan.
A jak już wszystko wskazuje że to jednak tylko malowani Rosjanie to wychodzi na to że tylko dobrze się ukrywają.
W momencie kiedy takie tezy stawiają „opiniotwórcze” media to można się pośmiać i pokiwać głową z politowaniem. Ale jak to przebija się do poważnych portali jak Z3S to zaczyna być najnormalniej niebezpiecznie bo mocno usypia to czujność wobec naszych przyjaciół.
A jakoś tak dziwnie historia pokazuje ze najwięcej się ich należy obawiać i najwięcej oni zrobią żeby zwalić wszystko na Rosję choć ta święta nigdy nie była i robiła to samo.
Pomijam że nie ma żadnego powodu żeby Rosjanin nie atakował w imieniu USA :D Wcale bym sienie zdziwił jak by ataki Rosjan na wybory w USA były opłacane przez kogoś z USA.
Nie czarujmy się że takie grupy nie są do wynajęcia.
Taki zapis słowa „klient” mógł być celowym zabiegiem do zmylenia osób analizujących malware. Pamiętajmy, że to są profesjonaliści.
a wpadliście na pomysł że może to nie rosyjski tylko ukraiński ;). Vide transliteracja via translate google https://translate.google.pl/?hl=pl#pl/uk/klient „kliyent”
Pisanie źle o Ukrach jest w wielu miejscach w PL zabronione.
Z każdym postem obrazek robi się coraz ciekawszy. Dziękuję za trzymanie ręki na pulsie i przybliżaniu mniej technicznym użytkownikom złożoności sytuacji.
Mnie nieodparcie nurtuje po co ten cambio.swf jako Trojan.Swifi i to od 2009? Tyle zachodu z nowym malware później a ten kluczowy etap tak narażony na detekcję.
Ciekaw jestem czy eksperci od webproxy, czy siem-ów już szykują polityki typu: jeśli użytkownik połączył sie ze stroną z listy zaufanych (np. gov.pl, edu.pl) i nastąpił alert lub komentarz dotyczący reputacji/antywirusa to eskaluj alert do krytycznego i przekaż do analizy…
Koniecznemu te słowa pewnie pewnie wystarczyły, żeby znaleźć Putina chowającego się za krzakiem. Nie wiem, bo boję się wejść na niebezpiecznika.
faktycznie ostatnio wszystko co złe, to Rosjanie; w sumie na miejscu Rosjan bym się cieszył, że wszyscy tak przed nimi portkami trzęsą (teraz również w cyberprzestrzeni)
„gdybyśmy byli Rosjanami atakującymi Polaków i chcieli utrudnić analizę, to pewnie zamieścilibyśmy w kodzie własnie takie ciągi, by wyszło na to, ze ktoś tylko próbował udawać Rosjan… :)”
Nierozwiązywalny problem typu:
„Kto napisze testy do testów?!”
A nie wpadliście na to że specjalnie mogli używać takich słów w taki sposób?
Chyba nie czytałeś do końca.
Takie tłumaczenia można zamówić w każdym sklepie z tłumaczeniami :)
A kto pisał ten kod:
a = 'Krakowiachec ajne, miau konikoov sieben’
?