Suche // Search:

29.11.2010

Ausnahmeregelungen für Gesicherten Modus von Adobe Reader X erstellen
//
Create custom policies for Protected Mode of Adobe Reader X

So, Adobe hat's vollbracht und die neue Version 10 (alias X) von Acrobat und Reader veröffentlicht.
Einher gehen etliche Verbesserungen, vorallem die Sicherheit betreffend.

Der kostenlose Adobe Reader, der immerhin schon über 650 Millionen Mal geladen wurde, wurde ganz besonders verbessert.
Der sogenannte "Geschütze Modus" lässt den Prozess des Readers in einer Sandbox laufen, sodass PDF-Dateien ohne Weiteres keinen Zugriff mehr auf das Dateisystem bekommen, und somit auch bösartige Inhalte wie eingebetteter Shell-Code keinen Schaden mehr anrichten können.
Ich kann nur jedem empfehlen den Reader immer im Geschützen Modus zu verwenden!

Aber das Ganze hat auch Nebenwirkungen, die sich auf Workflows auswirken können, die auf Folder-Level-Skripte basieren, denn auch diese werden wirkungsvoll durch die Sandbox geblockt.

Ich hatte in einem früheren Beispiel mal beschrieben, wie sich XFA-Formulare mit einem Folder-Level-Skript in bestimmte Verzeichnisse speichern lassen.
Dies ist so ein Workflow, der nicht mehr funktioniert, wenn der "Geschützte Modus" aktiv ist.

Wenn Sie das Formular im Reader X mit aktiviertem Geschützem Modus testen, werden Sie nur einen Ausnahmefehler in der Konsole sehen.

NotAllowedError: Sicherheitseinstellungen verhindern den Zugriff auf diese Eigenschaft oder Methode.

Um diesen Workflow wieder gängig zu bekommen ohne auf die Sicherheit des Geschützen Modus zu verzichten, gibt es die Möglichkeit Ausnahmeregelungen in einer Whitelist für den Geschützen Modus zu definieren.

Die Einrichtung dieser Whitelist erfolgt in 2 Schritten.
Zuerst müssen Sie in der Registry einen neuen DWORD-Wert anlegen, damit Reader X überhaupt die Erlaubnis hat, die Whitelist zu verwenden.
Danach definieren Sie die Ausnahmeregelungen in der Whitelist selbst.

Well, Adobe has done it and released the generation 10 (alias X) of Acrobat and Reader. This generations brings a lot of enhancements.

Especially the free Adobe Reader, that already has been downloaded over 650 million times, was improved.
The so called "Protected Mode" runs the Reader process in a sandbox, so PDF files do not get access to the file system.
As a result malicious contents as embedded shell codes cannot harm the system.
I only can advise to use Reader always with the Protected Mode activated.

But, the also will have side effects to workflows that are working with folder level scripts, cause those script will also be blocked by the sandbox mechnism.

I an earlier example I had described, how to use folder level scripts to save XFA-forms into specific directories.
This is such a workflow that won't work with the "Protected Mode" activated.

If you use this example in Reader X with the Protected Mode activated, you will only see an exception in the console.

NotAllowedError: Security settings prevent access to this property or method.

To make it work again without deactivating the security of the Protected Mode, you can describe policies for the Protected Mode in a white list.

The setup of the white list has two steps.
You first have to create a new DWORD value in the registry to allow Reader X the usage of a whitelist.
Then you define the policies in the white list.

Ausnahmefehler in Reader X // Exception in Reader X



Schritt für Schritt // Step  by Step

Öffnen Sie den Registrierungs-Editor und suchen Sie den Verzeichniseintrag:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Acrobat Reader\10.0\FeatureLockDown

Erstellen Sie hier einen neuen DWORD-Wert namens bUseWhitelistConfigFile und weisen Sie diesem den Wert 1 zu.

Open the registry editor and look for the entry:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Acrobat Reader\10.0\FeatureLockDown

Create a new DWORD-value named bUseWhitelistConfigFile with the value 1.



