- •Қысқаша теориялық мағлұматтар
- •Қысқаша теориялық мағлұматтар
- •Орналастыру және орын ауыстыру.
- •2. Бірқолданысты блокнот
- •3. Мәліметті шифрлеу стандарты
- •4. Қолайсыз шифрлеу тәсілі
- •Бағдарламаның жазылуы
- •Жұмыс істеу жолдары:
- •Бақылау сурақтары:
- •Жеке тапсырмалар:
- •Қысқаша теориялық мағлұматтар
- •Іске асырудың мысалы:
- •Қысқаша теориялық мағлұматтар
- •1. Бағдарлама идентификациясы
- •Жұмыстың орындалу реті
- •Бақылау сұрақтары
- •Қысқаша теориялық мағлұматтар
- •Парольдер
- •2. Шифрлер
- •3. Сигнатуралар
- •4. Қорғау аппаратурасы
- •Жүзеге асыру мысалы
- •Жұмысты орындау реті
- •Бақылау сұрақтары
- •Қысқаша теориялық мағлұматтар
- •Жұмысты орындау реті
- •Қысқаша теориялық мағлұматтар
- •1. Қайта-кері құру оры (ловушки сброса)
- •Программаны көруге тиым салу
- •Сілтемелік көрсеткіштерді жою
- •Көрінбейтін файлдар
- •Жақсартылған қорғаныс механизмі
- •Форматталмаған жолдар
- •Dos модификациясы
- •Ағын мен секторлар санының өзгеруі
- •2.4. Жолдардың/секторлардың нөмірлерінің өзгеруі
- •2.5. Бақылау суммасының өзгеруі
- •2.6. Пролог және Эпилогтың өзгеруі
- •2.7. Спиральды тректердің белгілері
- •2.8. Баяу жинақтағыштар
- •3. Күрделі қорғаныс механизмдері
- •3.1 Ішкі жолдың сигнатурасы
- •3.2 Аралық жолдың сигнатурасы
- •3.3 Жолдың синхронизациясы
- •3.4 Уникал дискілердің сигнатурасы
- •3.5. Биттер санағы
- •3.6 Кездейсоқ сигнатураларды қолдану
- •3.7 Регистрация номерілері
- •3.9. Шифрленген дескриптор
- •4.Перспективті қорғаныс механизмі
- •5. Жарамайтын секторлар
- •Жүзеге асыру мысалы
- •Жұмысты орындау реті
- •Бақылау сұрақтары
- •Қысқаша теориялық мағлұматтар
- •Бағдарлама характеристикасының анализі
- •Бағдарламада гистограмма операторының пайда болуы.
- •1.2 Қарапайым өзара корреляция
- •1.3 Өлшенген өзара корреляция
- •1.4 Автокорреляция
- •2. Идентификацияның ақиқаттылығы
- •3.Программалау стилінің анализі
- •4. Идентификациялық белгілердің анализі
- •4.1 Идентификациялық белгінің кодталуы
- •4.2 Тұрғызлған белгілер
- •5.Программалық процедуралардың анализі
- •Жұмыстың орындалу реті
- •Бақылау сұрақтары
- •Жеке тапсырмалар
Қысқаша теориялық мағлұматтар
Жүйелер қолданысының бағдарламалық қамтамасыз ету қажеттілігі бірқатар мәселелермен ескертілінген, арасынан мыналарды ерекшелеуге болады: алгоритмдердің қолдануы, автордың интеллектуалды заңсыз меншігі болып табылады, өнім аналогтарын жазуда (өнеркәсіптік тыңшылық ); бағдарламалық қамтамасыз етудің бекітілмеген қолдануы (ұрлық және көшіріп алу); бағдарламалық қамтамасыз етудің бекітілмеген модификациясының мақсаты бағдарламалық зиян енгізу; бағдарламалық қамтамасыз етудің заңсыз таратуы және өтімі (қарақшылық).
Бағдарламалық қамтамасыз етудің жүйелер қорғанысын белгілер қатарымен топтастыруға болады, олардың арасынан құру әдісін, қолданылатын қорғаныс механизмдерін және жұмыс жасау принціпін ерекшелеуге болады.
Жүйенің бағдарламалық қамтамасыз етуін құру әдісімен жүйелерге бөлуге болады; бағдарламалық қамтамасыз етуге компиляция жасалған модульдерге қондырылғандар; бағдарламалық қамтамсыз етуге негізгі кодына компиляцияға деін кірістірілетің жүйелер; және қиыстырылғандар.
Бірінші үлгі жүйелері бағдарламалық қамтамасыз ету өндірушісі үшін ең ыңғайлы, дәл осылай дайын әрі толық бағдарламалық қамтамасыз еуді қорғауға жеңіл болады (әдетте қорғаныс құру процесі қорғайтын файл аты нұсқауына сәйкесінше көп автоматтандырылған , ол «ENTER» батырмасы арқылы жүзеге асады), ал сондықтан ең әйгілі. Негізінде бұл жүйелердің беріктігі жеткілікті төмен, дәл осылай қорғанысты жұмыс аяқтау нүктесінде барынша анықтау және басқаруды қорғалған бағдарламаға «конвертті» тарату, ал содан соң мәжбүрлі қорғанбаған түрде оны сақтау.
Жүйенің екінші түрі бағдарламалық қамтамасыз ету үшін өндірушіге қолайсыз, сондықтан бағдарламалық интерфейс (API) қорғаныс жүйелері осы арадан ағып жатқан ақшалы және уақытша шығындармен қызметшілерді жұмысқа оқыту қажетті көрінеді.
Бірақ көптеген сондай жүйелер шабуылдарға берік келеді, себебі бағдарламалық қамтамасыз етудің сондай-ақ қорғаныс жүйесінің арасындағы нақты шекара жоғалып кетеді.
Ең ұзақ жасайтындар ретінде қорғаныс жүйесінің қиыстырылған түрін айтуға болады. Екінші жүйе түрінің артықшылығы мен кемшілігін сақтай отырып олар талдау және өз алгоритмдерінің дезактивациясын барынша қиындатады.
Қолданылатын механизмдер қорғанысынан жүйе қорғанысын топтастыруға болады: жүйелер, қолданатын күрделі қисынды механизмдер; әрі жүйелерде, бағдарламалық қамтамасыз етуге және қиыстырылған жүйелерге қорғайтын шифрлер қолданылады.
Жүйелердің бірінші түрі әр түрлі жөндеулер және дизассембрлеу қиындығына дағдыланған, анализ алгоритмінің жүйе қорғанысын және қорғалған бағдарламалық қамтамасыз ету әдістерін қолданады.
Жүйе қорғанысының бұл түрі шабуылға тұра алады, қорғанысты барынша жеңу үшін оларды тексеру процедураларының логика маманына жеткілікті талдау және тиісті бейнемен оларды модификациялау қажет.
Жүйенің екінші түрі әдетте берік болып келеді. Сондай қорғаныс дезактивациясына арналған бағдарламалық қамтамасыз ету дешифрация кілтінің анықтамасы қажет.
Шабуылдарға ең беріктісі қиыстырылған жүйені айтуға болады.
Бағдарламалық қамтамасыз етуді қорғауда біршама әдістер қатары қолданылады:
Қателестіру алгоритмы – кодтың әр түрлі бөлімдеріне ауысып, қолданылады, жалған процедуралардың енгізуі, бос циклдар, бағдарламалық қамтамасыз ету процедурасының нақты параметрлерін сан бұрмалау, код бөлігін ОЗУ-дың әр түрлі облысына тарату және т.б.
Мутациялау алгоритмы- операнда - синонимдерге сәйкес кестелер құрылады және кездейсоқ бейнемен кездейсоқ өзгерту құрылымдарының бағдарламасы арқылы немесе айқын схемамен бағдарламаның әрбір жіберілуі кезінде бір-біріне ауыстыруында жасалады.
Мәліметтерді компрессиялау алгоритмы – орындалуына қарай бағдарлама жинақталады, содан соң ашылады.
Мәліметтерді шифрлеу алгоритмы- орындалуына қарай бағдарлама шифрленеді, ал содан соң шифрден алынады.
Процесс барысындағы механизм қорғанысының күрделі математикалық есептелуі – элемент логикасының қорғанысы есептеу нәтижесіндегі қандай да бір формула немесе формула топтарына тәуелді болады.
Дизассемблирлеудің күрделі әдісі – бағытталған дестелі тәртіпте дизассемблирлеудің әр түрлі әдістері қолданылады.
Жөңдеудің күрделі әдісі – бағдарламаның күрделі бағыттарын жөңдеулеріне әр түрлі әдістер қолданылады.
Операциялық жүйелердің және процессорлардың эмуляциясы – виртуалды процессор немесе операциялық жүйе және жасалған процессор командаларының жүйесіне IBM жүйесінен бағдарлама-аударушы жасалады немесе тек қана эмулятор көмегі жанында операциялық жүйелердің, бағдарламалық қамтамасыз ету сондай аудармасынан кейін орындала алады, не бағдарламалық қамтамасыз ету алгоритм зерттеуі жылдам әрі қиындата түседі.
Аппараттық қамтамасыз етумен стандартты емес жұмыс әдісі – қорғаныс жүйелерінің модульдері ЭВМ аппаратына қарайды және белгісіз немесе құжатқа тіркелмеген оның мүмкіндіктері қолданылады.
Функциялау принціпі бойынша Қорғаныс жүйелерінің жұмыс жасау принцібіне қарай жинастырушыларға/шифраторларға бөлуге болады; қорғаныс жүйесінің бекітілмеген көшірмеден және қорғаныс жүйесінің бекітілмеген рұқсаттан алынуы (НСД).
Жинастырушылар/шифраторлар. Ең басты мақсаты бағдарламалық функционалдылығына арналған зиянсыз шифраторларды тегеріште орындалатын модуль көлемінің азаюына байланысты, бірақ кейін алгоритмдердің және бекітілмеген модификацияның бірінші жоспарға талдаудың бағдарламалық қамтамасыз ету қорғаныс мақсаты шықты. Бұл мақсатқа жетуге компрессия алгоритмдері қолданылады; мәліметтерді шифрлеу, мутация алгоритмдері, логикалық бағдарламаларды шатастыру, бағдарламалық қамтамасыз ету жұмысының уақытында операциялық жүйелердің келтірілуі және т.б.
Жағымды жақтары:
Берілген жүйенің қауіпсіз қолданысы бағдарламалық қамтамасыз етудің анализ алгоритмінен жоғары дәрежелі қорғанысты қамтамасыз етеді.
Жинастыру/шифрлеу тәсілі басқа түрлерінің жүйе қорғанысының тұрақтылығын барынша ұлғайтады.
Жағымсыз жақтары:
Барлық қолданылған тәсілдер бағдарламалық қамтамасыз ету кодасының жұмысын баяулатады.
Бағдарламалық қамтамасыз ету кодасының шифрлеуі/жинастыруы (update) жанартуына және қате табуына (budfix, servicepack) қиындық тудырады.
Бұл жүйелер үлкен көлемді өнімдерге (1 мегабайт) қолданылады.
Жүйелердің тап осы класы әлсіз, дәл осылай бағдарламалық код сияқты, ақырғы жиыны шешіледі немесе орындалу үшін шифрленеді.
Қорғаныс жүйесінің бекітілмеген көшірмесі. Қорғаныс жүйесінің бекітілмеген көшірмесі бағдарламалық қамтамасыз етудің «байланыс» дистрибутивтік сақтаушысы (иілгіш диск, CD ...) арқылы жүзеге асады. Қорғаныстардың тап осы үлгісі жинақтағыш контроллерлерінің жұмыс зерттеуінде құрылады, ал физикалық көрсеткіштерін, стандартты емес бөлу тәртіптеріндегі, оқу/жазу және т.б. Физикалық деңгейде дистрибутивтік сақтаушы жасалады, (болжамалы) ерекше қасиеттерге ие, ал бағдарламада – модуль құрылады, оның бірегей қасиеттерінің идентификация және аутентификация сақтаушысына бағытталған. Қолданылған жинақтаушы/шифратор көмегімен тәсілдерді қолдану мүмкін.
Жағымды факторлар:
Бағдарламалық қамтамасыз етудің заңсыз көшіріліп, таралуының қиынға түсуі;
Бағдарламалық қамтамасыз етуге ие болған қолданушының құқығы;
Жағымсыз факторлар:
Жүйе қорғанысын іске асыруға біршама еңбектену қажет;
Сатылулардың баяулатуы физикалық тапсырыс қажеттілігінің дистрибутивтік ақпараттар тасымалдаушысына байланысты.
Қорғаныс үшін жүйе сұранысының артуы (жинақталуы);
Қорғаныстың және қолданушы аппаратурасының сәйкес келмеуі (жинақтау, контроллер);
Бағдарламалық қамтамасыз етудің жұмыс уақытын жинақтаушы атқарады;
СЗ және НСД. Бекітілмеген рұқсатпен (НСД) ПК хабарына жоспарланбаған таныстыру, өңдеуді көшіріп алу, әр түрлі вирустердің қолдануын, бұзушы бағдарламалық өнімдер соның ішінде, модификацияны атаймыз. НСД ПК хабар қорғанысында негізгі үш бағыт бойынша ерекшелеуге болады:
Бірінші бағыт есептеу ортасына бұзушының жіберілмеуіне және қолданушының арнайы техникалық өнімге қарастысына байланысты.
Екінші бағыт есептеу ортасын және ақпаратты қорғауға арнайы бағдарламалық қамтамасыз етуге қарасты.
Үшінші бағыт бекітілмеген рұқсаттан арнайы құралдардың қорғаныс ПК хабарының қолдануымен байланысты.
С3 НСД дан алдын-ала қарап шығуды немесе ПО қолданушы периодтық аутенфикациясы немесе компьтерлік системаның қосымша ақпараттық сұраныс арқылы С3 типіне системалық бағдарламалық қамтамасыз ету парольдік қорғауын,қолданушының компьютеріне бағдарламалық қамтамасыз ету система привязки кілттік дискілі системаны және электрондық кілті бар аппараттық-бағдарламалық системаны жатқызуға болады.Бірінші кезекте кілттік ақпаратты қолданушы енгізеді,екінші кезекте қолданушының компьютерлік системасында ерекше параметр ретінде енгізіледі,үшінші кезекте дискіде сақталады және төртінші кезекте –кілттік ақпарат электрондық кілттің микросхемасымен саналады.Бірінші қадамда ақпаратты қорғауды қамтамасыз ету кез-келген қолданушының жалған екенін тексеруге мүмкіндік береді.Қолданушының жеке меншігін тексеру идентификация және аутентификация механизмінің негізгі ролі.
Идентификация әрбір қолданушыға идентификатордан белгілі –бір айырмашылықты табу үшін және оның бекітілген тізімнен салыстыруға арналған.Қолданушының жеке меншігін тексеру арқылы аутентификация атына ие болады. Аутентификацияның эфективтілігі әр-бір қолданушының әр-түрлі ерекшелігімен анықталады.
Идентификация және аутентификация механизмы ақпаратты қорғаудың келесі процедурасымен орындалуы мүмкін:
Парольдер
Биометрия құралдары
Интелектуальды карталар
Регистрация кезінде бірнеше қателіктен кейін қолданушыны желіге қосуды тоқтату,компьютерді блокировкаға немесе жұмыс орнын пароль арқылы автоматизировать етеді.
Әрбір қолданушыға арнайы кілттік криптография.
Қолданушының ерекшелігіне байланысты қарапайым максимальды реализация үшін көбінесе пароль қолданылады.Бірақ -та қолданушылар ереже бойынша өздеріне ыңғайлы,оңайлататын парольдар жасайды, бірақ оларды табу өте оңай.Басқа жағынан қиынырақ парольды жасау оларды жасауда ашық түрде орындауды қажет етеді.Тек қана пароль арқылы қорғауды қолдану парольды орнатуда негізгі шектемелерге,оларды қорғауға,қолданушының уақытын өтіп кетпеуін қадағалау және белгілі уақытта жойып отыру керек.Криптографикалық парольды қолдану бұл мәселені шешуге және бұзушылардың аутентификация механизмын табуды қиындатады.
Парольді қорғау процедурасы реализацияда қарапайым сондықтан көбінесе бағдарламалық қамтамасыз ету қолданушыларымен қолданылады.Көбінесе парольдік С3 бағдарламалық қамтамасыз ету логикалық механизмды тексеру нәтижесі бойынша парольдың дұрыстығын тексеру бағдарламалық қамтамасыз етуді қосуда немесе өшіруде қолданылады.Тағы да басқа бағдарламалық қамтамасыз етуді шифрлеу арқылы қорғайтын системалар және қолданыстағы пароль немесе содан жасалған дешифрлеу кілті бар.Көптеген мұндай системаларды әлсіз немесе бағыттталған бағытына тұрақты емес қарапайым алгоритмдік шифрлеуде қолданылады. Тек соңғы уақыттарда С3 бағдарламалық қамтамасыз етуде тұрақты криптоалгоритмдік DES және RSA типтік пароль жасалынды олар қорғаушы модуль ретінде және көмекші кітапхана ретінде және бағдарламалық қамтамасыз етудің скомпилированнный модуль түріне орнатылады.
Қорғаушы парольдың ішінде әлсіз звеноға енгізілген парольдың дұрыстығын тексеру блогы жатады. Көлемінің енгізілгенінен және дұрыс парольды тағы да салыстыруға болады. Мысалы: олардың ХЭШ функциясы,бұл жағдайда кодтың тек енгізілген көлемін сақтауға болады,ол қорғаныс тұрақтылығын қамтамасыз етеді. Тексеріс кезінде анализ процедурасынан бағдарламалық қамтамасыз етуде жазылған нақты парольды табуға болады. Енгізілген деректерден дұрыс жасалған сгенерированнный парольды немесе белгілі бір ХЭШ суммасы бар парольды табуға программа жасалынады. Сонымен қатар С3 бағдарламалық қамтамасыз ету шифрлеуді қолданбаса ешбір кедергісіз бағдарламалық қамтамасыз етуге кіруге алдын ала тексеріс кезінде логиканы өзгерту керек. Барлық парольдың системаға авторизованнный қолданушы парольды енгізгенде парольды жаулап алу қаупі төніп тұр. Сонымен қатар көптеген С3 бағдарламалық қамтамасыз етудің бұл типі тексеру кезінде тек «единожды» регистрация немесе бағдарламалық қамтамасыз етуді орнату кезінде қолданылады. Заңсыз бағдарламалық қамтамасыз етуді көшіргенде НСД - ға өте улкен қауіп төндіреді,содан кейін қауіпсіздік системасы өшеді.
Жағымды жақтары:
1.Қауіп төндірушіден сенімді қорғау
2.Қолданушыға минимальды қолайсыздық жасау
3.Парольды немесе кодты желі арқылы тарату мүмкіндігі
4.Реализация және қолданудың қарапайымдылығы
5.Төмен баға
Жағымсыз жақтары:
1.Берілген типтің көптеген системасының төмен тұрақтылық қорғауы
2.Қолданушыға парольды немесе кодты есте сақтау керек
Бағдарламалық қамтамасыз етудің байланысқан жүйесі (привязки). Жүйенің бұл түрін бағдарламалық қамтамасыз етуге орнатқанда ПК қолданушы компьтерлік системаның ерекше әдістерін іздейді немесе қорғау системасының өзінен орнатылады.
Жағымды факторлар:
1.Қауіпсіздік үшін қосымша ақпараттық өнім керек емес
2.Санкционированный емес бағдарламалық қамтамасыз етуді көшіру кезінде қиындық тудырады
3.Қолдануға қарапайым
4.Қолданушыға С3 бағдарламалық қамтамасыз етудің “көрінбеуі” Жағымсыз факторлар:
1.Кезкелген ПК параметрін өзгеріс жасағанда С3 бағдарламалық қамтамасыз етуде жалған хабарламаның шығуы.
2. Қауіп төндіруші ПК қолданушыға енгенде қорғау тұрақтылығы төмен
3. Бағдарламалық қамтамасыз ету системасымен конфликтке түсу мүмкіндігі.
Бағдарламалық қамтамасыз етуде программаның ақпараттық - электрондық кілтпен қорғау мүмкіндігі.Бұл класс соңғы уақытта С3 бағдарламалық қамтамасыз етуде қолданушылардың арасында көп қолданыста.Программаның ақпараттық қорғау мүмкіндігі бұл жағдайға ақпараттық кілт – бұл қорғау системасының ақпараттық бөлігі өзінің өтемін микросхемалық жады да, ол кейбір жағдайда микросхемада болады,ол корпусқа орнатылған және ПК стандартты портқа орнатуға немесе аналық тақташаның кеңейтілуіне арналған, тағы да сол сияқты программа ретінде СМАРК – картаны қолдануға болады.Бірақ анализ нәтижесі бойынша программаның ақпараттық қорғау қазіргі уақытта бағдарламалық қамтамасыз ету системаларын НДС-тен қорғаудың ең күшті түрі болып табылады.
Архитектура бойынша электрондық кілтті микропроцессормен және микропроцессорсыз кілт деп бөлуге болады.Аппаратттық бөлік бойынша бірінші тип жақсы система болып табылады.Мұндай системада критикалық ақпарат электрондық кіттің жадысында сақталады.Бұндай қорғауды дизантивация үшін көп жағдайда аппараттық бөліктің қорғау системасын қауіп төндірушуден сақтау.
Аппаратттық бөліктің екінші типі ең тұрақты система болып табылады.Мұндай комплекстер аппараттық бөлігінде дешифрлеу кілтін ғана емес, сонымен бірге деректерді шифрлеу блогын да қамтамасыз етеді,сол арқылы жұмыс кезінде электрондық қорғау кілтіне шифрланған ақпараттық блоктар беріледі, ал ол жақтан шифрланбаған деректер қабылданып алынады.Бұл система типіне дешифрлеу кілтін алу өте қиын, өйткені барлық процедуралар аппараттық бөлік арқылы алынады, сонымен қатар оларға криптоанализ тәсілдері қолданылады.
Жағымды факторлар:
Бағдарламалық қамтамасыз етудің қолданылуын және заңсыз таралуын қиындату.
Бағдарламалық қамтамасыз етуді жасаушыны өзінің қауіпсіздік системасын жасаудан айыру.
Бағдарламалық қамтамасыз етуді қорғаудың жоғарғы автоматизация процедурасы.
Демо – версияның оңай жасалу мүмкіндігі.
Жағымсыз факторлар:
Жүйе қорғаныс жағынан шектеу қою бағдарламалық қамтамасыз ету жұмысына ауырлық тудырады;
Жүйе қорғанысын және қызметшілерді үйрету қосымша шығынды тудырады;
Қорғаныс үшін жүйе жоғарлауының сұранысы (сәйкестік, драйверлер)
Қорғаныс жүйесінің және жүйелік немесе қосымша бағдарламалық қамтамасыз ету қолданушы арасындағы сәйкес келмеушілік;
Жүйенің және аппаратура қолданушының сәйкес келмеуі;
Аппараттық кілт жоғалуына қауіп төну;
Бағдарламалық қамтамасыз етудің «кілттік дискпен» қорғаныс құрылғылары. Оның моральді ескіруіне байланысты қазіргі уақытта бұл жүйе қорғанысының түрі аз таралған . Бұл түрі көбінде жүйенің электронды кілтіне аналогты, бірақ мұнда арнайы кілттік тасымалдаушыда критикалық ақпарат сақталған.
Зертханалық жұмыс 2 сағатқа арналған. Зертханалық жұмысты тапсыру үшін бақылау сұрақтарына жауап беру қажет.
