Лабораторлық жұмыс №7

Программаны рұқсатсыз көшіруден қорғау

Мақсаты: Рұқсатсыз көшіруден қорғау әдістерін оқыту.

Теориялық мәліметтер

Бұл жұмыста қазіргі кезде кең таралған мәсәлелердің бірі программалық қамтаманы заңсыз қолдану және одан қорғану жолдары қарастырылған. Компьютерлік технология дамығаннан кейін программалық қамтамаларға қызығушылық арта түсті. Кейбіреулердің программалық қамтаманы заңды түрде сатып алуға жағдайлары жетпегендіктен, кейбіреулері сол арқылы бизнес жасағысы келетіндіктен, ал кейбіреулер жай қызығушылықтан программалық қамтаманы бұзуға кіріседі. Бұзылған программалық қамтаманы одан ары кейбіреулер өз игіліктеріне пайдаланады, жолдастарына таратады, ал кейбірлер заңсыз көшіріп, өзінің тұпнұсқа бағасынан әлде қайда арзан етіп “қара базарда” сатып, таратады. Бұзылған программалық қамтамалардың дұрыс жұмыс істеуі, істемеуі де мүмкін. Сондықтан программалық қамтаманы заңсыз көшіруін, таратуын, зерттеуін болдырмау үшін біз программалық қамтамаға қорғаныс қоямыз, яғни көшіруден қорғау әдістері осы жұмыста қарастырылған.

Программалық қамтаманы қорғауды келесідей классификацияларға жіктеуге болады:

· заңсыз көшіруден(бейнелеуден) қорғау;

· заңсыз қолданудан қорғау;

· программаны зерттеуден қорғау;

· программалық өнімді идентификациялау

Негізінен программалық өнімді бірмезгілде бірнеше әдіспен қорғауды қолдансақ бұл өте сенімді болатыны сөзсіз. Сондықтан белгілі бір әдіске негізделген техникалық немесе жүйелік қорғаныс туралы көп айтады. Техникалық құрал қорғанысын бірнешеге бөлуге болады: программалық, аппараттық, программа-аппараттық.

Программалық құрал қорғанысы болып программалық түрде қорғаныс. Бұл ең қолайлы құрал. Программалық қорғанысқа келесілерді ескеру қажет.Кез – келген программалық қорғанысты белгілі бір уақыт мезетінде бұзуға болады. Заңсыз көшіруден программалық қорғаныстың белгілі маманы А. Щербаков былай дейді: «Айтылған тұжырымды растайтын мынау, программаның қорғанысын орындайтын командалар компьютерлермен анықталады(танылады) және де қолдану кезінде машинналық командалар ретінде ашық түрде қатысады. Бұдан, бұл командалар тізбегін кайтып қалпына келтірсек, қорғаныстын жұмысын түсінуге болады»

Аппараттық құрал қорғанысы деп әдейленген аппараттарды қолданатын қорғаныс. Аппараттық қорғаныс ең сенімді, бірақ өте қымбат және сондықтан негізінен корпоративты тапсырушыларға ғана есептелген. Қазіргі уақытта дүние жүзінде көптеген фирмалар және ұйымдар ыңғайлы және арзан, сонымен қатар жеке қолданушыға есептелген аппараттық қорғанысты жасау үшін тер төгуде.

Программалық–аппараттық құрал қорғанысы бұл программалық және аппараттық қорғаныстардың жиынтығы.Бұл оптимальды қорғаныс құралы. Олар аппараттық жағынан болсын, программалық жағынан болсын артық болып келеді.

