100 likes | 215 Views
This lesson focuses on the critical role of the operating system (OS) environment in application security. It covers the evolution of OSes from batched systems to real-time systems and explores architectural models such as monolithic, microkernel, and hybrid kernels. Key concepts include the resource allocation responsibilities of an OS, the abstraction of hardware, and the security implications of different operating systems, including Linux, Windows, and Unix. By understanding these principles, one can better appreciate how OS environments influence application security.
E N D
Host and Application Security Lesson 5: The Role of an OS
Environment • What is the output of a program?
Right… it’s all about the Environment • What is an operating system? • How did Oses come about? • Some examples and the security implications of them
Historically • Batched systems • Multiprogrammed Systems • Time sharing • Real-time systems
Services Provided • Essentially, a “resource allocator” • CPU time • Memory space • File storage space • IO… • Provides abstraction • What’s in there? • Everything the vendor ships • “the one program running at all times on the computer” (Silberschatz)
OS Architecture • Monolothic • Things are loaded into the operating system, and run with the privileges of the OS • Example: Linux • Microkernel • Take everything that you don’t need out and put it user mode • Example: Symbian • “Hybrid” Kernel • Some blending of the above • Example: Windows
Windows 7 • DOS: One program ruled all • Windows 3.1: Some kind of multitasking • Windows NT: A protected environment • Windows 95, 98, ME: Better separation, better multitasking, still based on DOS • Windows 2000: Based on NT 4 codebase • Windows XP: Possibly “most successful” Windows OS • Windows Vista: Added UAC, amongst other things • Windows 7: Lots of security enhancements
Unix • Source: Wikipedia