반응형

Interfaces in Linux


user

ㅡㅡㅡㅡ -> User interface

Standard utility programs

(shell, editors, compilers etc) => user mode

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ -> Library interface
Standard libarary
(open, close, read, write, fork etc) => kernel mode
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ -> System call interface
Linux operating system
(process managaement, memory management .. etc)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Hardware
(CPU, memory, disks etc)

  • 일반 APP들은 Library를 통하거나 직접 System call 인터페이스 사용가능
  • System call interface = 운영체제에게 서비스를 요청하는 방식
  • cpu가 커널 영역에 있는 code를 수행하면 커널모드이다.

User, Kernel mode


  • kernel mode
    신뢰되는 운영체제 코드를 프로세서가 실행될 때 모드
    특권명령어/권한을 부여 => 모든 명령어 실행가능 ( 모든 자원 접근 가능)
  • Kernel은 운영체제의 핵심적인 부분으로써 직접 하드웨어와 상화작용함
  • kernel은 부팅이 되면 메모리로 load되고 컴퓨터가 동작하는 동안에는 메모리에 상주 <-> 사용자 프로그램은 실행 할 때만 메모리에 올라감

운영체제의 핵심모듈은 반드시 Kernel모드에서 수행되어야함
잠재적으로 위험(중요)한 코드 이므로 엄격한 인터페스를 통해서만 진입한다.
미리 만들어둔 코드만 정상적으로 돌려야한다.

  • User mode
    사용자 프로그램이나 유틸리티 프로그램이 실행 될때 권한을 제한함
    중요한 하드웨어 자원을 직접 접근하지 못하고 운영체제를 통해서 접근가능함.
  • 언제 애플리케이션이 커널모드로 진입?
  • 예외 발생시 -> 다른 프로세스의 메모리 영역을 침범하거나 0으로 나누거나, int overflow
  • 애플리케이션이 중요한 시스템 서비스를 받고자 할때 ( System call 요청 )
  • 하드웨어 인터럽트
    I/O 장치가 이전에 시킨일을 끝냈을 때 -> cpu가 어느 시점이 되면 입출력 장치에게 일을 내림. 입출력이 완료되기 전에 문맥교환을 하여 다른 일을함. 언젠가는 나중에 디스크에 쓰는 작업 그러면 I/O 인터럽트가 걸림

Exception Processing


  • 운영체제가 어떤 예외인지 파악 = > 따라서 mode가 바뀌어야한다.
  • mode 변경위해 현재 상태를 저장한다
  • 나중에 복구할 수 있는지 확인한다.
  • 복구가 어려우면 해당 프로세스 Kill
  • user 모드에서 예외 발생시 -> kernel mode로
  • kernel 안에서 발생시 -> system down

Interrupt 발생


  • 자기보다 우선순위가 낮은 인터럽트 disable
  • 인터럽트 당한 프로세스 정보 저장
  • 이후 restore

OS Challenge


  • 동시에 여러 사용자 가능, 많은 자원 공유 가능
  • 운영체제는 사용자들을 다른 사용자로 부터 보호해야하고, 프로세스를 다른 프로세스로부터 보호해야한다.

OS's role


  • 내부적 특성
    특권 모드, 메모리 보호, 파일 접근 권한
  • 사용자들로부터 OS 보호
  • 다른 유저들로 부터 사용자 보호

Protection


  • No Protection -> 멀티 태스킹 X, 한 사용자만 한번에
  • Isolation -> 물리적으로 사람마다 다른 컴퓨터 사용하게
  • Share via access limitation -> 물리적 메모리 공유 가능, But 논리적으로 분리
  • Limit user of an object -> 관리자만 접근

Security


허가 되지 않은 객체가 원하지 원하지 않는 행동을 하는 것을 막음

STRIDE


  • Spoofing 위장 -> 인증
  • Tampering 변조 -> 무결성
  • Repudiation 부인 -> 무결성
  • Information Disclosure 정보유출 -> 암호화
  • Denial of Service 서비스거부 -> 가용성
  • Elevation of Privilege 권한상승 -> 권한

OS Protection Principles


  • Separtion
  • physical
  • temporal
  • logical
  • cryptographic
  • memory protection
  • sandbox
728x90
반응형

'공부 > 보안' 카테고리의 다른 글

set-UID Privileged programs  (0) 2020.10.15
운영체제보안 4  (0) 2020.09.22
운영체제보안 3  (0) 2020.09.16
운영체제 보안 1  (0) 2020.09.10
사이버 킬체인 연습(자동차 해킹 예시)  (0) 2020.07.17
블로그 이미지

아상관없어

,