KR20210094932A - Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices - Google Patents

Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices Download PDF

Info

Publication number
KR20210094932A
KR20210094932A KR1020200008792A KR20200008792A KR20210094932A KR 20210094932 A KR20210094932 A KR 20210094932A KR 1020200008792 A KR1020200008792 A KR 1020200008792A KR 20200008792 A KR20200008792 A KR 20200008792A KR 20210094932 A KR20210094932 A KR 20210094932A
Authority
KR
South Korea
Prior art keywords
task
priority
time
basic
real
Prior art date
Application number
KR1020200008792A
Other languages
Korean (ko)
Other versions
KR102307445B1 (en
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 KR1020200008792A priority Critical patent/KR102307445B1/en
Publication of KR20210094932A publication Critical patent/KR20210094932A/en
Application granted granted Critical
Publication of KR102307445B1 publication Critical patent/KR102307445B1/en

Links

Images

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A device for verifying the schedulability of security reinforcement techniques in a real-time device comprises: a basic task assignment unit for allocating, to a processor, at least one basic task with a set deadline; an additional task allocation unit allocating, to the processor, an additional task, which has the highest priority compared to each of the assigned basic tasks and to which a security enhancement technique is applied, so that the additional task is performed before execution of each basic task; a task performance unit for performing a task in accordance with the priorities of the assigned basic task and each additional task; and a deadline determination unit for calculating, in real time, a time in point corresponding to the least common multiple of the periods of the basic task from a process in which the task is performed, and determining whether deadline of the basic task is met on the basis of the calculated time in point. Therefore, the device can dynamically verify the schedulability of an independent security enhancement technique while variously changing and applying the independent security enhancement technique in an environment of the real-time device.

Description

실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법{Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices}Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices

본 발명은 보안성 강화 적용의 스케줄 가능성 검증 기술에 관한 것으로, 더욱 상세하게는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법에 관한 것이다.The present invention relates to a technology for verifying the schedulability of application of security enhancement, and more particularly, security in a real-time device that dynamically verifies its schedulability while variously changing and applying an independent security enhancement technology in a real-time device environment. The present invention relates to an apparatus and method for verifying schedulability of a sexual enhancement technique.

최근 자율 자동차, 스마트 팩토리, 전력망 등에서 사용되는 실시간 기기에 대한 보안 공격이 문제가 되고 있다. 자동차의 CAN 버스에 최상위 패킷을 주입하여 자동차를 오동작 시키는 공격(일종이 DoS : Denial-of-Service 공격)이 미국에서 발생하였으며, 공장 자동화 제어 시스템을 감염시켜 해커가 용광로를 제어하는 사건도 발생하였다. 또한, 공항 시스템이나 전력망, 발전소 등과 같은 사회 기반 시설에 대한 사이버 공격의 가능성도 증가하고 있다.Recently, security attacks on real-time devices used in autonomous vehicles, smart factories, and power grids have become a problem. An attack that malfunctioned the car by injecting the highest packet into the car's CAN bus (a type of Denial-of-Service attack) occurred in the United States, and an incident occurred in which a hacker controlled the furnace by infecting the factory automation control system. . In addition, the possibility of cyberattacks on infrastructure such as airport systems, power grids, and power plants is increasing.

이에 상기와 같은 실시간 기기에 대한 사이버 공격을 예방하기 위해 다양한 보안성 강화 기술(Security Reinforcement Techniques)이 개발되고 있다. 대표적인 사이버 공격(attack)은 펌웨어 변조 공격, 검증되지 않은 데이터 접근, 재생(replay) 공격, 임의 래더(ladder) 로직 실행 등이 있다.Accordingly, various security reinforcement techniques are being developed to prevent cyber attacks on real-time devices as described above. Representative cyber attacks include firmware tampering attacks, unauthorized data access, replay attacks, and arbitrary ladder logic execution.

한편, 이에 대한 대응 기법(counter measure)으로 무결성 검사(integrity check), 데이터 암호화(encryption), 런타임 오버플로우 공격 감지, 트래픽 모니터링 등과 같은 보안성 강화 기술이 적용되고 있다. 다만, 이러한 보안성 강화 기술의 적용은 실시간 기기에서 새로운 스케줄 가능성 검증(Schedulability verification)을 요구한다. 그 이유는 실시간 기기에서 수행되는 태스크가 마감시간(deadline)을 지켜주어야 한다는 실시간 제약 조건을 가지기 때문이다. 이에, 모든 태스크들이 마감시간을 만족하는지를 검증하는 것을 스케줄 가능성 검증이라고 한다.Meanwhile, as a counter measure for this, security enhancement technologies such as integrity check, data encryption, runtime overflow attack detection, and traffic monitoring are applied. However, application of this security enhancement technology requires a new schedulability verification in a real-time device. The reason is that the task performed on the real-time machine has a real-time constraint that it must meet the deadline. Accordingly, verifying whether all tasks satisfy the deadline is called schedulability verification.

다만, 특정 태스크가 수행되기 전 자신의 코드가 변조되었는지 여부를 검사하는 보안성 강화 기술은 태스크의 수행시간을 증가시키고, 이에 따른 스케줄 가능성을 위배시키는 문제점을 발생시킬 수도 있다.However, a security enhancement technique that checks whether or not its own code is tampered with before a specific task is performed increases the execution time of the task and may cause a problem of violating scheduleability.

따라서, 증가된 수행시간에도 불구하고 실시간 제약조건을 여전히 만족시키거나, 또는 주어진 환경과 상관없이 실시간 제약조건을 여전히 만족시키는 보안성 강화 기술을 개발할 필요성이 있다.Therefore, there is a need to develop a security enhancement technique that still satisfies the real-time constraint despite the increased execution time or still satisfies the real-time constraint regardless of a given environment.

또한, 실시간 기기에서 마감시간을 만족하는지 여부, 즉 스케줄 가능성을 검증하는 기술들은 다양하게 제안되어왔으나, 이들은 대부분 정적 분석을 사용하여 WCET(Worst Case Execution Time)을 계산하고, 이것이 마감시간을 만족하는지 검증하는 것이 일반적이다. 이에, 보안성 강화 기술을 다양하게 변화시키면서 동적으로 검증하는, 즉 즉각적인 검증 또는 점진적(incremental) 검증에 관한 기술을 개발할 필요성이 있다.In addition, various techniques have been proposed to verify whether a real-time device satisfies the deadline, that is, schedulability, but most of them calculate the worst case execution time (WCET) using static analysis and determine whether it satisfies the deadline. Verification is common. Accordingly, there is a need to develop a technology for dynamically verifying security enhancement technology by changing it in various ways, that is, for immediate verification or incremental verification.

일본공개특허공보 제2007-219937호Japanese Laid-Open Patent Publication No. 2007-219937

이에 본 발명은 상기와 같은 제반 사항을 고려하여 제안된 것으로, 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증하는 것을 목적으로 한다.Accordingly, the present invention has been proposed in consideration of the above matters, and it is an object of the present invention to dynamically verify schedulability while variously changing and applying an independent security enhancement technique in a real-time device environment.

또한, 본 발명은 블랙박스 접근방법을 채택한 것으로, 기존 소스 코드가 공개되지 않더라도 스케줄 가능성을 검증할 수 있도록 하는 것을 목적으로 한다.In addition, the present invention adopts a black box approach, and an object of the present invention is to verify schedulability even if the existing source code is not disclosed.

또한, 본 발명은 다양한 보안성 강화 기술들에 쉽게 적용할 수 있도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to enable it to be easily applied to various security enhancement technologies.

또한, 본 발명은 동적 분석을 사용한 것으로, 보안성 강화 기술을 수정하면서 즉시 검증 또는 점진적(incremental) 검증이 가능한 것을 목적으로 한다.In addition, the present invention uses dynamic analysis, and an object of the present invention is to enable immediate verification or incremental verification while modifying a security enhancement technique.

또한, 본 발명은 주어진 환경에서의 최대의 보안성 강화를 얻을 수 있도록 하는 것을 목적으로 한다.Further, it is an object of the present invention to obtain maximum security enhancement in a given environment.

본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해할 수 있을 것이다.Objects of the present invention are not limited to the objects mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 장치는 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당부, 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당부, 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행부, 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단부를 포함할 수 있다.In order to achieve the above object, the schedulability verification apparatus according to the application of the security enhancement technology in a real-time device according to the technical idea of the present invention includes a basic task allocator for allocating at least one or more basic tasks for which a deadline is determined to a processor; An additional task allocator that has the highest priority compared to each of the assigned basic tasks and assigns an additional task to which a security enhancement technology is applied to the processor to be performed before each basic task is performed, the assigned basic task and the priority for each additional task A task performing unit that performs a task according to the ranking, calculates in real time a time point corresponding to the least common multiple of the periods of the basic task from the process in which the task is performed, and determines whether the deadline of the basic task is satisfied based on this It may include a deadline determination unit.

이 때 상기 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다.In this case, the additional task may be a task to which a security enhancement technique is applied by a scheduler or by using a semaphore.

상기 마감시간 판단부는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.The deadline determination unit may determine whether the deadline of the basic task is satisfied according to a determination expression of whether the deadline is satisfied of the task expressed by Equation 1 below.

<수학식 1><Equation 1>

Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)Total scheduled time of T i >= (LCM / P i ) * (E i + S i )

(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)(T i : the i-th task, LCM: a time point corresponding to the least common multiple of the cycles of the basic task, P i : the cycle of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)

한편, 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 장치는 상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지부, 상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어부를 더 포함할 수 있다.On the other hand, the schedulability verification apparatus according to the application of the security enhancement technology in the real-time device according to the technical idea of the present invention includes a priority reversal time detection unit that detects in real time a time when the priority is reversed from the process of performing the task, It may further include a priority control unit for controlling the priority of the basic task when the detected priority is reversed.

상기 우선순위 제어부는 상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나, 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다.The priority control unit lowers the priority of the additional task and then controls the priority of the basic task and the additional task by using a priority inheritance protocol, or by using a shadow task The priority of the basic task and the additional task may be controlled by performing security enhancement for each basic task and the additional task.

상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 방법은 기본 태스크 할당부에서 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당단계, 추가 태스크 할당부에서 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당단계, 태스크 수행부에서 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행단계, 마감시간 판단부에서 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단단계를 포함할 수 있다.In order to achieve the above object, the schedulability verification method according to the application of the security enhancement technology in the real-time device according to the technical idea of the present invention is to allocate at least one basic task with a set deadline to the processor in the basic task allocator. A basic task assignment step, an additional task assignment step of assigning an additional task having the highest priority compared to each of the assigned basic tasks in the additional task allocating unit to the processor to be performed before each basic task is performed, to which a security enhancement technology is applied; A time point corresponding to the least common multiple of the periods of the basic task from the task performing step of performing the task according to the priority of the assigned basic task and the additional task in the task performing unit, and the process of performing the task in the deadline determining unit The calculation may include a deadline determining step of determining whether the deadline of the basic task is satisfied based on the calculation in real time.

이 때 상기 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다.In this case, the additional task may be a task to which a security enhancement technique is applied by a scheduler or by using a semaphore.

상기 마감시간 판단단계는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.In the step of determining the deadline, it may be determined whether the deadline of the basic task is satisfied according to the formula for determining whether the deadline of the task is satisfied by Equation 1 below.

<수학식 1><Equation 1>

Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)Total scheduled time of T i >= (LCM / P i ) * (E i + S i )

(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)(T i : the i-th task, LCM: a time point corresponding to the least common multiple of the cycles of the basic task, P i : the cycle of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)

한편, 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 방법은 우선순위 역전시점 감지부에서 상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지단계, 우선순위 제어부에서 상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어단계를 더 포함할 수 있다.On the other hand, the schedulability verification method according to the application of the security enhancement technology in the real-time device according to the technical idea of the present invention is to detect in real time the time when the priority is reversed from the process of performing the task in the priority reversal time detection unit. The method may further include a priority control step of controlling the priority of the basic task at a time point when the priority detected by the priority control unit is reversed.

상기 우선순위 제어단계는 상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나, 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다.The priority control step may include lowering the priority of the additional task and then controlling the priorities of the basic task and the additional task using a priority inheritance protocol, or using a shadow task The priority of the basic task and the additional task may be controlled by performing security enhancement for each of the basic task and the additional task.

이상에서 설명한 바와 같은 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법에 따르면, According to the schedulability verification apparatus and method of the security enhancement technology in the real-time device as described above,

첫째, 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증할 수 있는 효과를 가진다.First, it has the effect of dynamically verifying its scheduleability while variously changing and applying independent security enhancement technology in a real-time device environment.

둘째, 블랙박스 접근방법을 채택한 것으로, 기존 소스 코드가 공개되지 않더라도 스케줄 가능성을 검증할 수 있는 효과를 가진다.Second, by adopting the black box approach, it has the effect of verifying the schedulability even if the existing source code is not disclosed.

셋째, 다양한 보안성 강화 기술들에 쉽게 적용할 수 있는 효과를 가진다.Third, it has an effect that can be easily applied to various security enhancement technologies.

넷째, 동적 분석을 사용한 것으로, 보안성 강화 기술을 수정하면서 즉시 검증 또는 점진적(incremental) 검증이 가능한 효과를 가진다.Fourth, by using dynamic analysis, it has the effect that immediate verification or incremental verification is possible while modifying the security enhancement technology.

다섯째, 주어진 환경에서의 최대의 보안성 강화를 얻을 수 있는 효과를 가진다.Fifth, it has the effect of obtaining maximum security reinforcement in a given environment.

도 1은 일반적인 실시간 기기에서 보안성 강화 기술이 적용되지 않았을 때의 태스크 수행결과를 나타낸 도면.
도 2는 일반적인 실시간 기기에서 보안성 강화 기술이 적용되었을 때의 태스크 수행결과를 나타낸 도면.
도 3은 일반적인 실시간 기기에서 보안성 강화 검사에 의해 태스크 수행시간이 증가한 결과를 나타낸 도면.
도 4는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치를 나타낸 구성도.
도 5는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법을 나타낸 순서도.
도 6은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법에서의 우선순위 제어과정을 나타낸 순서도.
도 7은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술 적용에 따른 태스크 수행과정을 나타낸 도면.
도 8은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 결과를 나타낸 도면.
1 is a view showing a task performance result when a security enhancement technology is not applied in a general real-time device.
2 is a view showing a task performance result when a security enhancement technology is applied in a general real-time device.
3 is a view showing a result of an increase in task execution time by a security enhancement test in a general real-time device.
4 is a block diagram illustrating an apparatus for verifying scheduleability of a security enhancement technique in a real-time device as an embodiment of the present invention;
5 is a flowchart illustrating a method for verifying scheduleability of a security enhancement technique in a real-time device as an embodiment of the present invention;
6 is a flowchart illustrating a priority control process in a method for verifying scheduleability of a security enhancement technique in a real-time device as an embodiment of the present invention;
7 is a diagram illustrating a task execution process according to the application of a security enhancement technology in a real-time device as an embodiment of the present invention.
8 is a diagram illustrating a schedulability verification result of a security enhancement technique in a real-time device as an embodiment of the present invention;

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 본 발명의 특징 및 이점들은 첨부 도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명의 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한 본 발명과 관련된 공지 기능 및 그 구성에 대한 구체적인 설명은 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 구체적인 설명을 생략하였음에 유의해야할 것이다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings illustrating preferred embodiments of the present invention and the contents described in the accompanying drawings. The features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Prior to this, the terms or words used in the present specification and claims are based on the technical idea of the present invention based on the principle that the inventor can appropriately define the concept of the term in order to describe his invention in the best way. It should be interpreted with the corresponding meaning and concept. In addition, it should be noted that, when it is determined that the detailed description of known functions and configurations related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof is omitted.

도 1은 일반적인 실시간 기기에서 보안성 강화 기술이 적용되지 않았을 때의 태스크 수행결과를 나타낸 도면이다. 이 때 도 1을 포함하여, 하기 도 2 및 도 3의 일반적인 실시간 기기에서의 태스크는 3개의 태스크로 구성하였다. 그리고, 3개의 태스크는 기본 태스크라 할 수 있다.1 is a diagram illustrating a task performance result when a security enhancement technology is not applied in a general real-time device. At this time, including FIG. 1, the tasks in the general real-time device shown in FIGS. 2 and 3 below are composed of three tasks. And, the three tasks may be called basic tasks.

도 1에 도시된 일반적인 실시간 기기에서의 각 태스크는

Figure pat00001
,
Figure pat00002
,
Figure pat00003
은 각각 5, 10, 20이라는 주기를 가질 수 있다. 0 시점에서 주기가 가장 적은
Figure pat00004
은 우선적으로 스케줄링될 수 있다. 그리고
Figure pat00005
의 수행이 완료되면, 그 이후
Figure pat00006
,
Figure pat00007
가 순서대로 스케줄링될 수 있다. 각 태스크는 주기적으로 다시 스케줄링이 될 수 있다.Each task in a typical real-time device shown in FIG. 1 is
Figure pat00001
,
Figure pat00002
,
Figure pat00003
may have a period of 5, 10, and 20, respectively. At time 0, the period with the fewest
Figure pat00004
may be preferentially scheduled. And
Figure pat00005
After the execution of
Figure pat00006
,
Figure pat00007
may be scheduled in order. Each task can be re-scheduled periodically.

만약, 같은 시점에 두 개 이상의 태스크가 동시에 수행되고자 한다면, 우선순위에 의해 순서가 결정될 수 있다. 한편, 모든 태스크는 자신의 주기가 끝나기 전에 자신의 태스크 수행시간(

Figure pat00008
) 완료를 보장받아야 실시간 제약조건을 만족할 수 있다.If two or more tasks are to be simultaneously performed at the same time, the order may be determined by priority. On the other hand, all tasks have their own task execution time (
Figure pat00008
) must be guaranteed to satisfy the real-time constraint.

도 2는 일반적인 실시간 기기에서 보안성 강화 기술이 적용되었을 때의 태스크 수행결과를 나타낸 도면이다.2 is a view showing a task performance result when a security enhancement technology is applied in a general real-time device.

도 2는 태스크를 수행하기 전 수행 이미지가 변조되었는지 여부를 검사하거나, 태스크 수행 도중 스택 오버플로우를 검사하는 데이터 암호화 등, 보안성 강화 기술의 대표적인 예라고 할 수 있다. 보안성 강화 기술을 적용하면, 각 태스크의 수행시간(

Figure pat00009
)이 보안성 강화 검사를 수행하는 시간(
Figure pat00010
)만큼 늘어날 수 있다. 이 때 늘어난 수행시간(
Figure pat00011
)은 여전히 실시간 제약조건, 즉 주기 이전에 태스크 수행이 완료되는 것을 만족해야한다.FIG. 2 can be said to be a representative example of a security enhancement technique, such as data encryption that checks whether an execution image has been tampered with before performing a task, or checks a stack overflow during task execution. When the security enhancement technology is applied, the execution time of each task (
Figure pat00009
) the time (
Figure pat00010
) can be increased by In this case, the increased execution time (
Figure pat00011
) must still satisfy the real-time constraint, that is, that the task is completed before the cycle.

도 3은 일반적인 실시간 기기에서 보안성 강화 검사에 의해 태스크 수행시간이 증가한 결과를 나타낸 도면이다.3 is a view showing a result of an increase in task execution time by a security enhancement test in a general real-time device.

보다 상세하게 도 3은

Figure pat00012
의 증가에 따른 다양한 시나리오로서, 도 3(a)은
Figure pat00013
에 의해
Figure pat00014
가 증가되었으나 여전히 실시간 제약조건을 만족하는 경우를 나타낸 도면이고, 도 3(b)은
Figure pat00015
가 더 증가되어 선점이 발생되었으나 여전히 실시간 제약조건을 만족하는 경우를 나타낸 도면이고, 도 3(c)은
Figure pat00016
가 더욱 증가되어 실시간 제약조건을 만족하지 못하는 경우를 나타낸 도면이다.In more detail, Figure 3
Figure pat00012
As various scenarios according to the increase of
Figure pat00013
by
Figure pat00014
is increased, but still satisfies the real-time constraint, and FIG. 3(b) is
Figure pat00015
It is a diagram showing a case where preemption occurred but still satisfies the real-time constraint by increasing
Figure pat00016
It is a diagram showing a case in which the real-time constraint is not satisfied due to further increase.

도 3(b)에서는 Task 3이 수행되는 도중에 5 시점(Time)에서 Task 1의 새로운 주기가 시작되었고, Task 3은 Task 1에 비해 우선순위가 낮기 때문에 선점될 수 있다. 즉, Task 3이 수행을 멈추고, Task 1이 수행되는 것이라 할 수 있다. 이후 Task 1의 수행이 완료되면, Task 3이 수행을 재개할 수 있다. 이 또한 모든 태스크(Task)는 실시간 제약조건을 만족한다고 할 수 있다.In FIG. 3(b) , a new cycle of Task 1 is started at time 5 while Task 3 is being performed, and Task 3 may be preempted because it has a lower priority than Task 1. In other words, it can be said that Task 3 stops execution and Task 1 is executed. After that, when the execution of Task 1 is completed, Task 3 may resume execution. Also, it can be said that all tasks satisfy the real-time constraint.

도 3(c)에서는

Figure pat00017
가 더욱 증가되어 실시간 제약조건을 위배하는 경우라 할 수 있다. 즉, Task 3이 자신의 주기 30 동안에 수행해야할
Figure pat00018
시간을 할당받지 못해 마감시간을 위반하게 되는 것이다.In Fig. 3(c)
Figure pat00017
It can be said that it is a case of violating the real-time constraint by increasing further. That is, task 3 must perform during its cycle 30.
Figure pat00018
If you are not allotted time, you will be breaking the deadline.

보안성 강화 기술의 적용이 실시간 제약조건을 만족하지 못하게 되면, 실시간 기기에서는 큰 문제가 발생할 수 있다. 이에, 보안 강화 기술이 적용되었을 때, 스케줄 가능성을 정확하게 검증할 수 있는 새로운 기술이 필요하다.If the application of the security enhancement technology does not satisfy the real-time constraint, a big problem may occur in the real-time device. Accordingly, when the security enhancement technology is applied, a new technology capable of accurately verifying the schedulability is required.

이를 위해서는, 여러 가지 이슈가 고려되어야 한다.For this, several issues must be considered.

첫째, 보안성 강화에 다양한 기술들이 적용될 수 있어야 한다. 이는 새로운 기술이 다양한 기술들에 쉽게 적용할 수 있어야한다는 것이다.First, various technologies must be applied to enhance security. This means that new technologies should be easily adaptable to a variety of technologies.

둘째, 많은 상용 실시간 기기는 자신의 소스코드 공개를 원하지 않는다. 이에 기존의 태스크들을 수정하지 않고(또는 최소한의 수정만 허용), 보안성 강화의 적용과 스케줄링 가능성을 검증할 수 있어야한다.Second, many commercial real-time devices do not want to disclose their source code. Therefore, it should be possible to verify the application of security enhancement and the schedulability without modifying existing tasks (or allowing only minimal modifications).

