<<

Journal of Theoretical and Applied Information Technology 30 th April 2012. Vol. 38 No.2 © 2005 - 2012 JATIT & LLS. All rights reserved .

ISSN: 1992-8645 www.jatit.org -ISSN: 1817-3195 A BASED SECURE USING FRAMEWORK

1B.PRUTHIVIRAJ, 2G.S.MADHUSUTHUN, 3S.VIJAYASARATHY, 4K.CHAKRAPANI.

1M.Tech., Embedded Systems, School of Computing (SOC), SASTRA UNIVERSITY, Thanjavur.

2 Senior Technical Consultant, 3 Senior Research Associate, Society for Electronic Transactions and Security (SETS), Chennai-600021, India.

4 AssistantProfessor, School of Computing (SOC), SASTRA UNIVERSITY, Thanjavur-613401,India.

E-: [email protected],[email protected],[email protected],[email protected]

ABSTRACT

In a period when financial transactions have become substantially online, it is important from both security and functional perspective to have a secure and robust operating environment where these transactions can be performed. Although many operating systems can be configured to be reasonably secure, the problem behind the approach is in the design of the operating system. For example, most distributions (including the acclaimed SELinux) execute a approach, which essentially do not differentiate between the basic kernel operations and the operating system functionality built over them. This work discusses the advantages of a microkernel based approach to Operating System Design as given by the Genode operating system framework, and proposes two test security applications – a) An OTS Threat Management application which we build into the Genode framework; and b) A client- based security application using the PolarSSL library, which we build into the framework.

Keywords: Genode Operating System framework, Microkernel, Integrated Management Appliances (ITMA), PolarSSL.

1. INTRODUCTION Most Linux distributions follow a monolithic kernel approach – where the kernel and the The modern world has predominantly moved operating system are seen together as an by conducting financial transactions online. integrated component. This brings forth the Example includes banking transactions, ticket problem of maintainability – the kernel reservation and credit card payments etc. operations become unmanageable because of the Unfortunately, the applications which enable large number of lines of kernel code that have to these transactions are executed in an be managed. The extensibility support in such environment which is susceptible to security kernels is also very limited due to the fact that leaks or failure for some reason. For example, bug fixes in critical pieces of the kernel calls for browsers may store information in some form kernel recompilation, which is resource and time (cookies for example), which may be stolen by a consuming. Hence, the operating system design malicious running beside it. Another should be modular in order to improve weird situation is one when an application maintainability and security. crashes due to another application, which may Operating System has two parts, viz. kernel cause inconsistencies and hassles. It is important space and . In monolithic kernel based from both security and functional perspective to Operating System, each and every system service have a secure and robust operating environment (Process Manager, , Input Driver, where these transactions can be performed. In etc.,) runs in a kernel space. So all the process essence, a Base (TCB) is runs in a single . required for every application. Both these aspects are related to the OS design approach.

177

Journal of Theoretical and Applied Information Technology 30 th April 2012. Vol. 38 No.2 © 2005 - 2012 JATIT & LLS. All rights reserved .

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Figure 1-A Typical Monolithic Kernel Based Figure2-A Typical Micro Kernel Based Design Design Another perspective of looking into the By using micro kernels instead of monolithic problem is to look at kernel certification. In kernel to our operating system, we can ensure critical applications, many organizations that the critical applications running over the consider it important to have the underlying system are provided access to a secure Operating kernel certified for use with the applications. A System environment. modular design will improve modeling the interactions of entities with the kernel, which 2.1 Genode Operating System Framework will help in mathematically verifying if a kernel is secure. The Operating System must maintain The Genode operating system framework strong code and data separation on a per-page means to provide decoupling the kernel and the level. All code sections should be verifiable on a operating system and make OS design modular. per-page level. Usually this means some signing This framework proposes a microkernel based 3- or hashing scheme should be implemented. tier approach. At the lowest tier is the Operating System must allow safely reading microkernel, which consists of bare minimum physical memory by a third person application. kernel operations. On top of the microkernel is the OS, which act as an intermediary between In summary, in order to maintain a trusted and microkernel and the Para virtualized Linux. a reliable application environment, the operating system design must be a) Modular; and b) OS is the collection of programs that manage Verifiable. hardware resources and it provides services for application. While it is desirable to have all or 2. MICROKERNEL BASED APPROACH most applications running directly over the TO OS DESIGN operating system, it is desirable to have a virtualized Linux environment to facilitate The solution to the above problems lies in a backward compatibility. This is provided on the micro-kernel based approach to OS design. A top of the OS in the form of a Para-virtualized microkernel is a bare minimum version of the Linux layer. Terminals, Audio player, PDF kernel which supports only essential kernel viewer which are currently running are the native functions. In Micro kernels, the kernel is broken Linux application. Although Running in a Para into separate processes .Some process runs in virtualized Linux environment, they act like a kernel space and others in user-space. native Genode applications.

