Кіріспе

Компьютерлік вирустар қолданатын кодтың түрі. Метаморфтық код – іске қосылғанда, белгілі бір интерпретация бойынша өзінің кодын логикалық жағынан эквивалентті нұсқасын шығаратын код. Бұл квайнға ұқсас, бірақ квайннің бастапқы коды оның нәтижесімен толық сәйкес келеді. Метаморфтық код көбінесе өзінің бастапқы кодын емес, машиналық кодты шығарады.

Шолу

Компьютерлік вирустар антивирустық бағдарламалардың үлгілерді тануын болдырмау үшін метаморфты кодты пайдаланады. Метаморфты вирустар көбінесе өздерінің екілік кодтарын уақытша түрге аударады, осы уақытша түрді өңдейді, содан кейін өңделген түрін қайтадан машиналық кодқа айналдырады. Бұл процедура вирустың өзімен орындалады, сондықтан метаморфты механизмнің өзі де өзгеріске ұшырайды, яғни вирус ешбір бөлігі бұрынғыдай қалмайды. Бұл полиморфты кодтан өзгеше, онда полиморфты механизм өзінің кодын қайта жаза алмайды. Кейбір вирустар жаңа файлдарды жұқтыру кезінде метаморфты кодты қолданады, нәтижесінде келесі буын ешқашан ағымдағы буынға ұқсамайды. Мутацияланған код дәл сол әрекетті орындайды (пайдаланылған интерпретация бойынша), бірақ баланың екілік бейнесі әдетте ата-анасынан толыққандай өзгеше болады. Мутацияны NOP нұсқауларын (күшпен) енгізу, қандай регистрлерді пайдалану керектігін өзгерту, секіру арқылы басқару ағынын өзгерту, машиналық нұсқауларды эквиваленттілерімен алмастыру немесе тәуелсіз нұсқауларды қайта реттеу сияқты әдістер арқылы жүзеге асыруға болады. Метаморфизм вирусты эвристикалық талдаудан қорғамайды. Метаморфты код сонымен қатар вирусқа екі немесе одан көп операциялық жүйеден (мысалы, Windows және Linux) немесе тіпті әртүрлі компьютерлік архитектуралардан файлдарды жұқтыру мүмкіндігін береді. Көбінесе вирус өзінің ішінде бірнеше вирус алып жүреді. Вирустың басы осылай кодталады, ол барлық платформаларда дұрыс машиналық кодқа аударылады. Бұл, ең алдымен, мақсатты платформа белгісіз болғандағы қашықтан әрекет етудің инъекциялық кодында қолданылады.