В комп'ютерній безпеці PaX (вим. «Пакс») — це патч до ядра Linux, який надає можливість налаштувати мінімальні права доступу додатків до сторінок пам'яті. Таким чином забезпечується досить тонка настройка, з допомогою якої програмами дозволяється виконувати тільки ті дії, які необхідні, виходячи з наданої ними функціональності, але не більше. PaX був вперше випущений в 2000 році.
PaX позначає сегмент даних програм в пам'яті як недоступний для виконання (через те, що він за визначенням не може містити програмних директив, які необхідно виконати), а сегмент коду — як не перезаписуваний, і, на додачу, при кожному запиті виділяє пам'ять програмі з довільних місць (рандомізація сторінок пам'яті). Ця методика ефективна проти застосування різних експлойтів, які використовують, наприклад, вразливість, засновану на переповненні буфера пам'яті. Такий захист спочатку повністю запобігає прямому виконанню коду з пам'яті, і одночасно, з прикладної точки зору, робить, так звані, return-to-libc (ret2libc) атаки складними для виконання (їх починають використовувати швидше навмання, без заздалегідь передбачуваного результату). Однак, разом з тим, PaX не запобігає помилкам, що призводять до можливості зміни змінних та значень покажчиків.
PaX був написаний однойменною командою розробників. Засновник PaX нині воліє залишатися анонімним з невідомих громадськості причин.
Опис
Досить велика частина від загального числа вразливостей в комп'ютерних системах викликана помилками в програмах, які допускають можливість перевизначати свої функції, переписуючи їх «на льоту» (безпосередньо в оперативній пам'яті). Принцип роботи багатьох черв'яків, вірусів, а також численні методики безпосередніх спроб злому систем засновані на зміні вмісту пам'яті з подальшим впровадженням виконання шкідливого коду, на виконання частини вмісту області пам'яті через навмисну зміну покажчиків і т. п. Якщо подібні дії заблокувати яким-небудь чином, то загальний збиток стає досить незначним, або його може не бути зовсім, навіть якщо вірус і проник в систему. До того ж багато черв'яків (наприклад, такі як Sasser) в цьому випадку не зможуть проникнути в систему взагалі.
PaX був створений для того, щоб запобігати подібним атакам і робити це якомога більш узагальненим способом, тобто не допускати виконання нелегітимного коду, контролюючи доступ до пам'яті (читання, запис, виконання та їх можливі комбінації), причому, при цьому не торкаючись безпосередньо самого виконуваного коду. Настільки малою ціною PaX забезпечує більшу стійкість системи до злому, знижує кількість експлойтів, що призводять до відмови додатка в обслуговуванні (DoS) або віддалено відстежують процес виконання коду; експлойтів, які використовують подібні вразливості для надання атакуючому прав суперкористувача, доступу до інформації в системі або можуть заподіяти ще якоїсь шкоди. Замість цього справа може обмежитися припиненням функціонування будь-якого процесу або програми, з мінімальними наслідками для всієї системи.
Найчастіше, шкода, що наноситься DoS атакою, полягає у втраті часу і ресурсів через відмову функціональності об'єкта, що атакується. Однак, в цьому випадку, PaX запобігає нелегітимному доступі й поширенні конфіденційних даних системи внаслідок атаки, а не перешкоджає самому нападу. Між тим, прямі наслідки DoS також дуже небажані, особливо для систем, де критична будь-яка перерва в обслуговуванні, і проникнення зламувача свідомо завдає менше шкоди, ніж припинення функціонування сервісів. У цьому випадку, PaX буде не найкращим рішенням, але з усім тим, це досить таки прийнятний метод захисту важливої інформації.
Багато хто (але звичайно далеко не всі) помилки розробників призводять до неправильного поводження їхніх програм до пам'яті. Це надає гіпотетичну можливість змусити програму виконувати те, що вона не повинна робити за задумом (наприклад видавати привілейований шелл). Мета PaX — не знаходження і виправлення подібних уразливостей, а, швидше, запобігання їх використання атакуючими додатками. Наслідки помилок будуть зведені до мінімуму — виконання програми буде перервано, що з точки зору PaX краще, ніж її скомпрометований функціонал.
Слід розуміти, що PaX безпосередньо не запобігає переповненню буфера, а лише намагається ефективно присікти потенційні, пов'язані з ним, помилки розробників, які можуть призвести, наприклад, до надання небажаного доступу до системи. Проте, існують такі розробки, як і , які намагаються визначити безпосередньо саме переповнення буфера і зупинити виконання компрометуючих систему програм. Така методика називається . Вона орієнтована на безпосереднє блокування прямих атак, в разі, якщо це можливо. Хоча і PaX, і stack-smashing protection, по суті, мають на меті, вони не взаємозамінні. Однак, впровадження обох технологій, безумовно, зробить систему більш захищеною. Деякі дистрибутиви Linux вже мають в своєму складі обидва компоненти відразу (PaX і Stack Smash Protection).
За станом на жовтень 2006 року PaX ще не включений в основну гілку ядра, оскільки розробники патча вважають, що він все ще недостатньо готовий. Але, попри те, що PaX успішно використовується на багатьох архітектурах, він все ще залишається лише частково, або взагалі не підтримується, в ряді інших. Так, PaX успішно застосовується на IA-32 (x86), AMD64, IA-64, Alpha, PA-RISC, 32 і 64 bit MIPS, PowerPC і SPARC.
Дивись також
Примітки
- . www.alpinelinux.org. Архів оригіналу за 15 січня 2016. Процитовано 19 січня 2016.
Посилання
- Документація PaX [ 30 вересня 2018 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V komp yuternij bezpeci PaX vim Paks ce patch do yadra Linux yakij nadaye mozhlivist nalashtuvati minimalni prava dostupu dodatkiv do storinok pam yati Takim chinom zabezpechuyetsya dosit tonka nastrojka z dopomogoyu yakoyi programami dozvolyayetsya vikonuvati tilki ti diyi yaki neobhidni vihodyachi z nadanoyi nimi funkcionalnosti ale ne bilshe PaX buv vpershe vipushenij v 2000 roci Logotip PaX pingvin Taks simvol Linux maye demonichnij viglyad PaX poznachaye segment danih program v pam yati yak nedostupnij dlya vikonannya cherez te sho vin za viznachennyam ne mozhe mistiti programnih direktiv yaki neobhidno vikonati a segment kodu yak ne perezapisuvanij i na dodachu pri kozhnomu zapiti vidilyaye pam yat programi z dovilnih misc randomizaciya storinok pam yati Cya metodika efektivna proti zastosuvannya riznih eksplojtiv yaki vikoristovuyut napriklad vrazlivist zasnovanu na perepovnenni bufera pam yati Takij zahist spochatku povnistyu zapobigaye pryamomu vikonannyu kodu z pam yati i odnochasno z prikladnoyi tochki zoru robit tak zvani return to libc ret2libc ataki skladnimi dlya vikonannya yih pochinayut vikoristovuvati shvidshe navmannya bez zazdalegid peredbachuvanogo rezultatu Odnak razom z tim PaX ne zapobigaye pomilkam sho prizvodyat do mozhlivosti zmini zminnih ta znachen pokazhchikiv PaX buv napisanij odnojmennoyu komandoyu rozrobnikiv Zasnovnik PaX nini voliye zalishatisya anonimnim z nevidomih gromadskosti prichin OpisDosit velika chastina vid zagalnogo chisla vrazlivostej v komp yuternih sistemah viklikana pomilkami v programah yaki dopuskayut mozhlivist pereviznachati svoyi funkciyi perepisuyuchi yih na lotu bezposeredno v operativnij pam yati Princip roboti bagatoh cherv yakiv virusiv a takozh chislenni metodiki bezposerednih sprob zlomu sistem zasnovani na zmini vmistu pam yati z podalshim vprovadzhennyam vikonannya shkidlivogo kodu na vikonannya chastini vmistu oblasti pam yati cherez navmisnu zminu pokazhchikiv i t p Yaksho podibni diyi zablokuvati yakim nebud chinom to zagalnij zbitok staye dosit neznachnim abo jogo mozhe ne buti zovsim navit yaksho virus i pronik v sistemu Do togo zh bagato cherv yakiv napriklad taki yak Sasser v comu vipadku ne zmozhut proniknuti v sistemu vzagali PaX buv stvorenij dlya togo shob zapobigati podibnim atakam i robiti ce yakomoga bilsh uzagalnenim sposobom tobto ne dopuskati vikonannya nelegitimnogo kodu kontrolyuyuchi dostup do pam yati chitannya zapis vikonannya ta yih mozhlivi kombinaciyi prichomu pri comu ne torkayuchis bezposeredno samogo vikonuvanogo kodu Nastilki maloyu cinoyu PaX zabezpechuye bilshu stijkist sistemi do zlomu znizhuye kilkist eksplojtiv sho prizvodyat do vidmovi dodatka v obslugovuvanni DoS abo viddaleno vidstezhuyut proces vikonannya kodu eksplojtiv yaki vikoristovuyut podibni vrazlivosti dlya nadannya atakuyuchomu prav superkoristuvacha dostupu do informaciyi v sistemi abo mozhut zapodiyati she yakoyis shkodi Zamist cogo sprava mozhe obmezhitisya pripinennyam funkcionuvannya bud yakogo procesu abo programi z minimalnimi naslidkami dlya vsiyeyi sistemi Najchastishe shkoda sho nanositsya DoS atakoyu polyagaye u vtrati chasu i resursiv cherez vidmovu funkcionalnosti ob yekta sho atakuyetsya Odnak v comu vipadku PaX zapobigaye nelegitimnomu dostupi j poshirenni konfidencijnih danih sistemi vnaslidok ataki a ne pereshkodzhaye samomu napadu Mizh tim pryami naslidki DoS takozh duzhe nebazhani osoblivo dlya sistem de kritichna bud yaka pererva v obslugovuvanni i proniknennya zlamuvacha svidomo zavdaye menshe shkodi nizh pripinennya funkcionuvannya servisiv U comu vipadku PaX bude ne najkrashim rishennyam ale z usim tim ce dosit taki prijnyatnij metod zahistu vazhlivoyi informaciyi Bagato hto ale zvichajno daleko ne vsi pomilki rozrobnikiv prizvodyat do nepravilnogo povodzhennya yihnih program do pam yati Ce nadaye gipotetichnu mozhlivist zmusiti programu vikonuvati te sho vona ne povinna robiti za zadumom napriklad vidavati privilejovanij shell Meta PaX ne znahodzhennya i vipravlennya podibnih urazlivostej a shvidshe zapobigannya yih vikoristannya atakuyuchimi dodatkami Naslidki pomilok budut zvedeni do minimumu vikonannya programi bude perervano sho z tochki zoru PaX krashe nizh yiyi skomprometovanij funkcional Slid rozumiti sho PaX bezposeredno ne zapobigaye perepovnennyu bufera a lishe namagayetsya efektivno prisikti potencijni pov yazani z nim pomilki rozrobnikiv yaki mozhut prizvesti napriklad do nadannya nebazhanogo dostupu do sistemi Prote isnuyut taki rozrobki yak i yaki namagayutsya viznachiti bezposeredno same perepovnennya bufera i zupiniti vikonannya komprometuyuchih sistemu program Taka metodika nazivayetsya Vona oriyentovana na bezposerednye blokuvannya pryamih atak v razi yaksho ce mozhlivo Hocha i PaX i stack smashing protection po suti mayut na meti voni ne vzayemozaminni Odnak vprovadzhennya oboh tehnologij bezumovno zrobit sistemu bilsh zahishenoyu Deyaki distributivi Linux vzhe mayut v svoyemu skladi obidva komponenti vidrazu PaX i Stack Smash Protection Za stanom na zhovten 2006 roku PaX she ne vklyuchenij v osnovnu gilku yadra oskilki rozrobniki patcha vvazhayut sho vin vse she nedostatno gotovij Ale popri te sho PaX uspishno vikoristovuyetsya na bagatoh arhitekturah vin vse she zalishayetsya lishe chastkovo abo vzagali ne pidtrimuyetsya v ryadi inshih Tak PaX uspishno zastosovuyetsya na IA 32 x86 AMD64 IA 64 Alpha PA RISC 32 i 64 bit MIPS PowerPC i SPARC Divis takozhSELinuxPrimitki www alpinelinux org Arhiv originalu za 15 sichnya 2016 Procitovano 19 sichnya 2016 PosilannyaDokumentaciya PaX 30 veresnya 2018 u Wayback Machine