Security/Tizen 2.X Web runtime
- A web application's executable file is in fact symbolic link of /usr/bin/wrt-client and launching the symbolic link invokes launching wrt-client.
- wrt-client request wrt-launchpad-daemon to launch a proper web application with proper Smack label (label of the symbolic link).
- Similar to native application, it assigns groups, Smack label, and setuid to 5000, then execute the web application.
- The web application created in Tizen 2.2 SDK may not work properly on Tizen 2.3 device because the privilege information could be different each other.
- For backward compatibility of web application, the smack-privilege-config. module provides the way to apply privileges by version of installed application.
Capability in wrt-launchpad-daemon
Generally, a web application is launched by wrt-launchpad-daemon. But, in case of web widget, the web-provider executes it, but web-provider is not a privileged process, so launched widget cannot acquire proper Smack label. Therefore, in order to give proper Smack label to web widget, the wrt-launchpad-daemon has CAP_MAC_ADMIN capability.
Smack Processing for NPruntime
The NPruntime is a cross-platform plugin architecture used by web browser. NPRuntime is a shared library file(.so) included in a web application can be executed by web application (as independent executable). In security perspective, browser cannot enforce access control same as normal web API because NPRumtime bypasses all the browser security framework.
So resources that are allowed to NPRuntime process is restricted as follows:
- access to application home directory
- access to Xorg server
- access to system logging device
- access to crash logger
For more information about NPruntime, refer to links below.