Ұзақ уақыт бойы программалық өнімдер иілгіш магнитті дискілер арқылы таралғанына байланысты программалық өнімінің қорғаныстың ең өркендегені болып иілгіш магнитті дискілерге орнатылғаны есептелді. Ал программалық өнімді көшіруден қорғайтын әдістерін көбінесе дискілерді көшіреден қорғау әдістері немесе қысқаша, дискілерді қоғау әдістері. Иілгіш магнитті дискілерді көшіруден қорғау әдістері келесілерге негізделген. Құрамында қорғалынатын программасы бар дискіге қандай бір, кілттік белгі немесе кілт деп аталатын, жасырулы негізгі ақпарат орнатылады. Кейде кілттік белгіні диск таңбасы деп атайды. Құрамында кілттік белгісі бар дискіні кілттік диск деп атайды. Егер де программаның көшірмесі бар дискіде кілт болмаса, онда бұл заңсыз көшірме екеніне куәландырады. Іс жүзінде кілттік дискінің көмегімен қорғанысты орындау үшін программаның негізгі коды модульмен толықтырылады. Оның тапсырмасы дискідегі кілтті тексеру немесе, басқа сөзбен айтқанда, кілттік салыстыру болып табылады. Егер кілт күтілген кілтпен сәйкес келсе, онда басқаруды программаның негізгі кодына беруі қажет, ал қарсы жағдайда – программаның орындалуын тоқтату қажет. Программаны көшіруден қорғаудың басты тапсырмасы кілттік белгіні басқа дискіге көшіруді болдыртпау.

Кілттік дискілерді құру әдістері

Иілгіш магнитті дискілерді көшіруден қорғау үшін кілттерді құру тәсілдерінің ең кең тарағандарын қарастырамыз. Көшіруден қорғау үшін кілтті құрудың екі жолы бар: апараттық жолмен, программалық жолмен.

Бірінші жағдайда апаратура көмегімен (көбінесе үлкен дәлдік үшін лазер көмегімен) диск бетінің кейбір бөлігі әдейі зақымдалады. Кейін зақымдалған секторлардың номірлері анықталады(мысал ретінде әр секторға жазу және оқу жолымен) және де солар қорғаныс кілтті болып табылады. Құрамында заңсыз көшірмесі бар дискіде сәйкестірілген сектор номірлері зақымдалмаған, өйткені көшіру құралдарымен зақымдалған секторларды оқу мүмкін емес. Көшірменің легальдылығына тексерген кезде белгілі номерлі секторларға белгілі ақпаратты жазып және оны есептеу қажет. Легеальды көшірме қатені оқу немесе жазу кезінде анықтайды

Программалық әдістерде кілттік дискілерді құрудың бірнеше түрі бар. Аппараттық әдіс сияқты негізгі идея құрыс оқылмайтын немесе/және жазылмайтын кілт құру болып табылады. Айта кетейік, бастапқыда қорғаныстың программалық әдістері стандартты форматы дискеталармен ғана танылатын программалық көшіруге көзделген. Дискеттердің стандартты форматы форматтау параметрлері белгілі мәнге ие болатын(цилиндрлердің, жолақтадың, диск секторларының номерациясы, секторлар өлшемі және басқалар) қатал анықталған құрылыммен қамтамасыздандырады. Мысал үшін диаметры 3,5 дюйма және сыйымдылығы 1,44 Мб дискеттердің стандартты цилиндр нөмірлері 0 - ден 79 - ға дейін, ал секторлар 1 – ден 18 – ге дейін тізбектеліп өзгереді. Егер де дискеттi ерекше (стандартсыз) түрде форматтап, кiлттi осындай дискетте орналастыратын болсақ, онда әдеттегi көшiру программалары кiлттiк белгiнi қайта жасай алмайды.

Осы идеяға негiзделген көшiруден қорғану әдiстерi мынандай жалпы атқа бiрiккен – иілгіш магниттi дисктi (стандартсыз) форматтау әдiсi. Әдiстiң жүзеге асырылуы, иiлгiш магниттi дисктiң бiр бөлiгiн (мiндеттi түрде жүйелiк аймақтар қосу дисктiң кейбiр кеңiстiктерi) стандартты параметрлермен форматталатындығында. Дисктiң қалған бөлiгi стандартсыз түрде форматталады және мұнда қорғалатын программа орналасады. Стандартты форматталған аймақта қорғалатын программаны орындауды жүктеуге және iске қосуға арналған арнайы программа сақталады.

