본문 바로가기
IT 자격증/정보보안기사

[정보보안기사 실기] 시스템보안⑤

by _><- 2016. 4. 22.
반응형

□ 로그설명

- history : 

 . 사용자가 수행한 명령들의 기록

 . acc와 pacct에도 수행한 명령어가 저장되지만, history 파일에는 argument와 Directory까지 저장

 . history파일은 사용하는 shell에 따라 $HOME/.bash_history, $HOME/.history에 남음

 . history 명령어로 조회


- secure

 . 보안과 관련된 주요한 로그를 남기며 사용자 인증 관련 로그도 저장

 . 사용자 인증은 telnet, ftp, pop 등 인증을 요구하는 모든 네트워크 서비스

 . secure 파일은 로깅데몬인 syslog데몬에 의해 남겨지며, binary가 아니기 때문에

  vi나 cat 명령으로 확인

 . timestamp, Demon, Host명 형식으로 기록


- messages 

 . 콘솔화면에 출력되는 메시지들은 messages 파일에 저장됨

 . 장애원인을 찾을 때 참고자료가 됨

 . 파일시스템 full, device failure, 시스템 설정 오류 등의 다양한 내용 저장

 . timestamp, Host명, 프로그램명, 메시지 내용 형식으로 기록



□ ESM (Enterprise Security Management)

- 방화벽, 침입탐지시스템, 침입 방지시스템 등 각종 보안시스템의 로그를 한곳에 모아

  통합관리할 수 있게 하는 시스템

- 침해사고가 다양하게 됨에 따라 여러 보안장비를 도입 -> 관리, 인력 부족의 어려움 발생

  -> 각종 장비의 로그와 정보를 하나의 장비에서 통합관리 필요


□ 운영체제의 이중모드

- 다중프로그램의 등장으로 실행중인 프로그램의 오류가 다른 프로그램에게 영향을 줄 수 있어

  적절한 보호장치 필요

※ 다중프로그래밍 : 주기억 장치에 여러개의 프로그램을 동시에 적재하여, 한 프로그램이 실행될 때      다른 프로그램은 I/O 등을 처리하게하여 CPU의 유휴시간을 줄여 효율성 향상   

- 이중모드 : 실행 중인 프로그램의 오류가 다른 프로그램에게 영향을 미치지 않도록, 

  두 가지 모드를 제공하여 위험 명령어를 제어

 1. 사용자 모드 : 실행 중인 프로그램의 오류가 다른 프로그램에 영향을 주지 않는 

    제한적인 명령만 사용 가능 

 2. 모니터 모드(=커널모드, 슈퍼바이저모드) : 모든 명령어 사용이 가능한 모드



□ 교착상태 (DeadLock)

- 정의 : 다중프로그래밍 상태에서 프로세스가 자원을 소유한 상태에서 다른 프로세스가 소유한

  자원을 요구하며 실행되지 않고 대기하는 상태로 더 이상 진행되지 못하는 상태를 말함

- 교착상태의 4가지 조건

1. 상호배재(Mutual Exclusion) : 특정 프로세스가 공유자원을 사용하고 있을 경우 

   다른 프로세스가 사용할 수 없도록 제어하는 기법

   특정 프로세스가 자신의 자원을 해제하지 않으면, 다른 프로세스는 

   자원이 해제될 때까지 임계구역 밖에서 대기한다. (자원의 배타적이 사용권)

2. 점유와 대기(Hold & Wait) : 프로세스가 다른 자원을 요구하면서, 자신에게 할당된 자원을

   해제하지 않은 상태

   최소한 하나의 자원을 점유한 프로세스가 존재하고, 이 프로세스가 다른 프로세스가

   점유한 자원을 요청하며 대기한다.

3. 비선점(Non-preemption) : 프로세스 스케줄링 기법 중 CPU를 할당하는 기법 중 하나로

   다른 프로세스가 점유하고 있는 자원을 해당 프로세스가 해제하기 전까지 

   제어권을 강제로 회수하지 못하고 대기하는 상태

   프로세스 자신만이 자원을 해제할 수 있는 권한이 있다.

