Вирус поразява инсталации на Delphi?!?

Едва ли има потребител, който не знае що е то компютърен вирус (като потърпевш или обеззаразител 🙂 ). Но поведението на вируса, за който ще стане дума е доста нестандартно. Открит е съвсем случайно, поради БЪГ внего 🙂

Историята.

Преди време, в руски Delphi форум е зададен въпрос, относно неочаквана грешка по време на изпълнение на някаква програма: Runtime Error 3. В последствие става ясно, че в компилираната програма има скрит изпълним код:

[singlepic=177,210]

Изследването му води до следния извод: вирусът НЕ ЗАРАЗЯВА изпълними файлове, а самия Delphi компилатор! И прави само това – разпространява се т.е. не извършва деструктивни операции и може да се смята, чее “безвреден”. Ето и част от неговия код:

[singlepic=178,210]

В Интернет вирусът е познат под името W32/Induc-A.

Вирус, поразяващпрограмисти 😀

Поведението.

При стартиране на заразен файл вирусът търси инсталация на Delphi. Ако намери такава прави копие на системната библиотека SysConst.pas (SysConst.bak), добавя в оригиналния файл допълнителен код (себе си, но не само) и го прекомпилира.

За щастие вирусът поразява само Delphi средите с версии 4,5,6,7.

Ефектът.

Когато стартирате проект на Delphi компилаторът добавя зловредния код към Вашата програма. Ако тя бъде стартирана на друг компютър и на него има инсталирано Delphi 4-7 – и той ще бъде заразен.

Как да откриете пакостника.

Отворете с любим текстов редактор файла SysConst.pas. Обикновено се намира в “C:\Program Files\Borland\Delphi7\Source\Rtl\Sys”. Потърсете символния низ: “CreateFile(pchar(d+$bak$),0,0,0,3,0,0);” – без кавичките. Ако намерите нещо – “честито” 🙂

На този етап най-известните антивирусни продукти откриват вируса под името W32/Induc, но след почистването му не е ясно дали програмата/инсталацията на Delphi ще работи:

Ако сте заразени.

Трябва да намерите оригинал на SysConst.pas. Може да използвате и предварително съхранения от вируса: SysConst.bak 🙂

Хитринка.

Въпреки всичко вирусът е интелигентен. При изпълнение на заразен файл пакостникът не се самоинжектира постоянно. Първо проверява дали съществува SysConst.bak и ако е така, следователно жертвата е заразена. Хитро, но не съвсем. И тъй като ние сме по-хитри можем да използваме този механизъм за защита: направете копие на SysConst.pas и го кръстете SysConst.bak. Ако стартирате заразен файл, вирусътняма да стори нищо на Вашата Delphi инсталация, защото ще си “помисли”, че вече го е направил 🙂

Заключение.

Неприятна история, друго не мога да кажа. Но интересното е, че това не е първия случай и Delphi не е първата поразена среда. Подходът е известен повече от 25 години, хъх 🙂

Въпреки, че е стара версия, Delphi 7 си остава стабилна и доста разпространена среда за програмиране. Много програми, включително и мои, дължат “живота” си именно на нея. Не знам дали знаете, но Skype е писан на Delphi. По данни от преди време – използваната версия е точно 7 🙂

Лично мнение:
W32/Induc-A дефакто е безвреден. Сигурно е написан от някой в свободното му време ей-така, за удоволствие. Писането на шегаджийски или зловреден код обаче не е начин даден програмист да покаже, че може или да покаже на друг,че не е защитил програмата или операционната си система. Сигурен съм, че тази сила може да бъде градивна, а не деструктивна. В този ред на мисли не е добре да се толерира писането на такъв код под каквато и да е форма(Кр. Божиновима статия по въпроса), а по-скоро да се покаже какви са последствията от него. Времетоза почистване на големите поразии е безвъзвратно и излишно загубено, а то…може да се използва за създаване на много нови неща, показващи силата, уменията, упоритостта, стараниетои мисълта на хората, които искат да докажат себе си, нали така? 🙂

Допълнителна информация:

В настоящата статия са използвани снимкови материали от трети източници.

3 thoughts on “Вирус поразява инсталации на Delphi?!?

  1. аз си мисля колко ли подобни вируси има неоткрити още?

    и друго: системи съставени от голям брой относително прости “агенти” могат да имат доста сложно поведение – даже

    интелигентно , и дали вече не съществуват такива колективни системи от “безобидни” саморазпространяващи се вирусчета , които

    дефакто да притежават собствен интелект?

    и дали системата няма сама да генерира нови типове “агенти” ако старите са разкрити? това и сега е възможно – например

    макросите на ЛИСП практически са програми които пишат други програми. Програмите на ПРОЛОГ потенциално могат да се

    самопроменят.не знам какви са успехите в самообучаващите се невронни мрежи – но те също представляват колективни системи от

    елементарни “агенти”.

    или например при разпространяването на вируса може да се включи и модифициране на “агента” а на принципа на генетичните

    алгоритми да се установи кои модификации са витални и кои не.
    но системата да си продължи да съществува и да се самоусъвърщенства въпреки антивирусите.

    и дали в бъдеще няма да има такива вирусни системи?
    дали не е въпрос само на време?
    дали е необходимо някой умишлено и целенасочено да даде начало на такава система или е възможно тя да възникне сама в

    резултата на самоорганизация? както например е възникнал живота и интелекта?

    и ако/когато се появи такава система , какво правим тогава? ще може ли да се осъществи контакт с нея?

    и дали не чета твърде много научна фантастика? :)))

  2. Аз го прихванах от QIP, пиша на делфии и 7-та ми се зарази. Останах приятно учуден от новия поход…

  3. който си го търси – си го намира …
    ето интересна статия за това какво значи да има
    интелигентни саморазвиващи се системи…
    каквито може би могат (или ще могат) да образуват вирусите…
    http://en.wikipedia.org/wiki/Technological_singularity

    …говоря им на тези разбойници учениците за изкуствен интелект , казвам че появата му ще изисква от хората да потърсят в себе си нещо качествено по значимо от интелекта, така както мозъка е качествено по значим от мускула. и ако не успеят да открият такава нова ценност може да станат ненужни …

    и знаете ли какво установих ? че някой е напускал в компакт дисковото устройство… тиквени семки!!!
    – така както АЛФ беше напускал косми в сладоледа …

    смешно… ама и не съвсем …

Leave a Reply

Your email address will not be published. Required fields are marked *