Shawn Farkas: CLR 4 - Inside the new Managed Security Model

Download this episode

Download Video

Description

Senior SDE Shawn Farkas digs into the new security model in CLR 4. Gone are the days of head scratching complexity when it comes to reasoning about security in the managed world. The main goal for CLR 4 security was simplicity, in design and implementation for consumers (developers) of both security policy and secure design at the code level (both of these have been traditionally overly complex with a side effect of enabling insecurity rather than preventing it).

Shawn has been working on security inside the CLR (which of course manifests itself in the managed code and libraries you use to build your applications and services). He and team have been very, very busy over the past few years essentially rearchitecting the core security model of the CLR. What, exactly, have they done? Given the somewhat drastic changes, how does this impact compatibility (especially for those applications that took the leap and built complex CAS and policies into their applications)?

There's a lot of very useful information in this conversation with plenty of whiteboarding. It's great to see the managed security model evolve into a much more simple expressive model with policy patterns that mere mortals can understand and reason about. Great job Shawn and team! Thank you.

Tune in. Meet one of the minds behind CLR 4's security model.

Enjoy

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      exoteric

      Lovely informational. I remember having used CAS and scratching my head a few times. The new model looks much simpler.

    • User profile image
      cdwatkins

      Thank God!  Well done guys!  As someone that has been working with the silverlight security model for some time now, I have to say its a hell of a lot easier to understand and work with.  Glad to see that getting back into the core clr.

    • User profile image
      Simo

      "There's a lot of very useful information in this conversation with plenty of whiteboarding."

      I read that sentence as "... with plenty of water-boarding." Sheesh, sign of the times.

    • User profile image
      stevo_

      Personally the security model in .NET has mostly gone over my head.. I think its because in asp.net (where I spend most of my time), you get along perfectly fine without needing to understand it.. the only security concepts I really understand in asp.net world is trust levels (configured permission sets?) because most shared hosting implies medium trust and thus you need to be aware of operations that require full trust (and in some cases different hosts have 'variants' of medium trust, where permissions are stricter).

      Edit: forgot to comment about the video, which was great- the silverlight security model is easy to understand (although I'm not entirely sure what that competes with).

    • User profile image
      aL_

      so no more caspol? :O i *hate* caspol Smiley

    • User profile image
      Sampy

      Hey, we interned at the same time and started here in the same year!

      I thought he looked familiar...

    • User profile image
      Shawn Farkas

      I don't think we interned together, but we did work on ClickOnce together back in the .NET 2.0 / VS 2005 days Smiley

    • User profile image
      Shawn Farkas

      Yep - since we're not applying CAS policy to apps that you just run as .exes by default anymore, there won't be any need to play with caspol to get those working.

      -Shawn

    • User profile image
      aL_

      i love you [and your team] Smiley

    • User profile image
      Heavens​Revenge

      This security model reminds me a lot like how monads control side effects at a language level for I/O and managing complexity.  I watched this video once more just to verify with Haskell's type system model as the parallel, and I found this to be ~80%  mappable to the monad model.  Maybe an opt-in plug-able type system for the CLR/DLR for security that includes these sort of checks based on Haskell's unmatchable type system may be a fun project to explore Tongue Out

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.