4. 환형대기(Circular wait) : 여러 프로세스들과 자원간의 관계를 설명하는 개념으로

   프로세스들과 자원들이 상호간에 각자에게 할당된 자원을 가지며

   다른 프로세스들이 점유한 자원을 대기하면 원형을 이루는 현상

- 교착상태 해결방법

1. 예방 : 교착상태 발생조건 4가지 중 하나라도 성립되지 않도록 관리

   ex) 상호배제 : 공유자원 사용

        점유와 대기 : 프로세스 실행 전 모든 필요자원 요청 후 사전 할당

        비선점 : 추가 자원 요청 시 점유하고 있는 모든 자원 해제 후 대기

        환형대기 : 모든 자원에 순서부여 후 프로세스 스케줄링

2. 회피 : 교착상태가 발생하려고 할 때 적절히 회피

   ex) 은행가 알고리즘

      - 각 프로세스는 실행 전 필요로 하는 모든 자원 형태들의 최대개수를 선언하고 프로세스가

        자원을 요구할 때 운영체제가 할당 시 안정상태를 유지하는지 검사 후 자원할당

3. 탐지 : 교착상태 예방보다는 발생 여부를 탐지

   ex) 자원할당 그래프와 대기 그래프 활용

4. 회복 : 교착상태 발생 시 프로세스 강제 종료 등의 방법으로 회복

   ex) 프로세스 강제종료, 자원 강제 해제 등



□ 프로세스 

- 정의 : 컴퓨터에서 OS가 관리하는 최소 단위의 작업으로 주기억장치에 저장된 프로그램

           실행중인 프로그램

- 스케줄링 : 시스템은 프로세스에게 CPU를 할당해야 하는데, CPU는 한 순간에 한가지 작업만

  가능하기 때문에 이를 분할하여 여러 프로세스에게 나줘주어야 함

  시스템의 성능을 높이기 위해 CPU사용 순서를 결정하기 위한 방법으로 선점형과 비선점형이 존재

  1. 선점 스케줄링 : 한 프로세스가 CPU를 차지하고 있을 때 다른 프로세스가 

     현재 프로세스를 중지시키고 자신이 CPU를 차지할 수 있음

    - 우선 순위가 높은 프로세스 먼저 수행

    - 빠른 응답시간을 요구하는 시분할 시스템에 유용

    - 선점으로 인한 오버헤드 발생

    - 종류

      ① RR(Rount Robin) : 일정한 시간만 할당하고 해당 시간이 지나면 작업이 끝나지 않았더라도

          다른 프로세스에게 제어권이 넘어감

      ② SRT(Shortest Remaining Time) : 작업의 잔여시간이 짧은 프로세스 먼저 수행.

          작업시간이 긴 프로세스는 계속해서 기다리게 되는 Aging 현상이 발생할 수 있다.

      ③ MLQ (Multi-Level Queue) : 우선순위가 다른 여러 개의 큐를 생성하여 

         우선순위가 높은 큐의 프로세스를 먼저 수행

      ④ MFQ (Multi-Level Feedback Queue) : 여러개의 큐를 생성하여 처음에는 라운드로빈방식으로

         수행하되 단계가 증가할수록 오래된 프로세스에게 우선순위를 부여하여 할당받는 

         타임슬라이스(Quantum)을 증가시킴         

  2. 비선점 스케줄링 : 한 프로세스가 CPU를 할당받으면 다른 프로세스는 CPU를 그 프로세서로부터

     빼앗을 수 없음

    - 응답시간 예측 가능

    - 짧은 작업이 긴 작업을 기다릴 수 있음

    - 종류 

       ① FIFO : 순서대로 수행

       ② SJF(Shortest Job First) : 수행시간이 짧은 프로세스 먼저 수행

       ③ HRN(Highest Response-ratio Time) : SJF의 단점을 극복하기 위해 프로세스 선정 시 오래된

           프로세스에게 우선순위 부여

          - 우선순위 = (대기시간+서비스받을 시간) / 서비스받을 시간





반응형