셋째, 설계자는 보안성을 가능한 한 최대로 강화하려고 하기 때문에, 주어진 시스템 조건에서 실시간성을 만족하면서 최대로 적용할 수 있는 보안성 강화 기술의 범위를 정량적으로 제안할 수 있어야 한다.Third, since the designer tries to enhance security as much as possible, it should be possible to quantitatively suggest the range of security enhancement technology that can be applied maximally while satisfying real-time in a given system condition.

도 4는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치를 나타낸 구성도이다.4 is a block diagram illustrating an apparatus for verifying scheduleability of a security enhancement technique in a real-time device as an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치는 크게 기본 태스크 할당부(100), 추가 태스크 할당부(200), 태스크 수행부(300), 마감시간 판단부(400)를 포함할 수 있다.Referring to FIG. 4 , as an embodiment of the present invention, an apparatus for verifying schedulability of a security enhancement technology in a real-time device is largely a basic task assignment unit 100 , an additional task assignment unit 200 , a task performing unit 300 , It may include a deadline determination unit 400 .

기본 태스크 할당부(100)는 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당할 수 있다. 이는 실시간 기기 환경에서 수행하고자 하는 기본 태스크를 할당받기 위한 구성요소라 할 수 있다.The basic task allocator 100 may allocate at least one or more basic tasks for which a deadline is determined to the processor. This can be said to be a component for being assigned a basic task to be performed in a real-time device environment.

추가 태스크 할당부(200)는 상기 기본 태스크 할당부(100)로부터 할당된 각 기본 태스크의 수행 전에 수행되도록 추가 태스크를 상기 프로세서에 할당할 수 있다. 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키기 위해, 별도의 태스크를 할당받기 위한 구성요소라 할 수 있다. 이 때 추가 태스크는 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 태스크라 할 수 있다. 또한, 추가 태스크는 주기성이 없으며, 각 기본 태스크가 시작되기 전에 먼저 수행될 수 있다.The additional task allocator 200 may allocate an additional task to the processor to be performed before each basic task allocated from the basic task allocator 100 is performed. This can be said to be a component for being assigned a separate task in order to variously change and apply independent security enhancement technology in a real-time device environment. In this case, the additional task has the highest priority compared to each of the assigned basic tasks, and may be a task to which the security enhancement technology is applied. Additionally, additional tasks have no periodicity and can be performed first before each basic task is started.

한편, 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다. 그 이유는 보안성 강화 검사를 위한 추가 태스크를 수행하기 위해서, 스케줄러를 이용해 시작시키거나 세마포어를 이용해 알려야하기 때문이다.On the other hand, the additional task may be a task to which a security enhancement technology is applied by a scheduler or by using a semaphore. The reason is that in order to perform additional tasks for the security enhancement check, it must be started using a scheduler or notified using a semaphore.

태스크 수행부(300)는 상기 기본 태스크 할당부(100)로부터 할당된 기본 태스크 및 상기 추가 태스크 할당부(200)로부터 할당된 추가 태스크별 우선순위에 따라 태스크를 수행할 수 있다. 이는 각 태스크의 우선순위에 따라 태스크의 수행순서가 결정되어 수행되는 구성요소라 할 수 있다.The task performing unit 300 may perform a task according to the priority of the basic task allocated from the basic task allocator 100 and the additional task allocated from the additional task allocator 200 . This can be said to be a component in which the execution order of tasks is determined and performed according to the priority of each task.

마감시간 판단부(400)는 상기 태스크 수행부(300)가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다. 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시킴과 동시에, 각 태스크가 가진 스케줄 가능성을 동적으로 검증하기 위한 구성요소라 할 수 있다.The deadline determining unit 400 calculates in real time a time point corresponding to the least common multiple of the cycles of the basic task from the process in which the task performing unit 300 is performed, and determines whether the deadline of the basic task is satisfied based on this can judge This is a component for dynamically verifying the schedulability of each task while variously changing and applying independent security enhancement technology in a real-time device environment.

이 때 마감시간 판단부(400)는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.At this time, the deadline determining unit 400 may determine whether the deadline of the basic task is satisfied according to the task for determining whether the deadline is satisfied, expressed by Equation 1 below.

<수학식 1><Equation 1>

Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)Total scheduled time of T i >= (LCM / P i ) * (E i + S i )

(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)(T i : i-th task, LCM: a time point corresponding to the least common multiple of the periods of the basic task, P i : the period of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)

한편, 도 4에 도시된 바와 같이 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치는 우선순위 역전시점 감지부(500) 및 우선순위 제어부(600)를 포함할 수 있다.Meanwhile, as shown in FIG. 4 , an apparatus for verifying scheduleability of a security enhancement technology in a real-time device as an embodiment of the present invention may include a priority reversal time detection unit 500 and a priority control unit 600 . .

우선순위 역전시점 감지부(500)는 상기 태스크 수행부(300)에 의해 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지할 수 있다. 이는 기본 태스크들의 수행 도중에, 최우선순위를 갖는 추가 태스크에 의해 태스크들의 우선순위가 역전되는 우선순위 역전(priority inversion) 문제를 감지하기 위한 구성요소라 할 수 있다.The priority reversal time detection unit 500 may detect in real time a time at which the priority is reversed from the process in which the task is performed by the task execution unit 300 . This may be referred to as a component for detecting a priority inversion problem in which the priority of tasks is inverted by an additional task having the highest priority during execution of basic tasks.

우선순위 제어부(600)는 상기 우선순위 역전시점 감지부(500)에 의해 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어할 수 있다. 이는 최우선순위를 갖는 추가 태스크를 할당함으로써 발생될 수 있는 우선순위 역전(priority inversion) 문제를 해결하기 위한 구성요소라 할 수 있다.The priority control unit 600 may control the priority of the basic task when the priority detected by the priority reversal time detection unit 500 is reversed. This can be said to be a component for solving the problem of priority inversion that may be caused by allocating an additional task having the highest priority.

보다 상세하게, 우선순위 제어부(600)는 상기 추가 테스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 또는, 우선순위 제어부(600)는 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 우선순위를 제어하는 데에 있어서 우선순위 계승 프로토콜 또는 그림자 태스크를 이용하는 이유는 다음과 같다.In more detail, the priority control unit 600 may lower the priority of the additional task and then control the priority of the basic task and the additional task by using a priority inheritance protocol. Alternatively, the priority control unit 600 may control the priority of the basic task and the additional task by performing security enhancement for each of the basic task and the additional task using a shadow task. The reason for using the priority inheritance protocol or shadow task to control the priority is as follows.

추가 태스크는 초기에 가장 낮은 우선순위를 가져야 한다. 그래야 다른 태스크들, 즉 기본 태스크들의 수행을 방해하지 않는다. 다만, 보안성 강화 검사를 위해 수행이 시작될 때에는 낮은 우선순위가 아닌 연관된 태스크의 우선순위만큼으로 높여서 수행되어야 한다. 이를 위해 태스크들의 우선순위를 제어하기 위해서는 우선순위 계승 프로토콜을 사용한다. 나아가, 우선순위 계승 프로토콜 대신 우선순위 제어를 위해 사용할 수 있는 방법으로는 연관된 태스크과 동일한 우선순위를 갖는 그림자 태스크를 사용할 수도 있다.Additional tasks should initially have the lowest priority. That way, it doesn't interfere with other tasks, that is, the basic tasks. However, when execution starts for the security enhancement check, it should be performed by raising the priority of the related task, not the low priority. For this, a priority inheritance protocol is used to control the priority of tasks. Furthermore, as a method that can be used for priority control instead of the priority inheritance protocol, a shadow task having the same priority as the associated task may be used.

