KR20010047670A - 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법 - Google Patents

유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법 Download PDF

Info

Publication number
KR20010047670A
KR20010047670A KR1019990051984A KR19990051984A KR20010047670A KR 20010047670 A KR20010047670 A KR 20010047670A KR 1019990051984 A KR1019990051984 A KR 1019990051984A KR 19990051984 A KR19990051984 A KR 19990051984A KR 20010047670 A KR20010047670 A KR 20010047670A
Authority
KR
South Korea
Prior art keywords
system call
user
information
call
database
Prior art date
Application number
KR1019990051984A
Other languages
English (en)
Other versions
KR100344977B1 (ko
Inventor
정준목
Original Assignee
서평원
엘지정보통신 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서평원, 엘지정보통신 주식회사 filed Critical 서평원
Priority to KR1019990051984A priority Critical patent/KR100344977B1/ko
Publication of KR20010047670A publication Critical patent/KR20010047670A/ko
Application granted granted Critical
Publication of KR100344977B1 publication Critical patent/KR100344977B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 따른 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널 변경 방법은, (a)사용자 프로세스에서 시스템 호출을 요청하는 단계; (b)시스템 호출 벡터 테이블의 검색을 통하여, 요청된 시스템 호출이 가로챌 시스템 호출인지를 판단하는 단계; (c)요청된 호출이 가로챌 시스템 호출인 경우에, 대체 시스템 호출 처리기가 시스템 자원에 대한 사용자의 접근 권한 정보를, 통신 인터페이스를 통하여, 데이터베이스에 요청하는 단계; (d)데이터베이스가 시스템 자원에 대한 사용자의 접근 권한 여부를 검색하고, 그 결과를 대체 시스템 호출 처리기에 제공하는 단계; 및 (e)시스템 자원에 대한 사용자의 접근 권한이 있는 경우에는, 대체 시스템 호출 처리기가 원형 시스템 호출을 수행하고, 시스템 자원에 대한 사용자의 접근 권한이 없는 경우에는, 사용자 프로세스에 시스템 호출의 수행 거부를 알리는 단계를 포함한다.
이와 같은 본 발명에 의하면, 시스템 호출을 가로채는 기술을 사용함으로써, 시스템 호출 단위의 사용자 접근 제어를 통해 시스템 자원에 대한 사용자의 모든 접근을 제어할 수 있다. 또한 시스템 호출을 가로채는 기술을 사용함에 있어서, 운영 체제의 코드 수정없이 운영 체제의 커널 수준에서 시스템에 관한 모든 접근을 제어할 수 있는 장점이 있다.

Description

유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널 변경 방법{Method for controlling a system call, and for changing kernel dynamically in an UNIX operating system}
본 발명은 컴퓨터 시스템에 있어서의 유닉스 운영 체제(UNIX operating system)의 시스템 호출(system call) 제어 방법 및 동적(dynamical) 커널(kernel) 변경 방법에 관한 것으로서, 특히 시스템 호출 단위의 사용자 접근 제어를 통해 시스템 자원에 대한 사용자의 모든 접근을 제어할 수 있으며, 시스템 호출을 가로채는 기술을 사용함으로써, 운영 체제의 코드(code) 수정없이 운영 체제의 커널 수준에서 시스템에 관한 모든 접근을 제어할 수 있는 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널 변경 방법에 관한 것이다.
일반적으로, 유닉스 운영 체제는 다중 사용자/다중 작업을 지원하는 대화식 운영 체제로서, 중대형 컴퓨터의 운영 체계로 많이 사용되고 있으며, 요즘은 개인용 컴퓨터의 운영 체제로도 사용되고 있는 실정이다. 유닉스 운영 체제는 다중 사용자를 지원하기 때문에, 사용자가 시스템에 접속하기 위해서는 사용자 아이디(ID)와 암호(password)를 입력하여 승인을 받는 절차를 거쳐야 한다. 또한, 접속에 대한 승인 뿐만이 아니라, 화일(file), 프로세스(process), 네트워크 채널(network channel) 등의 시스템 자원에 대한 접근에 있어서도 사용자에 따른 접근 승인이 다르게 설정이 되어 있어서, 똑같은 시스템 자원에 대한 접근이라 할지라도, 사용자에 따라서 접근이 허용되기도 하고 거부되기도 한다.
하나의 예로서, 화일에 대한 사용자 접근 승인의 경우를 나누어 보면, 화일에 대한 접근 자체가 사용자에 따라서 원천적으로 거부될 수도 있으며, 또는 사용자에 따라서 화일을 읽을 수만 있도록 승인될 수도 있고, 화일을 읽는 것과 쓰는 것을 모두 할 수 있도록 허용될 수도 있다.
한편, 유닉스 운영 체제에서 시스템 호출의 처리는, 커널내 시스템 호출 벡터 테이블(system call vector table)에 시스템 호출 처리기가 등록되어 있고, 사용자 프로세스(user process)에서 시스템 호출을 요청할 때, 등록된 시스템 호출 처리기를 수행함으로써 처리된다. 따라서 이러한 시스템 호출의 제어를 통하여, 시스템 자원에 대한 사용자의 접근을 제어할 수 있는 방법에 관한 연구가 진행되고 있으며, 또한 커널 영역을 확장함에 있어서, 기존 커널이 손상되지 않도록 소스 코딩(source coding)없이 동적 커널 변경 방법을 이용하는 것에 관한 연구가 진행되고 있다.
본 발명은 상기와 같은 유닉스 운영 체제의 사용환경을 고려하여 창출된 것으로서, 시스템 호출을 가로채는 기술을 사용함으로써, 시스템 호출 단위의 사용자 접근 제어를 통해 시스템 자원에 대한 사용자의 모든 접근을 제어할 수 있는 유닉스 운영 체제의 시스템 호출 제어 방법을 제공함에 그 목적이 있다.
또한, 시스템 호출을 가로채는 기술을 사용함에 있어서, 운영 체제의 코드 수정없이 운영 체제의 커널 수준에서 시스템에 관한 모든 접근을 제어할 수 있는 유닉스 운영 체제의 동적 커널 변경 방법을 제공함에 다른 목적이 있다.
도 1은 본 발명에 따른 시스템 호출 제어 및 동적 커널 변경 시스템의 기능적인 구성을 하드웨어적으로 개념화하여 나타낸 블록도.
도 2는 본 발명에 따른 시스템 호출 제어 방법에 의하여 수행되는 시스템 자원에 대한 사용자의 접근 제어 과정을 나타낸 플로우 챠트.
도 3은 본 발명에 따른 커널 영역의 통신 인터페이스와 사용자 영역의 데이터베이스 사이의 통신 과정을 나타낸 플로우 챠트.
도 4는 본 발명에 따른 인터셉트 엔진을 초기화하는 동적 커널 변경 과정을 나타낸 플로우 챠트.
<도면의 주요 부분에 대한 부호의 설명>
100... 커널 영역 110... 사용자 영역
111... 데이터베이스 112... 초기화 모듈
113... 사용자 프로세스 120... 인터셉트 엔진
121... 대체 시스템 호출 처리기 122... 통신 인터페이스
123... 시스템 호출 리스트 130... 시스템 호출 벡터 테이블
상기의 목적을 달성하기 위하여 본 발명에 따른 유닉스 운영 체제의 시스템 호출 제어 방법은, 시스템 호출(system call)을 요청하는 사용자 영역(user space)의 사용자 프로세스(user process)와; 상기 사용자 프로세스로부터 요청된 시스템 호출이 가로챌 시스템 호출인지를 판단하는 정보가 저장된 커널 영역(kernel space)의 시스템 호출 벡터 테이블(system call vector table)과; 상기 시스템 호출이 가로챌 시스템 호출인 경우에, 상기 시스템 호출을 수행하는 상기 커널 영역의 대체 시스템 호출 처리기와; 시스템 자원에 대한 사용자의 접근 권한 정보가 저장된 상기 사용자 영역의 데이터베이스(database); 및 상기 대체 시스템 호출 처리기로부터 시스템 자원에 대한 사용자의 접근 권한 정보를 요청하는 통신을 상기 데이터베이스로 전달하는 상기 커널 영역의 통신 인터페이스(interface)를 구비하는 유닉스(UNIX) 운영 체제(operating system)에 있어서,
(a) 상기 사용자 프로세스에서 시스템 호출을 요청하는 단계;
(b) 상기 시스템 호출 벡터 테이블의 검색을 통하여, 상기 요청된 시스템 호출이 가로챌 시스템 호출인지를 판단하는 단계;
(c) 상기 요청된 호출이 가로챌 시스템 호출인 경우에, 상기 대체 시스템 호출 처리기가 시스템 자원에 대한 사용자의 접근 권한 정보를, 상기 통신 인터페이스를 통하여, 상기 데이터베이스에 요청하는 단계;
(d) 상기 데이터베이스가 시스템 자원에 대한 사용자의 접근 권한 여부를 검색하고, 그 결과를 상기 대체 시스템 호출 처리기에 제공하는 단계; 및
(e) 시스템 자원에 대한 사용자의 접근 권한이 있는 경우에는, 대체 시스템 호출 처리기가 원형 시스템 호출을 수행하고, 시스템 자원에 대한 사용자의 접근 권한이 없는 경우에는, 상기 사용자 프로세스에 시스템 호출의 수행 거부를 알리는 단계를 포함하는 점에 그 특징이 있다.
여기서, 특히 상기 단계 (c) 및 단계 (d)에서 상기 커널 영역의 통신 인터페이스와 상기 사용자 영역의 데이터베이스 사이에, 시스템 자원에 대한 사용자의 접근 권한 정보를 요청하고, 제공하는 통신 방법에 있어서,
상기 통신 인터페이스가 유닉스의 시그널(signal) 방식을 이용하여, 상기 데이터베이스로 통신 시작 신호을 보내고, 상태 변수를 "정보 요청"으로 전환하는 단계와; 상기 데이터베이스가, 상기 통신 인터페이스에 등록되어 있는 통신용 시스템 호출을 통하여, 상기 통신 인터페이스에 상기 가로채어진 시스템 호출에 대한 정보를 요청하는 단계와; 상기 통신 인터페이스가 상기 가로채어진 시스템 호출에 대한 정보를 상기 데이터베이스로 전송하고, 상기 상태 변수가 "정보 송신"이 될 때까지 대기하는 단계와; 상기 데이터베이스가 상기 가로채어진 시스템 호출에 대한 사용자의 접근 권한 정보를 획득하는 단계와; 상기 데이터베이스가, 상기 통신 인터페이스에 등록되어 있는 통신용 시스템 호출을 통하여, 상기 통신 인터페이스에 상기 획득한 사용자 권한 정보를 전송한 후, 상태 변수를 "정보 송신"으로 전환하는 단계와; 상기 통신 인터페이스가 상기 데이터베이스로부터 전송된 정보를 수신하는 단계; 및 상기 통신 인터페이스가 상태 변수를 "통신대기"로 전환하고, 상기 데이터베이스에 통신종료를 알리는 단계를 포함하는 점에 그 특징이 있다.
또한, 상기의 다른 목적을 달성하기 위한 본 발명에 따른 유닉스 운영 체제의 동적 커널 변경 방법은, 사용자 프로세스로부터 요청된 시스템 호출이, 가로챌 시스템 호출인지의 여부를 판단하는 정보가 저장된 커널 영역의 시스템 호출 벡터 테이블과; 상기 시스템 호출 벡터 테이블의 상기 판단 정보를, 운영 체계의 부팅 (booting)시에, 초기화하는 사용자 영역의 초기화 모듈(module)을 구비하는 유닉스 운영 체제에 있어서,
(a) 상기 유닉스 운영 체제를 부팅하는 단계;
(b) 상기 커널 영역에 대체 시스템 호출 처리기를 적재하는 단계;
(c) 적재된 상기 대체 시스템 호출 처리기의 위치정보로부터 시스템 호출 리스트(system call list)를 작성하여 상기 커널 영역에 적재하는 단계;
(d) 상기 커널 영역의 시스템 호출 벡터 테이블의 정보를 읽어 들이는 단계;
(e) 상기 시스템 호출 벡터 테이블의 정보와 상기 시스템 호출 리스트의 정보를 비교하여, 가로챌 시스템 호출을 검색하는 단계;
(f) 상기 단계 (e)에서 가로챌 시스템 호출이 검색되면, 상기 시스템 호출 벡터 테이블이 가지고 있는 상기 가로챌 시스템 호출의 위치정보를 상기 대체 시스템 호출 처리기의 위치정보로 변경하는 단계; 및
(g) 상기 변경된 시스템 호출 벡터 테이블을 상기 커널 영역에 저장하는 단계를 포함하는 점에 그 특징이 있다.
이와 같은 본 발명에 의하면, 시스템 호출을 가로채는 기술을 사용함으로써, 시스템 호출 단위의 사용자 접근 제어를 통해 시스템 자원에 대한 사용자의 모든 접근을 제어할 수 있다. 또한 시스템 호출을 가로채는 기술을 사용함에 있어서, 운영 체제의 코드 수정없이 운영 체제의 커널 수준에서 시스템에 관한 모든 접근을 제어할 수 있는 장점이 있다.
이하 첨부된 도면을 참조하면서 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 시스템 호출 제어 및 동적 커널 변경 시스템의 기능적인 구성을 하드웨어적으로 개념화하여 나타낸 블록도이고, 도 2는 본 발명에 따른 시스템 호출 제어 방법에 의하여 수행되는 시스템 자원에 대한 사용자의 접근 제어 과정을 나타낸 플로우 챠트이다.
도 1과 도 2를 참조하여, 본 발명의 제 1실시 예인 시스템 호출 제어 방법에 대하여 설명하기로 한다. 도 1에 시스템 호출 제어의 진행이 실선으로 표시되었다. 사용자 영역(110)의 사용자 프로세스(113)에서 시스템 호출을 요청한다(단계 201). 그러면, 커널 영역(100)의 시스템 호출 벡터 테이블(130)의 정보가 검색되고(단계 202), 요청된 시스템 호출이 가로챌 시스템 호출인지를 판단한다(단계 203). 이때, 가로챌 시스템 호출이 아닌 경우에는 원형 시스템 호출을 수행하고(단계 204), 가로챌 시스템 호출인 경우에는 인터셉트 엔진(120)의 대체 시스템 호출 처리기(121)로 분기되고, 대체 시스템 호출 처리기(121)는 시스템 호출을 요청한 사용자, 프로세스, 시스템 자원에 대한 정보를 추출한다(단계 205). 그러면, 상기 대체 시스템 호출 처리기(121)는 통신 인터페이스(122)를 통하여, 추출된 정보를 데이터베이스 (111)에 전달하고, 시스템 자원에 대한 사용자의 접근 권한 정보를 요청한다(단계 206). 이에 따라, 상기 데이터베이스(111)는 자료를 검색하여 시스템 자원에 대한 사용자의 접근 권한 정보를 획득하고, 이 결과를 상기 대체 시스템 호출 처리기 (121)에 제공한다(단계 207). 이에 따라, 상기 대체 시스템 호출 처리기(121)는 정보를 받아 사용자의 접근 권한을 판단한다(단계 208). 한편, 시스템 자원에 대한 사용자의 접근 권한이 없는 경우에는, 상기 사용자 프로세스(113)에 시스템 호출의 수행 거부를 알린다(단계 209).
한편, 도 3은 본 발명에 따른 커널 영역의 통신 인터페이스와 사용자 영역의 데이터베이스 사이의 통신 과정을 나타낸 플로우 챠트이다.
도 1과 도 3을 참조하여, 본 발명의 제 2실시 예인 커널 영역(100)의 통신 인터페이스(122)와 사용자 영역(110)의 데이터베이스(111) 사이의 통신 과정을 설명하기로 한다. "통신 대기"(단계 311) 상태에서, 상기 통신 인터페이스(122)가 유닉스의 시그널(signal) 방식을 이용하여, 시스템 자원에 대한 사용자 권한 정보를 요청하는 통신 시작 신호를 상기 데이터베이스(111)로 보내고(단계 321), 상태 변수를 "정보 요청"으로 전환시킨다(단계 312). 이에 따라, "통신 대기"(단계 331) 상태에 있던 상기 데이터베이스(222)는 상기 통신 인터페이스(122)에 등록되어 있는 통신용 시스템 호출을 통하여, 가로채어진 시스템 호출에 대한 정보 송신을 상기 통신 인터페이스(122)에 요청한다(단계 332). 그러면, 상기 통신 인터페이스 (122)는 시스템 호출에 대한 정보, 예컨대 사용자, 프로세스, 시스템 자원 등의 정보를 상기 데이터베이스(111)로 전송하고(단계 322), 상태 변수가 "정보 송신"이 될 때까지 대기한다(단계 323). 한편, 상기 데이터베이스(111)는 자료 검색을 통하여, 가로채어진 시스템 호출에 대한 사용자의 접근 권한 정보를 획득하고(단계 333), 그 결과를 상기 통신 인터페이스(122)에 전송한 후(단계 334)에, 통신 상태 변수를 "정보 송신"으로 전환한다(단계 313). 이에 따라, 상기 통신 인터페이스 (122)가 전송된 사용자 권한 정보를 수신하고(단계 324), 상기 데이터베이스(111)에 통신 종료를 알리고 상태 변수를 "통신 대기"로 전환한다. 그러면, 상기 데이터베이스 (111)는 상기 통신 인터페이스(122)의 통신 종료 송신에 따라 다시 "통신 대기" 상태로 전환된다.
한편, 도 4는 본 발명에 따른 인터셉트 엔진을 초기화하는 동적 커널 변경 과정을 나타낸 플로우 챠트이다.
도 1과 도 4를 참조하여, 본 발명의 제 3실시 예인 사용자 영역(110)의 초기화 모듈(112)이 커널영역(100)의 인터셉트 엔진(120)을 초기화하는 동적 커널 변경 과정을 설명하기로 한다. 도 1에 인터셉트 엔진의 초기화과정에 따른 데이터와 제어의 흐름이 일점쇄선으로 표시되었다. 컴퓨터를 사용하기 위하여, 유닉스 운영 체계가 부팅되면(단계 401), 상기 커널 영역(110)에 대체 시스템 호출 처리기(121)가 적재된다(단계 402). 그러면, 상기 대체 시스템 호출 처리기(121)의 위치정보로부터 시스템 호출 리스트(123)가 작성되어 상기 커널 영역(100)에 적재된다(단계 403). 한편 상기 초기화 모듈(112)은 상기 커널 영역(100)의 시스템 호출 벡터 테이블(130)에 있는 시스템 호출의 정보를 읽어 들이고(단계 404), 상기 시스템 호출 리스트(123)의 시스템 호출 정보와 비교하여, 가로챌 시스템 호출의 존재 여부를 검색한다(단계 405). 이때, 가로챌 시스템 호출이 검색되면, 상기 시스템 호출 벡터 테이블(130)이 가지고 있는 원형 시스템 호출 처리기의 위치정보가 상기 대체 시스템 호출 처리기(121)의 위치정보로 변경된다(단계 406). 한편, 원형 시스템 호출 처리기의 위치정보는 상기 시스템 호출 리스트(123)에 보관된다. 여기서, 상기 시스템 호출 벡터 테이블(130)의 정보 변경과 상기 시스템 호출 리스트(123)의 정보 변경은 사용자 영역(110)에서 임시적으로 이루어지는 것이다. 이와 같이, 하나의 시스템 호출에 대한 변경 작업이 완료되면, 시스템 호출 리스트(123)에 가로챌 시스템 호출이 더 있는지 확인한다(단계 407). 이때, 가로챌 시스템 호출이 더 존재하면, 상기 단계 405, 단계 406 및 단계 407의 작업이 반복적으로 수행되며, 가로챌 시스템 호출이 더이상 존재하지 않으면, 상기 시스템 호출 벡터 테이블(130)이 상기 커널 영역(100)에 저장된다(단계 408). 그리고, 상기 시스템 호출 리스트 (123)도 상기 커널 영역(100)에 저장됨으로써, 원형 시스템 호출기의 위치정보를 알 수 있게 된다.
이상의 설명에서와 같이, 본 발명에 따른 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널 변경 방법은, 시스템 호출을 가로채는 기술을 사용함으로써, 시스템 호출 단위의 사용자 접근 제어를 통해 시스템 자원에 대한 사용자의 모든 접근을 제어할 수 있다. 또한 시스템 호출을 가로채는 기술을 사용함에 있어서, 운영 체제의 코드 수정없이 운영 체제의 커널 수준에서 시스템에 관한 모든 접근을 제어할 수 있는 장점이 있다.

Claims (3)

  1. 시스템 호출(system call)을 요청하는 사용자 영역(user space)의 사용자 프로세스(user process)와; 상기 사용자 프로세스로부터 요청된 시스템 호출이 가로챌 시스템 호출인지를 판단하는 정보가 저장된 커널 영역(kernel space)의 시스템 호출 벡터 테이블(system call vector table)과; 상기 시스템 호출이 가로챌 시스템 호출인 경우에, 상기 시스템 호출을 수행하는 상기 커널 영역의 대체 시스템 호출 처리기와; 시스템 자원에 대한 사용자의 접근 권한 정보가 저장된 상기 사용자 영역의 데이터베이스(database); 및 상기 대체 시스템 호출 처리기로부터 시스템 자원에 대한 사용자의 접근 권한 정보를 요청하는 통신을 상기 데이터베이스로 전달하는 상기 커널 영역의 통신 인터페이스(interface)를 구비하는 유닉스(UNIX) 운영 체제(operating system)에 있어서,
    (a) 상기 사용자 프로세스에서 시스템 호출을 요청하는 단계;
    (b) 상기 시스템 호출 벡터 테이블의 검색을 통하여, 상기 요청된 시스템 호출이 가로챌 시스템 호출인지를 판단하는 단계;
    (c) 상기 요청된 호출이 가로챌 시스템 호출인 경우에, 상기 대체 시스템 호출 처리기가 시스템 자원에 대한 사용자의 접근 권한 정보를, 상기 통신 인터페이스를 통하여, 상기 데이터베이스에 요청하는 단계;
    (d) 상기 데이터베이스가 시스템 자원에 대한 사용자의 접근 권한 여부를 검색하고, 그 결과를 상기 대체 시스템 호출 처리기에 제공하는 단계; 및
    (e) 시스템 자원에 대한 사용자의 접근 권한이 있는 경우에는, 대체 시스템 호출 처리기가 원형 시스템 호출을 수행하고, 시스템 자원에 대한 사용자의 접근 권한이 없는 경우에는, 상기 사용자 프로세스에 시스템 호출의 수행 거부를 알리는 단계를 포함하는 것을 특징으로 하는 유닉스 운영 체제의 시스템 호출 제어 방법.
  2. 제 1항에 있어서,
    상기 단계 (c) 및 단계 (d)에서 상기 커널 영역의 통신 인터페이스와 상기 사용자 영역의 데이터베이스 사이에, 시스템 자원에 대한 사용자의 접근 권한 정보를 요청하고, 제공하는 통신 방법에 있어서,
    상기 통신 인터페이스가 유닉스의 시그널(signal) 방식을 이용하여, 상기 데이터베이스로 통신 시작 신호을 보내고, 상태 변수를 "정보 요청"으로 전환하는 단계와; 상기 데이터베이스가, 상기 통신 인터페이스에 등록되어 있는 통신용 시스템 호출을 통하여, 상기 통신 인터페이스에 상기 가로채어진 시스템 호출에 대한 정보를 요청하는 단계와; 상기 통신 인터페이스가 상기 가로채어진 시스템 호출에 대한 정보를 상기 데이터베이스로 전송하고, 상기 상태 변수가 "정보 송신"이 될 때까지 대기하는 단계와; 상기 데이터베이스가 상기 가로채어진 시스템 호출에 대한 사용자의 접근 권한 정보를 획득하는 단계와; 상기 데이터베이스가, 상기 통신 인터페이스에 등록되어 있는 통신용 시스템 호출을 통하여, 상기 통신 인터페이스에 상기 획득한 사용자 권한 정보를 전송한 후, 상태 변수를 "정보 송신"으로 전환하는 단계와; 상기 통신 인터페이스가 상기 데이터베이스로부터 전송된 정보를 수신하는 단계; 및 상기 통신 인터페이스가 상태 변수를 "통신대기"로 전환하고, 상기 데이터베이스에 통신종료를 알리는 단계를 포함하는 것을 특징으로 하는 유닉스 운영 체제의 시스템 호출 제어 방법
  3. 사용자 프로세스(user process)로부터 요청된 시스템 호출(system call)이, 가로챌 시스템 호출인지의 여부를 판단하는 정보가 저장된 커널 영역(kernel space)의 시스템 호출 벡터 테이블(system call vector table)과; 상기 시스템 호출 벡터 테이블의 상기 판단 정보를, 운영체제(operating system)의 부팅(booting)시에, 초기화하는 사용자 영역의 초기화 모듈(module)을 구비하는 유닉스(UNIX) 운영 체제에 있어서,
    (a) 상기 유닉스 운영 체제를 부팅하는 단계;
    (b) 상기 커널 영역에 대체 시스템 호출(system call) 처리기를 적재하는 단계;
    (c) 적재된 상기 대체 시스템 호출 처리기의 위치정보로부터 시스템 호출 리스트(system call list)를 작성하여 상기 커널 영역에 적재하는 단계;
    (d) 상기 커널 영역의 시스템 호출 벡터 테이블의 정보를 읽어 들이는 단계;
    (e) 상기 시스템 호출 벡터 테이블의 정보와 상기 시스템 호출 리스트의 정보를 비교하여, 가로챌 시스템 호출을 검색하는 단계;
    (f) 상기 단계 (e)에서 가로챌 시스템 호출이 검색되면, 상기 시스템 호출 벡터 테이블이 가지고 있는 상기 가로챌 시스템 호출의 위치정보를 상기 대체 시스템 호출 처리기의 위치정보로 변경하는 단계; 및
    (g) 상기 변경된 시스템 호출 벡터 테이블을 상기 커널 영역에 저장하는 단계를 포함하는 것을 특징으로 하는 유닉스 운영 체제의 동적 커널 변경 방법.
KR1019990051984A 1999-11-22 1999-11-22 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법 KR100344977B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990051984A KR100344977B1 (ko) 1999-11-22 1999-11-22 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990051984A KR100344977B1 (ko) 1999-11-22 1999-11-22 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법

Publications (2)

Publication Number Publication Date
KR20010047670A true KR20010047670A (ko) 2001-06-15
KR100344977B1 KR100344977B1 (ko) 2002-07-20

Family

ID=19621240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990051984A KR100344977B1 (ko) 1999-11-22 1999-11-22 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법

Country Status (1)

Country Link
KR (1) KR100344977B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429278B1 (ko) * 2002-04-12 2004-04-29 (주)이네트렉스 윈도우 엔티 환경에서의 보안을 위한 억세스 제어방법
KR101014814B1 (ko) * 2009-07-22 2011-02-14 주식회사 즐게임 커널 감시기가 설치된 컴퓨터 시스템 및 커널 감시 방법
KR101048874B1 (ko) * 2009-06-09 2011-07-13 성균관대학교산학협력단 취약 커널 변수 추천 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101651392B1 (ko) 2016-03-08 2016-08-25 주식회사 시큐브 실행 전용 모듈을 통한 추가 인증 실행 시스템 및 그 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032979A (en) * 1990-06-22 1991-07-16 International Business Machines Corporation Distributed security auditing subsystem for an operating system
JPH0644079A (ja) * 1992-07-27 1994-02-18 Nec Corp 情報処理装置
JPH0667954A (ja) * 1992-08-14 1994-03-11 Takaoka Electric Mfg Co Ltd ファイルアクセス方式
KR970002625A (ko) * 1995-06-15 1997-01-28 김광호 응용 프로그램의 불법 복사 방지를 위한 프로그램 잠금 방법
JPH09330249A (ja) * 1996-06-12 1997-12-22 Sumitomo Metal Ind Ltd プロセス制御用計算機システムの開発装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429278B1 (ko) * 2002-04-12 2004-04-29 (주)이네트렉스 윈도우 엔티 환경에서의 보안을 위한 억세스 제어방법
KR101048874B1 (ko) * 2009-06-09 2011-07-13 성균관대학교산학협력단 취약 커널 변수 추천 장치 및 방법
KR101014814B1 (ko) * 2009-07-22 2011-02-14 주식회사 즐게임 커널 감시기가 설치된 컴퓨터 시스템 및 커널 감시 방법

Also Published As

Publication number Publication date
KR100344977B1 (ko) 2002-07-20

Similar Documents

Publication Publication Date Title
EP0803101B1 (en) A mechanism for linking together the files of emulated and host system for access by emulated system users
KR100240910B1 (ko) 사용자의 크리덴셜을 지정하는 방법 및 장치, 컴퓨터프로그램제품및시스템와이드로그온능력제공방법
EP0803154B1 (en) A mechanism for providing security to a dual decor command host system
US5956710A (en) Apparatus for and method of providing user exits on an operating system platform
EP1104563B1 (en) Multilingual user interface for an operating system
US5634122A (en) System and method for multi-level token management for distributed file systems
US7231640B2 (en) Changing user identities without closing applications
US9811381B2 (en) Resource restriction systems and methods
US6131165A (en) Permit for controlling access to services in protected memory systems
US5566326A (en) Copy file mechanism for transferring files between a host system and an emulated file system
US6560613B1 (en) Disambiguating file descriptors
US20030191739A1 (en) Persistent key-value repository with a pluggable architecture to abstract physical storage
US8589569B2 (en) Method and apparatus for invoking a plug-in on a server
JPH10240690A (ja) クライアント・サーバシステム、サーバおよびクライアント端末
JP2010182319A (ja) コンピュータ装置上の記憶領域へのアプリケーションレベルのアクセス特権
JP2005508039A (ja) 目標セキュリティを決定する物理アドレスベースのセキュリティのための方法および装置
CN112507295A (zh) 数据处理方法及系统
KR0138798B1 (ko) 논리프로세서 기능을 가진 데이타 처리시스템내의 논리시스템의 초기설정 제어방법 및 장치
KR100344977B1 (ko) 유닉스 운영 체제의 시스템 호출 제어 방법 및 동적 커널변경 방법
US6564325B1 (en) Method of and apparatus for providing multi-level security access to system
JP4084850B2 (ja) データ処理システムの安全装置及び安全管理方法
RU2207619C2 (ru) Система разграничения доступа к ресурсам
JPH06214863A (ja) 情報資源管理装置
JP2000502825A5 (ko)
WO2011057876A1 (en) Network system security management

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120615

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee