18-19.08.2009 odbyła się aktualizacja większości najlepszych programów antywirusowych, która poruszyła użytkownikami programów napisanych w Borland Delphi. W tych dniach na tysiącach, jeśli nie setkach tysięcy komputerów na całym świecie, odezwały się alerty antywirusów dotyczące win32/induc i zaufanych dotychczas programów.

Przyczyną tego wielkiego poruszenia jest robak o nazwie Win32:Induc, który wg informacji firmy produkujących programy antywirusowe, jest niegroźny dla zwykłych użytkowników, którzy nie posiadają na swoim systemie oprogramowania Borland Delphi.

Użytkownicy mogą spać spokojnie, firmy softwarowe przeżywają koszmar

Niestety mimo braku potencjalnego zagrożenia dla użytkowników, ten złośliwy kod wyrządza bardzo wielką szkodę firmom produkującym oprogramowanie przy użyciu Borland Delphi, gdyż ich renoma i marka zostają nadszarpnięte przez ostrzeżenie o wirusie w oprogramowaniu dotychczas uznawanym za godne zaufania i 100% wolne od wirusów. Według informacji, które są publikowane na stronach producentów oprogramowania przez cały czas, problem ten dotyczy większości znanych i popularnych programów użytkowych, ale również programów bazodanowych, które często powstają właśnie w Delphi. W tej sytuacji tylko szybka reakcja producenta oprogramowania i udostępnienie wolnych od problemu aplikacji pomóc może w utrzymaniu dobrej marki. Ironią jest natomiast to, że niektóre złośliwe trojany są również zarażone (wirus w wirusie).

Nas również to dopadło

Problem Win32:Induc uderzył również w nasz sztandardowy produkt o nazwie Pajączek, z którego korzystają do tworzenia stron internetowych tysiące użytkowników w Polsce. Dzisiaj rano zaczęliśmy otrzymywać mailowe sygnały od użytkowników, których ten problem dopadł. Na początku z niedowierzaniem, gdyż zawsze gruntownie testujemy oprogramowanie przed wydaniem w kilku różnych programach antywirusowych; a później, wraz z coraz to większą liczbą maili, zaczęliśmy traktować tę sytuację priorytetowo i bardzo poważnie, gdyż nasze oprogramowanie tworzone jest właśnie w Delphi. Okazało się, że ostatnia wersja Pajączka (5.9.1) została zarażona tym złośliwym kodem na etapie kompilacji, gdyż metoda działania robaka jest zupełnie nowa i dotychczas niespotykana, a żadne programy antywirusowe do tej pory nie radziły sobie z takim rodzajem wirusa. Na szczęście udało nam się szybko poradzić z tym problemem i w trzy godziny na naszych serwerach były już czyste pliki EXE i instalatory. Warto jednak opisać jak działa ten wirus i jak do tego doszło, że zaraził tak wiele programów na całym świecie, aby mieć świadomość, że nie było łatwo uniknąć tej sytuacji.

Skąd się wzięła ta choroba?

W tym momencie nie ma jeszcze zbyt wielu informacji o tym kto i kiedy stworzył Win32/Induc, jednakże moment, kiedy nastąpiło zarażanie tym wirusem to wg mnie okres między kwietniem a majem tego roku. Wnioskuję to na podstawie tego, że Pajączek 5.9.0 wydany na koniec kwietnia, był wolny od tego problemu, podczas gdy wydana miesiąc później wersja 5.9.1 już wywołuje alerty.

Uruchomiony przez użytkownika zarażony program, infekuje tylko systemy, gdzie zainstalowane jest środowisko Borland Delphi w wersjach od 4 do 8. Być może również nowsze. Wirus wyszukuje miejsce instalacji Delphi poprzez odczyt klucza rejestru o nazwie: HKLM\Software\Borland\Delphi\x.0\ gdzie ‚x’ to numer wersji Delphi. Następnie wirus wyszukuje plik source\rtl\sys\SysConst.pas i kopiuje go do katalogu lib\SysConst.pas. Plik SysConst.pas jest plikiem źródłowym biblioteki Delphi i zawiera wyłącznie stałe tekstowe różnego rodzaju komunikatów. Wirus dokleja tam swój złośliwy kod i kompiluje go za pomocą do postaci binarnej SysConst.dcu za pomocą kompilatora Delphi. Następnie ślady są zacierane poprzez usunięcie skopiowanego pliku SysConst.pas i ustawienie właściwej daty i czasu na pliku SysConst.dcu, aby biblioteka wyglądała na oryginalną. To wszystko jeśli chodzi o jego złośliwe działanie.

