Нақты режим бұзушыларына қарсы күрес



жүктеу 16,47 Kb.
Дата28.04.2020
өлшемі16,47 Kb.
#30019
Нақты режим бұзушыларына қарсы күрес


Нақты режим бұзушыларына қарсы күрес

Бұзушының зерттеуінен қорғанудың екі тәсілі бар:

- бұзушыны анықтау және басқаруды бұзушыға қарсы бұтақ реакциясына беру;

- код фрагменттерімен бағдарламаны «қоқыстау», олар бұзушысыз қалыпты жұмыс істейді, ал бұзушы бар кезде апаттық жағдайға, компьютердің дұрыс жұмыс істемеуіне немесе бағдарламаның орындалу барысының бұрамлануына әкеледі.

Бұзушыны анықтау.

Нақты режим бұзушыларын анықтау жетерліктей оңай. Оларды анықтаудың екі негізгі тобын атап айтуға болады:

- процессордың аппараттық ерекшеліктерін қолдану, әсіресе командалар тізбегінің бары, сонымен бірге кейбір нұсқауларды орындағаннан кейін трассирлі үзудің жоғалуы;

- операциялық ортаның өзгеруін үзу векторын тексеру жолымен, Бағдарламаның жеке бөліктеріне кеткен уақытты тексеру, Бағдарламаны жіберу кезінде регистлердің алғашқы жағдайын тексеру және т.с.с. анықтау.

Бұзушылар комьютердің мынадай ресурстарын қолданады: INT1 сияқты үзулерді,  INT 3 және TF трассировка жалауы. Мұның бәрі қорғалатын бағдарлама бұзушының зерттеуін анықтау үшін қолданылуы мүмкін. Мәселе мынада, Intel 80x86 сияқты процессорлар бір команданың трассировкасын «жоғалтады», егер оның алдындағы команда сегмент регистрінің мәнін өзгерткен болса, бұзу процесіндегі TF трассировкасының жалауының орнатылғандығын анықтауға болады.

486 тобындағы процессорларда бұзушыны команданы алдын ала таңдау буферін қолданып білуге болады. Таңдалған және сол тізбекте орналасқан команда кодының өзгеруі бағдарламаның орындалу барысына әсер етпейді.

Бұзушыны анықтаудың келесі тәсілін тек нашар сапалы бұзушыларға қарсы қолданамыз, мәселен CodeView немесе Turbo Debugger. Ол мынаған негізделген: бағдарламаны жүктеу барысында анықталған түрде регистрлердің инициализациясы жүреді. Бағдарламаны бұзушыға зерттеу аз емес қууларды міндетті етеді. CodeView  және TD бірінші қуу кезінде AX, BX, CX, DX, SI, DI, BP регистрлерін нөлдейді. Екінші қуу кезінде CodeView бұл регистрлерді тағы да нөлге теңестіреді, ал Turbo Debugger алдындағы қуудан қалған «қоқысқа» мүлдем тиіспейді. Бағдарлама басында регистрлердің мәнін керектілермен салыстырып, бұзушыны анықтауға болады.

Нақты режимде бұзушының барында бағдарлама жұмысының бұрмалануы.

Бұған бірнеше тәсілдерді атап кетуге болады:

- контрольді нүктенің құрылуына және бағдарлама кодының өзгеруіне қарсы әрекет жасау;

- қолданушымен бірге интерфейстің бұзылуы, мысалы, пернетақтаны блоктау арқылы экранға нәтижені бұрмалау;

- код учаскесінің генерациясы, шифрлау, жүйені қорғаудағы басқа да қысқа бағдарламаларды шақыру сияқты жауакершілікті талап ететін әрекеттерді жүзеге асыру үшін бұзу (кейде тек бұзу ғана емес) үзулерін қолдану;



- орындалатын код аймағында стекті анықтау және оны бұлжытпай ауыстыру.
жүктеу 16,47 Kb.

Достарыңызбен бөлісу:




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау