Upload
haley-mccormick
View
214
Download
0
Embed Size (px)
Citation preview
2004-07-13Wei-Neng Hung
1/
Digital Content Launcher
Generic DRM Wrapper for COTS: Client Architecture
Generic DRM Wrapper
AcrobatReader
IEDjVu plugin
Metadata Content
1) Extract meta data from packaged file
2) Parsing the rights information
3) Decrypt the encrypted content
4) Setup the restriction in generic wrapper
5) Launch the corresponding player/reader with content.
Packaged content file0) Client receives the packaged content file
2004-07-13Wei-Neng Hung
2/
Wrapping Technique
• Using Detours to wrap win32 system call.• The wrapped system call can be controlled by
rights information.
My_Systemcall_Print(){
if Rights is not restricted thenReal_Systemcall_Print()
}
2004-07-13Wei-Neng Hung
3/
Wrapping Technique
• Keyboard Hooking.– PrintScreen– Ctrl + C– Ctrl + V– Ctrl + S– .....
2004-07-13Wei-Neng Hung
4/
Rights and Win32 API mapping
Rights and Win32 API mapping is
the essential part of Rights
Enforcement
Rights
Win32 API
Print,allow, 5Save, denial,Copy, denial,Play, allow, ∞ Read, allow, ∞...
CreateFile,WriteFile,CreateDialog,StartPage,CreateProcess,CreateThhread,RegQueryInfoKey,RegSetValueEx,...
2004-07-13Wei-Neng Hung
5/
Rights and Win32 API mapping
Rights Related Functions
Print StartDoc, EndDocCopy/Past OpenClipboard, SetClipboardData,
CloseClipboard, EmptyClipboardPrint Screen Keyboard hookingSave CreateFile, WriteFile,...
It's hard to determine which
CreateFile event is coming from
Save behavior !!!!
2004-07-13Wei-Neng Hung
6/
Rights and Win32 API mapping
• The granularity of restriction is directly supported by Win32 API.
• For example: Copy/Past behavior– There are many types of data can be copyed into the
clipboard.• Text, Bitmap, Rich Text Format, WAV, TIFF, ....
– Not only allow or denial Copy/Past, it can be extended.
• Copy Text, allow, 5 times; copy bitmap, denial.
Copy/Past { types of data } {allow{times} /denial}