Code Monkey home page Code Monkey logo

stt's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

stt's Issues

Build Fails

Build fails with this error

Exception: MI_example-cache.sm:401: Error: Invalid method call: Type 'Sequencer' does not have a method evictionCallback, 'evictionCallback_Addr' nor '':

Even though there exists a method defined in ruby/system/Sequencer*

any idea how to fix this?

Whether readyToExpose is still effective in STT to control delaying TLB lookup?

I'm reading the implementation about how to control delaying TLB lookup. According to current implementation, STT does not use readyToExpose in InvisiSpec anymore before TLB lookup. That's to say, the status of isSPEC() in request is not set if the isInvisibleSpec flag is not enabled. Then, the TLB lookup is not delayed.

If I want to enable delaying TLB lookup, is it necessary to enable the isInvisibleSpec flag during simulation?

Waiting for your response. Thank you very much!

Building gives error

I have Python 2.7.17 and also have scons installed which are working fine for gem5 simulator. When I am running this stt or sdo I am getting this error. Please suggest!

** Error loading site_init file './site_scons/site_init.py':
File "./site_scons/site_init.py", line 55

print """

For more details, see:
http://gem5.org/Dependencies
"""

^

SyntaxError: invalid syntax

how to only block memory hierachy covert channel

Hello! I want to modify the code to only block the attacks using memory hierachy as the covert channel. So I modify the function "BaseDynInst::readyToIssue_UT()" in base_dyn_impl.hh. Is that correct to achieve my prospect?

/*** [Jiyong,STT] ***/
template <class Impl>
bool
BaseDynInst<Impl>::readyToIssue_UT() const
{
    bool ret = status[CanIssue];
    if (cpu->moreTransmitInsts == 1) {
        // consider int div and fp div
        if (opClass() == IntDivOp   ||
            opClass() == FloatDivOp ||
            opClass() == FloatSqrtOp)
            ret = ret && (!instFlags[IsArgsTainted]);
    }
    else if (cpu->moreTransmitInsts == 2) {
        if (opClass() == IntDivOp ||
            isFloating())
            ret = ret && (!instFlags[IsArgsTainted]);
    }
    // block memory hierachy covert channel >>>
    else if (cpu->moreTransmitInsts == 3) {
        if (this->isMemRef())
            ret = ret && (!instFlags[IsArgsTainted]);
    }
    // <<<
    else {
        assert (0);
    }
    return ret;
}

In addition, I wonder why the original code for dealing with different "moreTransmitInsts" values (1 & 2) does not include the memory instructions.

Full system simulation capability

How can we perform a full system simulation with STT add-ons? Is it supported?

I tried different kernel versions through the regular full system simulation flow and the simulation runs into boot panic.

Spectre attack code

Hi, I have tried spectre code on unsafe mode, but it does not work. Do you have the sample spectre attack code which is used in your experiment?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.