Компьютерлік жүйеде қауіпсіздік функцияларын орындауға өкілеттік беру
Privilege (computing)
Компьютерлік жүйедегі қауіпсіздік функцияларын орындау үшін өкілеттік беру – бұл басымдықтар. Басымдықтары бар пайдаланушылар, қалыпты пайдаланушылардан өзгеше.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік жүйеде қауіпсіздікке қатысты функцияларды орындау үшін өкілеттік беру – бұл компьютерлік жүйеде қауіпсіздікке қатысты функцияларды орындауға берілген құқық. Өкілеттік пайдаланушыға қауіпсіздік салдары бар әрекеттерді жасауға мүмкіндік береді. Мысалдарға жаңа пайдаланушы құру, бағдарламалық қамтамасыз етуді орнату немесе ядро функцияларын өзгерту кіреді. Қосымша басқару деңгейлеріне ие пайдаланушылар өкілетті деп аталады. Көптеген өкілеттіктерден айырылған пайдаланушылар өкілетсіз, қалыпты немесе стандартты пайдаланушылар деп анықталады.
Delegation of authority to perform security relevant functions on a computer system
In computing, privilege is defined as the delegation of authority to perform security relevant functions on a computer system. A privilege allows a user to perform an action with security consequences. Examples of various privileges include the ability to create a new user, install software, or change kernel functions. Users who have been delegated extra levels of control are called privileged. Users who lack most privileges are defined as unprivileged, regular, or normal users.
Теория
Артықшылықтар автоматты, берілген немесе сұраныс бойынша берілуі мүмкін. Автоматты артықшылық, әрекетті орындау үшін рұқсат алу қажет болмағанда туындайды. Мысалы, жүйеге кіруді талап ететін жүйелерде, жүйеден шығу үшін артықшылық қажет болмайды. MS DOS сияқты файлдарды қорғауды іске асырмайтын жүйелер, файлға кез келген әрекетті орындау үшін шексіз артықшылық береді. Берілген артықшылық, артықшылықты беруге уәкілетті органға сенімхат ұсынғанның нәтижесінде пайда болады. Бұл әдетте пайдаланушы аты мен құпия сөзбен жүйеге кіру арқылы жүзеге асырылады, егер пайдаланушы аты мен құпия сөз дұрыс болса, пайдаланушыға қосымша артықшылықтар беріледі. Артықшылықты қолдану үшін, орындалған бағдарлама кеңейтілген артықшылықтарды сұрау немесе қосымша артықшылықтарды алуға арналған бағдарламаны іске қосу арқылы жүзеге асырылады. Пайдаланушының қосымша артықшылықтарды сұрауының мысалы – sudo командасы арқылы суперпайдаланушы (root) ретінде команданы орындау немесе Kerberos аутентификация жүйесі арқылы беріледі. Қазіргі заманғы процессор архитектураларында бірнеше CPU режимдері бар, бұл операциялық жүйенің әртүрлі артықшылық деңгейлерінде жұмыс істеуіне мүмкіндік береді. Кейбір процессорларда екі деңгей бар (мысалы, пайдаланушы және қадағалаушы); i386+ процессорларында төрт деңгей бар (#0 ең көп, #3 ең аз артықшылықтармен). Міндеттер артықшылық деңгейімен таңбаланады. Ресурстар (сегменттер, беттер, порттар және т.б.) және артықшылықты нұсқаулар талап етілетін артықшылық деңгейімен таңбаланады. Міндет ресурсты пайдалануға немесе артықшылықты нұсқауды орындауға тырысқанда, процессор рұқсаты бар-жоғын анықтайды (егер жоқ болса, "қорғау қатесі" үзілісі туындайды). Бұл пайдаланушы міндеттерінің операциялық жүйеге немесе бір-біріне зақым келтіруін болдырмайды. Компьютерлік бағдарламалауда, артықшылықты нұсқауларды бұзуға байланысты туындайтын қателер, массивке шектен тыс қол жеткізілгенде немесе жарамсыз меңзер жарамсыз жад орнына сілтеме жасағанда, мысалы, құрылғының кірісі/шығысын басқаратын жад орнында туындауы мүмкін. Бұл C сияқты, меңзер арифметикасын қолданатын немесе массив шекараларын автоматты түрде тексермейтін бағдарламалау тілдерінде жиі кездеседі.
Privileges can either be automatic, granted, or applied for. An automatic privilege exists when there is no requirement to have permission to perform an action. For example, on systems where people are required to log into a system to use it, logging out will not require a privilege. Systems that do not implement file protection such as MS DOS essentially give unlimited privilege to perform any action on a file. A granted privilege exists as a result of presenting some credential to the privilege granting authority. This is usually accomplished by logging on to a system with a username and password, and if the username and password supplied are correct, the user is granted additional privileges. A privilege is applied for by either an executed program issuing a request for advanced privileges, or by running some program to apply for the additional privileges. An example of a user applying for additional privileges is provided by the sudo command to run a command as superuser (root) user, or by the Kerberos authentication system. Modern processor architectures have multiple CPU modes that allows the OS to run at different privilege levels. Some processors have two levels (such as user and supervisor); i386+ processors have four levels (#0 with the most, #3 with the least privileges). Tasks are tagged with a privilege level. Resources (segments, pages, ports, etc.) and the privileged instructions are tagged with a demanded privilege level. When a task tries to use a resource, or execute a privileged instruction, the processor determines whether it has the permission (if not, a "protection fault" interrupt is generated). This prevents user tasks from damaging the OS or each other. In computer programming, exceptions related to privileged instruction violations may be caused when an array has been accessed out of bounds or an invalid pointer has been dereferenced when the invalid memory location referenced is a privileged location, such as one controlling device input/output. This is particularly more likely to occur in programming languages such as C, which use pointer arithmetic or do not check array bounds automatically.
Сын
Марк Миллер артықшылық тұжырымын нашар анықталған және өлшеуге қиын деп сынап, билікті бағдарламаның істей алатын мүмкіндіктерінің жиынтығы ретінде анықтаудың тиімдірек екенін айтты.
Mark Miller has critiqued the framing of privilege as being poorly defined and hard to measure, and suggested that authority can be defined as the set of things a program can do, which is more helpful.