Сегменттеу арқылы жадты қорғау: бұл жүйелік жадты әртүрлі сегменттерге бөлу әдісі. Жадты қорғау үшін x86 ОЖ архитектурасының деректер құрылымдары қолданылады, мысалы, жергілікті дескрипторлар кестесі және ғаламдық дескрипторлар кестесі.
Имитацияланған сегментацияны қолдана отырып жадты қорғау: осы әдіс арқылы біз жүйелік архитектураның машиналық кодының нұсқауларын түсіндіруге арналған бағдарламаны бақылай аламыз. Осының арқасында тренажер схеманы қолдана отырып сегменттеуді қолдана отырып және нақты уақыт режимінде әр Нұсқаулықтың мақсатты мекен-жайын тексеру арқылы жадты қорғауға көмектеседі.
Динамикалық инфекцияны қолдану арқылы жадты қорғау: динамикалық инфекция-бұл жұмыс уақытында бағдарламадағы белгілі бір деректерді белгілеу және бақылаудан тұратын әдіс, өйткені ол процесті жадқа заңсыз қол жеткізуден қорғайды. Инфекция техникасында біз екі типтегі деректерді, яғни деректер кеңістігіндегі жад пен көрсеткіштерді белгілеу үшін бағдарламаны жұқтырамыз.
2 Жадты қорғау
Жадты қорғау - бұл жадты басқару тәсілі КОМПЬЮТЕРГЕ кіру құқықтары және командалар жиынтығы мен операциялық жүйелердің көптеген заманауи архитектураларының бөлігі болып табылады. Жадты қорғаудың негізгі мақсаты - процесс процесінің оған бөлінбеген жадқа қол жеткізуіне жол бермеу. Бұл процестегі қатенің немесе зиянды бағдарламаның басқа процестерге немесе операциялық жүйенің өзіне әсерін болдырмайды. Қорғау көрсетілген жад аймағына барлық қоңырауларды, жазбаларды өңдеуді немесе аймақ мазмұнын орындауға тырысуды қамтуы мүмкін. Рұқсат етілмеген жадқа қол жеткізу әрекеті аппараттық қатеге әкеледі, мысалы, segmentation fault, есте сақтау қабілетінің бұзылуын болдырмау, әдетте бұзушы процестің қалыптан тыс аяқталуын тудырады. Компьютерлік қауіпсіздік үшін жадты қорғау мекен-жай кеңістігін белгілеуді рандомизациялау және орындалатын кеңістікті қорғау сияқты қосымша әдістерді қамтиды.
2.1 Своп виртуалды жады
Своп кезінде мекенжай кеңістігі немесе жад сегменті беттер деп аталатын бірдей өлшемді блоктарға бөлінеді. Виртуалды жад жабдығын пайдалана отырып, әрбір бет компьютердің физикалық жадының сәйкес шекарасында кез келген жерде болуы немесе қорғалған деп белгіленуі мүмкін. Виртуалды жад виртуалды жадтың желілік адрестік кеңістігіне ие болуға және оны физикалық жадтың адрестік кеңістігінде бөлшектелген блоктарға қол жеткізу үшін пайдалануға мүмкіндік береді.
Беттерді бөлуді қолдайтын компьютерлік архитектуралардың көпшілігі беттерді жадты қорғау үшін негіз ретінде пайдаланады.
A бет кестесі виртуалды жадты физикалық жадқа көрсетеді. Архитектураға және ОЖ-ге байланысты жеке парақтар кестесі, әр процесс үшін парақтар кестесі, әр сегмент үшін парақтар кестесі немесе парақтар кестелерінің иерархиясы болуы мүмкін. Бет кестелері әдетте процеске көрінбейді. Бет кестелері қосымша жадты бөлуді жеңілдетеді, өйткені әрбір жаңа бетті физикалық жадтың кез келген жерінен бөлуге болады.
Артықшылықсыз қолданба оған нақты бөлінбеген бетке кіре алмайды, өйткені әрбір жад мекенжайы сол қолданбаға бөлінген бетті көрсетеді немесе жасайды үзіліс бет қатесі деп аталады. Кез келген басқа қолданбаға бөлінген бөлінбеген беттер мен беттерде қолданба тұрғысынан мекенжайлар жоқ.
Бет қатесі міндетті түрде қатені көрсетпейді. Бет қателері жадты қорғау үшін ғана пайдаланылмайды. Амалдық жүйе беттер кестесін бұрын дискіге жүктелген бетке сілтеме беттің бұзылуына әкелетін етіп басқара алады. Амалдық жүйе парақтың қатесін ұстап алады, қажетті жад бетін жүктейді және бағдарлама қате болмағандай жұмысын жалғастырады. Виртуалды жад деп аталатын бұл схема қазіргі уақытта пайдаланылмайтын жадтағы деректерді дискілік жадқа және жадтың жалпы көлемін ұлғайту үшін қолданбалар үшін мөлдір түрде кері жылжытуға мүмкіндік береді.
Кейбір жүйелерде парақтың істен шығу механизмі W ^ X сияқты орындалатын кеңістікті қорғау үшін де қолданылады.
2.2 Қорғаныс кілттері
Жадты қорғау кілті Механизм (MPK) физикалық жадты белгілі бір өлшемдегі блоктарға бөледі (мысалы, 4 КиБ), олардың әрқайсысы қорғаныс кілті деп аталатын сәйкес сандық мәнге ие. Қорғаныс кілтінің мәні де әр процеске байланысты. Жадқа қол жеткізген кезде жабдық ағымдағы процестің қорғаныс кілтінің қол жеткізілетін жад блогымен байланысты мәнге сәйкестігін тексереді; әйтпесе ерекшелік пайда болады. Бұл механизм system / 360 архитектурасына енгізілді. Ол қазіргі заманғы system z мейнфреймдерінде қол жетімді және system z операциялық жүйелері мен олардың ішкі жүйелерінде белсенді қолданылады.
Жоғарыда сипатталған system / 360 қорғаныс кілттері физикалық мекенжайлармен байланысты. Бұл Hewlett-Packard /Intel IA-64 және Hewlett-Packard PA-RISC сияқты архитектураларда қолданылатын қорғаныс кілтінің механизмінен ерекшеленеді., олар виртуалды мекенжайлармен байланысты және әр процесс үшін бірнеше кілттерді пайдалануға мүмкіндік береді.
Cурет – 2.1. Қорғаныс кілттері арқылы жадты қорғау
2.3 Қорғаныс сақиналары
Жылы мультфильмдер және одан алынған жүйелер, әр сегментте оқуға, жазуға және орындауға арналған қауіпсіздік сақинасы бар; сегменттің қоңырау нөмірінен жоғары қоңырау нөмірімен процесті орындау қатені тудырады. Төменгі сақинада орындалатын және жоғарғы сақинаға оралатын процедураларды қауіпсіз шақыру механизмі бар. Төмен қоңырау нөмірімен жұмыс істейтін, өз қоңырауы мен қоңырау шалушының үлкен қоңырауы бар параметрге қол жеткізуге арналған тетіктер бар.
Cурет – 2.2. Қорғаныс сақиналары
2.4 Әр түрлі операциялық жүйелердегі жадты қорғау
Әр түрлі операциялық жүйелер жадты қорғаудың немесе бөлудің әртүрлі формаларын қолданыңыз. Жадты қорғау 1960 жылдардан бастап көптеген негізгі компьютерлерде және көптеген шағын компьютерлік жүйелерде кең таралғанымен, шынайы жадты бөлу ОЖ-ға дейінгі үй компьютерлерінің операциялық жүйелерінде қолданылмады. / 2 (және RISC OS ) 1987 жылы шығарылды. Алдыңғы жүйелерде мұндай қорғаныстың болмауы тіпті процестер арасында көрсеткіш жіберіп, процестер арасындағы өзара әрекеттесудің бір түрі ретінде қолданылған. Процестер Windows 9x операциялық жүйелеріндегі жүйелік жадқа қол жеткізе алады.
Жадты қорғауды жүзеге асыратын кейбір операциялық жүйелерге мыналар жатады:
Unix тәрізді жүйелер (1970 жылдардың аяғынан бастап), соның ішінде Solaris, Linux, BSD, macOS, iOS және GNU Hurd
Bell Labs-те Unix мұрагерлері ретінде құрылған Plan9 және Inferno (1992, 1995)
OS / 2 (1987)
RISC OS (1987) (ОЖ жадын қорғау Толық емес.)
Microware OS-9 қосымша модуль ретінде (1992 жылдан бастап)
Windows NT 3.1 Microsoft Windows отбасы (1993)
Atari MultiTOS (1991 жылдан бастап)
Фарос (2017 жылдан бастап)
Unix тәрізді жүйелерде mprotectжүйеге қоңырау шалу жадты қорғауды басқару үшін қолданылады.
ОЖ қорғаудың ішкі жүйелерінің негізгі функцияларын төмендегі 1-кестеен көре аламыз.
1 – кесте. ОЖ қорғау ішкі жүйесінің негізгі функциялары
ОЖ қорғау ішкі жүйесінің негізгі функциялары
|
1. Қол жетімділікті шектеу
|
2. Қауіпсіздік саясатын басқару
|
3.Сәйкестендіру және аутентификация
|
4. Криптографиялық функциялар
|
5. Аудит
|
6. Желілік функциялар
|
Шабуылдарды анықтаудың тағы бір тәсілі — шабуылды шаблон (pattern) немесе қолтаңба (қол қою) түрінде сипаттаудан және осы үлгіні бақыланатын кеңістікте (желілік трафик немесе тіркеу журналы) іздеуден тұратын теріс қылықтарды анықтау. Вирусқа қарсы жүйелер осы технологиямен жұмыс істейтін шабуылдарды анықтау жүйесінің жарқын мысалы болып табылады.
Жоғарыда айтылғандай, желілік және операциялық деңгейдегі шабуылдарды анықтайтын жүйелердің екі класы бар.
Желілік (network-based) шабуылдарды анықтау жүйелерінің басты артықшылығы – олар шабуыл жасайтын түйінге жетпес бұрын шабуылдарды анықтайды. Бұл жүйелерді үлкен желілерде орналастыру оңай, өйткені олар ұйымда қолданылатын әртүрлі платформаларға орнатуды қажет етпейді. Ресейде MS-DOS, Windows 95, NetWare және Windows NT операциялық жүйелері кеңінен қолданылады. Бізде Unix-тің әртүрлі диалектілері қолданылады. Бірақ Батыстағыдай кең таралмаған. Сонымен қатар, желілік деңгейдегі шабуылдарды анықтау жүйелері желінің өнімділігін төмендетпейді.
Хост деңгейіндегі шабуылдарды анықтау жүйелері белгілі бір операциялық жүйенің басқаруымен жұмыс істеу үшін жасалады, бұл оларға белгілі бір шектеулер қояды. Мысалы, мен MS-DOS немесе Windows for Workgroups – пен жұмыс істейтін осы сыныптың бірде-бір жүйесін білмеймін (бірақ бұл операциялық жүйелер Ресейде әлі де кең таралған). Операциялық жүйенің "өзін-өзі ұстауы" керек екенін біле отырып, осы тәсілді ескере отырып жасалған құралдар кейде желілік шабуылдарды анықтау құралдары жіберіп алған шабуылдарды анықтай алады.
Достарыңызбен бөлісу: |