All processes are kept separately and run with Genode is Secure Operating System different address spaces. The size of the kernel is architecture. This framework supports various kept at a minimum and we can extend our Micro kernels like fiasco, pistachio and it has a services, thereby making it easy to maintain our Para Virtualized Linux Layer (Tiny Core Linux) system. If any bug is fixed, that process alone itself. Genode is able to reduce the system gets affected, rest of the processes of the system complexity for each security sensitive should work. It doesn't affect the whole system. applications individually.To minimize the system complexity it uses a strict organizational structure for all components and applications.

178

Journal of Theoretical and Applied Information Technology 30 th April 2012. Vol. 38 No.2 © 2005 - 2012 JATIT & LLS. All rights reserved .

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195 underlying OS and kernel, instead of using the virtual Linux layer.

3. CONTRIBUTION OF THE WORK

Secure Operating System approach consists of two modules.

a. Integration of standard applications. b. Write a test application using PolarSSL library.

Figure 3-Genode Operating System Framework Stack Genode maintains a tree of processes. The arrow denotes child processes. The parent process defines the virtual environment whenever the new child process was executed. It creates the arbitrarily structured subsystem. When the child wants to create children from its assigned resources and it shouldalso defines their inter relationship.It gets isolated when a new process is not allowed to communicate with its immediate parent. The parent processprovides the rights to communicate their child Figure 5-Architecture of Microkernel Based subsystems. The attacker’s job is very easy Secure Operating System whenever they are having visible names or ids.

But Genode protects names, process 3.1.1. Integration ofStandard Applications identification number etc., kernel and is ported into the Genode Operating The first attempt was to build over the Genode system framework. framework, a collection of network monitoring and traffic handling tools, together known as a Threat Management Appliance. Before integrating these ITMA components, we need to boot the Genode ISO into the Virtual box and configure all the settings in the virtual box.

ITMA Components

ITMA components are Firewall, IDS/IPS and Antivirus. These security components are the open sources which provide confidentiality, integrity, availability to the operating system environment. Get these sources and build it over the Para-Virtualized Linux Layer . Figure 4- Organizational Structure of Genode Intrusion Detection System (IDS)-Snort Each application only depends on the TCB (). TCB is Snort is an intrusion Detection system that is minimumwhen TCB of applications gets used for performing real-time traffic analysis and executed completely, isolated and independent to packet logging. Snort depends on m4, Flex, each other. We can use Genode framework as an Bison, Libpcap, PCRE, Libdnet, zlib, Barnyard2, application over OS by using the Genode tool DAQ. We need to get these dependencies built it chain and Genode source. Genode allows to over a Para-virtualized Linux Layer before build an application directly communicate with building a snort.

179

Journal of Theoretical and Applied Information Technology 30 th April 2012. Vol. 38 No.2 © 2005 - 2012 JATIT & LLS. All rights reserved .

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195 Linux.It is running at the top of the Genode Operating system Framework.

Figure 6-Integration of Standard Applications

The following figure shows building of a snort over a Para-virtualized Linux Layer.

Figure 8-Running of a Snort

Based on the target hardware and target environment, open source components were customized and built by modifying the configuration files.

3.1.2. Security Analysis

Security of our proposed platform is managed by the several aspects.

i. Antivirus (clam AV), Intrusion Detection System (Snort), Firewall (Shore wall) is integrated over the Para virtualized Linux Layer. Hence this Operating System has

these security components as default. Figure 7-Startup of a Snort ii. The platform provides facility to run critical . applications, completely isolated from the Similarly, firewall and antivirus were built. OS environment and independent from each other. So even in the case of application gets Firewall compromised it won’t affect the underlying system. Firewall is mainly designed to prevent the iii. The platform offers to write a unauthorized access from a private network. By with high performance. using iPtables, the Firewall should be iv. One of the requirements to be a secure implemented in open source environment. It Operating System its size of the microkernel should be built it over a Para-virtualized Linux should be minimal. The code size of the Layerby getting the shoreline firewall source. microkernel used is 20KLOC.This provides easy code auditing. Antivirus . The platform provides an encrypted secure boot, which means it boots with several ClamAV is an antivirus engine used for encryption schemes. detecting the Viruses, Trojans and other malicious threats. Get a ClamAV source and built it over aPara-virtualized Linux Layer. Here the Para virtualized Linux Layer is tiny core