도 5는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법을 나타낸 순서도이고, 도 6은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법에서의 우선순위 제어과정을 나타낸 순서도이다.5 is a flowchart illustrating a method for verifying schedulability of a security enhancement technology in a real-time device as an embodiment of the present invention, and FIG. 6 is an embodiment of the present invention, schedulability verification of a security enhancement technology in a real-time device. It is a flowchart showing the priority control process in the method.

먼저 도 5를 참조하면, 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법은 크게 기본 태스크 할당단계(S100), 추가 태스크 할당단계(S200), 태스크 수행단계(S300), 마감시간 판단단계(S400)를 포함할 수 있다.First, referring to FIG. 5 , as an embodiment of the present invention, the schedulability verification method of the security enhancement technology in a real-time device is largely a basic task assignment step (S100), an additional task assignment step (S200), and a task execution step (S300). , it may include a deadline determining step (S400).

기본 태스크 할당단계는 기본 태스크 할당부(100)에서 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당할 수 있다(S100). 이는 실시간 기기 환경에서 수행하고자 하는 기본 태스크를 할당받기 위한 단계라 할 수 있다.In the basic task allocation step, the basic task allocator 100 may allocate at least one basic task for which a deadline is set to the processor ( S100 ). This can be said to be a step for receiving a basic task to be performed in a real-time device environment.

추가 태스크 할당단계는 추가 태스크 할당부(200)에서 상기 기본 태스크 할당단계(S100)로부터 할당된 각 기본 태스크의 수행 전에 수행되도록 추가 태스크를 상기 프로세서에 할당할 수 있다(S200). 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키기 위해, 별도의 태스크를 할당받기 위한 단계라 할 수 있다. 이 때 추가 태스크는 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 태스크라 할 수 있다. 또한, 추가 태스크는 주기성이 없으며, 각 기본 태스크가 시작되기 전에 먼저 수행될 수 있다.In the additional task assignment step, the additional task assignment unit 200 may assign an additional task to the processor to be performed before each basic task assigned from the basic task assignment step S100 is performed (S200). This is a step to be assigned a separate task in order to variously change and apply independent security enhancement technology in a real-time device environment. In this case, the additional task has the highest priority compared to each of the assigned basic tasks, and may be a task to which the security enhancement technology is applied. Additionally, additional tasks have no periodicity and can be performed first before each basic task is started.

한편, 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다. 그 이유는 보안성 강화 검사를 위한 추가 태스크를 수행하기 위해서, 스케줄러를 이용해 시작시키거나 세마포어를 이용해 알려야하기 때문이다.On the other hand, the additional task may be a task to which a security enhancement technology is applied by a scheduler or by using a semaphore. The reason is that in order to perform additional tasks for the security enhancement check, it must be started using a scheduler or notified using a semaphore.

태스크 수행단계는 태스크 수행부(300)에서 상기 기본 태스크 할당단계(S100)로부터 할당된 기본 태스크 및 상기 추가 태스크 할당단계(S200)로부터 할당된 추가 태스크별 우선순위에 따라 태스크를 수행할 수 있다(S300). 이는 각 태스크의 우선순위에 따라 태스크의 수행순서가 결정되어 수행되는 단계라 할 수 있다.In the task performing step, the task performing unit 300 may perform a task according to the priority of the basic task assigned from the basic task assignment step S100 and the additional task assigned from the additional task assignment step S200 ( S300). This can be said to be a step in which the execution order of the tasks is determined and performed according to the priority of each task.

마감시간 판단단계는 마감시간 판단부(400)에서 상기 태스크 수행단계(S300)가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다(S400). 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시킴과 동시에, 각 태스크가 가진 스케줄 가능성을 동적으로 검증하기 위한 단계라 할 수 있다.The deadline determining step calculates in real time a time point corresponding to the least common multiple of the cycles of the basic task from the process in which the task performing step (S300) is performed in the deadline determining unit 400, and based on this, It may be determined whether the deadline is met (S400). This is a step to dynamically verify the schedulability of each task while variously changing and applying independent security enhancement technology in a real-time device environment.

이 때 마감시간 판단단계(S400)는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.In this case, the deadline determining step ( S400 ) may determine whether the deadline of the basic task is satisfied according to an expression for determining whether the deadline is satisfied of the task expressed by Equation 1 below.

<수학식 1><Equation 1>

Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)Total scheduled time of T i >= (LCM / P i ) * (E i + S i )

(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)(T i : the i-th task, LCM: a time point corresponding to the least common multiple of the cycles of the basic task, P i : the cycle of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)

한편, 도 6에 도시된 바와 같이 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법에서의 우선순위 제어과정은 기본 태스크 할당단계(S100), 추가 태스크 할당단계(S200), 태스크 수행단계(S300)와 함께, 우선순위 역전시점 감지단계(S500) 및 우선순위 제어단계(S600)를 더 포함할 수 있다.Meanwhile, as shown in FIG. 6 , the priority control process in the schedulability verification method of the security enhancement technology in a real-time device as an embodiment of the present invention includes a basic task assignment step (S100) and an additional task assignment step (S200) , along with the task performing step (S300), may further include a priority reversal time detection step (S500) and a priority control step (S600).

우선순위 역전시점 감지단계는 우선순위 역전시점 감지부(500)에서 상기 태스크 수행단계(S300)에 의해 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지할 수 있다(S500). 이는 기본 태스크들의 수행 도중에, 최우선순위를 갖는 추가 태스크에 의해 태스크들의 우선순위가 역전되는 우선순위 역전(priority inversion) 문제를 감지하기 위한 단계라 할 수 있다.In the priority reversal time detection step, the priority reversal point detection unit 500 may detect in real time a time point at which the priority is reversed from the process in which the task is performed by the task execution step S300 ( S500 ). This may be referred to as a step for detecting a priority inversion problem in which the priority of tasks is inverted by an additional task having the highest priority during execution of basic tasks.

우선순위 제어단계는 우선순위 제어부(600)에서 상기 우선순위 역전시점 감지단계(S500)에 의해 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어할 수 있다(S600). 이는 최우선순위를 갖는 추가 태스크를 할당함으로써 발생될 수 있는 우선순위 역전(priority inversion) 문제를 해결하기 위한 단계라 할 수 있다.The priority control step may control the priority of the basic task at the point in time when the priority detected by the priority reversal time detection step (S500) in the priority control unit 600 is reversed (S600). This is a step to solve the priority inversion problem that may be caused by allocating an additional task having the highest priority.

보다 상세하게, 우선순위 제어단계(S600)는 상기 추가 테스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 또는, 우선순위 제어부(600)는 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 우선순위를 제어하는 데에 있어서 우선순위 계승 프로토콜 또는 그림자 태스크를 이용하는 이유는 다음과 같다.In more detail, the priority control step S600 may lower the priority of the additional task and then control the priority of the basic task and the additional task using a priority inheritance protocol. Alternatively, the priority control unit 600 may control the priority of the basic task and the additional task by performing security enhancement for each of the basic task and the additional task using a shadow task. The reason for using the priority inheritance protocol or shadow task to control the priority is as follows.

추가 태스크는 초기에 가장 낮은 우선순위를 가져야 한다. 그래야 다른 태스크들, 즉 기본 태스크들의 수행을 방해하지 않는다. 다만, 보안성 강화 검사를 위해 수행이 시작될 때에는 낮은 우선순위가 아닌 연관된 태스크의 우선순위만큼으로 높여서 수행되어야 한다. 이를 위해 태스크들의 우선순위를 제어하기 위해서는 우선순위 계승 프로토콜을 사용한다. 나아가, 우선순위 계승 프로토콜 대신 우선순위 제어를 위해 사용할 수 있는 방법으로는 연관된 태스크과 동일한 우선순위를 갖는 그림자 태스크를 사용할 수도 있다.Additional tasks should initially have the lowest priority. That way, it doesn't interfere with other tasks, that is, the basic tasks. However, when execution starts for the security enhancement check, it should be performed by raising the priority of the related task, not the low priority. For this, a priority inheritance protocol is used to control the priority of tasks. Furthermore, as a method that can be used for priority control instead of the priority inheritance protocol, a shadow task having the same priority as the associated task may be used.

