Файл: Семинар сынылады he жне spo жйесіндегі омо сарапшылы кеесі.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 612
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
БАҒДАРЛАМАЛЫҚ ҚҰРАМДЫ ҚОРҒАУ
СТЕГАНОГРАФИЯНЫҢ ӘДІСТЕРІ
Жұмыс мақсаты: орындалатын файлдарды қорғау әдістерімен танысу. Файл бөлімінің соңындағы бос орынға сандық су белгілерін енгізу арқылы .exe файлдарын стеганографиялық қорғау мүмкіндіктерін зерттеу.
Ескерту. Компьютерде зертханалық жұмыстарды орындау үшін Filigrana.exe бағдарламасын орнату қажет
Зертханалық жұмыстың сипаттамасы.Бағдарламалық қамтамасыз етуді қорғау (SO) – бағдарламалық қамтамасыз етуді аналогтарды рұқсатсыз алудан, пайдаланудан, таратудан, өзгертуден, зерттеуден және қайта құрудан қорғауға бағытталған шаралар кешені.
Белгілі бір бағдарламалық өнімді қорғаудың ең тиімді әдісін әзірлеу қазір мамандандырылған, ақылы бағдарламалық қамтамасыз етуді әзірлейтін көптеген бағдарламашылардың маңызды міндеттерінің біріне айналуда, өйткені бұл олардың зияткерлік жұмысын сатуға және оны заңсыз пайдалану мүмкіндігін жоюға мүмкіндік береді. тұтынушылар арасында, басқаша айтқанда, ешкім белгілі бір бағдарламаның түпнұсқасын, лицензияланған көшірмесін алдымен сатып алмай, оны әзірлеушіге ақша төлемей пайдалана алмайды.
Өндірушілердің бағдарламалық өнімдерді қорғаудың тиімді әдісін жасауға жұмсаған шығындары өтеледі және бағдарламаларды заңсыз көшіру және пайдалану нәтижесінде келтірілген ықтимал зиянды өтейді.
Зияткерлік меншікті және, демек, бағдарламалық өнімдерді қорғаудың екі негізгі жолы бар:
-
заңды- бұл қорғау әдісі зияткерлік меншікті (біздің жағдайда бағдарламалық өнімдерді) заңсыз пайдаланудан қорғайтын белгілі бір заңнамалық актілерді жасаудан тұрады;
-
техникалық- бағдарламалық өнімге оны заңсыз пайдалануға тыйым салатын қолданыстағы қорғау әдістерінің кез келгенін қосу арқылы жүзеге асырылады. Құқықтық қорғау әдісімен салыстырғанда, ол ең кең таралған, өйткені оны жүзеге асыру практикалық және салыстырмалы түрде арзан.
Зертхана №13141
Құқықтық қорғау.Құқықтық қорғауға патенттеу, авторлық құқықты қорғау және т.б. сияқты әдістер жатады. Ол сондай-ақ бағдарламалық өнімді лицензиялау мүмкіндігін қарастырады, мысалы, бағдарламалық өнімдердің көпшілігі пайдаланушының осы бағдарламалық өнімді пайдалану құқығын растайтын лицензиямен қамтамасыз етіледі, яғни бағдарламаның лицензияланған көшірмесін сатып алу арқылы пайдаланушы белгілі бір дәрежеде көшірмесімен дұрыс жұмысқа лицензияны сатып алады.
Техникалық қорғау.Бағдарламалық өнімдерді қорғаудың көптеген техникалық әдістері бар. Олардың ең қызықты және өзектілері төменде қарастырылады.
Құпия сөзбен қорғауды пайдалану(белсендендіру коды). Бұл опция ең көп таралған болып табылады. Қорғаудың жұмыс істеу принципі бағдарламалық жасақтаманы пайдаланушыдан қосымша деректерді сұрау арқылы сәйкестендіруге және аутентификациялауға негізделген, бұл компанияның атауы және (немесе) пайдаланушының аты мен тегі және оның құпия сөзі немесе тек пароль болуы мүмкін. . Бұл ақпаратты әртүрлі жағдайларда сұрауға болады, мысалы, бағдарламаны іске қосқанда, бағдарламалық жасақтаманы тегін пайдалану мерзімі аяқталғаннан кейін, тіркеу процедурасын шақырғанда немесе
-
пайдаланушының компьютерінде орнату процесі. Қорғау процедурасын орындау оңай, сондықтан бағдарламалық жасақтаманы өндірушілер жиі пайдаланады. Бұл енгізілген кодтың дұрыстығын тексеруге және тексеру нәтижелеріне байланысты бағдарламалық жасақтаманы іске қосуға немесе іске қоспауға келеді.
Интернетті қорғау.Бұл қорғау әдісі алдыңғыға ұқсас, оның айырмашылығы белсендіру коды өндірушінің серверінде тексерілетіндігінде. Егер сіздің бағдарламаңыз желімен жұмыс істесе (бұл файлдарды жүктеу менеджері, браузер, FTP клиенті және т.б. болуы мүмкін), бағдарлама веб-сайтындағы пайдаланушы деректер базасын пайдаланып, Интернет арқылы бағдарламаға енгізілген кодты тексеруге болады. Дегенмен, зерттеуші, мысалы, бағдарлама веб-сайтынан сериялық нөмірлері бар мәліметтер базасын ала алмайтындай кейбір жанама деректерді тексеру қажет.
Бұл қорғанысты бұзудың күрделілігі мынада, бағдарлама кодында тіркеу кодын тексеру үшін арнайы Интернет-серверге кіруге болатын орынды табу өте қиын.
Сервер жағында бағдарламаларды орындау.Бұл қорғау әдісі клиент-сервер технологиясына негізделген, ол бағдарлама кодының онымен жұмыс істейтін пайдаланушыларға жіберілуін болдырмауға мүмкіндік береді, өйткені бағдарламаның өзі серверде сақталады және орындалады және пайдаланушылар клиенттік бөлігін пайдаланады. осы бағдарламаны іске асыру нәтижелерін алыңыз (4.1-сурет).
1424-БӨЛІМ
Күріш. 4.1.Сервер жағында бағдарламаны орындау
Клиенттік бөлікті тегін таратуға болады, бұл пайдаланушыларға тек сервер бөлігін пайдалану үшін төлеуге мүмкіндік береді.
Бұл әдістің кемшілігі желілік өткізу қабілетінің және бағдарлама жұмыс істейтін деректердің тәуелділігін белгілейді (сәйкесінше, мультимедиялық деректермен жұмыс істеу үшін желінің өткізу қабілеті максималды қажет). Сондықтан бұл әдіс қарапайым бағдарламалар (скрипттер) үшін ең тиімді болып табылады, олардың қажеттілігі пайдаланушылар арасында өте жоғары.
Бұл әдістің артықшылығы мынада, бұл жағдайда шабуылдаушы алдымен сервердің өзін бұзуы керек, содан кейін ғана ол қажетті бағдарламаның көшірмесін ала алады.
Бұл әдіс бағдарламаны заңсыз көшіруден қорғауға мүмкіндік бермейді, сондықтан оның көшірмесі шабуылдаушыға жеткеннен кейін ол онымен қалағанын жасай алады.
Код аутентификациясы(бұзудан қорғау). Бұл жағдайда
-
бағдарламада программаның өзінің тұтастығын тексеру процедурасы орналастырылған, ол бағдарламаның өзгертілгенін (оның кодына қандай да бір өзгерістер енгізілгенін) анықтауға мүмкіндік береді. Егер бұл процедура бағдарламаға өзгертулер енгізілгенін анықтаса, ол бағдарламаны жұмыс істемейтін етеді (4.2-сурет).
Бұл бағдарламалық өнімді шабуылдаушының өзгертуінен қорғауға мүмкіндік береді.
Бағдарламаның тұтастығын тексеру әдістері бар, мысалы:
-
бастапқы және іске қосылған бағдарламаның сәйкестігін тексеру. Әдетте, бұл үшін іске қосылған бағдарламаның бақылау сомасы анықталады, ол кейін тексеру процедурасында жазылған бастапқы бағдарламаның бақылау сомасымен салыстырылады; жылдам тексеруді жүзеге асыру үшін CRC немесе MD4 / 5 сияқты алгоритмдер қолданылады;
Зертхана №13143
-
бағдарламаның нәтижелерін тексеру, яғни. функциялардың шығыс мәндері тексеріледі, олар бағдарлама кодындағы кез келген ықтимал өзгерістерге өте сезімтал;
-
орындалатын бағдарламаны оның бастапқы кескініне сәйкес жылдам жасау - бұл бағдарламаға енгізілген өзгерістерді енгізу мүмкіндігін болдырмайды, өйткені оны жасау кезінде олар ескерілмейді.
Күріш. 4.2.Код аутентификациясы
Бағдарламалық кодты шифрлау.Ол бағдарламаға кедергілерді болдырмау үшін қолданылады, сонымен қатар крекердің бағдарламаның қалай реттелгенін, оның қалай жұмыс істейтінін, онда қорғау әдісі қалай жүзеге асырылатынын және т.б. түсіну процесін қиындатады.
Бұл қорғау әдісі бағдарлама кодын шифрлауды қамтамасыз етеді, содан кейін ол соңғы пайдаланушыларға шифрланған түрде жеткізіледі (кейде бағдарламаның бүкіл кодын емес, кодтың ең маңызды, маңызды бөлімдерін ғана шифрлау тиімді). Пайдаланушы мұндай бағдарламаны іске қосқан кезде, алдымен бағдарламаның шифрын шешу процедурасы іске қосылады, ол үшін кілт қажет,
-
оның көмегімен іске қосылған бағдарлама шифрден шығарылады (4.3-сурет).
1444-БӨЛІМ
Күріш. 4.3.Бағдарламалық кодты шифрлау
Бағдарламаларды шифрлау әдісінің кемшіліктері бар, оның бірі хакердің бағдарламаның лицензияланған көшірмесін сатып алғаннан кейін оның жұмыс істеу кезінде оның шифры ашылған бөліктерін жадтан шығарып алу мүмкіндігі бар. Сондықтан шифры шешілген код орындалғаннан кейін бірден оны жадтан шығару керек.
Бағдарламалық кодты жасыру.Обфузация (obfuscation - обфускация) - қорғалатын бағдарламалық өнімнің кодын кері инженериялау процесін қиындатуға мүмкіндік беретін бағдарламалық кодты қорғау әдістерінің бірі.
Түсірілім процесінің мәні программалық кодты шатастыру және ондағы логикалық байланыстардың көпшілігін жою, яғни. оны үйрену өте қиын болатындай етіп түрлендіріңіз
-
рұқсат етілмеген тұлғалардың өзгертулері (қорғалған бағдарламаның бірегей алгоритмін үйренгісі келетін крекерлер немесе бағдарламашылар).
Бағдарламалық өнімдерді толық және тиімді қорғауды қамтамасыз ету үшін тек бұрмалауды пайдалану жеткіліксіз, өйткені ол бағдарламалық өнімді заңсыз пайдалануды болдырмау мүмкіндігін қамтамасыз етпейді. Сондықтан, шатастыру әдетте болады
Зертхана №13145
қолданыстағы қорғау әдістерінің бірімен бірге қолданылады (мысалы, бағдарлама кодын шифрлау), бұл тұтастай алғанда бағдарламалық қамтамасыз етуді қорғау деңгейін айтарлықтай арттыруға мүмкіндік береді (4.4-сурет).
Күріш. 4.4.Кодты жасыру
Бір бағдарламаны жасырғаннан кейін алынған код әртүрлі болғандықтан, жасыру процесін авторлық құқықты бұзушыларды (яғни, бағдарламалардың сатып алынған көшірмелерін заңсыз тарататын сатып алушыларды) жылдам локализациялау үшін пайдалануға болады. Бұл әрекетті орындау үшін, қателесуден өткен бағдарламаның әрбір көшірмесінің бақылау сомасын анықтаңыз және оны сатып алушы туралы ақпаратпен бірге жазыңыз.
-
сәйкес деректер базасы. Осыдан кейін бұзушыны анықтау үшін бағдарламаның заңсыз көшірмесінің бақылау сомасын анықтап, оны сақталған ақпаратпен салыстыру жеткілікті болады.
-
дерекқор.
Қорғаушы бағдарламалар.Протекторлар – бағдарламаларды бұзудан қорғауға арналған бағдарламалар. Бағдарламаны қорғаудың бұл әдісі жақында өте танымал болды. Жұмыс істейтін орындалатын файлды алғаннан кейін бұл файл протектор бағдарламасының көмегімен өңделеді және әртүрлі қорғау құралдарын жүзеге асыратын жаңа орындалатын файл жасалады.
1464-БӨЛІМ
(бағдарламаны қорғау бүкіл файлдың әдеттегі орамы болып табылады, ал буманың өзі «қорғалған», ол ақырында файлды ашады). Қорғаушыларды қорғау мамандары жазады
-
бағдарламалық қамтамасыз ету зерттеушілерінің көпшілігі жеңе алмайтын бұзуға жақсы қарсылық деңгейін қамтамасыз етеді.
Бұл әдістің кемшілігі - протекторлар өте танымал болып келеді және сәйкесінше, антипротекторлық бағдарламаларды жазатын крекерлер белсенді түрде зерттеледі (қорғаныс орағыштары). Мұндай құралдар тез және автоматты түрде қорғанысты алып тастайды.
Электрондық кілттерді пайдалану.Қазіргі уақытта бұл орташа және ең жоғары баға санатындағы қайталанатын бағдарламалық қамтамасыз етуді қорғаудың ең сенімді және ыңғайлы әдісі. Оның сынуға төзімділігі жоғары
-
бағдарламаның заңды көшірмесін пайдалануды шектемейді.
Dongle - бұл компьютер порттарының біріне (COM, LPT, USB) қосылған шағын құрылғы. Оның жұмыс істеу принципі келесідей: кілт белгілі бір компьютер интерфейсіне қосылады, содан кейін қорғалған бағдарлама оған арнайы драйвер арқылы сұраныс жібереді, ол көрсетілген алгоритмге сәйкес өңделеді және кері қайтарылады. Егер кілттің жауабы дұрыс болса, онда бағдарлама өз жұмысын жалғастырады. Әйтпесе, ол әзірлеушілер көрсеткен кез келген әрекеттерді орындай алады (мысалы, switch
-
демо режимі, белгілі бір функцияларға қол жеткізуді блоктау). Міне, кейбір типтік сұраулар:
-
кілттік қосылымның болуын тексеру;
-
іске қосу параметрі ретінде бағдарламаға қажетті деректерді кілттен оқу;
-
бағдарламаның жұмыс істеуі үшін қажетті деректерді немесе орындалатын кодты шешуге сұраныс (қауіпсіздікті әзірлеуші алдымен бағдарлама кодының бір бөлігін шифрлайды, сонымен бірге мұндай шифрланған кодты тікелей орындау қатеге әкеледі);