Untangling the Confusion of Client Security

**Security Viewpoint – October 2008
**See other Security Viewpoint columns

By Steve Riley*, Senior Security Strategist, Trustworthy Computing, Microsoft Corporation
- - - - - - - - - - - - - - - - - -

You know where your servers are. You know how they’re configured, you monitor their performance, you control access to their data, and you fine tune their behavior—with centralized security policies and unified management consoles. You feel good, and rightly take some pride in your work.

Now what about all those client computers proliferating like rabbits? It’s difficult enough keeping track of the ones you know about. Yet that one business group over there, you know—the one that gives each employee $2,000 and says “Go get whatever you want!”—can’t stand them, can you? And that other group whose employees work only from home, on the same machines their kids use for spyware-infected online games and privacy-busting social networking, while connected to an insecure wireless access point? Hmm, I sense your blood boiling. Calm down, relax, listen to the soothing sounds of my gentle voice (well, imagine that you can), and let me help you sort through it all.

Let’s put a framework around the problem. Access requests come from known and unknown people, using known and unknown machines. Here’s a handy chart:

oct08_viewpoint01.jpg

Now we can decide, for each class, what the use scenarios are, what kinds information should be made available, what client security responsibilities you might have, and what sorts of protection (if any) would be required.

Class 1: unknown users, unknown computers

Scenario: random individuals browsing your public web sites.

Available information: public.

Client security responsibilities: none. Well, maybe something more than none. Part of being a good Internet citizen is ensuring that your own sites don’t create security problems for the people who visit you. The important thing here, of course, is to make sure your public web applications are free of cross-site scripting errors and your web servers are free of malware that propagates via browsers (keep them patched!).

Class 2: unknown users, known computers

Scenario: owners of public kiosk computers.

Available information: anything.

Client security responsibilities: follow the Kinko’s model. Don’t assume that the people who use your kiosks won’t make mistakes or won’t try something malicious. You could heavily lock down the machines, but even then, you can’t be totally certain that someone didn’t manage to sneak malware that runs as standard user. Have you ever used a public computer at a Kinko’s? Check it out sometime. Each new user gets a freshly built operating system install. When the user logs out (and her credit card is billed), the workstation is wiped, formatted, and rebuilt from an image, in just a few minutes. You can build this yourself with Windows SteadyState, a free add-on for Windows XP and Vista that’s ideal for shared computers in schools, libraries, and internet cafés.

Class 3: known users, unknown computers

Scenario: people logging in with an identity you provide (or trust) using home computers or kiosks.

Usage examples: checking Outlook Web Access, interacting with internal web applications published through ISA Server or IAG, running remote sessions over Terminal Server.

Available information: internal data and documents (plus anything on the Internet).

Client security responsibilities: vary depending on how much control you can exert over the computer. If employees use home computers, then they’re most likely logging on as local administrators. You can publish your web applications through Microsoft Intelligent Application Gateway and use its endpoint compliance checking capability to verify the presence of malware scanners and the state of the Windows firewall. You can have IAG download an attachment wiper to the PC that removes potential confidential information that might get left behind if users save attachments or open SharePoint files. Because home computers often access dodgy Internet sites, it’s good to try to enforce some minimal amount of protection on them, if you can and if your employees are willing to permit that.

If users are at kiosks, then they most likely won’t have admin rights, so your IAG policies would prohibit saving attachments or saving SharePoint files while still permitting reading content in the browser. IAG places a no-cache directive in every HTML stream it delivers. The same applies if your employees won’t permit any security policies to be placed on their computers: treat them like you would kiosks.

Of course, access through Windows Terminal Server presents the least amount of risk, and gives you a variety of user experience options with TS RemoteApp, TS Web Access, and TS Gateway.

One other option is Microsoft Application Virtualization, which allows you to stream pre-installed application components to client PCs. You can place expiration times on the streamed components, and if you’re streaming Office, the components will keep themselves updated from Microsoft update. I suspect most of you would be comfortable with the idea of streaming applications to home computers, but probably not to kiosks.

Class 4: known users, known computers

Scenario: people logging in with an identity you provide (or trust) using computers owned by your organization.

Available information: internal data and documents, some of it potentially sensitive (plus anything on the Internet)

Within this class the computers can be divided into four sets:

  • Desktop computers you manage
  • Desktop computers you don’t manage
  • Laptop computers you manage
  • Laptop computers you don’t manage

For desktop computers that you manage, the Optimized Desktop helps you achieve the right level of control while still allowing users enough flexibility to get their work done. The menu item on the web page offers a few videos you can watch that describe various possibilities.

For desktop and laptop computers you don’t manage, it’s tempting to lump these back into class 3. But remember in this case, because they’re owned by the organization and not by individuals, the reality is that the users will expect the same behavior and capabilities they’d get on managed computers (I’m imagining the instance of where departments provide budget for each employee to purchase her own computer). Check out the Kidaro technology we recently acquired. With this approach, you could provide your standard IT environment on the machines your organization owns but aren’t under IT’s control. You could even use Kidaro’s virtualization technology in class 3 (known users, unknown computers)—indeed, I’ve recently spoken with many customers who are planning to pilot an implementation soon.

Finally, for the set of laptops you do manage, let me give you a different idea.

At TechEd this year, I gave a presentation called “21st century networking: time to throw away your medieval gateways.” I described an idea of using IPv6, IPsec, NAP, and group policy to build a pretty slick replacement for clunky VPN gateways. VPNs work, but they’re expensive resource hogs (time, hardware, power) that require users to have to change their behavior when they’re remote vs. local—sometimes discouraging people from working when they otherwise would (think: 10-minute logon times, ugh).

The goal is to provide true anywhere access, anywhere in the world, directly to resources in the corporate data center from managed and secure client computers—while at the same time offering a full user experience no matter where she got her Internet connection from. The Internet has replaced private WAN links for good reason: enormous cost benefits. The only thing holding us back from fully utilizing this development has been a lack of way to enforce and monitor the security of clients not physically located within the corpnet. Well, those days are over. Now you can build PCs that are trusted just as if they were on the corpnet, without knowing or caring anything about the underlying network connections.

Recently I wrote about this in more detail. It requires a good number of parts, but you already know most of them; I’m simply providing a recipe. Once this year’s round of TechEds winds down, I plan to write a guide that you can use to build such an environment in your organization. Until then, please read the article on my blog and let me know what you think.