180

Journal of Theoretical and Applied Information Technology 30 th April 2012. Vol. 38 No.2 © 2005 - 2012 JATIT & LLS. All rights reserved .

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195 3.2. Write A Test Application Using PolarSSL Library

Writing a security test application on the Genode framework can be achieved by using a standard PolarSSL library. PolarSSL is a crypto library which is easily integrates with the embedded applications. PolarSSL is written by language. Normally we are using TCP/IP Stack. The PolarSSL SSL/TLS library is building on the network-interface and it provides an abstraction layer. This layer is used for secure communication between client and server. Client Figure 9-Write a Test Application on the Genode must use this PolarSSL and abstract a secure communication from itself. 4. CONCLUSION AND FUTUREWORK

Now our goal is to secure our client-server communication on the Genode using Working in a Secure Operating System PolarSSLlibrary. To achieve this objective first Environment is achieved by integrating ITMA we have to get an open source PolarSSL library components and built a test application on a and port it into the Genode operating system Genode Operating System framework. Process framework which acts as a server for our communication is performed using a socket communication. Server decides in which cipher programming .So the Operating System can be suite (MD5, RSA, and SHA-1 etc.) is used for used in any security conscious industries. As a communication. We can implement this model future work, we plan to run different security using socket programming or any other components such as Firewall, IDS, and Antivirus programming techniques. It can be done by the in different isolated Para virtualized Linux.. We following steps. can also use it as a stand-alone Operating i. Server runs an arbitrary port number, then System. And also, this operating system can be client starts with the hostname and server’s ported into any supporting mobile devices. port number. After which client can send data to the server. REFERENCES ii. After that the server performs cryptographic [1] Ihor Kuz, Yan Liu, Ian Gorton, functions like MD5 for a input data’s or GernotHeiser, “CAmkES:A Component message by linking PolarSSL libraries and it Model for Secure Microkernel-based sends the result to the client. Embedded Systems” ,Journal of Systems and Software Special Edition on iii. Client receives the data and it performs Component-Based Software Engineering of MD5 function by linking PolarSSL libraries Trustworthy Embedded Systems , 80(5), in order to verify with the original data. 687699, May 2007.

So the client-server communication is done [2] Hermann Härtig, Michael Hohmuth, securely by using PolarSSL library. By porting Norman Feske, Christian Helmuth, Adam the PolarSSL library in the Genode Operating Lackorzynski, Frank Mehnert, Michael System Framework, we can perform various Peter, “The Nizza Secure-System cryptography schemes likeAES, DES, Triple Architecture”, Collaborative DES,DSA,RSA,MD2,MD4,SHA-1,SHA-2 etc. Computing:Networking, Applications and Worksharing ,1-4244-0030-9 ,December 2005.

[3] Christian Helmuth, Norman Feske, "Design of the Genode OS Architecture", TU

181

Journal of Theoretical and Applied Information Technology 30 th April 2012. Vol. 38 No.2 © 2005 - 2012 JATIT & LLS. All rights reserved .

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195 Dresden technical report TUD-FI06-07, Dresden, Germany, December 2006.

[4] N. Feske, H. Härtig, “DOpE — a Window Server for Real-Time and Embedded Systems”, Technical Report TUDFI03- 10- September-2003, TU Dresden, 2003.

[5] M.Gasser, “Building a Secure System”, Van Nostrand Reinhold Co ., 1988.

[6] T.Garfinkel, B.Pfaff, J.Chow, M. Rosenblum, D.Boneh, “Terra: A Virtual Machine-based Platform for Trusted Computing”, In Proceedings of the nineteenth ACM Symposium on Operating systems principles, pages 193–206,ACM Press , 2003.

[7] M.Atighetchi, P.P.PaL, C.C. Jones, P. Rubel, R.E.Schantz, J.P.Loyall, J.A Zinky, “Building Auto-adaptive Distributed Applications: the QuO-APOD Experience”, Systems Workshops , Proceedings, 23rd International Conference on 19-22 May .2003.

[8] J.Li, M.Krohn, D.Mazières, D.Shasha, “Secure Untrusted Data Repository (SUNDR)”, In Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI), pages 121–136, San Francisco, CA,Dec. 2004.

[9] Bernhard Kauer, “OSLO: Improving the Security of Trusted Computing”, Proceedings of 16th USENIX security symposium , 2007.

[10] F.Al-Masalha, R.Hasimoto, A.Khokhar, “Performance Evaluation of Different Encryption Schemes on Portable and Mobile Platforms”, Green Computing Conference l5-18 Aug. 2010.

182