KR101310208B1 - 보안 요구사항의 우선순위 결정 방법 - Google Patents

보안 요구사항의 우선순위 결정 방법 Download PDF

Info

Publication number
KR101310208B1
KR101310208B1 KR1020110104528A KR20110104528A KR101310208B1 KR 101310208 B1 KR101310208 B1 KR 101310208B1 KR 1020110104528 A KR1020110104528 A KR 1020110104528A KR 20110104528 A KR20110104528 A KR 20110104528A KR 101310208 B1 KR101310208 B1 KR 101310208B1
Authority
KR
South Korea
Prior art keywords
function value
matrix
value
bpa
security requirements
Prior art date
Application number
KR1020110104528A
Other languages
English (en)
Other versions
KR20130039885A (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 KR1020110104528A priority Critical patent/KR101310208B1/ko
Publication of KR20130039885A publication Critical patent/KR20130039885A/ko
Application granted granted Critical
Publication of KR101310208B1 publication Critical patent/KR101310208B1/ko

Links

Images

Classifications

    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

우선순위 결정 장치는 복수 개의 보안 요구사항들에 대한 비교 관계 정보를 이용하여 각각이 복수 개의 보안 요구사항들 중 하나 이상의 집합에 상응하는 복수 개의 핵심요소들을 추출하고, 복수 개의 핵심요소들 각각에 대한 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하고, 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하며, 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 복수 개의 보안 요구사항들간의 우선순위를 결정한다.

Description

보안 요구사항의 우선순위 결정 방법{METHOD FOR DETERMINING PRIORITY OF SECURITY REQUIREMENT}
본 발명은 보안 요구사항의 우선순위 결정 방법에 관한 것이다. 보다 상세하게, 본 발명은 소프트웨어의 보안 취약점을 예방하기 위한 보안 요구사항들간의 우선순위를 결정하는 방법에 관한 것이다.
종래에는 보안 요구사항들간의 우선순위를 결정하기 위해서 계층 분석 기법(Analytic Hierachy Process, 이하에서는 'AHP'라고도 함) 등을 통해 보안 요구사항들간의 모든 쌍에 대해 상대적 비교 값을 부여하고, 이들로부터 각 요구사항의 가중치를 계산하여 보안 요구사항들간의 우선순위를 결정하였다. 특히, 한국등록특허 제10-1013077호(정량적 안전지수 산출에 근거한 IT 위험 관리 방법 및 시스템)는 소프트웨어 취약점에 대한 위험도를 정량화하여 표시하는 기술을 상세히 개시하고 있다.
이때, 계층 분석 기법은 2개 이상의 비교 요소가 존재할 때 이들간의 우선순위를 부여하기 위해 이용된다.
예를 들어, "A", "B", "C"의 세 요소의 우선순위를 결정하기 위해 "(A, B)", "(A, C)", "(B, C)"와 같이 각각의 비교 쌍에 대해 표 1에 따라 상대적 비교 값을 부여한다.
Figure 112011080023155-pat00001
표 1은 쌍대비교의 가중치 척도를 나타내며, 표 1에 따른 가중치 부여의 예는 표 2와 같다.
Figure 112011080023155-pat00002
표 2에서, 각 쌍의 동일한 요소간의 비교는 "1"이 되고, 반대방향의 비교는 역수가 된다.
표 2와 같이 사용자가 각 셀에 비교값을 부여한 후, 표 2를 수학식 1과 같이 행렬화 한다.
Figure 112011080023155-pat00003
다음, 수학식 2와 같이 자신의 행렬을 서로 곱하여 각 행간을 더한 후, 이들의 전체 합으로 행의 합산값을 나누어서 얻어진 값이 각 요소의 가중치가 된다.
Figure 112011080023155-pat00004
수학식 2에 따라, "A"의 가중치는 "0.14"이고, "B"의 가중치는 "0.53"이며, "C"의 가중치는 "0.33"이 된다.
이때, 다수의 사용자로부터의 가중치를 도출하고자 할 경우, 각 사용자에 대히 행렬 계산을 위와 같이 수행할 후 각 요소의 가중치를 수학식 3과 같이 모두 더해준다.
Figure 112011080023155-pat00005
수학식 3에 따라 최종적으로 도출된 값을 비교하여 가장 큰 값을 가진 요소를 우선순위가 높은 것을 결정한다.
계층 분석 기법(AHP)에 따르면, 사용자가 각 요소의 비교값을 임의로 부여하기 때문에, 사용자의 관점에 따라 값이 저마다 다르게 부여될 수가 있어 최종 가중치 값의 신뢰도가 저하될 수 있다. 또한, 각 요소의 가중치 값의 합이 항상 1이 되어야 하기 때문에 새로운 비교 요소가 추가되는 경우 기존의 가중치 값을 다시 계산해야 하고, 기존의 값이 계속 변경될 수 있다.
이와 같이, 보안 요구사항들에 대한 가중치를 사용자가 임의로 부여할 경우, 입력된 가중치로부터 도출되는 보안 요구사항의 최종 가중치나 보안 요구사항들간의 우선순위에 대한 신뢰도가 저하되는 문제점이 있다.
본 발명에서 해결하고자 하는 과제는, 소프트웨어의의 보안 취약점을 예방하기 위한 보안 요구사항들간의 우선순위를 결정하기 위해서, 보안 요구사항들간의 비교 관계에 대한 정성적 정보를 다수의 사용자들로부터 입력받아 뎀스터-쉐이퍼(Dempster-Shafer) 이론을 이용하여 보안 요구사항들간의 우선순위를 결정하는 방법을 제공하는 것이다.
또한, 본 발명에서 해결하고자 하는 과제는 소프트웨어 품질평가를 위한 가중치 결정기법에 적용된 DS이론을 확장하여 보안 요구사항들간의 우선순위 결정 방법을 제공하는 것이다.
본 발명의 특징에 따른 보안 요구사항의 우선순위 결정 방법은 복수 개의 보안 요구사항들에 대한 비교 관계 정보를 이용하여 각각이 복수 개의 보안 요구사항들 중 하나 이상의 집합에 상응하는 복수 개의 핵심요소들을 추출하는 단계, 복수 개의 핵심요소들 각각에 대한 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계, 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계, 그리고 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 복수 개의 보안 요구사항들간의 우선순위를 결정하는 단계를 포함한다.
이때, 비교 관계 정보는 복수 개의 보안 요구사항들 중 일부의 보안 요구사항들간의 신뢰도의 크기를 비교한 결과를 포함한다.
이때, BPA 함수값을 산출하는 단계는 복수 개의 핵심요소들 각각에 대한 행렬을 이용하여 비교 관계 정보에 따라 비동치 행렬을 산출하는 단계, 그리고 비동치 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계를 포함한다.
또한, 비동치 행렬을 산출하는 단계는 비교 관계 정보에 따라 복수 개의 핵심요소들 중 신뢰도가 서로 다른 제1 핵심요소 및 제2 핵심요소 각각에 대한 행렬을 이용하여 비동치 행렬을 산출한다.
또한, 비동치 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계는 비동치 행렬 및 미리 정해진 BPA 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출한다.
또한, BPA 함수값을 산출하는 단계는 비교 관계 정보에 따라 복수 개의 핵심요소들 중 신뢰도가 같은 핵심요소들에 대한 행렬을 이용하여 동치 행렬을 산출하는 단계, 동치 행렬을 이용하여 비동치 행렬을 구성하는 일부 행 또는 열을 제거한 변환 행렬을 생성하는 단계, 변환 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계를 포함한다.
이때, 신뢰치를 산출하는 단계는 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값을 산출하는 단계, 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값으로부터 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계를 포함한다.
또한, 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값으로부터 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계는 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값과 Pl 함수값의 중간값을 복수 개의 보안 요구사항들 각각에 대한 신뢰치로 결정한다.
본 발명의 다른 특징에 따른 보안 요구사항의 우선순위 결정 방법은 복수 개의 보안 요구사항들로부터 제1 비교 관계 테이블에 대응되는 제1 핵심요소를 추출하는 단계, 복수 개의 보안 요구사항들로부터 제2 비교 관계 테이블에 대응되는 제2 핵심요소를 추출하는 단계, 제1 핵심요소에 대한 BPA 함수값 및 제2 핵심요소에 대한 BPA 함수값을 산출하는 단계, 제1 핵심요소에 대한 BPA 함수값 및 제2 핵심요소에 대한 BPA 함수값을 이용하여 미리 정해진 결합 규칙에 따라 복수 개의 핵심요소들 각각에 대한 결합 함수값을 산출하는 단계, 복수 개의 핵심요소들 각각에 대한 결합 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계, 그리고 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 복수 개의 보안 요구사항들간의 우선순위를 결정하는 단계를 포함한다.
이때, 결합 함수값을 산출하는 단계는 제1 핵심요소에 대한 BPA 함수값과 제2 핵심요소에 대한 BPA 함수값을 곱한 결과값을 핵심요소 별로 분배하는 단계를 포함한다.
또한, 분배하는 단계는 제1 핵심요소에 대한 BPA 함수값과 제2 핵심요소에 대한 BPA 함수값간의 비율에 따라 결과값을 핵심요소 별로 분배한다.
이때, 신뢰치를 산출하는 단계는 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰구간을 산출하는 단계, 그리고 복수 개의 보안 요구사항들 각각에 대한 신뢰구간의 대표값을 복수 개의 보안 요구사항들 각각에 대한 신뢰치로 결정하는 단계를 포함한다.
본 발명의 특징에 따르면, 보안 요구사항들에 대한 정성적 정보로부터 각 보안 요구사항의 정량적 정보를 획득하여 보안 요구사항들간의 우선순위를 결정함으로써 결정된 우선순위에 대한 신뢰도를 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 우선순위 결정 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 D-S 이론의 함수들간의 관계를 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 보안 요구사항 추출 방법을 도시한 도면이다.
도 4는 본 발명의 제1 실시 예에 따른 우선순위 결정 방법을 도시한 도면이다.
도 5는 본 발명의 제1 실시 예에 따른 BPA 함수값 산출 방법을 도시한 도면이다.
도 6은 본 발명의 제2 실시 예에 따른 우선순위 결정 방법을 도시한 도면이다.
본 발명을 첨부된 도면을 참고하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 고지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 해당 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하에서는, 도면을 참고하여 본 발명의 실시 예에 따른 보안 요구사항의 우선순위 결정 방법에 대해 설명한다.
먼저, 도 1을 참고하여 본 발명의 실시 예에 따라 보안 요구사항들간의 우선순위를 결정하는 장치에 대해 설명한다.
도 1은 본 발명의 실시 예에 따른 우선순위 결정 장치의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 우선순위 결정 장치(100)는 보안 요구사항 추출부(110), 핵심요소 추출부(120), 함수 연산부(130), 신뢰치 연산부(140), 및 우선순위 결정부(150)를 포함하여 구성된다.
보안 요구사항 추출부(110)는 소프트웨어 개발 취약점에 따른 복수 개의 보안 취약점들로부터 복수 개의 보안 요구사항들을 추출한다.
핵심요소 결정부(120)는 보안 요구사항 추출부(110)에서 추출된 복수 개의 보안 요구사항들에 대한 비교 관계 정보를 이용하여 복수 개의 핵심요소들을 추출한다. 여기서, 비교 관계 정보는 보안 요구사항들간의 관계나 비교에 따른 정성적 정보를 나타내며, 사용자로부터의 입력에 의해 정의될 수 있다.
함수 연산부(130)는 비교 관계 정보에 따라 추출된 복수 개의 핵심요소들을 정량화하기 위해 뎀스터-쉐이퍼(Dempster-Shafer, 이하에서는 'D-S') 이론에 따른 비피에이(Basic Probability Assignment, 이하에서는 'BPA'라고도 함) 함수를 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출한다.
신뢰치 연산부(140)는 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰구간을 산출하고, 산출된 신뢰구간으로부터 각 보안 요구사항에 대한 신뢰치를 산출한다. 여기서, 신뢰치 연산부(140)는 D-S 이론에 따른 벨(Belief, 이하에서는 'Bel'이라고도 함) 함수 및 피엘(Plausibility, 이하에서는 'Pl'이라고도 함) 함수를 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값으로부터 각 보안 요구사항에 대한 신뢰구간을 산출할 수 있다.
우선순위 결정부(150)는 각 보안 요구사항에 대한 신뢰치를 이용하여 복수 개의 보안 요구사항들간의 우선순위를 결정한다.
다음은, 도 2를 참고하여 본 발명의 실시 예에 따라 우선순위 결정 장치가 D-S 이론의 BPA 함수를 적용하여 BPA 함수값을 산출하는 방법에 대해 설명한다.
도 2는 본 발명의 실시 예에 따른 D-S 이론의 함수들간의 관계를 도시한 도면이다.
D-S 이론에서는 어떤 가설에 대한 신뢰값을 하나의 숫자로 표현하는 것이 아니라 수학식 4와 같은 신뢰 구간으로 표현한다.
Figure 112011080023155-pat00006
수학식 4에서, "Bel(H)"는 주어진 증거에 의해 임의의 가설 "H"가 지원받는 정도를 나타내고, "Pl(H)"는 증거에 기초해 가설 "H"가 지지되지도 부정되지 않고 남아 있는 정도를 나타낸다. 여기서, "Bel(H)"와 "Pl(H)"의 관계는 수학식 5와 같다.
Figure 112011080023155-pat00007
수학식 5에 따른 "Bel(H)", "Bel(~H)", 및 "Pl(H)"간의 관계는 도 2에 도시된 바와 같다.
"Bel(H)"는 가설 "H"에 대한 신뢰치를 나타내는 것으로 수학식 6과 같이 정의된다.
Figure 112011080023155-pat00008
D-S 이론에서는 "m(H)"의 값을 구하기 위해 BPA 함수를 이용하는데, 어떤 증거 "E"가 서로 배타적인 N개의 가설로 이루어진 집합 "θ"를 지원하는 경우 BPA 함수 즉, "m()"을 사용하여 수학식 7과 같이 정의하고 표현한다.
Figure 112011080023155-pat00009
수학식 7에서, "Sn"은 "θ"의 임의의 부분집합을 나타낸다.
"H1", "H2", 및 "H3"를 포함하는 "H"에 대하여 "m(H1, H2)"이 "0.3"으로 할당되면 나머지 함수값 "m(H3)"가 "0.7"로 할당된다. 예를 들어, 날씨를 예측하는데 있어서 두 명의 전문가(m1, m2)가 각각 "{맑음}"과 "{비}", 그리고 "{맑음}"과 "{눈}"을 예상한 경우, 해당 경우는 표 3과 같은 테이블로 표현될 수 있다.
Figure 112011080023155-pat00010
표 3과 같이, 전문가 1(m1)과 전문가 2(m2)가 각각 "{맑음}"을 "0.1"로 도출했다면 "{비}"와 "{눈}"은 나머지 값인 "0.9"가 된다. 그리고 각 행과 열을 곱해주면 "{맑음}"에 대한 확률이 "0.01"로 도출되고, "{비}" 또는 "{눈}"에 대한 불확실한 확률이 "0.99"로 도출된다.
BPA 함수값에 대한 계산 절차는 행렬 표현 정의 단계, 동치 행렬 및 비동치 행렬 도출 단계, 균등 알고리즘 적용 단계, 및 인지 알고리즘 적용 단계로 구성된다.
행렬 표현 정의 단계에서, bpa 함수 계산은 비교 요소에 대한 행렬 표현 정의가 선행되어야 한다. 요소의 행렬 표기법은 요소의 개수를 열의 개수로 하여 1행의 행렬로 나타내는데, x번째 요소는 x열에 "1"의 값을 부여한다. 예를 들어 요소 "A"의 행렬은 "[1 0 0 0]", 요소 "B"의 행렬은 "[0 1 0 0]"로 표기 된다.
동치 행렬 및 비동치 행렬 도출 단계에서, 요소들의 행렬표기와 비교 관계 표현을 이용해 동치 행렬과 비동치 행렬을 구한다. 동치 행렬은 요소들간의 관계가 "요소A~요소B"와 같이 두 요소의 값이 같을 때 요소 "A"의 행렬 값에서 요소 "B"의 행렬 값을 빼 준 행렬을 말한다. 여기서, 동치 행렬을 구하는 과정은 수학식 8과 같다.
Figure 112011080023155-pat00011
비동치 행렬은 요소들간의 관계가 "요소 A·>요소 B"와 같이 두 요소의 값이 다를 때 요소 "A"의 행렬 값에서 요소 "B"의 행렬 값을 빼 준 행렬을 말한다. 여기서, 비동치 행렬을 구하는 과정은 수학식 9와 같다.
Figure 112011080023155-pat00012
비동치 행렬을 구성할 때는 각 요소에 대해 "BPA > 0"라는 조건을 삽입하는데, 이미 비교 관계에서 표현된 경우는 생략한다. 예를 들어 요소 "A"의 행렬인 "[1 0 0 0]", 요소 "B"의 행렬인 "[0 1 0 0]", 요소 "C"의 행렬인 "[0 0 1 0]", 요소 "D"의 행렬인 "[0 0 0 1]"의 값을 비동치 행렬에 삽입해주되 이미 같은 행렬 값이 도출된 경우에는 생략해준다.
균등 알고리즘 적용 단계에서, 동치 행렬과 비동치 행렬을 단순화하기 위해 균등 알고리즘을 적용한다.
먼저, 동치 행렬인 "E"행렬로부터 모든 원소가 "0"값을 가지는 행을 제거하고, 동치 행렬인 "E"행렬과 비동치 행렬인 "IE"행렬로부터 중복된 행을 제거한다.
다음, 동치 행렬인 "E"행렬의 모든 행에 대해 "E"행렬의 각 행을 의미하는 "Ei"에 대해 모든 원소가 0이면 "Ei"를 제거한다.
이후, "Ei"의 모든 원소가 음수가 아니거나 양수가 아닐 때마다 "Ei"의 원소 중 "0"이 아닌 원소의 열의 위치를 파악하여 "E"행렬과 "IE"행렬로부터 해당 열을 제거한다.
만약, 해당 사항이 없으면, "Ei"에서 "0"이 아닌 값을 가지는 첫 번째 원소를 파악하여 해당 열 위치의 핵심 요소를 제거하기 위해 해당 "Ei"에 가우스 소거법을 "IE"행렬에 적용하여 "IE"행렬을 재구성한다. 그리고 "Ek(k>i)"에 대해 해당 "Ei"를 이용하여 가우스 소거법을 적용하여 "E"행렬을 재구성한다. 이때, "E"행렬이 단일 행(i=1)인 경우에는 생략한다.
다음, "E"행렬과 "IE"행렬로부터 중복되거나 모든 원소가 "0"인 행들을 제거한다.
인지 알고리즘 적용 단계에서, 균등 알고리즘을 거쳐 단순화된 동치 행렬과 비동치 행렬을 이용해 최종 BPA 함수 값을 계산하기 위해 인지 알고리즘을 적용한다.
먼저, 초기 BPA 행렬값을 "0"으로 가정한다.
다음, 초기 BPA 행렬값을 시작으로 "IE"행렬의 각 행인 "IEl"에 대해 "IEl·BPAi>0"을 만족하도록 수학식 10을 이용해 BPA 행렬을 수정한다.
Figure 112011080023155-pat00013
이후, BPA 함수 정의에 맞게 수학식 11과 같이 "[0,1]" 값으로 정규화 한다.
Figure 112011080023155-pat00014
이와 같이, 인지 알고리즘 적용 단계까지 거치면 비교 요소에 대한 최종 BPA 함수값이 결정된다.
다음은, 도 2를 참고하여 본 발명의 실시 예에 따라 우선순위 결정 장치가 보안 취약점들로부터 보안 요구사항들을 추출하는 방법에 대해 설명한다.
도 2는 본 발명의 실시 예에 따른 보안 요구사항 추출 방법을 도시한 도면이다.
도 2에 도시된 바와 같이, 우선순위 결정 장치(100)는 소프트웨어 개발 시에 개발 취약점으로 인한 보안 취약점들이 예상되면 예상된 보안 취약점들을 예방하기 위한 보안 요구사항들을 추출한다.
우선순위 결정 장치(100)는 "보안 취약점 1"을 예방하기 위한 "보안 요구사항 A" 및 "보안 요구사항 B"를 추출하고, "보안 취약점 2"를 예방하기 위한 "보안 요구사항 C"를 추출하며, "보안 취약점 3"을 예방하기 위한 "보안 요구사항 C"를 추출할 수 있다.
다음은, 도 3 및 도 4를 참고하여 본 발명의 제1 실시 예에 따라 우선순위 결정 장치가 보안 요구사항들간의 우선순위를 결정하는 방법에 대해 설명한다.
도 3은 본 발명의 제1 실시 예에 따른 우선순위 결정 방법을 도시한 도면이다.
도 3에 도시된 바와 같이, 먼저, 보안 요구사항 추출부(110)는 특정 소프트웨어에서 발생하거나 발생할 것으로 예상되는 복수 개의 보안 취약점들로부터 복수 개의 보안 요구사항들을 추출한다(S100).
예를 들어, 보안 요구사항 추출부(110)는 복수 개의 보안 취약점들로부터 제1 보안 요구사항(이하에서는 'A'라고도 함), 제2 보안 요구사항(이하에서는 'B'라고도 함), 제3 보안 요구사항(이하에서는 'C'라고도 함), 및 제4 보안 요구사항(이하에서는 'D'라고도 함)을 추출할 수 있다.
다음, 핵심요소 추출부(120)는 복수 개의 보안 요구사항들에 대한 비교 관계 정보를 이용하여 복수 개의 보안 요구사항들로부터 복수 개의 핵심요소들을 추출한다(S110). 여기서, 핵심요소 추출부(120)는 비교 관계 정보에서 중복되는 비교 관계를 제거하여 핵심요소를 추출할 수 있다.
예를 들어, 핵심요소 추출부(120)는 복수 개의 보안 요구사항들인 "A", "B", "C", 및 "D"에 대한 비교 관계 정보를 이용하여 "A", "B", "C", 및 "D"로부터 제1 핵심요소(이하에서는 '{A}'라고도 함), 제2 핵심요소(이하에서는 '{B}'라고도 함), 제3 핵심요소(이하에서는 '{B, C}'라고도 함), 제4 핵심요소(이하에서는 '{C}'라고도 함), 및 제5 핵심요소(이하에서는 '{D}'라고도 함)를 추출할 수 있다.
이때, 비교 관계 정보는 표 4와 같은 테이블로 정의될 수 있다.
Figure 112011080023155-pat00015
표 4에서, "{A, B, C}·>{A, B}"에서 양변의 "{A}"를 생략하면 "{B, C}·>{B}"와 동일하므로, 핵심요소 추출부(120)는 "{A, B, C}·>{A, B}"를 제외한 나머지 비교 관계들에서 핵심요소를 추출할 수 있다.
이후, 함수 연산부(130)는 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출한다(S120).
예를 들어, 함수 연산부(130)는 제1 핵심요소({A})에 대한 BPA 함수값(이하에서는 'm({A})'라고도 함)을 "0.3"으로 산출하고, 제2 핵심요소({B})에 대한 BPA 함수값(이하에서는 'm({B})'라고도 함)을 "0.3"으로 산출하고, 제3 핵심요소({B, C})에 대한 BPA 함수값(이하에서는 'm({B, C})'라고도 함)을 "0.2"로 산출하고, 제4 핵심요소({C})에 대한 BPA 함수값(이하에서는 'm({C})'라고도 함)을 "0.1"로 산출하며, 제5 핵심요소({D})에 대한 BPA 함수값(이하에서는 'm({D})'라고도 함)을 "0.1"로 산출할 수 있다.
다음, 신뢰치 연산부(140)는 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출한다(S130). 여기서, 신뢰치 연산부(140)는 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값을 산출하고, 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출할 수 있다.
예를 들어, 신뢰치 연산부(140)는 제1 핵심요소({A})에 대한 BPA 함수값인 "0.3"을 제1 보안 요구사항(A)에 대한 Bel 함수값으로 결정하고, 제1 핵심요소({A})에 대한 BPA 함수값인 "0.3"을 제1 보안 요구사항(A)에 대한 Pl 함수값으로 결정하며, 제1 보안 요구사항(A)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.3"을 제1 보안 요구사항(A)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제1 보안 요구사항(A)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제1 보안 요구사항(A)에 대한 신뢰구간을 "[0.3, 0.3]"으로 결정하고, 제1 보안 요구사항(A)에 대한 신뢰구간의 중간값인 "0.3"을 제1 보안 요구사항(A)에 대한 신뢰치로 결정할 수 있다.
또한, 신뢰치 연산부(140)는 제2 핵심요소({B})에 대한 BPA 함수값인 "0.3"을 제2 보안 요구사항(B)에 대한 Bel 함수값으로 결정하고, 제2 핵심요소({B})에 대한 BPA 함수값인 "0.3"과 제3 핵심요소({B, C})에 대한 BPA 함수값인 "0.2"을 합산하여 제2 보안 요구사항(B)에 대한 Pl 함수값을 산출하며, 제2 보안 요구사항(B)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.4"를 제2 보안 요구사항(B)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제2 보안 요구사항(B)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제2 보안 요구사항(B)에 대한 신뢰구간을 "[0.3, 0.5]"으로 결정하고, 제2 보안 요구사항(B)에 대한 신뢰구간의 중간값인 "0.4"를 제2 보안 요구사항(B)에 대한 신뢰치로 결정할 수 있다.
또한, 신뢰치 연산부(140)는 제4 핵심요소({C})에 대한 BPA 함수값인 "0.1"을 제3 보안 요구사항(C)에 대한 Bel 함수값으로 결정하고, 제4 핵심요소({C})에 대한 BPA 함수값인 "0.1"과 제3 핵심요소({B, C})에 대한 BPA 함수값인 "0.2'를 합하여 제3 보안 요구사항(C)에 대한 Pl 함수값을 산출하며, 제3 보안 요구사항(C)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.2"를 제3 보안 요구사항(C)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제3 보안 요구사항(C)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제3 보안 요구사항(C)에 대한 신뢰구간을 "[0.1, 0.3]"으로 결정하고, 제3 보안 요구사항(C)에 대한 신뢰구간의 중간값인 "0.2"를 제3 보안 요구사항(C)에 대한 신뢰치로 결정할 수 있다.
또한, 신뢰치 연산부(140)는 제5 핵심요소({D})에 대한 BPA 함수값인 "0.1"을 제4 보안 요구사항(D)에 대한 Bel 함수값으로 결정하고, 제5 핵심요소({D})에 대한 BPA 함수값인 "0.1"을 제4 보안 요구사항(D)에 대한 Pl 함수값을 산출하며, 제4 보안 요구사항(D)에 대하 Bel 함수값과 Pl 함수값의 중간값인 "0.1"을 제4 보안 요구사항(D)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제4 보안 요구사항(D)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제4 보안 요구사항(D)에 대한 신뢰구간을 "[0.1, 0.1]"으로 결정하고, 제4 보안 요구사항(D)에 대한 신뢰구간의 중간값인 "0.1"를 제4 보안 요구사항(D)에 대한 신뢰치로 결정할 수 있다.
다음, 우선순위 결정부(150)는 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 복수 개의 보안 요구사항들간의 우선순위를 결정한다(S140). 여기서, 우선순위 결정부(150)는 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 이용하여 신뢰치가 큰 순서로 복수 개의 보안 요구사항들간의 우선순위를 결정할 수 있다.
예를 들어, 우선순위 결정부(150)는 제1 보안 요구사항(A)에 대한 신뢰치가 "0.3"이고, 제2 보안 요구사항(B)에 대한 신뢰치가 "0.4"이고, 제3 보안 요구사항(C)에 대한 신뢰치가 "0.2"이며, 제4 보안 요구사항(D)에 대한 신뢰치가 "0.1"이면, 표 5와 같이 제1 보안 요구사항(A), 제2 보안 요구사항(B), 제3 보안 요구사항(C), 및 제4 보안 요구사항(D)간의 우선순위를 결정할 수 있다.
Figure 112011080023155-pat00016
도 4는 본 발명의 제1 실시 예에 따른 BPA 함수값 산출 방법을 도시한 도면이다.
도 4에 도시된 바와 같이, 먼저, 함수 연산부(130)는 미리 정해진 규칙에 따라 복수 개의 핵심요소들 각각에 대한 행렬을 생성한다(S121).
예를 들어, 함수 연산부(130)는 제1 핵심요소({A}), 제2 핵심요소({B}), 제3 핵심요소({B, C}), 제4 핵심요소({C}), 및 제5 핵심요소({D}) 각각에 대한 행렬을 수학식 12와 같이 생성할 수 있다.
Figure 112011080023155-pat00017
수학식 12와 같이, 함수 연산부(130)는 핵심요소의 개수를 열의 개수로 하여 복수 개의 핵심요소들 각각에 대한 행렬을 생성한다. 여기서, n번째 핵심요소에 대한 행렬은 n번째 열에 "1"의 값을 갖는다. 이때, BPA 행렬 및 Bel 행렬은 수학식 13과 같다.
Figure 112011080023155-pat00018
다음, 함수 연산부(130)는 복수 개의 보안 요구사항들에 대한 비교 관계 정보에 따라 복수 개의 핵심요소들 각각에 대한 행렬로부터 동치 행렬을 산출한다(S122). 여기서, 함수 연산부(130)는 복수 개의 보안 요구사항들에 대한 비교 관계 정보에 따라 신뢰도가 같은 핵심요소들 각각에 대한 행렬을 이용하여 동치 행렬을 산출할 수 있다.
예를 들어, 함수 연산부(130)는 제1 핵심요소({A})와 제2 핵심요소({B})의 신뢰도가 같으면 제1 핵심요소({A})에 대한 행렬 및 제2 핵심요소({B})에 대한 행렬을 이용하여 동치 행렬을 산출할 수 있다.
이때, 함수 연산부(130)는 제1 핵심요소({A})에 대한 행렬에서 제2 핵심요소({B})에 대한 행렬을 빼서 수학식 14와 같은 동치 행렬(E)을 산출할 수 있다.
Figure 112011080023155-pat00019
이후, 함수 연산부(130)는 복수 개의 핵심요소들 각각에 대한 행렬 및 동치 행렬을 이용하여 비동치 행렬을 산출한다(S123). 여기서, 함수 연산부(130)는 복수 개의 보안 요구사항들에 대한 비교 관계 정보에 따라 신뢰도가 서로 다른 핵심요소들 각각에 대한 행렬을 이용하여 비동치 행렬을 산출할 수 있다. 또한, 함수 연산부(130)는 복수 개의 핵심요소들 각각의 신뢰도가 "0"보다 크다는 조건에 대응되는 복수 개의 행들을 삽입하여 비동치 행렬을 산출할 수 있다.
예를 들어, 함수 연산부(130)는 수학식 15와 같은 비동치 행렬(IE0)을 산출할 수 있다.
Figure 112011080023155-pat00020
수학식 15에서, 비동치 행렬(IE0)의 1번째 행은 제3 핵심요소({B, C})의 신뢰도가 제2 핵심요소({B})의 신뢰도보다 큰 경우에 제3 핵심요소({B, C})에 대한 행렬에서 제2 핵심요소({B})에 대한 행렬을 빼서 산출되고, 2번째 행은 제2 핵심요소({B})의 신뢰도가 제4 핵심요소({C})의 신뢰도보다 큰 경우에 제2 핵심요소({B})에 대한 행렬에서 제4 핵심요소({C})의 행렬을 빼서 산출되며, 3번째 행은 제5 핵심요소({D})의 신뢰도가 "0"보다 큰 경우에 제5 핵심요소({D})에 대한 행렬에서 영행렬을 빼서 산출된다.
수학식 15에서, 비동치 행렬(IE0)의 4번째 행부터 7번째 행은 복수 개의 핵심요소들 각각의 신뢰도가 "0"보다 크다는 조건에 대응되는 행들이며, 제5 핵심요소({D})의 신뢰도가 "0"보다 큰 경우는 3번째 행과 중복되어 생략할 수 있다.
다음, 함수 연산부(130)는 균등 알고리즘을 적용하여 비동치 행렬을 변환한다(S124). 여기서, 함수 연산부(130)는 균등 알고리즘에 따라 동치 행렬을 기준으로 비동치 행렬을 변환하여 변환된 비동치 행렬(이하에서는 '변환 행렬'이라고도 함)을 생성할 수 있다.
예를 들어, 함수 연산부(130)는 가우스 소거법에 따라 수학식 2의 동치 행렬(E)에서 첫 번째로 "1"이 나오는 열을 수학식 3에 따른 비동치 행렬(IE0)에서 제거하기 위해서, 동치 행렬(E)에 "-1"을 곱하여 생성된 행렬을 비동치 행렬(IE0)의 4번째 행에 더해줌으로써, 함수 연산부(130)는 수학식 16과 같은 행렬을 생성할 수 있다.
Figure 112011080023155-pat00021
또한, 함수 연산부(130)는 수학식 16의 행렬에서 중복되는 4번째 행과 5번째 행 중 어느 하나를 제거하여 수학식 17과 같은 행렬을 생성할 수 있다.
Figure 112011080023155-pat00022
또한, 함수 연산부(130)는 수학식 17의 행렬에서 모든 인자가 "0"인 열을 제거하여 수학식 18과 같은 변환 행렬을 생성할 수 있다.
Figure 112011080023155-pat00023
이때, 함수 연산부(130)는 수학식 18과 같은 변환 행렬에 따라 BPA 행렬을 수학식 19와 같이 변환할 수 있다.
Figure 112011080023155-pat00024
이후, 함수 연산부(130)는 인지 알고리즘을 적용하여 변환 행렬로부터 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출한다(S125). 여기서, 함수 연산부(130)는 변환 행렬 및 제1 BPA 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 포함하는 최종 행렬을 산출할 수 있다.
예를 들어, 함수 연산부(130)는 변환 행렬(IE3)과 제1 BPA 행렬(BPA1)을 곱하여 산출되는 행렬을 이용하여 제2 BPA 행렬(BPA2)를 산출할 수 있다. 여기서, 함수 연산부(130)는 변환 행렬(IE3)과 제1 BPA 행렬(BPA1)을 곱하여 수학식 20과 같은 행렬을 산출할 수 있다.
Figure 112011080023155-pat00025
이때, 함수 연산부(130)는 수학식 20에서 산출된 행렬의 행들 중 "0"이하의 값을 갖는 m번째 행이 있으면 변환 행렬(IE3)에서 m번째 행을 추출하고, 변환 행렬(IE3)에서 추출된 행들의 n번째 열의 총합을 제1 BPA 행렬(BPA1)의 n번째 행의 값과 더하여 제2 BPA 행렬(BPA2)을 산출한다. 여기서, 함수 연산부(130)는 수학식 21에 따라 제2 BPA 행렬(BPA2)을 산출할 수 있다.
Figure 112011080023155-pat00026
또한, 함수 연산부(130)는 다시 변환 행렬(IE3)과 제1 BPA 행렬(BPA1)을 곱하여 산출된 행렬의 행들 중 "0"이하의 값을 갖는 행이 있는지 판단하여 "0"이하의 값을 갖는 행이 없을 때까지 동일한 절차에 따라 BPA 행렬을 갱신할 수 있다. 여기서, 함수 연산부(130)는 BPA 행렬을 갱신하여 수학식 22에 따라 최종 BPA 행렬(BPA3)을 산출할 수 있다.
Figure 112011080023155-pat00027
또한, 함수 연산부(130)는 마지막으로 갱신된 BPA 행렬을 이용하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출할 수 있다.
또한, 함수 연산부(130)는 비동치 행렬에서 제거된 행에 대응되는 핵심요소의 BPA 함수값을 해당 핵심요소와 신뢰도가 같은 다른 핵심요소의 BPA 함수값으로 결정하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출할 수 있다. 여기서, 함수 연산부(130)는 수학식 23에 따라 BPA 행렬을 산출하여 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출할 수 있다.
Figure 112011080023155-pat00028
다음은, 도 5를 참고하여 본 발명의 제2 실시 예에 따른 우선순위 결정 장치가 보안 요구사항들간의 우선순위를 결정하는 방법에 대해 설명한다.
도 5는 본 발명의 제2 실시 예에 따른 우선순위 결정 방법을 도시한 도면이다.
도 5에 도시된 바와 같이, 먼저, 보안 요구사항 추출부(110)는 특정 소프트웨어에서 발생하거나 발생할 것으로 예상되는 복수 개의 보안 취약점들로부터 복수 개의 보안 요구사항들을 추출한다(S200).
예를 들어, 보안 요구사항 추출부(110)는 복수 개의 보안 취약점들로부터 제1 보안 요구사항(이하에서는 'A'라고도 함), 제2 보안 요구사항(이하에서는 'B'라고도 함), 제3 보안 요구사항(이하에서는 'C'라고도 함), 및 제4 보안 요구사항(이하에서는 'D'라고도 함)을 추출할 수 있다.
다음, 핵심요소 추출부(120)는 복수 개의 보안 요구사항들에 대한 서로 다른 비교 관계 정보를 이용하여 복수 개의 보안 요구사항들로부터 제1 비교 관계 정보에 따른 복수 개의 핵심요소들 및 제2 비교 관계 정보에 따른 복수 개의 핵심요소들을 추출한다(S210).
예를 들어, 핵심요소 추출부(120)는 복수 개의 보안 요구사항들인 "A", "B", "C", 및 "D"에 대한 제1 비교 관계 정보를 이용하여 "A", "B", "C", 및 "D"로부터 제1 비교 관계 정보에 따른 제1 핵심요소(이하에서는 '{A}'라고도 함), 제2 핵심요소(이하에서는 '{B}'라고도 함), 제3 핵심요소(이하에서는 '{B, C}'라고도 함), 제4 핵심요소(이하에서는 '{C}'라고도 함), 및 제5 핵심요소(이하에서는 '{D}'라고도 함)를 추출할 수 있다.
이때, 제1 비교 관계 정보는 표 6과 같은 테이블로 정의될 수 있다.
Figure 112011080023155-pat00029
또한, 핵심요소 추출부(120)는 복수 개의 보안 요구사항들인 "A", "B", "C", 및 "D"에 대한 제2 비교 관계 정보를 이용하여 "A", "B", "C", 및 "D"로부터 제2 비교 관계 정보에 따른 제1 핵심요소(이하에서는 '{A}'라고도 함), 제6 핵심요소(이하에서는 '{A, B}'라고도 함), 제2 핵심요소(이하에서는 '{B}'라고도 함), 제4 핵심요소(이하에서는 '{C}'라고도 함), 및 제5 핵심요소(이하에서는 '{D}'라고도 함)를 추출할 수 있다.
이때, 제2 비교 관계 정보는 표 7과 같은 테이블로 정의될 수 있다.
Figure 112011080023155-pat00030
이후, 함수 연산부(130)는 제1 비교 관계 정보에 따른 복수 개의 핵심요소들 각각에 대한 BPA 함수값 및 제2 비교 관계 정보에 따른 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출한다(S220).
예를 들어, 함수 연산부(130)는 제1 비교 관계 정보에 따른 제1 핵심요소({A})에 대한 BPA 함수값(이하에서는 'm1({A})'라고도 함)을 "0.3"으로 산출하고, 제1 비교 관계 정보에 따른 제2 핵심요소({B})에 대한 BPA 함수값(이하에서는 'm1({B})'라고도 함)을 "0.3"으로 산출하고, 제1 비교 관계 정보에 따른 제3 핵심요소({B, C})에 대한 BPA 함수값(이하에서는 'm1({B, C})'라고도 함)을 "0.2"로 산출하고, 제1 비교 관계 정보에 따른 제4 핵심요소({C})에 대한 BPA 함수값(이하에서는 'm1({C})'라고도 함)을 "0.1"로 산출하며, 제1 비교 관계 정보에 따른 제5 핵심요소({D})에 대한 BPA 함수값(이하에서는 'm1({D})'라고도 함)을 "0.1"로 산출할 수 있다.
또한, 함수 연산부(130)는 제2 비교 관계 정보에 따른 제1 핵심요소({A})에 대한 BPA 함수값(이하에서는 'm2({A})'라고도 함)을 "0.1"로 산출하고, 제2 비교 관계 정보에 따른 제6 핵심요소({A, B})에 대한 BPA 함수값(이하에서는 'm2({A, B})'라고도 함)을 "0.2"로 산출하고, 제2 비교 관계 정보에 따른 제2 핵심요소({B})에 대한 BPA 함수값(이하에서는 'm2({B})'라고도 함)을 "0.3"으로 산출하고, 제2 비교 관계 정보에 따른 제4 핵심요소({C})에 대한 BPA 함수값(이하에서는 'm2({C})'라고도 함)을 "0.3"으로 산출하며, 제2 비교 관계 정보에 따른 제5 핵심요소({D})에 대한 BPA 함수값(이하에서는 'm2({D})'라고도 함)을 "0.1"로 산출할 수 있다.
다음, 함수 연산부(130)는 결합 규칙을 적용하여 제1 비교 관계 정보 또는 제2 비교 관계 정보에 따른 복수 개의 핵심요소들 각각에 대한 결합 함수값을 산출한다(S230).
예를 들어, 함수 연산부(130)는 제1 비교 관계 정보에 따른 복수 개의 핵심요소들 각각에 대한 BPA 함수값과 제2 비교 관계 정보에 따른 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 곱한 결과값을 핵심요소 별로 분배한 후, 각 핵심요소에 대한 BPA 함수값을 모두 합산하여 결합 규칙에 따른 복수 개의 핵심요소들 각각에 대한 결합 함수값을 산출한다.
이때, 함수 연산부(130)는 표 8과 같이 결합 규칙에 따른 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출할 수 있다.
Figure 112011080023155-pat00031
표 8에서, "m1({A})", "m1({B})", "m1({B, C})", "m1({C})", 및 "m1({D})"는 평가자 1에 의해 정의된 제1 비교 관계 정보에 대응되고, "m2({A})", "m2({A, B})", "m2({B})", "m2({C})", 및 "m2({D})"는 평가자 2에 의해 정의된 제2 비교 관계 정보에 대응된다.
표 8에서, "m3({A})"는 결합 규칙에 따른 제1 핵심요소에 대한 BPA 함수값을 나타내고, "m3({B})"는 결합 규칙에 따른 제2 핵심요소에 대한 BPA 함수값을 나타내고, "m3({B, C})"는 결합 규칙에 따른 제3 핵심요소에 대한 BPA 함수값을 나타내고, "m3({C})"는 결합 규칙에 따른 제4 핵심요소에 대한 BPA 함수값을 나타내고, "m3({D})"는 결합 규칙에 따른 제5 핵심요소에 대한 BPA 함수값을 나타내며, "m3({A, B})"는 결합 규칙에 따른 제6 핵심요소에 대한 BPA 함수값을 나타낸다.
이때, 함수 연산부(130)는 제1 핵심요소에 대한 BPA 함수값과 제2 핵심요소에 대한 BPA 함수값을 곱하여 생성된 결과값을 제1 핵심요소에 대한 BPA 함수값과 제2 핵심요소에 대한 BPA 함수값간의 비율에 따라 핵심요소 별로 분배할 수 있다.
또한, 함수 연산부(130)는 수학식 24와 같이 결합 규칙에 따른 복수 개의 핵심요소들 각각에 대한 BPA 함수값으로부터 복수 개의 핵심요소들 각각에 대한 결합 함수값을 산출할 수 있다.
Figure 112011080023155-pat00032
수학식 24에서, "M({A})"는 제1 핵심요소에 대한 결합 함수값을 나타내고, "M({B})"는 제2 핵심요소에 대한 결합 함수값을 나타내고, "M({B, C})"는 제3 핵심요소에 대한 결합 함수값을 나타내고, "M({C})"는 제4 핵심요소에 대한 결합 함수값을 나타내고, "M({D})"는 제5 핵심요소에 대한 결합 함수값을 나타내며, "M({A, B})"는 제6 핵심요소에 대한 결합 함수값을 나타낸다.
이후, 신뢰치 산출부(140)는 복수 개의 핵심요소들 각각에 대한 결합 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출한다(S240). 여기서, 신뢰치 연산부(140)는 복수 개의 핵심요소들 각각에 대한 결합 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값을 산출하고, 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값을 이용하여 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출할 수 있다.
예를 들어, 신뢰치 연산부(140)는 제1 핵심요소({A})에 대한 결합 함수값인 "0.227"을 제1 보안 요구사항(A)에 대한 Bel 함수값으로 결정하고, 제1 핵심요소({A})에 대한 결합 함수값인 "0.227"과 제6 핵심요소({A, B})에 대한 결합 함수값인 "0.026"을 합산하여 제1 보안 요구사항(A)에 대한 Pl 함수값을 산출하며, 제1 보안 요구사항(A)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.24"를 제1 보안 요구사항(A)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제1 보안 요구사항(A)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제1 보안 요구사항(A)에 대한 신뢰구간을 "[0.227, 0.253]"으로 결정하고, 제1 보안 요구사항(A)에 대한 신뢰구간의 중간값인 "0.24"를 제1 보안 요구사항(A)에 대한 신뢰치로 결정할 수 있다.
또한, 신뢰치 연산부(140)는 제2 핵심요소({B})에 대한 결합 함수값인 "0.43"을 제2 보안 요구사항(B)에 대한 Bel 함수값으로 결정하고, 제2 핵심요소({B})에 대한 결합 함수값인 "0.43", 제3 핵심요소({B, C})에 대한 결합 함수값인 "0.026", 및 제6 핵심요소({A, B})에 대한 결합 함수값인 "0.026"을 합산하여 제2 보안 요구사항(B)에 대한 Pl 함수값을 산출하며, 제2 보안 요구사항 (B)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.456"을 제2 보안 요구사항(B)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제2 보안 요구사항(B)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제2 보안 요구사항(B)에 대한 신뢰구간을 "[0.43, 0.482]"로 결정하고, 제2 보안 요구사항(B)에 대한 신뢰구간의 중간값인 "0.456"을 제2 보안 요구사항(B)에 대한 신뢰치로 결정할 수 있다.
또한, 신뢰치 연산부(140)는 제4 핵심요소({C})에 대한 결합 함수값인 "0.227"을 제3 보안 요구사항(C)에 대한 Bel 함수값으로 결정하고, 제3 핵심요소({B, C})에 대한 결합 함수값인 "0.026"과 제4 핵심요소({C})에 대한 결합 함수값인 "0.227"을 합산하여 제3 보안 요구사항(C)에 대한 Pl 함수값을 산출하며, 제3 보안 요구사항(C)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.24"를 제3 보안 요구사항(C)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제3 보안 요구사항(C)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제3 보안 요구사항(C)에 대한 신뢰구간을 "[0.227, 0.253]"으로 결정하고, 제3 보안 요구사항(C)에 대한 신뢰구간의 중간값인 "0.24"를 제3 보안 요구사항(C)에 대한 신뢰치로 결정할 수 있다.
또한, 신뢰치 연산부(140)는 제5 핵심요소({D})에 대한 결합 함수값인 "0.064"를 제4 보안 요구사항(D)에 대한 Bel 함수값 및 Pl 함수값으로 결정하고, 제4 보안 요구사항(D)에 대한 Bel 함수값과 Pl 함수값의 중간값인 "0.64"를 제4 보안 요구사항(D)에 대한 신뢰치로 결정할 수 있다.
이때, 신뢰치 연산부(140)는 제4 보안 요구사항(D)에 대한 Bel 함수값 및 Pl 함수값을 이용하여 제4 보안 요구사항(D)에 대한 신뢰구간을 "[0.064, 0.064]"로 결정하고, 제4 보안 요구사항(D)에 대한 신뢰구간의 중간값인 "0.064"를 제4 보안 요구사항(D)에 대한 신뢰치로 결정할 수 있다.
다음, 우선순위 결정부(150)는 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 복수 개의 보안 요구사항들간의 우선순위를 결정한다(S250). 여기서, 우선순위 결정부(150)는 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 이용하여 신뢰치가 큰 순서로 복수 개의 보안 요구사항들간의 우선순위를 결정할 수 있다.
예를 들어, 우선순위 결정부(150)는 제1 보안 요구사항(A)에 대한 신뢰치가 "0.24"이고, 제2 보안 요구사항(B)에 대한 신뢰치가 "0.456"이고, 제3 보안 요구사항(C)에 대한 신뢰치가 "0.24"이며, 제4 보안 요구사항(D)에 대한 신뢰치가 "0.064"이면, 표 9와 같이 제1 보안 요구사항(A), 제2 보안 요구사항(B), 제3 보안 요구사항(C), 및 제4 보안 요구사항(D)간의 우선순위를 결정할 수 있다.
Figure 112011080023155-pat00033
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 우선순위 결정 장치
110: 보안 요구사항 추출부
120: 핵심요소 결정부
130: 함수 연산부
140: 신뢰치 연산부
150: 우선순위 결정부

Claims (12)

  1. 복수 개의 보안 요구사항들에 대한 비교 관계 정보를 이용하여 각각이 상기 복수 개의 보안 요구사항들 중 하나 이상의 집합에 상응하는 복수 개의 핵심요소들을 추출하는 단계;
    상기 복수 개의 핵심요소들 각각에 대한 행렬을 이용하여 상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계;
    상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계; 및
    상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 상기 복수 개의 보안 요구사항들간의 우선순위를 결정하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
  2. 청구항 1에 있어서,
    상기 비교 관계 정보는
    상기 복수 개의 보안 요구사항들 중 일부의 보안 요구사항들간의 신뢰도의 크기를 비교한 결과를 포함하는 보안 요구사항의 우선순위 결정 방법.
  3. 청구항 1에 있어서,
    상기 BPA 함수값을 산출하는 단계는
    상기 복수 개의 핵심요소들 각각에 대한 행렬을 이용하여 상기 비교 관계 정보에 따라 비동치 행렬을 산출하는 단계; 및
    상기 비동치 행렬을 이용하여 상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
  4. 청구항 3에 있어서,
    상기 비동치 행렬을 산출하는 단계는
    상기 비교 관계 정보에 따라 상기 복수 개의 핵심요소들 중 신뢰도가 서로 다른 제1 핵심요소 및 제2 핵심요소 각각에 대한 행렬을 이용하여 상기 비동치 행렬을 산출하는 보안 요구사항의 우선순위 결정 방법.
  5. 청구항 3에 있어서,
    상기 비동치 행렬을 이용하여 상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계는
    상기 비동치 행렬 및 미리 정해진 BPA 행렬을 이용하여 상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 보안 요구사항의 우선순위 결정 방법.
  6. 청구항 3에 있어서,
    상기 BPA 함수값을 산출하는 단계는
    상기 비교 관계 정보에 따라 상기 복수 개의 핵심요소들 중 신뢰도가 같은 핵심요소들에 대한 행렬을 이용하여 동치 행렬을 산출하는 단계;
    상기 동치 행렬을 이용하여 상기 비동치 행렬을 구성하는 일부 행 또는 열을 제거한 변환 행렬을 생성하는 단계; 및
    상기 변환 행렬을 이용하여 상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 산출하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
  7. 청구항 1에 있어서,
    상기 신뢰치를 산출하는 단계는
    상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 상기 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값을 산출하는 단계; 및
    상기 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값으로부터 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
  8. 청구항 7에 있어서,
    상기 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값 및 Pl 함수값으로부터 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계는
    상기 복수 개의 보안 요구사항들 각각에 대한 Bel 함수값과 Pl 함수값의 중간값을 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치로 결정하는 보안 요구사항의 우선순위 결정 방법.
  9. 복수 개의 보안 요구사항들로부터 제1 비교 관계 테이블에 대응되는 제1 핵심요소를 추출하는 단계;
    상기 복수 개의 보안 요구사항들로부터 제2 비교 관계 테이블에 대응되는 제2 핵심요소를 추출하는 단계;
    상기 제1 핵심요소에 대한 BPA 함수값 및 상기 제2 핵심요소에 대한 BPA 함수값을 산출하는 단계;
    상기 제1 핵심요소에 대한 BPA 함수값 및 상기 제2 핵심요소에 대한 BPA 함수값을 이용하여 미리 정해진 결합 규칙에 따라 복수 개의 핵심요소들 각각에 대한 결합 함수값을 산출하는 단계;
    상기 복수 개의 핵심요소들 각각에 대한 결합 함수값을 이용하여 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치를 산출하는 단계; 및
    상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치에 따라 상기 복수 개의 보안 요구사항들간의 우선순위를 결정하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
  10. 청구항 9에 있어서,
    상기 결합 함수값을 산출하는 단계는
    상기 제1 핵심요소에 대한 BPA 함수값과 상기 제2 핵심요소에 대한 BPA 함수값을 곱한 결과값을 상기 제1 핵심요소와 상기 제2핵심요소 별로 분배하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
  11. 청구항 10에 있어서,
    상기 분배하는 단계는
    상기 제1 핵심요소에 대한 BPA 함수값과 상기 제2 핵심요소에 대한 BPA 함수값간의 비율에 따라 상기 결과값을 상기 제1 핵심요소와 상기 제2 핵심요소 별로 분배하는 보안 요구사항의 우선순위 결정 방법.
  12. 청구항 9에 있어서,
    상기 신뢰치를 산출하는 단계는
    상기 복수 개의 핵심요소들 각각에 대한 BPA 함수값을 이용하여 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰구간을 산출하는 단계; 및
    상기 복수 개의 보안 요구사항들 각각에 대한 신뢰구간의 대표값을 상기 복수 개의 보안 요구사항들 각각에 대한 신뢰치로 결정하는 단계를 포함하는 보안 요구사항의 우선순위 결정 방법.
KR1020110104528A 2011-10-13 2011-10-13 보안 요구사항의 우선순위 결정 방법 KR101310208B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110104528A KR101310208B1 (ko) 2011-10-13 2011-10-13 보안 요구사항의 우선순위 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110104528A KR101310208B1 (ko) 2011-10-13 2011-10-13 보안 요구사항의 우선순위 결정 방법

Publications (2)

Publication Number Publication Date
KR20130039885A KR20130039885A (ko) 2013-04-23
KR101310208B1 true KR101310208B1 (ko) 2013-09-24

Family

ID=48439900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110104528A KR101310208B1 (ko) 2011-10-13 2011-10-13 보안 요구사항의 우선순위 결정 방법

Country Status (1)

Country Link
KR (1) KR101310208B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020081311A (ko) * 2000-02-08 2002-10-26 해리스 코포레이션 네트워크의 보안 정도를 평가하기 위한 시스템 및 방법
KR20040105259A (ko) * 2002-05-24 2004-12-14 텔레폰악티에볼라겟엘엠에릭슨(펍) 서비스 제공자의 서비스에 대한 사용자를 인증하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020081311A (ko) * 2000-02-08 2002-10-26 해리스 코포레이션 네트워크의 보안 정도를 평가하기 위한 시스템 및 방법
KR20040105259A (ko) * 2002-05-24 2004-12-14 텔레폰악티에볼라겟엘엠에릭슨(펍) 서비스 제공자의 서비스에 대한 사용자를 인증하는 방법

Also Published As

Publication number Publication date
KR20130039885A (ko) 2013-04-23

Similar Documents

Publication Publication Date Title
AU2018260855B2 (en) Hybrid cloud migration delay risk prediction engine
CN110908795A (zh) 云计算集群混部作业调度方法、装置、服务器及存储装置
Zhu et al. The r-interdiction median problem with probabilistic protection and its solution algorithm
WO2021088688A1 (zh) 一种卷积加速运算方法、装置、存储介质及终端设备
US9692779B2 (en) Device for quantifying vulnerability of system and method therefor
US20170206450A1 (en) Method and apparatus for machine learning
US9639739B2 (en) Facial image bucketing with expectation maximization and facial coordinates
JP2020126574A5 (ko)
KR20180121459A (ko) 보안 위험 평가 기반 보안 투자 방법 및 장치
Stepanov et al. Efficient algorithm for evaluating the required volume of resource in wireless communication systems under joint servicing of heterogeneous traffic for the internet of things
WO2020084279A1 (en) Data communication
CN113537400A (zh) 一种基于分支神经网络的边缘计算节点的分配与退出方法
KR101310208B1 (ko) 보안 요구사항의 우선순위 결정 방법
CN115794323A (zh) 任务调度方法、装置、服务器和存储介质
CN108965035B (zh) 一种基于攻击增益的攻击路径预测方法
KR102354094B1 (ko) 머신러닝 기반 보안관제 장치 및 방법
CN114780932B (zh) 管理三化平台的跨区块链数据交互验证方法、系统及设备
CN115906921A (zh) 深度学习模型的训练方法、目标对象检测方法和装置
US20170149831A1 (en) Apparatus and method for verifying detection rule
CN110097893B (zh) 音频信号的转换方法及装置
CN111026929B (zh) 文本审批方法、装置及存储介质
US10664307B1 (en) System and method for assigning tasks to computer system elements
CN112930542A (zh) 用于量化神经网络的系统和方法
KR102223345B1 (ko) 완료 시간 예측을 위한 데이터 변환 장치 및 방법
US20220101160A1 (en) Model reuse-based model prediction

Legal Events

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

Payment date: 20160628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 7