Information Security - 2

Slides:



Advertisements
Similar presentations
Types of Code Segments Conforming Code Segment
Advertisements

Programming 8086 – Part IV Stacks, Macros
There are two types of addressing schemes:
Introduction to The x86 Microprocessor
Intel MP.
DAT x86 “Real” Memory Addressing © Alan T. Pinck / Algonquin College; 2003.
Lect 3: Instruction Set and Addressing Modes. 386 Instruction Set (3.4) –Basic Instruction Set : 8086/8088 instruction set –Extended Instruction Set :
Operating Systems: Segments 1 Segmentation Hardware Support single user program system: – wish somehow to relocate address 0 to after operating system.
X86 segmentation, page tables, and interrupts 3/17/08 Frans Kaashoek MIT
CS2422 Assembly Language & System Programming September 22, 2005.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Fall 2012 Lecture 15: Protected mode intro.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2014 Lecture 4: x86 memory.
Administrative Overview 6 Projects Design Review: Monday before 6:30pm Lab Friend Center 010 (“Fishbowl”)
Lect 4: Instruction Set and Addressing Modes. 386 Instruction Set (3.4)  Basic Instruction Set : 8086/8088 instruction set  Extended Instruction Set.
UNIT 2 Memory Management Unit and Segment Description and Paging
CEG 320/520: Computer Organization and Assembly Language ProgrammingIntel Assembly 1 Intel IA-32 vs Motorola
Intel MP (32-bit microprocessor) Designed to overcome the limits of its predecessor while maintaining the software compatibility with the.
1/2002JNM1 With 20 bits, 1,048,576 different combinations are available. Each memory location is assigned a different combination. Each memory location.
Microprocessor system architectures – IA32 segmentation Jakub Yaghob.
The Pentium Processor.
The Intel Microprocessors. Real Mode Memory Addressing Real mode, also called real address mode, is an operating mode of and later x86-compatible.
Multitasking Mr. Mahendra B. Salunke Asst. Prof. Dept. of Computer Engg., STES SITS, Narhe, Pune-41 STES Sinhgad Institute of Tech. & Science Dept. of.
Chapter 2 Instruction Addressing and Execution. Lesson plan Review some concepts in the first week First assembly program with EMU8086 Related concepts.
INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan.
(-133)*33+44* *33+44*14 Input device memory calculator Output device controller Control bus data bus memory.
Microprocessor system architectures – IA32 tasks Jakub Yaghob.
80386DX.
1 Microprocessors CSE Protected Mode Memory Addressing Remember using real mode addressing we were previously able to address 1M Byte of memory.
Page Replacement Implementation Issues Text: –Tanenbaum ch. 4.7.
Chapter 2 The Microprocessor Architecture Microprocessors prepared by Dr. Mohamed A. Shohla.
10. Epilogue ENGI 3655 Lab Sessions.  We took control of the computer as early as possible, right after the end of the BIOS  Our multi-stage bootloader.
Microprocessor system architectures – IA32 security
Information Security - 2. Task Switching Every process has an associated Task State Segment, whose starting point is stored in the Task register. A task.
Information Security - 2. Descriptor Tables There are two descriptor tables – Global Descriptor Tables – Local Descriptor Tables The global descriptor.
Information Security - 2. Descriptor Tables Descriptors are stored in three tables: – Global descriptor table (GDT) Maintains a list of most segments.
Information Security - 2. CISC Vs RISC X86 is CISC while ARM is RISC CISC is Compiler’s heaven while RISC is Architecture’s heaven Orthogonal ISA in RISC.
Lecture 2. General-Purpose Computer Systems Prof. Taeweon Suh Computer Science Education Korea University ECM586 Special Topics in Embedded Systems.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
The Microprocessor & Its Architecture A Course in Microprocessor Electrical Engineering Department Universitas 17 Agustus 1945 Jakarta.
Privilege Check for Control Transfer(Code Access) Control transfers (except interrupts) are accomplished by the instructions JMP, CALL, and RET The "near"
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
Computer Science 516 Intel x86 Overview. Intel x86 Family Eight-bit 8080, 8085 – 1970s 16-bit 8086 – was internally 16 bits, externally 8 bits.
Chapter 2 Instruction Addressing and Execution. Lesson plan Review some concepts in the first week First assembly program with EMU8086 Related concepts.
Stack Operations Dr. Hadi AL Saadi.
Introduction to The x86 Microprocessor
Assembly language.
Operating Systems Engineering
Microprocessor Systems Design I
Privilege Levels.
Anton Burtsev February, 2017
143A: Principles of Operating Systems Lecture 5: Address translation
Protection UQ: Explain the protection mechanism of X86 Intel family microprocessor(10 Marks)
Assembly IA-32.
x86 segmentation, page tables, and interrupts
University of Gujrat Department of Computer Science
Instructor: Junfeng Yang
Page Replacement Implementation Issues
Subject Name: Microprocesor Subject Code: 10CS45
Data Addressing Modes • MOV AX,BX; This instruction transfers the word contents of the source-register(BX) into the destination register(AX). • The source.
Intel Microprocessor.
8086 Registers Module M14.2 Sections 9.2, 10.1.
CS 301 Fall 2002 Computer Organization
Page Replacement Implementation Issues
Information Security - 2
Lecture 06 Programming language.
Information Security - 2
Data Movement Instructions
CSC 497/583 Advanced Topics in Computer Security
Memory segmentation and addressing
CS444/544 Operating Systems II Virtual Memory
Presentation transcript:

Information Security - 2 Topic: Architectural Aid to Secure Systems Engineering V. Kamakoti RISE LAB, Department of Computer Science and Engineering IIT Madras Session – 10: X86 PROTECTED MODE details

Protected Mode Addressing Logical Address SELECTOR OFFSET Descriptor Table Base Address Segment Descriptor Linear Address

A stack should not overgrow into adjoining segments A process always executes from Code segment. It should not execute by accessing from adjoining Data or stack area or any other code area too. A stack should not overgrow into adjoining segments 500 Every segment is specified a start address and limit. Architecture checks if limit is not exceeded. CS 1000 ES 1500 SS 2000 POP EAX //Let SP be 2, Violation!!! PUSH EAX //Let SP be 498, violation POP AX //Let SP be 2, it is fine PUSH AX //Let SP be 498, it is fine mov [ES:498], AX //This is fine jmp CS:250 //This is fine jmp CS:501 //This is a violation as limit is 500 mov [ES:498], EAX //This is a violation!!! Intra and Inter process Protection

Interprocess Protection Process 1 should be prevented from loading CS, such that it can access the code of Process 2 Similarly for the DS,SS, ES, FS and GS Privilege levels: [0-3] assigned to each segment. 0: Highest privilege 3: Lowest privilege Process 1 CS CS Process 1 DS Process 2 CS DS Process 2 SS SS Process 2 DS Process 1 SS Interprocess Protection

Privilege levels and Protection Every segment has an associated privilege level and hence any code segment will have an associated privilege level. The CPL (Current Privilege Level) of a process is the privilege level of the code segment, the code stored in which, it is executing. A process can access segments that have privilege levels numerically greater than or equal to (less privileged than) its CPL.

End of Session-10 Thank You