LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: RT<mfoc73@d...>
    Date: Wed Mar 23 10:10:43 CET 2005
    Subject: [oc] Hardware and OS integration and security
    Top
    What's your agenda? Academic? Commercial? Ideological? It helps to set
    some context.

    Try comp.arch for your technical points but, after a couple of minutes,
    my reaction is:

    Charlton Heston wrote:

    > The technology components are as follows:
    >
    > 1. Encrypted instruction sets - What is the overhead of translating
    > instructions via a lookup table

    This is already done commercially for translating one instruction set to
    another on the fly. Nazomi (?), at least, claims a "patent" on JVM
    implementation this way. The immediate overhead is more silicon and,
    possibly, an extra pipeline stage, with all the complications that brings.

    > in the cache prior to execution of the instruction? If a processor
    > had this capability every buffer overflow
    > would get translated into garbage and not execute.

    How does it protect against buffer overflows? The overflow must contain
    valid instructions or it would be of no use to the attacker.

    > The system owner
    > could translate software
    > based on the lookup table in the install process using tools that
    > come with the operating system
    > that executes in this environement. Disk space is cheap so a user
    > could even use several
    > encrypted versions of their favorite OS. Since no one knows the
    > translation lookup table no viruses
    > could execute on the computer. This would end the code and patch
    > cycle. By the way this idea was patented
    > in the 1970s but not for virus protection. Obviously, the computer
    > owner must not install any viruses
    > to protect her/his computer but other computers will not let it in
    > the door or allow it to propagate
    > across the network by using this approach.

    I can't see that this gives you any protection. You have to get your
    software from somebody else, unencrypted. You then encrypt it yourself
    on your machine. The attacker simply sends you unencrypted software,
    like everybody else, and you encrypt it for yourself. It doesn't even
    address HTML and JVM-type attacks.

    > 2. A shadow stack could be built into the processor. Comparing the
    > shadow stack to the final stack
    > using the shadow stack on procedure return could determine if the
    > stack was over run. The stack would be activated when RAM is
    > installed in a special slot on the motherboard to prevent hacking some
    > system
    > parameter to turn it off. I haven't fould this idea in any papers on the
    > Internet so far...

    So how do you update the shadow stack? Why would the shadow stack be any
    different from the 'real' stack? Your own trusted software can't tell
    that there are 2 stacks any more than the attacker can.

    > 3. Multiple instruction set processors. Java virtual machines provide
    > extra security by doing careful
    > bounds checking on arrays, etc... Perhaps a processor could be built
    > to use multiple instruction sets
    > where additional checking can be done faster.
    >
    > 4. Better processor virtualization. The i386 uses a register to contain
    > the physical address of the page tables
    > while other processor designs allow virtual addresses to be used
    > thus allowing the processor to virtualize itself.
    > This allows for the building of better "sandboxes" to test software.

    Virtualisation is a major research area; you should be able to find any
    number of papers on this. My local uni has a security research unit and
    will let outsiders into seminars if they ask nicely; try yours.

    Richard



    ReferenceAuthor
    [oc] Hardware and OS integration and securityCharlton Heston

    Follow upAuthor
    [oc] Hardware and OS integration and securityCharlton Heston

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.