| Deutsch English Français Italiano |
|
<jai66jd4ih4ejmek0abnl4gvg5td4obsqg@4ax.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: John Savard <quadibloc@servername.invalid> Newsgroups: comp.arch Subject: Privilege Levels Below User Date: Fri, 07 Jun 2024 12:03:03 -0600 Organization: A noiseless patient Spider Lines: 39 Message-ID: <jai66jd4ih4ejmek0abnl4gvg5td4obsqg@4ax.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Injection-Date: Fri, 07 Jun 2024 20:03:06 +0200 (CEST) Injection-Info: dont-email.me; posting-host="1d911cacd2ec5ddce02e02a3dfaa029b"; logging-data="2290943"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/9xcs1iRzcraumvGKud1UMVH0PPEKKdcs=" Cancel-Lock: sha1:4Dd6UKJmZgZR+GJquSGqMTJq2Bs= X-Newsreader: Forte Free Agent 3.3/32.846 Bytes: 2674 This may be a silly idea... but it seems to be the sort of thing that current concerns about computer security may be calling for. It is typical for computers to have a privileged mode of operation, wherein I/O operations and certain special changes to the state of the computer are allowed that are barred to normal computational tasks. For various reasons, miscreants have not been completely foiled by the existence of this feature. Some types of instruction that are required for normal computation are still, to a certain extent, potentially harmful. So I am thinking it might be useful to have, for example, two states less privileged than the user state, and some mechanism for user programs to call subroutines which are in that state until they return - the return instruction being limited, sort of like a supervisor call, so it can only return in a proper manner. The first reduced-privilege state would not allow any branch instructions, particularly conditional branches. The second, in addition, would not allow any access to memory, only allowing access to registers. To use these states to aid in security, more is required. For one thing, blocks of memory would need to be able to be marked as not only containing code or data, but as containing code that runs at one of these reduced privilege levels. And then comes the payaoff: a block of memory could be marked as writeable, but yet containing executable code, for things like just-in-time compilation... but as only containing code at one of these reduced privilege levels. Thus preventing the generation of code containing branches or memory accesses, as desired, while allowing the generation of computational sequences. John Savard