Дискетаны стандартсыз түрде форматтаудың көптеген әдiстерi мен дискетада түйiндi ақпаратты сәйкес алмастыру құрылады. Бұл тәсiлдердi түсiну оңайырақ болуы үшiн, иiлгiш магниттi дисктiң құрылымын және негiзгi түсiнiктерiн қысқаша еске түсiремiз.

Иiлгiш магниттi дискте ақпараттар,мәлiметтер дисктiң екi бетiнде де жазылған. Дисктiң әрбiр бетi сәйкес бастиекпен қызмет етiледi (дискетаның төменгi жағы 0 нөмiрлi бастиекпен, төменгiсi – 1 нөмiрлi). Диск бетiнде жолшықтар тiзбектелген. Жолшық – биттердiң тiзбектелуi түрiнде ақпарат сақталған шоғырланған орта қарама – қарсы жатқан қос жолшық цилиндр деп аталады. әрбiр жолшық программалық түрде(форматтау программасы) секторларға орналастырылады. Барлық секторлардың ұзындықтары бiркелкi. Секторлардың мөлшерi форматтау кезiнде анықталады.

Әрбiр секторда:

- синхрондау өрiсi (жол жиек) (екi, бiр сектор тақырыбы, басқасы – осы сектордың аймағы);

- маркерлер, бiреуi – сектордың басын, екiншiсi сектордың мәлiметтер аймағының басын кһрсетеді, сонымен қатар, әрбір жолшықта жолшық басының маркері болады(маркерлердің мәліметтерден айырмашылығы, онда синхрондау биттері бұзылуы жазбасының болуында);

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

- сектордың деректер аймағы(DOS – стандарт үшін – 512 байт);

- деректердің бүтіндігін бақылауға арналған сектордың деректемелер аймағындағы бақылаушы қосынды сақталатын өріс.

Келтірілген өрістерден басқа әрбір секторда тағы да екі арнайы өріс бар: сектор тақырыбы (16 байт) және құрылғыдағы қатенің алдын алуға арналған мәліметтер аймағындағы аралық (50байт).

Бұл берілген қорғаныс механизмдері қорғалған программаның көшірмелерін стандартты прогораммалары көмегімен құрылуға арнап есептелген.

Қатты магнитті дискіде орналасқан, программаларды көшіруден қорғау әдістерін қарастырамыз.

Қатты дискілерде кілтті құру кезінде компьютердің жеке ерекшеліктеріне талдау жасауға болады. Сол себепті дәстүрлі түрде винчестрге, BIOS-қа, компьютер архитектурасына, программалық қамтама жинағына және басқаларға байластыру әдісі қолданылады.

Винчестрге байластыру. Кілт ретінде қолдануға болатын қатқыл дискілердің жеке-дара сипаттамаларына жататындар:

- қатқыл дисктің сериялық нөмірі (винчестрдің кейбір типтері үшін);

- bad – кластердің орналасуы(бұндай кламтерлердің болмауыда мүмүкін);

BIOS – байластыру мынандай параметрлерді тексеруді білдіреді:

- компьютердің типі;

- BIOS құру уақыты;

- BIOS жасауының сигнатурасы мен оның жадыдағы мекені;

- BIOS конфигурациялық кестесі;

- BIOS бақылау қосындысы;

- кейбір үзулердің BIOS-қа кіру нүктелері және т.б.

Архитектураға байланысты – компьютердің конфигурациясын тексеруді білдіреді:

- иілгіш дискілердегі жинақтауыштың саны мен типі;

- қатқыл дискілердегі жинақтауыштың саны мен типі;

- бейне адаптердің типі;

- жедел жады көлемі;

- қосымша(өлшем) немесе кеңейтілген жадының болуы;

Кейде қолданылады:

- клавиатура типі;

- “тышқан” және “тораптық перо” монипуляторының интерфейсі мен типі;

- параллель және тізбекті порттардың саны.

Программалық қамтамаға байластыру қатқыл дисктегі немесе жедел жадыдағы арнайы программаларды тексеруді (көбінесе драйверлерді) білдіреді.

Кейде жүйелік файлдарда программалар мен командалардың іске қосылуының арнайы тізбектілігінің болуын тексереді.

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

