Verstehendes Windows Vista Service-Verhärten
Microsoft hat Windows Vista als sicherste Windows überhaupt angekündigt. Diesen Anspruch unterstützend, hat Microsoft eine Anzahl von neuen Sicherheit Eigenschaften im Betriebssystem eingeschlossen. Diese neuen Eigenschaften sind entworfen, um einige der allgemeinen Vektoren zu adressieren, durch die vorhergehende Versionen von Windows auf anonyme Miscreants und andere Verbrecher gefallen sind.
Eine solche neue Eigenschaft in Windows Vista bekannt als Windows Service-Verhärten. In ältere Versionen von Windows, liefen Dienstleistungen nicht notwendigerweise mit den wenigen möglichen Privilegien. Tatsächlich liefen Windows Dienstleistungen häufig unter Konten mit sehr hochqualifiziertem des Zuganges, wie LocalSystem Konto. Weiter berücksichtigen Benutzer häufig nicht die Dienstleistungen, die auf ihre Systeme laufen und nicht feststellen, daß etwas Dienstleistungen sicher zu sperren sind. Schließlich liefen Dienstleistungen und Benutzeranwendungen in den gleichen Raum, der nicht angebrachten Zugang ergeben könnte. Resultierend aus den Dienstleistungen, die mit Privilegien, die zusammenbrachten nicht Notwendigkeit und den laufenden Dienstleistungen laufen, daß Benutzer benötigten nicht, wurden Windows Schreibtische verletzbarer zum Angriff gelassen.
Was verhärtet Windows Service?
Das Service-Verhärten Vista ist entworfen, um einige dieser Fehler abzuschwächen. Die Eigenschaft verwendet vier Methoden, um seine Ziele zu erzielen:
- Halten Sie Lokalisierung instand
- Wenig Privileg
- Eingeschränkter Netzzugang
- Lokalisierung des Lernabschnittes 0
Wir sprechen jede über dieser Sicherheit Methoden ausführlich irgendein.
Halten Sie Lokalisierung instand
Vor Windows Vista, als ein Service Zugang zu einem Gegenstand benötigte, der ein hochqualifiziertes der Sicherheit erforderte, könnte eine von zwei Annäherungen genommen werden:
- Der Service könnte mit einem Konto laufen gelassen werden, das ein hochqualifiziertes von Rechten dem System bewilligte. LocalSystem Konto z.B. würde dieses Niveau des Services liefern. Dieses ist die Annäherung, die am allgemeinsten genommen, aber unnötigerweise das System zum möglichen Angriff erschloß wurde.
- Die Sicherheit Konfiguration für den Gegenstand, zu dem Zugang angefordert wurde, könnte rekonfiguriert werden, um Zugang von einem speziellen Konto mit wenigen Privilegien zu erlauben. Außer dem Verursachen eines administrativen Alptraums (stellen Sie vor sich, einen Service verursachen daß müssend erklären jedes Konto und dann beibehaltenen Kennwörter für jene Konten), würde diese Annäherung einen Angreifer mit einem anderen Vektor versehen, durch den ein System in Angriff nehmen.
Tragen Sie Service-Lokalisierung ein. Service-Lokalisierung ist eine Methode, durch die ein Vista Service einen erforderlichen Gegenstand zugänglich machen kann, ohne zu müssen, durch administrative Bänder zu springen oder zu verwenden ein Super-verwalter Konto wie LocalSystem. Service-Lokalisierung arbeitet, indem sie ein Zielgegenstand â“€ wie ein Registerschlüssel â“€ mit einer Zugriffssteuerungeintragung sichert, die eine Sicherheit Identifikation enthält This ID is referred to as a “service identity”, “per-service SID” or, in some documentation, just “SID”, which should not be confused with the phrase “security identifier” (also known as the SID) used by Windows and Active Directory. This SID is unique to the service and is derived from the service name.
Once the SID is created and assigned for use by a service, an object’s (for example, a registry key to which a service needs to write information) access control list can be modified to include the new SID, thus allowing the service to access the object without giving away the privilege farm.
Restricted SIDs
Even when a service is using one of these service-specific SIDs, the service is still able to access other resources because the service’s process token also contains the SID for the service account (ie, LocalService or NetworkService). If the service is compromised, a potential attacker can cause additional damage by accessing the resources that are not related to the service, but are accessible to the LocalService account.
Windows Vista tries to help you here, too. In an attempt to limit the potential damage caused by a compromised service, Windows Vista combines write-restricted tokens and per-service SIDs to establish restricted SIDs for services. If a service enables a restricted SID, then that service’s per-service SID is combined with both the normal and restricted SID list of the write-restricted service access token. Now, the service can write only to objects that have been specifically granted write access to one of the SIDs in the restricted list.
Let’s look at an example.
Suppose that a particular service runs using the LocalService account and also has a service SID enabled. As a result, the service has access to objects that have been granted per-service access, but the service also has access to all objects that provide access to the LocalService account. By enabling restricted SIDs, this can no longer write to any object that grants access to LocalService account. Why? Those objects do not grant write access to the per-service SID of your service.
Least privilege
The LocalSystem account provides the keys to every aspect of a system. This is also the account under which many Windows services run. Therefore, these services are favourites among hackers since a successful exploit against one of these services can provide wide and deep access to a system.
In order to protect a system, a best practice is to run each service using an account with the least privileges necessary to accomplish the service’s goals. Although Windows provides other accounts that have significantly fewer rights, some services require privileges provides only by the LocalSystem account.
Under older versions of Windows, the LocalSystem account provided carte blanche access. Under Windows Vista, services requiring LocalSystem-only rights can still use the LocalSystem account, but can be configured to be granted only those rights that are required for the service to operate, and no more. LocalSystem is not the only account that can use this new feature. The following accounts or account types can also use this least privilege mechanism:
- LocalService account: The LocalService account has minimum rights on the local computer and uses anonymous credentials on the network. This account has reduced privileges and acts in a similar fashion to an authenticated local user account. Use of this account is useful when the LocalSystem account provides too much access for services that do not need deep access to a system.
- NetworkService account: The NetworkService account is similar to the LocalService account in that this account provides lesser rights than LocalSystem. Where NetworkService differs from LocalService is in cases during which the service needs to access remote resources. Whereas LocalService provides anonymous credentials for access to remote resources, NetworkService accesses remote resources using the credentials of the computer account.
- Domain accounts: User accounts created in the Active Directory domain.
- Local accounts: User accounts created on the local computer.
Under Windows Vista, when a service starts, the service requests specific privileges — not all privileges — provided by the LocalSystem account. Rights that are not specifically requested in some way are removed from the service’s access token. If a service has not been designed with this new security feature, the service is assigned all of the rights granted by LocalSystem. This helps to maintain backward compatibility for older services. For shared-process services, all processes in the group are assigned all of the rights requested by each of the individual processes.
It’s important to note that this principle of least privilege does not limit a hacker’s ability to exploit a flaw in a service. It does, however, limit the damage that can be wrought by an attacker’s successful breach of your other defences.
Service network access restrictions
Over the years, services running in Windows have become more and more dependent on being accessible to the network or accessible by other computers on your network. Services that face the network in this way are more vulnerable to attack since, in order to work their magic, these services are just waiting for remote connections, making them more susceptible to malicious activity.
Under Windows Vista, a developer can restrict a service’s access by TCP/UDP port, protocol, or even by the direction that network traffic is flowing. When restrictions like these are in place, attempts to access a service using other methods will be blocked, protecting that service from some attack vectors.
Windows Vista services can also be configured to not allow network access in which case the service cannot be remotely exploited, but neither can the service make connections to remote services. However, not every service really needs network access.
Windows Vista’s service-level network access restrictions hardening feature works in a similar fashion, as the service isolation feature in that the restrictions are implemented through the use of service-level SIDs.
Session 0 isolation
For this section, the assumption is that you are using Vista as a desktop, and not as a server serving remote users.
Under Windows XP, when a user logs into the console, all services and applications run in what is called Session 0. When Fast User Switching is enabled in Windows XP, the first user’s applications are assigned to Session 0, along with all of the system’s running services. As additional users log into the system via Fast User Switching, each additional user’s applications are run inside a new session. So the second user’s applications run in Session 1, and the third user’s applications run in Session 2. However, regardless of how many people log in to the system, all services, as well as the original user’s applications, continue to run in Session 0.
Mixing services, many of which run with considerable privileges, with user applications can create significant security issues. If an application is poorly written, falls victim to an exploit, or if that application is running in the same session as services, those services are more vulnerable to compromise than they would be if the applications were running in a separate box.
In order to combat this potential threat, Windows Vista does not allow any user applications to be run in Session 0. All other applications must run in Session 1 or higher. Only services and other non-user-facing applications run in Session 0, thus maintaining isolation between services and user applications.
New and improved service security
Through these changes to the Windows Vista service model, Windows Vista aims to better protect your system in the event of a breach. With the exception of Session 0 Isolation, Vista’s Service Hardening features are not necessarily designed to block attacks on services hosted in Vista. Instead, Vista’s Service Hardening features are designed to limit the potential damage that can be done when a service is breached.
Service Hardening, when combined with other Vista services, such as its new firewall, can provide a formidable defence. Between these and other services, Vista provides multiple layers of defence, designed to keep your system safe and secure.
[ via — ]
Popularity: 1%
Written by Madhukara H. Read more great feeds at is source WEBSITE
no comments.
Read more articles on Damage.
- [+] Digg: Feature this article
- [+] Del.icio.us: Bookmark this article
- [+] Furl: Bookmark this article