도 7은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술 적용에 따른 태스크 수행과정을 나타낸 도면이다. 이 때 Task 0은 추가 태스크이며, Task 1, Task 2, Task 3은 기본 태스크라 할 수 있다.7 is a diagram illustrating a task execution process according to the application of a security enhancement technology in a real-time device as an embodiment of the present invention. In this case, Task 0 is an additional task, and Task 1, Task 2, and Task 3 are basic tasks.

도 7에 도시된 바와 같이, 본 발명의 실시예에서는 실시간 기기에서 n개의 태스크가 동작할 때 각 태스크 Ti를 (Ei, Pi, Di)라는 세 개의 인지로 모델링할 수 있다. 이 때 Ei, Pi, Di는 각각 i번째 태스크인 Ti의 수행시간(execution time), 주기(period), 마감시간(deadline)이라 할 수 있다. 그리고, 본 발명의 실시예에서는 모든 태스크들이 주기적이며, 주기와 마감시간이 같다고 가정(즉, Pi, = Di)할 수 있으며, 주기가 작은 태스크가 더 높은 우선순위를 가진다고 가정할 수 있다. 이는 자동차 또는 스마트 팩토리 등 많은 실시간 장치가 이러한 가정을 만족한다는 것에 기반한 것이지만, 본 발명은 주기와 마감시간이 같지 않은 환경이나 비주기적 태스크가 존재하는 환경으로도 쉽게 확장할 수 있다.As shown in Figure 7, the embodiment of the present invention can be modeled as if each task three of the T i (E i, P i , D i) when the n number of tasks in real time device operations. In this case, E i , P i , and D i can be said to be the execution time, period, and deadline of the i-th task, T i , respectively. And, in the embodiment of the present invention, it can be assumed that all tasks are periodic, the period and the deadline are the same (ie, P i , = D i ), and it can be assumed that the task with a small period has a higher priority. . This is based on the assumption that many real-time devices, such as automobiles or smart factories, satisfy this assumption, but the present invention can be easily extended to environments in which cycles and deadlines are not the same or where aperiodic tasks exist.

보다 상세하게, 각 태스크는 자신의 주기에 따라 태스크를 수행하기 전에 추가 태스크(Task 0)에 보안성 강화 적용을 요청할 수 있다. 이는 스케줄러에서 요청하거나, 세마포어를 사용하여 알릴 수 있다. 그럼, 추가 태스크(Task 0)은 새로 수행할 태스크에 대한 보안성 강화 기술을 적용할 수 있다. 예를 들어, MD5로 해시를 계산하여 태스크의 무결성 확인 또는 처리할 데이터에 대한 암/복호화를 수행할 수 있다.In more detail, each task may request the application of enhanced security to the additional task (Task 0) before performing the task according to its own cycle. This can be requested by the scheduler or advertised using a semaphore. Then, the additional task (Task 0) may apply the security enhancement technology to the task to be newly performed. For example, by calculating a hash with MD5, it is possible to check the integrity of a task or perform encryption/decryption of data to be processed.

보안성 강화 적용이 완료되면, 해당 태스크를 실제로 수행할 수 있다. 이 경우, 기본 태스크들을 수정할 필요 없이 보안성 강화가 가능하다는 장점을 가질 수 있다. 또한, 추가 태스크(Task 0)만 변경하면 되므로, 다양한 보안성 강화 기술을 쉽게 적용하여 검증할 수 있다는 장점을 가질 수 있다.When the security enhancement application is completed, the corresponding task can be actually performed. In this case, it may have an advantage that security can be strengthened without the need to modify basic tasks. In addition, since only the additional task (Task 0) needs to be changed, it may have the advantage of being able to easily apply and verify various security enhancement techniques.

다만, 이러한 보안성 강화 적용은 우선순위 역전(priority inversion) 문제가 발생할 수 있다. 다시 말해, 추가 태스크(Task 0)의 우선순위가 높아 다른 태스크, 즉 기본 태스크들의 수행 도중에 우선순위 역전(priority inversion) 문제가 발생할 수 있다. 이 경우, 보안성 강화 태스크인 추가 태스크(Task 0)의 우선순위를 낮추고 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하거나, 각 태스크 별로 보안성 강화를 수행하는 그림자 태스크(shadow task)를 생성하는 방법을 활용할 수 있다.However, such a security enhancement application may cause a priority inversion problem. In other words, since the priority of the additional task (Task 0) is high, a priority inversion problem may occur during execution of other tasks, that is, basic tasks. In this case, lower the priority of the additional task (Task 0), which is a security enhancement task, and use the priority inheritance protocol, or create a shadow task that enhances security for each task. method can be used.

본 발명의 실시예에서는 실시간 제약조건을 만족하는지 여부를 판단하기 위해, 모든 태스크 주기들의 최소공배수(LCM: Least Common Multiple) 시점에서 각 태스크들이 확보해야할 수행시간 (Ei,)을 만족하였는지 여부를 기반으로 판단할 수 있다.In the embodiment of the present invention, in order to determine whether the real-time constraint is satisfied, it is determined whether each task satisfies the execution time (E i , ) to be secured at the time of the least common multiple (LCM) of all task periods. can be judged on the basis of

도 7의 실시예에서는 Task 1, Task 2, Task 3의 주기가 각각 5, 10, 20이며, 이들의 LCM은 20이라 할 수 있다. 이에, 20 시점에 각 태스크 Ti가 다음 수학식 1을 만족하는지 검사할 수 있다.In the embodiment of Figure 7, the cycles of Task 1, Task 2, and Task 3 are 5, 10, and 20, respectively, and their LCM can be said to be 20. Thus, it is possible to check that each task T i to point 20 with the following equation (1).

<수학식 1><Equation 1>

Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)Total scheduled time of T i >= (LCM / P i ) * (E i + S i )

(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)(T i : the i-th task, LCM: a time point corresponding to the least common multiple of the cycles of the basic task, P i : the cycle of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)

예를 들어, Task 3은 20 주기 E3 + S3 기간 이상 스케줄링이 되었다면, 시간 제약조건을 만족하는 것이라 할 수 있다. Task 2 또한, (20/10) * (E2 + S2) 기간 이상 스케줄링이 되었다면 시간 제약조건을 만족하는 것이라 할 수 있다.For example, if Task 3 is scheduled for more than 20 periods of E 3 + S 3 , it can be said that the time constraint is satisfied. Task 2 also satisfies the time constraint if it is scheduled for more than (20/10) * (E 2 + S 2 ) period.

최소공배수의 시간들을 피해서 남은 시간들의 합이 추가 태스크(Task 0)가 수행할 수 있는 시간들의 합보다 더 크면(시간 제약조건 만족 O), 태스크 수행이 가능한 것이라 할 수 있다.If the sum of the remaining times by avoiding the times of the least common multiple is greater than the sum of the times that the additional task (Task 0) can perform (time constraint is satisfied O), it can be said that the task can be performed.