Қатқыл магнитті дисктің кілтін алудың тағы бір жолы болып аппаратураның өнімділігін өзгерту саналады:

- дисковод немесе винчестрдің айналу жылдамдығы;

- мегагерц бірлігіне дейінгі нақтылықтағы тактылы жилігі;

- жедел жадыға қатынас жасау уақыты;

- енгізу\шығару бағаныңқы жүйенің жылдамдығы және т.б.

Мұндай кілттің де сенімділігі жоғары емес.

Температураның ауытқуы, ауаның ылғалдылығы, желінің қысымдылығы, компьютер бөлігінің төзімділігі келтірілген кейбір параметрге әсерін тигізеді. Сонымен қатар, TURBO режимі қосылып\өшіріліп тұруы мүмкін.

Кейбір параметрлертек компьютердің бір партияларына ғана сәйкес келеді.

Қатқыл дискіге өзіндік кілтті құру үшін:

1) қолданылған жолшықты стандартқа сәйкес емес форматтау;

2) жалған bad –кластерлерді белгілеу;

3) ұзын оқу\жазу операцияларын пайдалану;

4) жүйелік файлдарды тізбекті бақылауымен модификациялау.

Иілгіш дискті стандартты емес форматтау әдісіне ұқсас, бірақ мұнда қосымша жолшық емес, пайдаланылмаған жолшық форматталады.

Сонымен бірге пайдаланушы псевдожаңылысуды байқау ықтималдылығын төмендету үшін, мамандар FAT басына дейінгі бірінші басы орынды, немесе FAT соңын белгілейді. Оны Speed Disk секілді құрылғылар көрсетпеуі үшін.

Бұл операциялар ұзындығы 516 байтқа дейінгі кеңейтілген сектормен жұмыс істейді. Көріп отырғанымыздай, егер ұзын жазба операциясы, олсосын қарапайым оқу операциясын орындаған болса, онда қосымша 4 байт оқылмайды. Оларды тек ұзақ оқу операциясымен оқуға болады.

Мұндай сектордың қарапайым жазбасы қысқаша 4 байтты бұза алмайды.

Программаны көшіруден қорғау үшін компьютердің өзіндік параметрлерін немесе қатқыл дискті емес, ал сол қорғалып отырған программаның өзін, дәлірек айтатын болсақ, ол өзі жазылған файлға бақылау жасауға болады.

Қатқыл диск үшін келесі сипаттама ерекше болып табылады:

- файлды (каталогты) құру уақыты;

- қолданылатын кластер нөмері;

- соңғы кластердің қолданылмаған жеріндегі ақпарат.

Мұндай кілттерді пайдаланғанда, оның дискті қайта ұйымдастыруда (қайта фрагменттеу) тиімсіздігін есие ұстау керек. Файлдың орналасу орны өзгеретіндіктен қорғалып отырған программа заңсыз көшірме сияқты қабылданады.

Кілттік дискілерді пайдалануға негізделген қорғаныс әдістемесі дәстүрлі болып саналады. Ең алдымен, себебі, кілттік диск бір уақытта лицензиялылықты болып пайдалана алады. Сонымен қатар, өзінің барлық кемшіліктерімен қорғаныстың бұл түрі өте арзан. Бүгінде DOS оаперациялау жүйесімен басқарудағы жұмыс кезінде өздерін жақсы жағынан көрсетіп аталып кеткен әдістер жиі қолданылып жүр. Біріншіден, еш қорғалмаған DOS операциялық жүйесінің орнына көбірек қауіпсіздік функцияларын қолдайтын операциялық жүйелер келіп жатыр. Бүгінде, мысалы WINDOWS NT операциялық жүйесі артықшылығы жоқ қолданушыға дискке тікелей қатынас жасауға “Рұқсат бермейді”, сол себепті кілтті қолданылмайтын немесе қосымша форматталмаған жолшықта сақтауды және аналогты қабылдауды мақсат етіп алмаған.

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

Тапсырма

Программалық – аппараттық қорғанысты бұзу және қорғау әдістерін талдап, тиімді программалық қорғаныс механизімін жүзеге асыру керек