KR102307445B1 - 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법 - Google Patents

실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법 Download PDF

Info

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

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당부, 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당부, 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행부, 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단부를 포함하여 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증할 수 있는 효과를 가진다.

Description

실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법{Device and Method for Schedulability Verification of Security Reinforcement Techniques in Real time Devices}
본 발명은 보안성 강화 적용의 스케줄 가능성 검증 기술에 관한 것으로, 더욱 상세하게는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법에 관한 것이다.
최근 자율 자동차, 스마트 팩토리, 전력망 등에서 사용되는 실시간 기기에 대한 보안 공격이 문제가 되고 있다. 자동차의 CAN 버스에 최상위 패킷을 주입하여 자동차를 오동작 시키는 공격(일종이 DoS : Denial-of-Service 공격)이 미국에서 발생하였으며, 공장 자동화 제어 시스템을 감염시켜 해커가 용광로를 제어하는 사건도 발생하였다. 또한, 공항 시스템이나 전력망, 발전소 등과 같은 사회 기반 시설에 대한 사이버 공격의 가능성도 증가하고 있다.
이에 상기와 같은 실시간 기기에 대한 사이버 공격을 예방하기 위해 다양한 보안성 강화 기술(Security Reinforcement Techniques)이 개발되고 있다. 대표적인 사이버 공격(attack)은 펌웨어 변조 공격, 검증되지 않은 데이터 접근, 재생(replay) 공격, 임의 래더(ladder) 로직 실행 등이 있다.
한편, 이에 대한 대응 기법(counter measure)으로 무결성 검사(integrity check), 데이터 암호화(encryption), 런타임 오버플로우 공격 감지, 트래픽 모니터링 등과 같은 보안성 강화 기술이 적용되고 있다. 다만, 이러한 보안성 강화 기술의 적용은 실시간 기기에서 새로운 스케줄 가능성 검증(Schedulability verification)을 요구한다. 그 이유는 실시간 기기에서 수행되는 태스크가 마감시간(deadline)을 지켜주어야 한다는 실시간 제약 조건을 가지기 때문이다. 이에, 모든 태스크들이 마감시간을 만족하는지를 검증하는 것을 스케줄 가능성 검증이라고 한다.
다만, 특정 태스크가 수행되기 전 자신의 코드가 변조되었는지 여부를 검사하는 보안성 강화 기술은 태스크의 수행시간을 증가시키고, 이에 따른 스케줄 가능성을 위배시키는 문제점을 발생시킬 수도 있다.
따라서, 증가된 수행시간에도 불구하고 실시간 제약조건을 여전히 만족시키거나, 또는 주어진 환경과 상관없이 실시간 제약조건을 여전히 만족시키는 보안성 강화 기술을 개발할 필요성이 있다.
또한, 실시간 기기에서 마감시간을 만족하는지 여부, 즉 스케줄 가능성을 검증하는 기술들은 다양하게 제안되어왔으나, 이들은 대부분 정적 분석을 사용하여 WCET(Worst Case Execution Time)을 계산하고, 이것이 마감시간을 만족하는지 검증하는 것이 일반적이다. 이에, 보안성 강화 기술을 다양하게 변화시키면서 동적으로 검증하는, 즉 즉각적인 검증 또는 점진적(incremental) 검증에 관한 기술을 개발할 필요성이 있다.
일본공개특허공보 제2007-219937호
이에 본 발명은 상기와 같은 제반 사항을 고려하여 제안된 것으로, 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증하는 것을 목적으로 한다.
또한, 본 발명은 블랙박스 접근방법을 채택한 것으로, 기존 소스 코드가 공개되지 않더라도 스케줄 가능성을 검증할 수 있도록 하는 것을 목적으로 한다.
또한, 본 발명은 다양한 보안성 강화 기술들에 쉽게 적용할 수 있도록 하는 것을 목적으로 한다.
또한, 본 발명은 동적 분석을 사용한 것으로, 보안성 강화 기술을 수정하면서 즉시 검증 또는 점진적(incremental) 검증이 가능한 것을 목적으로 한다.
또한, 본 발명은 주어진 환경에서의 최대의 보안성 강화를 얻을 수 있도록 하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해할 수 있을 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 장치는 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당부, 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당부, 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행부, 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단부를 포함할 수 있다.
이 때 상기 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다.
상기 마감시간 판단부는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
한편, 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 장치는 상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지부, 상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어부를 더 포함할 수 있다.
상기 우선순위 제어부는 상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나, 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 방법은 기본 태스크 할당부에서 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당단계, 추가 태스크 할당부에서 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당단계, 태스크 수행부에서 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행단계, 마감시간 판단부에서 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단단계를 포함할 수 있다.
이 때 상기 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다.
상기 마감시간 판단단계는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
한편, 본 발명의 기술적 사상에 의한 실시간 기기에서의 보안성 강화 기술 적용에 따른 스케줄가능성 검증 방법은 우선순위 역전시점 감지부에서 상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지단계, 우선순위 제어부에서 상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어단계를 더 포함할 수 있다.
상기 우선순위 제어단계는 상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나, 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다.
이상에서 설명한 바와 같은 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법에 따르면,
첫째, 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키면서 이의 스케줄 가능성을 동적으로 검증할 수 있는 효과를 가진다.
둘째, 블랙박스 접근방법을 채택한 것으로, 기존 소스 코드가 공개되지 않더라도 스케줄 가능성을 검증할 수 있는 효과를 가진다.
셋째, 다양한 보안성 강화 기술들에 쉽게 적용할 수 있는 효과를 가진다.
넷째, 동적 분석을 사용한 것으로, 보안성 강화 기술을 수정하면서 즉시 검증 또는 점진적(incremental) 검증이 가능한 효과를 가진다.
다섯째, 주어진 환경에서의 최대의 보안성 강화를 얻을 수 있는 효과를 가진다.
도 1은 일반적인 실시간 기기에서 보안성 강화 기술이 적용되지 않았을 때의 태스크 수행결과를 나타낸 도면.
도 2는 일반적인 실시간 기기에서 보안성 강화 기술이 적용되었을 때의 태스크 수행결과를 나타낸 도면.
도 3은 일반적인 실시간 기기에서 보안성 강화 검사에 의해 태스크 수행시간이 증가한 결과를 나타낸 도면.
도 4는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치를 나타낸 구성도.
도 5는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법을 나타낸 순서도.
도 6은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법에서의 우선순위 제어과정을 나타낸 순서도.
도 7은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술 적용에 따른 태스크 수행과정을 나타낸 도면.
도 8은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 결과를 나타낸 도면.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 본 발명의 특징 및 이점들은 첨부 도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명의 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한 본 발명과 관련된 공지 기능 및 그 구성에 대한 구체적인 설명은 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 구체적인 설명을 생략하였음에 유의해야할 것이다.
도 1은 일반적인 실시간 기기에서 보안성 강화 기술이 적용되지 않았을 때의 태스크 수행결과를 나타낸 도면이다. 이 때 도 1을 포함하여, 하기 도 2 및 도 3의 일반적인 실시간 기기에서의 태스크는 3개의 태스크로 구성하였다. 그리고, 3개의 태스크는 기본 태스크라 할 수 있다.
도 1에 도시된 일반적인 실시간 기기에서의 각 태스크는
Figure 112020007740543-pat00001
,
Figure 112020007740543-pat00002
,
Figure 112020007740543-pat00003
은 각각 5, 10, 20이라는 주기를 가질 수 있다. 0 시점에서 주기가 가장 적은
Figure 112020007740543-pat00004
은 우선적으로 스케줄링될 수 있다. 그리고
Figure 112020007740543-pat00005
의 수행이 완료되면, 그 이후
Figure 112020007740543-pat00006
,
Figure 112020007740543-pat00007
가 순서대로 스케줄링될 수 있다. 각 태스크는 주기적으로 다시 스케줄링이 될 수 있다.
만약, 같은 시점에 두 개 이상의 태스크가 동시에 수행되고자 한다면, 우선순위에 의해 순서가 결정될 수 있다. 한편, 모든 태스크는 자신의 주기가 끝나기 전에 자신의 태스크 수행시간(
Figure 112020007740543-pat00008
) 완료를 보장받아야 실시간 제약조건을 만족할 수 있다.
도 2는 일반적인 실시간 기기에서 보안성 강화 기술이 적용되었을 때의 태스크 수행결과를 나타낸 도면이다.
도 2는 태스크를 수행하기 전 수행 이미지가 변조되었는지 여부를 검사하거나, 태스크 수행 도중 스택 오버플로우를 검사하는 데이터 암호화 등, 보안성 강화 기술의 대표적인 예라고 할 수 있다. 보안성 강화 기술을 적용하면, 각 태스크의 수행시간(
Figure 112020007740543-pat00009
)이 보안성 강화 검사를 수행하는 시간(
Figure 112020007740543-pat00010
)만큼 늘어날 수 있다. 이 때 늘어난 수행시간(
Figure 112020007740543-pat00011
)은 여전히 실시간 제약조건, 즉 주기 이전에 태스크 수행이 완료되는 것을 만족해야한다.
도 3은 일반적인 실시간 기기에서 보안성 강화 검사에 의해 태스크 수행시간이 증가한 결과를 나타낸 도면이다.
보다 상세하게 도 3은
Figure 112020007740543-pat00012
의 증가에 따른 다양한 시나리오로서, 도 3(a)은
Figure 112020007740543-pat00013
에 의해
Figure 112020007740543-pat00014
가 증가되었으나 여전히 실시간 제약조건을 만족하는 경우를 나타낸 도면이고, 도 3(b)은
Figure 112020007740543-pat00015
가 더 증가되어 선점이 발생되었으나 여전히 실시간 제약조건을 만족하는 경우를 나타낸 도면이고, 도 3(c)은
Figure 112020007740543-pat00016
가 더욱 증가되어 실시간 제약조건을 만족하지 못하는 경우를 나타낸 도면이다.
도 3(b)에서는 Task 3이 수행되는 도중에 5 시점(Time)에서 Task 1의 새로운 주기가 시작되었고, Task 3은 Task 1에 비해 우선순위가 낮기 때문에 선점될 수 있다. 즉, Task 3이 수행을 멈추고, Task 1이 수행되는 것이라 할 수 있다. 이후 Task 1의 수행이 완료되면, Task 3이 수행을 재개할 수 있다. 이 또한 모든 태스크(Task)는 실시간 제약조건을 만족한다고 할 수 있다.
도 3(c)에서는
Figure 112020007740543-pat00017
가 더욱 증가되어 실시간 제약조건을 위배하는 경우라 할 수 있다. 즉, Task 3이 자신의 주기 30 동안에 수행해야할
Figure 112020007740543-pat00018
시간을 할당받지 못해 마감시간을 위반하게 되는 것이다.
보안성 강화 기술의 적용이 실시간 제약조건을 만족하지 못하게 되면, 실시간 기기에서는 큰 문제가 발생할 수 있다. 이에, 보안 강화 기술이 적용되었을 때, 스케줄 가능성을 정확하게 검증할 수 있는 새로운 기술이 필요하다.
이를 위해서는, 여러 가지 이슈가 고려되어야 한다.
첫째, 보안성 강화에 다양한 기술들이 적용될 수 있어야 한다. 이는 새로운 기술이 다양한 기술들에 쉽게 적용할 수 있어야한다는 것이다.
둘째, 많은 상용 실시간 기기는 자신의 소스코드 공개를 원하지 않는다. 이에 기존의 태스크들을 수정하지 않고(또는 최소한의 수정만 허용), 보안성 강화의 적용과 스케줄링 가능성을 검증할 수 있어야한다.
셋째, 설계자는 보안성을 가능한 한 최대로 강화하려고 하기 때문에, 주어진 시스템 조건에서 실시간성을 만족하면서 최대로 적용할 수 있는 보안성 강화 기술의 범위를 정량적으로 제안할 수 있어야 한다.
도 4는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치를 나타낸 구성도이다.
도 4를 참조하면, 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치는 크게 기본 태스크 할당부(100), 추가 태스크 할당부(200), 태스크 수행부(300), 마감시간 판단부(400)를 포함할 수 있다.
기본 태스크 할당부(100)는 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당할 수 있다. 이는 실시간 기기 환경에서 수행하고자 하는 기본 태스크를 할당받기 위한 구성요소라 할 수 있다.
추가 태스크 할당부(200)는 상기 기본 태스크 할당부(100)로부터 할당된 각 기본 태스크의 수행 전에 수행되도록 추가 태스크를 상기 프로세서에 할당할 수 있다. 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키기 위해, 별도의 태스크를 할당받기 위한 구성요소라 할 수 있다. 이 때 추가 태스크는 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 태스크라 할 수 있다. 또한, 추가 태스크는 주기성이 없으며, 각 기본 태스크가 시작되기 전에 먼저 수행될 수 있다.
한편, 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다. 그 이유는 보안성 강화 검사를 위한 추가 태스크를 수행하기 위해서, 스케줄러를 이용해 시작시키거나 세마포어를 이용해 알려야하기 때문이다.
태스크 수행부(300)는 상기 기본 태스크 할당부(100)로부터 할당된 기본 태스크 및 상기 추가 태스크 할당부(200)로부터 할당된 추가 태스크별 우선순위에 따라 태스크를 수행할 수 있다. 이는 각 태스크의 우선순위에 따라 태스크의 수행순서가 결정되어 수행되는 구성요소라 할 수 있다.
마감시간 판단부(400)는 상기 태스크 수행부(300)가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다. 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시킴과 동시에, 각 태스크가 가진 스케줄 가능성을 동적으로 검증하기 위한 구성요소라 할 수 있다.
이 때 마감시간 판단부(400)는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
한편, 도 4에 도시된 바와 같이 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치는 우선순위 역전시점 감지부(500) 및 우선순위 제어부(600)를 포함할 수 있다.
우선순위 역전시점 감지부(500)는 상기 태스크 수행부(300)에 의해 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지할 수 있다. 이는 기본 태스크들의 수행 도중에, 최우선순위를 갖는 추가 태스크에 의해 태스크들의 우선순위가 역전되는 우선순위 역전(priority inversion) 문제를 감지하기 위한 구성요소라 할 수 있다.
우선순위 제어부(600)는 상기 우선순위 역전시점 감지부(500)에 의해 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어할 수 있다. 이는 최우선순위를 갖는 추가 태스크를 할당함으로써 발생될 수 있는 우선순위 역전(priority inversion) 문제를 해결하기 위한 구성요소라 할 수 있다.
보다 상세하게, 우선순위 제어부(600)는 상기 추가 테스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 또는, 우선순위 제어부(600)는 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 우선순위를 제어하는 데에 있어서 우선순위 계승 프로토콜 또는 그림자 태스크를 이용하는 이유는 다음과 같다.
추가 태스크는 초기에 가장 낮은 우선순위를 가져야 한다. 그래야 다른 태스크들, 즉 기본 태스크들의 수행을 방해하지 않는다. 다만, 보안성 강화 검사를 위해 수행이 시작될 때에는 낮은 우선순위가 아닌 연관된 태스크의 우선순위만큼으로 높여서 수행되어야 한다. 이를 위해 태스크들의 우선순위를 제어하기 위해서는 우선순위 계승 프로토콜을 사용한다. 나아가, 우선순위 계승 프로토콜 대신 우선순위 제어를 위해 사용할 수 있는 방법으로는 연관된 태스크과 동일한 우선순위를 갖는 그림자 태스크를 사용할 수도 있다.
도 5는 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법을 나타낸 순서도이고, 도 6은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법에서의 우선순위 제어과정을 나타낸 순서도이다.
먼저 도 5를 참조하면, 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법은 크게 기본 태스크 할당단계(S100), 추가 태스크 할당단계(S200), 태스크 수행단계(S300), 마감시간 판단단계(S400)를 포함할 수 있다.
기본 태스크 할당단계는 기본 태스크 할당부(100)에서 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당할 수 있다(S100). 이는 실시간 기기 환경에서 수행하고자 하는 기본 태스크를 할당받기 위한 단계라 할 수 있다.
추가 태스크 할당단계는 추가 태스크 할당부(200)에서 상기 기본 태스크 할당단계(S100)로부터 할당된 각 기본 태스크의 수행 전에 수행되도록 추가 태스크를 상기 프로세서에 할당할 수 있다(S200). 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시키기 위해, 별도의 태스크를 할당받기 위한 단계라 할 수 있다. 이 때 추가 태스크는 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 태스크라 할 수 있다. 또한, 추가 태스크는 주기성이 없으며, 각 기본 태스크가 시작되기 전에 먼저 수행될 수 있다.
한편, 추가 태스크는 스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 태스크라 할 수 있다. 그 이유는 보안성 강화 검사를 위한 추가 태스크를 수행하기 위해서, 스케줄러를 이용해 시작시키거나 세마포어를 이용해 알려야하기 때문이다.
태스크 수행단계는 태스크 수행부(300)에서 상기 기본 태스크 할당단계(S100)로부터 할당된 기본 태스크 및 상기 추가 태스크 할당단계(S200)로부터 할당된 추가 태스크별 우선순위에 따라 태스크를 수행할 수 있다(S300). 이는 각 태스크의 우선순위에 따라 태스크의 수행순서가 결정되어 수행되는 단계라 할 수 있다.
마감시간 판단단계는 마감시간 판단부(400)에서 상기 태스크 수행단계(S300)가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다(S400). 이는 실시간 기기 환경에서 독립적인 보안성 강화 기술을 다양하게 변화 및 적용시킴과 동시에, 각 태스크가 가진 스케줄 가능성을 동적으로 검증하기 위한 단계라 할 수 있다.
이 때 마감시간 판단단계(S400)는 하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단할 수 있다.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
한편, 도 6에 도시된 바와 같이 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법에서의 우선순위 제어과정은 기본 태스크 할당단계(S100), 추가 태스크 할당단계(S200), 태스크 수행단계(S300)와 함께, 우선순위 역전시점 감지단계(S500) 및 우선순위 제어단계(S600)를 더 포함할 수 있다.
우선순위 역전시점 감지단계는 우선순위 역전시점 감지부(500)에서 상기 태스크 수행단계(S300)에 의해 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지할 수 있다(S500). 이는 기본 태스크들의 수행 도중에, 최우선순위를 갖는 추가 태스크에 의해 태스크들의 우선순위가 역전되는 우선순위 역전(priority inversion) 문제를 감지하기 위한 단계라 할 수 있다.
우선순위 제어단계는 우선순위 제어부(600)에서 상기 우선순위 역전시점 감지단계(S500)에 의해 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어할 수 있다(S600). 이는 최우선순위를 갖는 추가 태스크를 할당함으로써 발생될 수 있는 우선순위 역전(priority inversion) 문제를 해결하기 위한 단계라 할 수 있다.
보다 상세하게, 우선순위 제어단계(S600)는 상기 추가 테스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 또는, 우선순위 제어부(600)는 그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어할 수 있다. 우선순위를 제어하는 데에 있어서 우선순위 계승 프로토콜 또는 그림자 태스크를 이용하는 이유는 다음과 같다.
추가 태스크는 초기에 가장 낮은 우선순위를 가져야 한다. 그래야 다른 태스크들, 즉 기본 태스크들의 수행을 방해하지 않는다. 다만, 보안성 강화 검사를 위해 수행이 시작될 때에는 낮은 우선순위가 아닌 연관된 태스크의 우선순위만큼으로 높여서 수행되어야 한다. 이를 위해 태스크들의 우선순위를 제어하기 위해서는 우선순위 계승 프로토콜을 사용한다. 나아가, 우선순위 계승 프로토콜 대신 우선순위 제어를 위해 사용할 수 있는 방법으로는 연관된 태스크과 동일한 우선순위를 갖는 그림자 태스크를 사용할 수도 있다.
도 7은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술 적용에 따른 태스크 수행과정을 나타낸 도면이다. 이 때 Task 0은 추가 태스크이며, Task 1, Task 2, Task 3은 기본 태스크라 할 수 있다.
도 7에 도시된 바와 같이, 본 발명의 실시예에서는 실시간 기기에서 n개의 태스크가 동작할 때 각 태스크 Ti를 (Ei, Pi, Di)라는 세 개의 인지로 모델링할 수 있다. 이 때 Ei, Pi, Di는 각각 i번째 태스크인 Ti의 수행시간(execution time), 주기(period), 마감시간(deadline)이라 할 수 있다. 그리고, 본 발명의 실시예에서는 모든 태스크들이 주기적이며, 주기와 마감시간이 같다고 가정(즉, Pi, = Di)할 수 있으며, 주기가 작은 태스크가 더 높은 우선순위를 가진다고 가정할 수 있다. 이는 자동차 또는 스마트 팩토리 등 많은 실시간 장치가 이러한 가정을 만족한다는 것에 기반한 것이지만, 본 발명은 주기와 마감시간이 같지 않은 환경이나 비주기적 태스크가 존재하는 환경으로도 쉽게 확장할 수 있다.
보다 상세하게, 각 태스크는 자신의 주기에 따라 태스크를 수행하기 전에 추가 태스크(Task 0)에 보안성 강화 적용을 요청할 수 있다. 이는 스케줄러에서 요청하거나, 세마포어를 사용하여 알릴 수 있다. 그럼, 추가 태스크(Task 0)은 새로 수행할 태스크에 대한 보안성 강화 기술을 적용할 수 있다. 예를 들어, MD5로 해시를 계산하여 태스크의 무결성 확인 또는 처리할 데이터에 대한 암/복호화를 수행할 수 있다.
보안성 강화 적용이 완료되면, 해당 태스크를 실제로 수행할 수 있다. 이 경우, 기본 태스크들을 수정할 필요 없이 보안성 강화가 가능하다는 장점을 가질 수 있다. 또한, 추가 태스크(Task 0)만 변경하면 되므로, 다양한 보안성 강화 기술을 쉽게 적용하여 검증할 수 있다는 장점을 가질 수 있다.
다만, 이러한 보안성 강화 적용은 우선순위 역전(priority inversion) 문제가 발생할 수 있다. 다시 말해, 추가 태스크(Task 0)의 우선순위가 높아 다른 태스크, 즉 기본 태스크들의 수행 도중에 우선순위 역전(priority inversion) 문제가 발생할 수 있다. 이 경우, 보안성 강화 태스크인 추가 태스크(Task 0)의 우선순위를 낮추고 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하거나, 각 태스크 별로 보안성 강화를 수행하는 그림자 태스크(shadow task)를 생성하는 방법을 활용할 수 있다.
본 발명의 실시예에서는 실시간 제약조건을 만족하는지 여부를 판단하기 위해, 모든 태스크 주기들의 최소공배수(LCM: Least Common Multiple) 시점에서 각 태스크들이 확보해야할 수행시간 (Ei,)을 만족하였는지 여부를 기반으로 판단할 수 있다.
도 7의 실시예에서는 Task 1, Task 2, Task 3의 주기가 각각 5, 10, 20이며, 이들의 LCM은 20이라 할 수 있다. 이에, 20 시점에 각 태스크 Ti가 다음 수학식 1을 만족하는지 검사할 수 있다.
<수학식 1>
Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
(Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
예를 들어, Task 3은 20 주기 E3 + S3 기간 이상 스케줄링이 되었다면, 시간 제약조건을 만족하는 것이라 할 수 있다. Task 2 또한, (20/10) * (E2 + S2) 기간 이상 스케줄링이 되었다면 시간 제약조건을 만족하는 것이라 할 수 있다.
최소공배수의 시간들을 피해서 남은 시간들의 합이 추가 태스크(Task 0)가 수행할 수 있는 시간들의 합보다 더 크면(시간 제약조건 만족 O), 태스크 수행이 가능한 것이라 할 수 있다.
만약, 최소공배수의 시간들을 피해서 남은 시간들의 합이 추가 태스크(Task 0)가 수행할 수 있는 시간들의 합보다 더 크지 않으면(시간 제약조건 만족 X), 이는 보안성 강화보다 더 중요한 실시간 제약조건을 만족하지 못하므로 이만큼 보안성 강화를 하는 건 현재 태스크 집합에서는 안된다고 판단할 수 있다. 이 경우, 기본 태스크의 개수를 줄이거나, 기본 태스크의 주기를 변경하는 등의 대안이 필요할 수 있다.
즉, 보안성 강화를 위한 별도의 태스크(추가 태스크 Task 0)를 수행하기 위해서는 최소한 상기 <수학식 1>을 만족하는 스케줄링을 수행해야한다.
도 8은 본 발명의 실시예로서, 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 결과를 나타낸 도면이다.
도 8에 도시된 바와 같이, 본 발명의 실시예로서 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증은 실제 임베디드 보드에서 실시간 운영체제가 설치된 환경에서 검증한 것이라 할 수 있다. 이 때 사용한 보드는 Ti사의 TMS320C28335 보드(150MHz C28x CPU, 68KB RAM, 512KB Flash), 사용한 실시간 운영체제는 uC/OS2이다. 이 검증실험에서는 3개의 기본 태스크를 갖는 워크로드를 구성하였으며, 각 기본 태스크의 주기는 10, 20, 40으로 설정하였다. 그리고 각 기본 태스크의 수행시간을 변화시켜가면서 보안 강화 기술을 도입하였을 때, 스케줄링 가능성을 만족하는지, 그리고 만족한다면 최대 어느 정도 수준까지 보안성 강화가 가능한지 검사하였다.
이번 검증실험에서 사용한 보안성 강화 기술은 MD5 알고리즘으로서, 기본 태스크의 메모리 이미지가 무결성을 유지하고 있는지 또는 변조가 되었는지 검사를 할 수 있다.
그 결과, 도 8에 도시된 바와 같이 각 기본 태스크의 수행시간을 (5, 5, 9)으로 설정하면 보안성 강화를 도입하였을 때 실시간 제약조건을 위배하는 것을 확인할 수 있다. 수행시간이 작아질수록 보안성 강화를 위해 검사할 수 있는 메모리 크기가 증가하는 것을 확인할 수 있다.
이번 검증실험은 MD5로 무결성 검사를 보안성 강화 기술로 적용하였으나, 데이터의 기밀성을 보장받기 위해서는 LEA(Lightweight Encryption Algorithm) 같은 기술을 적용하고 스케줄링 가능성을 분석할 수도 있다.
이를 통해, 본 발명은 실시간 제어 시스템(실시간 기기)의 요구조건을 그대로 만족하면서, 보안성을 강화할 수 있다. 또한, 정적 분석 없이 실제 시스템에 적용 가능하며, 보안성 분석 기능을 수정함과 동시에 스케줄 가능성을 검증할 수 있다.
이러한 본 발명은 자율 주행 자동차, 공장 무인 자동화 시스템, 적응형 발전소, CPS(Cyber Physical System) 등 실시간 장치들을 사용하는 분야에 적용 및 활용할 수 있다.
이상에서 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정들도 본 발명의 범위에 속하는 것으로 간주되어야할 것이다.
100 : 기본 태스크 할당부 200 : 추가 태스크 할당부
300 : 태스크 수행부 400 : 마감시간 판단부
500 : 우선순위 역전시점 감지부 600 : 우선순위 제어부

Claims (10)

  1. 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당부;
    상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당부;
    상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행부; 및
    상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단부;를 포함하며,
    상기 마감시간 판단부는,
    하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
    <수학식 1>
    Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
    (Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
  2. 제 1 항에 있어서,
    상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지부; 및
    상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어부;를 더 포함하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
  3. 삭제
  4. 제 1 항에 있어서, 상기 추가 태스크는,
    스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
  5. 제 2 항에 있어서, 상기 우선순위 제어부는,
    상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나,
    그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치.
  6. 기본 태스크 할당부에서 프로세서에 마감시간이 정해진 적어도 하나 이상의 기본 태스크를 할당하는 기본 태스크 할당단계;
    추가 태스크 할당부에서 상기 할당된 각 기본 태스크 대비 최우선순위를 가지며, 보안성 강화 기술이 적용된 추가 태스크를 상기 각 기본 태스크의 수행 전에 수행되도록 상기 프로세서에 할당하는 추가 태스크 할당단계;
    태스크 수행부에서 상기 할당된 기본 태스크 및 추가 태스크별 우선순위에 따라 태스크를 수행하는 태스크 수행단계; 및
    마감시간 판단부에서 상기 태스크가 수행되는 과정으로부터 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점을 실시간으로 산출하여, 이를 기준으로 상기 기본 태스크의 마감시간 충족여부를 판단하는 마감시간 판단단계;를 포함하며,
    상기 마감시간 판단단계는,
    하기 수학식 1로 표현되는 태스크의 마감시간 충족여부 판단식에 따라 상기 기본 태스크의 마감시간 충족여부를 판단하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
    <수학식 1>
    Total scheduled time of Ti >= (LCM / Pi) * (Ei + Si)
    (Ti : i번째 태스크, LCM : 상기 기본 태스크의 주기들의 최소공배수에 해당하는 시점, Pi : i번째 태스크의 주기, Ei : i번째 태스크의 수행시간(Execution time), Si : 보안성 강화 검사를 수행하는 시간)
  7. 제 6 항에 있어서,
    우선순위 역전시점 감지부에서 상기 태스크가 수행되는 과정으로부터 우선순위가 역전되는 시점을 실시간으로 감지하는 우선순위 역전시점 감지단계; 및
    우선순위 제어부에서 상기 감지된 우선순위가 역전되는 시점에서 상기 기본 태스크의 우선순위를 제어하는 우선순위 제어단계;를 더 포함하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
  8. 삭제
  9. 제 6 항에 있어서, 상기 추가 태스크는,
    스케줄러에서 요청하거나, 또는 세마포어(semaphore)를 사용하여 보안성 강화 기술이 적용된 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
  10. 제 7 항에 있어서, 상기 우선순위 제어단계는,
    상기 추가 태스크의 우선순위를 낮춘 다음 우선순위 계승 프로토콜(priority inheritance protocol)을 사용하여 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하거나,
    그림자 태스크(shadow task)를 사용하여 상기 기본 태스크 및 추가 태스크별로 보안성 강화를 수행함으로써 상기 기본 태스크 및 상기 추가 태스크의 우선순위를 제어하는 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 방법.
KR1020200008792A 2020-01-22 2020-01-22 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법 KR102307445B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200008792A KR102307445B1 (ko) 2020-01-22 2020-01-22 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200008792A KR102307445B1 (ko) 2020-01-22 2020-01-22 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법

Publications (2)

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

Family

ID=77148545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200008792A KR102307445B1 (ko) 2020-01-22 2020-01-22 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102307445B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293559A (ja) * 2005-04-07 2006-10-26 Toshiba Corp タスクの優先度逆転現象の回避処理装置および回避処理方法
KR101733339B1 (ko) 2016-01-19 2017-05-08 한국과학기술원 사이버 물리 시스템을 위한 보안 제약 사항을 포함하는 실시간 스케줄링 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219937A (ja) 2006-02-17 2007-08-30 Toyota Infotechnology Center Co Ltd タスク管理システム、タスク管理方法およびタスク管理プログラム
KR101349603B1 (ko) * 2010-11-02 2014-01-15 한국전자통신연구원 실시간 시스템에서 소프트웨어 업데이트 방법 및 이를 위한 장치
KR101335038B1 (ko) * 2011-08-26 2013-11-29 강원대학교산학협력단 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘
KR101789288B1 (ko) * 2015-12-24 2017-10-24 고려대학교 산학협력단 계층적 실시간 스케줄링 시스템의 정형 검증 장치 및 방법
KR102012182B1 (ko) * 2018-02-01 2019-10-21 충남대학교산학협력단 가상 데드라인 위반 없이 프로세서의 반응성을 개선하기 위한 태스크 스케줄링 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293559A (ja) * 2005-04-07 2006-10-26 Toshiba Corp タスクの優先度逆転現象の回避処理装置および回避処理方法
KR101733339B1 (ko) 2016-01-19 2017-05-08 한국과학기술원 사이버 물리 시스템을 위한 보안 제약 사항을 포함하는 실시간 스케줄링 장치 및 방법

Also Published As

Publication number Publication date
KR20210094932A (ko) 2021-07-30

Similar Documents

Publication Publication Date Title
US8813085B2 (en) Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
KR101471394B1 (ko) 비파괴 시간에 실행하도록 컴퓨터 마이크로-작업을 스케쥴링하는 방법, 시스템 및 장치
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
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 (ko) 실시간 기기에서의 보안성 강화 기술의 스케줄 가능성 검증 장치 및 방법
Hasan et al. Period adaptation for continuous security monitoring in multicore real-time systems
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치
Thekkilakattil et al. The limited-preemptive feasibility of real-time tasks on uniprocessors
Negrean et al. Timing analysis of multi-mode applications on AUTOSAR conform multi-core systems
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
Tran et al. Addressing cache related preemption delay in fixed priority assignment
McNulty et al. A comparison of scheduling algorithms for multiprocessors
Chhabra et al. Qualitative Parametric Comparison of Load Balancing Algorithms in Distributed Computing Environment
KR101733339B1 (ko) 사이버 물리 시스템을 위한 보안 제약 사항을 포함하는 실시간 스케줄링 장치 및 방법
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
Tidwell et al. Scheduling for reliable execution in autonomic systems
Phavorin et al. Complexity of scheduling real-time tasks subjected to cache-related preemption delays

Legal Events

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