만약, 최소공배수의 시간들을 피해서 남은 시간들의 합이 추가 태스크(Task 0)가 수행할 수 있는 시간들의 합보다 더 크지 않으면(시간 제약조건 만족 X), 이는 보안성 강화보다 더 중요한 실시간 제약조건을 만족하지 못하므로 이만큼 보안성 강화를 하는 건 현재 태스크 집합에서는 안된다고 판단할 수 있다. 이 경우, 기본 태스크의 개수를 줄이거나, 기본 태스크의 주기를 변경하는 등의 대안이 필요할 수 있다.If the sum of the remaining times by avoiding the times of the least common multiple is not greater than the sum of the times that the additional task (Task 0) can perform (time constraint satisfaction X), this imposes a real-time constraint that is more important than security enhancement. Since it is not satisfied, it can be determined that it is not possible to strengthen the security by this much in the current task set. In this case, alternatives such as reducing the number of basic tasks or changing the cycle of the basic tasks may be required.

즉, 보안성 강화를 위한 별도의 태스크(추가 태스크 Task 0)를 수행하기 위해서는 최소한 상기 <수학식 1>을 만족하는 스케줄링을 수행해야한다.That is, in order to perform a separate task (additional task Task 0) for security enhancement, at least scheduling that satisfies Equation 1 must be performed.

도 8은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 결과를 나타낸 도면이다.8 is a diagram illustrating a schedulability verification result of a security enhancement technique in a real-time device as an embodiment of the present invention.

도 8에 도시된 바와 같이, 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증은 실제 임베디드 보드에서 실시간 운영체제가 설치된 환경에서 검증한 것이라 할 수 있다. 이 때 사용한 보드는 Ti사의 TMS320C28335 보드(150MHz C28x CPU, 68KB RAM, 512KB Flash), 사용한 실시간 운영체제는 uC/OS2이다. 이 검증실험에서는 3개의 기본 태스크를 갖는 워크로드를 구성하였으며, 각 기본 태스크의 주기는 10, 20, 40으로 설정하였다. 그리고 각 기본 태스크의 수행시간을 변화시켜가면서 보안 강화 기술을 도입하였을 때, 스케줄링 가능성을 만족하는지, 그리고 만족한다면 최대 어느 정도 수준까지 보안성 강화가 가능한지 검사하였다.As shown in FIG. 8 , the schedulability verification of the security enhancement technology in the real-time device as an embodiment of the present invention can be said to be verified in an environment in which a real-time operating system is installed on an actual embedded board. At this time, with the board's T i TMS320C28335 board (150MHz C28x CPU, 68KB RAM, 512KB Flash), real-time operating system used is an uC / OS2. In this verification experiment, a workload with three basic tasks was configured, and the period of each basic task was set to 10, 20, and 40. And when the security reinforcement technology is introduced by changing the execution time of each basic task, it was checked whether the scheduling possibility was satisfied, and if so, to what extent security reinforcement is possible.

이번 검증실험에서 사용한 보안성 강화 기술은 MD5 알고리즘으로서, 기본 태스크의 메모리 이미지가 무결성을 유지하고 있는지 또는 변조가 되었는지 검사를 할 수 있다.The security enhancement technology used in this verification experiment is the MD5 algorithm, which can check whether the memory image of the basic task maintains integrity or has been tampered with.

그 결과, 도 8에 도시된 바와 같이 각 기본 태스크의 수행시간을 (5, 5, 9)으로 설정하면 보안성 강화를 도입하였을 때 실시간 제약조건을 위배하는 것을 확인할 수 있다. 수행시간이 작아질수록 보안성 강화를 위해 검사할 수 있는 메모리 크기가 증가하는 것을 확인할 수 있다.As a result, as shown in FIG. 8 , when the execution time of each basic task is set to (5, 5, 9), it can be confirmed that the real-time constraint is violated when security enhancement is introduced. As the execution time decreases, it can be seen that the size of the memory that can be inspected increases to enhance security.

이번 검증실험은 MD5로 무결성 검사를 보안성 강화 기술로 적용하였으나, 데이터의 기밀성을 보장받기 위해서는 LEA(Lightweight Encryption Algorithm) 같은 기술을 적용하고 스케줄링 가능성을 분석할 수도 있다.In this verification experiment, integrity check with MD5 was applied as a security enhancement technology, but in order to ensure data confidentiality, a technology such as LEA (Lightweight Encryption Algorithm) can be applied and scheduling possibility can be analyzed.

이를 통해, 본 발명은 실시간 제어 시스템(실시간 기기)의 요구조건을 그대로 만족하면서, 보안성을 강화할 수 있다. 또한, 정적 분석 없이 실제 시스템에 적용 가능하며, 보안성 분석 기능을 수정함과 동시에 스케줄 가능성을 검증할 수 있다.Through this, the present invention can enhance security while satisfying the requirements of a real-time control system (real-time device) as it is. In addition, it can be applied to the actual system without static analysis, and the schedulability can be verified while modifying the security analysis function.

이러한 본 발명은 자율 주행 자동차, 공장 무인 자동화 시스템, 적응형 발전소, CPS(Cyber Physical System) 등 실시간 장치들을 사용하는 분야에 적용 및 활용할 수 있다.The present invention can be applied and utilized in fields using real-time devices, such as an autonomous vehicle, an unmanned factory automation system, an adaptive power plant, and a CPS (Cyber Physical System).

이상에서 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정들도 본 발명의 범위에 속하는 것으로 간주되어야할 것이다.Although described and illustrated in connection with a preferred embodiment for illustrating the technical idea of the present invention above, the present invention is not limited to the configuration and operation as shown and described as such, and deviates from the scope of the technical idea. It will be apparent to those skilled in the art that many changes and modifications can be made to the invention without reference to the invention. Accordingly, all such suitable changes and modifications are to be considered as falling within the scope of the present invention.

100 : 기본 태스크 할당부 200 : 추가 태스크 할당부
300 : 태스크 수행부 400 : 마감시간 판단부
500 : 우선순위 역전시점 감지부 600 : 우선순위 제어부
100: basic task assignment unit 200: additional task assignment unit
300: task execution unit 400: deadline determination unit
500: priority reversal point detection unit 600: priority control unit

Claims (10)