W tym momencie wirus egzystuje już w środowisku Delphi i każdy program, biblioteka, kontrolka ActiveX, czy cokolwiek innego, kompilowanego w Delphi, zawiera w sobie kod rozmnażający wirusa wg opisu z poprzedniego akapitu. Do dnia wczorajszego i dzisiejszego żaden program antywirusowy nie rozpoznawał tego wirusa, a niektóre antywirusy jeszcze w tej chwili nie są na niego odporne. Nie spodziewający się niczego programista, kompiluje oprogramowanie, które już z Delphi wychodzi zarażone. Następnie sprawdza je programem antywirusowym, a żaden nie raportuje problemów. Program jest wydawany i później zaczyna się koszmar. Emaile, telefony, smsy…

Pajączek.pl - twórz poprawiaj publikuj

Jak wyleczyć program z tego malware?

Wg producenta antywirusów, firmy Sophos, od wczorajszego dnia nadesłane zostały do nich raporty na temat tego robaka dotyczące ok 3000 róznych programów. Raporty nadal napływają. To daje wyobrażenie o skali problemu. Niestety zarażonych plików nie da się „wyleczyć”. Program należy usunąć i zastąpić go nową wersją, wolną od złośliwego kodu. To z kolei wymaga zupełnie nowej kompilacji i najczęściej instalacji programu. Zatem w przypadku wykrycia na swoim komputerze programu zarażonego tym wirusem, należy go usunąć i sprawdzić na stronie producenta, czy nie jest przypadkiem dostępna nowa wersja, wolna od tego problemu.

Co mogą zrobić autorzy oprogramowania, aby się pozbyć robala?

Jeśli korzystasz z Delphi, to w pierwszej kolejności przeskanuj cały system aktualnym oprogramowaniem antywirusowym, aby wykryć źródła potencjalnych infekcji. Gdy zostaną wykryte, należy usunąć pliki lub ich nie uruchamiać i zająć się Delphi. Cała operacja jest bardzo prosta. Wystarczy usunąć plik SysConst.dcu z katalogu /lib w Delphi i zastąpić go oryginalnym plikiem dcu. Oryginalny plik można znaleźć na płycie instalacyjnej Delphi. Można również samodzielnie go skompilować ze źrodła znajdującego się w /source/rtl/sys/SysConst.pas. Kolejne kompilacje będą już wolne od złośliwego kodu.

Do użytkowników Pajączka

Jeśli używasz Pajączka Standard lub Professional w wersji 5.9.1 pobranego wcześniej niż dzisiaj, prosimy o pobranie nowej wersji 5.9.1 dostepnej w postaci pojedynczego pliku EXE do podmiany lub w postaci wersji instalacyjnej. Plik EXE można pobrać z działu z wersjami BETA (rozmiar ok 5 MB), natomiast instalator pełnej wersji z ogólnodostępnego działu Download (rozmiar ok 25 MB).

Pozostałe nasze programy, tj. Galernik (do tworzenia galerii zdjęć) oraz SpamRebel (program do usuwania spamu) są wolne od tego problemu i nie wymagają aktualizacji.

Przepraszamy za utrudnienia w pracy z naszymi programami

Staraliśmy się zareagować natychmiast i udostępnić wolną od problemu wersję oprogramowania. Wszystkie siły w naszej firmie skierowane zostały do rozwiązania tego problemu i już po niecałych trzech godzinach od informacji, wszystkie pliki programów zostały na nowo skompilowane i udostępnione na naszych serwerach i mirrorach.

Mimo to, że podobnie jak autorzy najbardziej znanych programów shareware i komercyjnych na świecie, nie jesteśmy winni tej sytuacji i zachowaliśmy wszystkie możliwe środki bezpieczeństwa, aby do takiej sytuacji nie dopuścić, uprzejmie przepraszamy naszych użytkowników za wystąpienie tego problemu i przerwę w ciągłości użytkowania naszego oprogramowania. Wiemy, że używacie Pajączka na co dzień w pracy i w domu. W ramach rekompensaty każdej osobie, która ucierpiała z tego powodu chcemy zaoferować zniżkę 15% dostępną do końca września, na zakup dowolnego programu naszej produkcji (kupon WIRUS15 w naszym sklepie). Jeszcze raz przepraszam i dziękuję za wyrozumiałość.

Pozdrawiam serdecznie,
Rafał Płatek