[llvm-dev] EuroLLVM 2019 - Spectre Round Table Notes
    Zola Bridges via llvm-dev 
    llvm-dev at lists.llvm.org
       
    Fri Apr 19 13:46:57 PDT 2019
    
    
  
I put together some notes about the round table. I cc'd each person who
gave me their email addresses at the event as well.
EuroLLVM 2019 - April 8, 2019
   -
   Current API load/costs/perf hits
   -
      ARM - data flow tracking part of mitigations is about ⅔ of the
      overhead, can possibly get it down to 50%
      -
      Google - saw the same wrt data flow tracking. Also noted that in the
      non-public Google spot API the specific code path with the spot
mitigation
      had a higher cost than the code path with Speculative Load Hardening
      -
   Test suites that show mitigations work
   -
      People at Google are planning to work on this. Right now there are
      mainly small, non-public proofs of concept.
      -
   ARM API history
   -
      Originally the ARM spot mitigation API was quickly put together to
      meet the disclosure deadline. It has evolved since then, but not based on
      usage from users.
      -
      ARM would like to hear from users about their experience working with
      Spectre mitigations.
      -
   People at Google are working on doc with suggestions on how to mitigate
   with respect to Spectre
   -
   Suggested reading from discussion of possible mitigation that didn't
   seem viable: Why Spectre is Here to Stay
   -
      https://arxiv.org/abs/1902.05178
      -
   How do the API creators know they are correcting the right things?
   -
      Intel has a test suite where they check things are properly mitigated.
      -
   Challenging questions for users: How to answer: What does this security
   mean for the end user? Is it worth it to mitigate this?
   -
      If you want safety, you can add separate address spaces.
      -
      Consider SLH and other mitigations as tools in a toolbox. You don't
      have to use them all.
      -
      Can be useful to rethink the app design when possible
      -
      Sometimes there are things you may not consider secrets, but are
      important for security (for example: what apps are running at
the same time
      as another on an Android device,)
      -
      Improve isolation models?
      -
         Automatic isolation by the compiler was discussed
         -
            Related link:
            https://www.cl.cam.ac.uk/research/security/ctsrd/soaap/
            -
            There is work in the functional language community about this
            -
               Haskell model of heap isolation
               -
         Across isolation boundaries, other APIs may need to be specified.
         Could create surface layer validations and accompanying tests.
         -
   Guidance on libc++?
   -
      Depends on if you're using libc++ with secrets
      -
      No specific guidance needed other than you have be to more specific
      about the exact problem you're solving.
      -
   Can we be less reactive in responses to these and related issues?
   -
      Possibly by designing isolation models up front rather than only
      applying mitigations as leaks are found
      -
   Can we create an automated tool for threat modelling?
   -
      Probably not because it's too idiosyncratic to the specific
      application.
      -
   Discussed static analyzers
   -
      Have been around 10
      -
         Either too many false positives or false negatives which made them
         unusable
         -
      Google may publish info about their internal static analyzer design
      -
   Can we get spec exec mitigation coverage by fuzz testing?
   -
      Fuzz testing results in a lack of theoretical coverage, but we can do
      enough fuzzing to know it's unlikely there are holes cheap enough for
      attackers to find and use.
      -
   Sanitizer + Fuzzer
   -
      Chandler C. had an idea about making a sanitizer for speculative
      execution vulnerability mitigations. He said he'll write a doc about this.
Feel free to discuss.
Zola Bridges
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190419/975554ce/attachment.html>
    
    
More information about the llvm-dev
mailing list