Hirdetés

Új hozzászólás Aktív témák

  • WN31RD

    addikt

    válasz X-COM #45 üzenetére

    Ha jól értem, - a szokásos covert channel mókán kívül, ami kevésbé érdekes - a P4-en HT segítségével párhuzamosan futó processzek információt szerezhetnek egymás memóriaeléréséről annak következtében, hogy osztoznak a processzor L1 cache-én. Amennyiben az egyik processz pl. az OpenSSL segítségével RSA kulcsokkal végez műveleteket, akkor, mivel a számításokhoz viszonylag sok különféle átmeneti érték van szétdobálva a memóriában, ezzel a módszerrel akár az RSA kulcsok tartalmáról is lehet információt szerezni, elvileg eleget ahhoz, hogy abból könnyen visszafejthető legyen az egész kulcs.
    (Saját kommentár: A példában 1024 bites RSA szerepel, nem tudom, mennyire alkalmazható a módszer nagyobb kulcshossz esetében, illetve továbbfejleszthető-e ahhoz. Kérdés még, hogy egy valós rendszerben, a párhozamosan futó igen sok processz ''zaja'' mennyire zavar be, és egyáltalán valós környezetben működik-e ez a fajta kémkedés.)

    Megoldási javaslatokat is ad:
    - nincs HT, illetve le van tiltva (:DDD)
    - végrehajtási szálanként külön L1 cache
    - módosított cache ürítési stratégia (nem részletezem)
    - az operációs rendszer ütemezője csak egy privilégiumszinten levő processzeket ütemez párhuzamosan egy processzoron
    - alkalmazás szinten a kritikus kódokat átírni olyan módon, hogy a memóriaelérések (beleértve a kód végrehajtását is) ne adjanak információt a feldolgozott adatról

    Röviden ennyi. Ha valamit elnéztem, javítsátok ki. :)

Új hozzászólás Aktív témák