Öffnen Sie den Programmorder von Adobe Reader X z.B. unter C:\Programme (x86)\Adobe\Reader 10.0\Reader\.
In dem Ordner muss sich die AcroRdr32.exe befinden, andernfalls funktioniert die Whitelist nicht!
Erstellen Sie hier eine Textdatei namens ProtectedModeWhitelistConfig.txt.


Open the program folder of Adobe Reader X under C:\Program Files (x86)\Adobe\Reader 10.0\Reader\ for example.
The folder has to contain the AcroRdr32.exe otherwise the white list won't work!
Create a new text file and name it ProtectedModeWhitelistConfig.txt.


Whitelist im Programmordner // White list in the program folder



Öffnen Sie die Textdatei, um die Ausnahmeregelungen zu definieren.
Insgesamt gibt es 8 Regelarten, von denen für diesen Workflow nur eine interessant ist. 
Die anderen sind vor allem für Entwickler von Plug-Ins interessant, weshalb ich darauf nicht weiter eingehe.


Es können beliebig viele Regelungen eingetragen werden, aber immer nur eine pro Zeile.
Kommentare werden in eigene Zeile geschrieben und mit einem Semikolon am Zeilenanfang auskommentiert.
Sie können Platzhalter für die Regelungen verwenden.
* für beliebig viele Zeichen  – jeweils nur eins in Reihe erlaubt
? für ein bestimmtes Zeichen – mehrere in Reihe erlaubt
Desweiteren können Sie Umgebungsvariablen wie z.B. %user%, %temp% oder %systemroot% verwenden, um die relativen Pfade zu den Systemordner aufzulösen.

Beispielregelungen:

; Laufwerk c:\ freigeben
FILES_ALLOW_ANY = c:\*

; Ordner mit dem Namen "LCB" freigeben – unabhängig davon wo der Ordner gespeichert ist
FILES_ALLOW_ANY = *\LCB\*

; Ordner des angemeldeten Benutzers freigeben – wie z.B. C:\Benutzer\Benutzername\
FILES_ALLOW_ANY = %homedrive%%homepath%\*

; PDF-Dateien beginnend mit "LCB_SaveAs" erlauben – wie z.B. LCB_SaveAs_Beispiel.pdf
FILES_ALLOW_ANY = *\LCB_SaveAs*.pdf

; PDF-Dateien generell erlauben (Nicht empfohlen!)
FILES_ALLOW_ANY = *.pdf


Open the text file to define the policies.
There are 8 rule types available, but only one is interesting for this workflow.
The others are more interesting for developers of plug-ins, so I won't use them here.

You can define as many rule as you like, but only one per line.
Comments have to be written in separate lines and are commented out be a semi-colon at the beginning of the line.
You can use wildcards for your policies.
* for several characters – only one in series allowed
? for one charecter – several in series allowed
Also, you can use enviroment variables such as %user%%temp% oder %systemroot%, to resolve the relative path to the system folders.

Example policies:

; Unblock drive c:\
FILES_ALLOW_ANY = c:\*

; Unblock the folder named "LCB" – no matter where the folder is stored 
FILES_ALLOW_ANY = *\LCB\*

; Unblock folder of current logged in user – like c:\user\username
FILES_ALLOW_ANY = %homedrive%%homepath%\*

; Unblock PDF files beginning with "LCB_SaveAs" – such as LCB_SaveAs_Example.pdf
FILES_ALLOW_ANY = *\LCB_SaveAs*.pdf

; Unblock all PDF files (not recommended!)
FILES_ALLOW_ANY = *.pdf


Eine Ausnahmeregelung in der Whitelist
//
A policy in the white list



Registrierungsdatei – zum Aktivieren der Whitelist für Adobe Reader X
//
Registry file – for activation of white list usage in Adobe Reader X
https://acrobat.com/#d=ssEHVn-3XANi7bbF9eZEVQ

Beispiel – Whitelist
//
Sample – white list
https://acrobat.com/#d=Z1HrB*ocHqklQX*w1bfiXg