프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당부;
상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당부;
상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행부; 및
상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단부;를 포함하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
a basic task allocator for allocating at least one or more basic tasks for which a deadline is determined to the processor;
an additional task allocator for allocating, to the processor, an additional task having the highest priority compared to each of the assigned basic tasks and applying a security enhancement technology to the processor to be performed before the execution of each of the basic tasks;
a task performing unit for performing a task according to the assigned priority of the basic task and the additional task; and
In a real-time device comprising a; schedulability verification device of security enhancement technology.
제 1 항에 있어서,
상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지부; 및
상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어부;를 더 포함하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
The method of claim 1,
a priority reversal time detection unit for detecting in real time a time point at which the priority is reversed from the process in which the task is performed; and
The schedulability verification apparatus of a security enhancement technique in a real-time device further comprising a; a priority control unit for controlling the priority of the basic task when the detected priority is reversed.
제 1 항에 있어서, 상기 마감시간 판단부는,
하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
According to claim 1, wherein the deadline determining unit,
A schedulability verification apparatus of a security enhancement technology in a real-time device that determines whether the deadline of the basic task is satisfied according to a determination expression of whether the deadline of the task is satisfied by the following equation (1).
<Equation 1>
Total scheduled time of T i >= (LCM / P i ) * (E i + S i )
(T i : the i-th task, LCM: a time point corresponding to the least common multiple of the cycles of the basic task, P i : the cycle of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)
제 1 항에 있어서, 상기 추가 태스크는,
스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
The method of claim 1, wherein the additional task comprises:
A device for verifying the schedulability of a security enhancement technology in a real-time device to which the security enhancement technology is applied by request from a scheduler or by using a semaphore.
제 2 항에 있어서, 상기 우선순위 제어부는,
상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나,
그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
The method of claim 2, wherein the priority control unit,
lower the priority of the additional task and then use a priority inheritance protocol to control the priority of the basic task and the additional task;
A schedulability verification apparatus of a security enhancement technique in a real-time device for controlling the priority of the basic task and the additional task by performing security enhancement for each basic task and the additional task using a shadow task.
기본 태스크 할당부에서 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당단계;
추가 태스크 할당부에서 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당단계;
태스크 수행부에서 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행단계; 및
마감시간 판단부에서 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단단계;를 포함하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
a basic task assignment step of allocating at least one or more basic tasks for which a deadline is determined to a processor in the basic task assignment unit;
an additional task allocating step of allocating, in the additional task allocator, an additional task having the highest priority compared to each of the assigned basic tasks, and to which a security enhancement technology is applied, to the processor to be performed before each basic task is performed;
a task performing step of performing a task in the task performing unit according to the assigned priority of the basic task and each additional task; and
A deadline determining step of calculating in real time a time point corresponding to the least common multiple of the periods of the basic task from the process in which the task is performed in the deadline determining unit, and determining whether the deadline of the basic task is satisfied based on this; A method of verifying the schedulability of a security enhancement technology in a real-time device, including
제 6 항에 있어서,
우선순위 역전시점 감지부에서 상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지단계; 및
우선순위 제어부에서 상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어단계;를 더 포함하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
7. The method of claim 6,
Priority reversal time detection step of detecting in real time the time when the priority is reversed from the process of performing the task in the priority reversal time detection unit; and
The schedulability verification method of a security enhancement technology in a real-time device further comprising; a priority control step of controlling the priority of the basic task at a time when the detected priority is reversed by the priority control unit.
제 6 항에 있어서, 상기 마감시간 판단단계는,
하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
The method of claim 6, wherein the step of determining the deadline comprises:
A schedulability verification method of a security enhancement technology in a real-time device for determining whether the deadline of the basic task is satisfied according to a determination expression of whether a deadline of the task is satisfied expressed by Equation 1 below.
<Equation 1>
Total scheduled time of T i >= (LCM / P i ) * (E i + S i )
(T i : the i-th task, LCM: a time point corresponding to the least common multiple of the cycles of the basic task, P i : the cycle of the i-th task, E i : the execution time of the i-th task (Execution time), S i : security time to perform a sexual enhancement test)
제 6 항에 있어서, 상기 추가 태스크는,
스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
The method of claim 6, wherein the additional task comprises:
A method of verifying the schedulability of a security enhancement technology in a real-time device to which the security enhancement technology is applied by requesting from a scheduler or using a semaphore.
제 7 항에 있어서, 상기 우선순위 제어단계는,
상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나,
그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
The method of claim 7, wherein the priority control step comprises:
lower the priority of the additional task and then use a priority inheritance protocol to control the priority of the basic task and the additional task;
A method of verifying schedulability of a security enhancement technique in a real-time device for controlling the priority of the basic task and the additional task by performing security enhancement for each basic task and the additional task using a shadow task.
KR1020200008792A 2020-01-22 2020-01-22 Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices KR102307445B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200008792A KR102307445B1 (en) 2020-01-22 2020-01-22 Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200008792A KR102307445B1 (en) 2020-01-22 2020-01-22 Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices

Publications (2)

Publication Number Publication Date
KR20210094932A true KR20210094932A (en) 2021-07-30
KR102307445B1 KR102307445B1 (en) 2021-09-30

Family

ID=77148545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200008792A KR102307445B1 (en) 2020-01-22 2020-01-22 Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices

Country Status (1)

Country Link
KR (1) KR102307445B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293559A (en) * 2005-04-07 2006-10-26 Toshiba Corp Processing device and method for avoiding phenomenon of inversion of priority among tasks
JP2007219937A (en) 2006-02-17 2007-08-30 Toyota Infotechnology Center Co Ltd Task management system, method, and program
KR20120047352A (en) * 2010-11-02 2012-05-14 한국전자통신연구원 Method of updating software in real-time system and apparatus for the same
KR20130022707A (en) * 2011-08-26 2013-03-07 강원대학교산학협력단 Periodic and aperiodic task scheduling algorithm based on topological sort and residual time
KR101733339B1 (en) * 2016-01-19 2017-05-08 한국과학기술원 Real-time scheduling apparatus and method for cyber physical systems incorporating security constraint
KR20170076921A (en) * 2015-12-24 2017-07-05 고려대학교 산학협력단 Appratus and method for performing formal verification for hierarchical scheduling of real-time systems
KR20190093455A (en) * 2018-02-01 2019-08-09 충남대학교산학협력단 Task scheduling method for an improved responsiveness of processors without the violations of virtual deadlines

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293559A (en) * 2005-04-07 2006-10-26 Toshiba Corp Processing device and method for avoiding phenomenon of inversion of priority among tasks
JP2007219937A (en) 2006-02-17 2007-08-30 Toyota Infotechnology Center Co Ltd Task management system, method, and program
KR20120047352A (en) * 2010-11-02 2012-05-14 한국전자통신연구원 Method of updating software in real-time system and apparatus for the same
KR20130022707A (en) * 2011-08-26 2013-03-07 강원대학교산학협력단 Periodic and aperiodic task scheduling algorithm based on topological sort and residual time
KR20170076921A (en) * 2015-12-24 2017-07-05 고려대학교 산학협력단 Appratus and method for performing formal verification for hierarchical scheduling of real-time systems
KR101733339B1 (en) * 2016-01-19 2017-05-08 한국과학기술원 Real-time scheduling apparatus and method for cyber physical systems incorporating security constraint
KR20190093455A (en) * 2018-02-01 2019-08-09 충남대학교산학협력단 Task scheduling method for an improved responsiveness of processors without the violations of virtual deadlines

Also Published As

Publication number Publication date
KR102307445B1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
US8813085B2 (en) Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
KR101471394B1 (en) Method, system, and apparatus for scheduling computer micro-jobs to execute at non-disruptive times
US9098608B2 (en) Processor configured to allocate resources using an entitlement vector
Zhao et al. Schedulability analysis and stack size minimization with preemption thresholds and mixed-criticality scheduling
Hasan et al. A design-space exploration for allocating security tasks in multicore real-time systems
Zhu et al. Know the unknowns: Addressing disturbances and uncertainties in autonomous systems
Davis et al. Mixed criticality systems with varying context switch costs
US9542294B2 (en) Method to apply perturbation for resource bottleneck detection and capacity planning
KR101697647B1 (en) Apparatus and Method Managing Migration of Tasks among Cores Based On Scheduling Policy
Kadar et al. Safety-aware integration of hardware-assisted program tracing in mixed-criticality systems for security monitoring
Wang et al. Secure and timely gpu execution in cyber-physical systems
KR102307445B1 (en) Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices
Hasan et al. Period adaptation for continuous security monitoring in multicore real-time systems
KR20130051076A (en) Method and apparatus for scheduling application program
Negrean et al. Timing analysis of multi-mode applications on AUTOSAR conform multi-core systems
Thekkilakattil et al. The limited-preemptive feasibility of real-time tasks on uniprocessors
Wang et al. Minimizing stack memory for hard real-time applications on multicore platforms with partitioned fixed-priority or EDF scheduling
Hanninen et al. Determining maximum stack usage in preemptive shared stack systems
Park et al. Mode-dynamic task allocation and scheduling for an engine management real-time system using a multicore microcontroller
US11138043B2 (en) System and methods for contingency budgeting for time-partitioned systems
Tran et al. Addressing cache related preemption delay in fixed priority assignment
Chhabra et al. Qualitative Parametric Comparison of Load Balancing Algorithms in Distributed Computing Environment
KR101733339B1 (en) Real-time scheduling apparatus and method for cyber physical systems incorporating security constraint
Anssi et al. Requirements and solutions for timing analysis of automotive systems
Dagli et al. Shared Memory-contention-aware Concurrent DNN Execution for Diversely Heterogeneous System-on-Chips

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right