맞춤기술찾기

이전대상기술

프로그램 코드의 오염 명세 생성 방법, 그리고 이를 구현하기 위한 장치

  • 기술번호 : KST2023002889
  • 담당센터 : 서울동부기술혁신센터
  • 전화번호 : 02-2155-3662
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 오염 명세 분석 대상 코드에 포함된 복수의 함수들에 대응하는 복수의 노드들 및 상기 복수의 함수들 사이의 관계에 기초하여 상기 복수의 노드들 사이를 연결하는 복수의 에지들(edge)을 포함하는 네트워크 모델을 생성하는 단계, 상기 복수의 함수들 사이의 상기 관계에 기초하여, 상기 복수의 노드들 각각에 대해 오염 분석을 위한 조건부 확률 테이블(CPT: Conditional Probability Table)을 생성하는 단계, 및 상기 조건부 확률 테이블에 기초하여 상기 분석 대상 코드에 대한 오염 명세(taint specification)를 생성하는 단계를 포함한다.
Int. CL G06F 11/36 (2006.01.01) G06F 21/64 (2013.01.01)
CPC G06F 11/3604(2013.01) G06F 11/3664(2013.01) G06F 21/64(2013.01) G06F 11/3684(2013.01) G06F 11/3688(2013.01) G06F 11/3692(2013.01)
출원번호/일자 1020210194357 (2021.12.31)
출원인 삼성에스디에스 주식회사, 고려대학교 산학협력단
등록번호/일자
공개번호/일자 10-2023-0103453 (2023.07.07) 문서열기
공고번호/일자
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 공개
심사진행상태 수리
심판사항
구분 국내출원/신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 N
심사청구항수 20

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 삼성에스디에스 주식회사 대한민국 서울특별시 송파구
2 고려대학교 산학협력단 대한민국 서울특별시 성북구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 지윤찬 서울특별시 송파구
2 금영준 서울특별시 송파구
3 오학주 서울특별시 강남구
4 이정수 서울특별시 동대문구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 특허법인가산 대한민국 서울 서초구 남부순환로 ****, *층(서초동, 한원빌딩)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
최종권리자 정보가 없습니다
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2021.12.31 수리 (Accepted) 1-1-2021-1534576-42
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
컴퓨팅 장치에 의해 수행되는 방법에 있어서,오염 명세 분석 대상 코드에 포함된 복수의 함수들에 대응하는 복수의 노드들 및 상기 복수의 함수들 사이의 관계에 기초하여 상기 복수의 노드들 사이를 연결하는 복수의 에지들(edge)을 포함하는 네트워크 모델을 생성하는 단계;상기 복수의 함수들 사이의 상기 관계에 기초하여, 상기 복수의 노드들 각각에 대해 오염 분석을 위한 조건부 확률 테이블(CPT: Conditional Probability Table)을 생성하는 단계; 및상기 조건부 확률 테이블에 기초하여 상기 분석 대상 코드에 대한 오염 명세(taint specification)를 생성하는 단계를 포함하는,프로그램 코드의 오염 명세 생성 방법
2 2
제1항에 있어서,상기 조건부 확률 테이블을 생성하는 단계는,상기 조건부 확률 테이블에 초기 값을 부여하는 단계;상기 복수의 노드들 중 제1 노드의 테인트 분류를 나타내는 외부 제공 정보를 이용하여 상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 업데이트하는 단계; 및상기 업데이트된 제1 노드의 테인트 분류 각각에 해당하는 확률 값이 사전 설정된 조건을 만족한다는 판정에 기초하여, 상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값의 업데이트를 종료하는 단계를 포함하는,프로그램 코드의 오염 명세 생성 방법
3 3
제2항에 있어서,상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 업데이트하는 단계는,상기 제1 노드를 선정하는 단계;상기 제1 노드에 대한 상기 외부 제공 정보에 기초하여, 상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 갱신하는 단계; 및 상기 제1 노드에 직접 연결된 제2 노드의 테인트 분류 각각에 해당하는 확률 값을 갱신하는 단계를 포함하는,프로그램 코드의 오염 명세 생성 방법
4 4
제3항에 있어서,상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 업데이트하는 단계는,상기 제2 노드를 통해 상기 제1 노드에 간접적으로 연결된 제3 노드의 테인트 분류 각각에 해당하는 확률 값을 갱신하는 단계를 더 포함하는,프로그램 코드의 오염 명세 생성 방법
5 5
제3항에 있어서,상기 제1 노드를 선정하는 단계는,상기 복수의 노드들 중 에지의 수가 최대인 노드를 상기 제1 노드로 선정하는 단계를 포함하는,프로그램 코드의 오염 명세 생성 방법
6 6
제1항에 있어서,상기 복수의 엣지들은,상호간 데이터를 주고받는 함수들에 각각 대응되는 노드들을 연결하는 제1 타입의 에지를 포함하는,프로그램 코드의 오염 명세 생성 방법
7 7
제1항에 있어서,상기 복수의 엣지들은,유사도가 높은 함수들에 각각 대응되는 노드들을 연결하는 제2 타입의 에지를 포함하고,상기 유사도는 함수의 형태적 특성 및 의미적 특성 중 적어도 하나에 기초하여 결정되는,프로그램 코드의 오염 명세 생성 방법
8 8
제1항에 있어서,상기 네트워크 모델은, 베이지안(Bayesian) 네트워크 모델인,프로그램 코드의 오염 명세 생성 방법
9 9
제1항에 있어서,상기 조건부 확률 테이블을 생성하는 단계는,상기 복수의 함수들에 대응되는 각각의 노드에 대하여, 각 노드와 연관된 조건 별로, 각 노드가 제1 테인트 분류에 해당할 제1 확률 값, 제2 테인트 분류에 해당할 제2 확률 값, 그리고 제3 테인트 분류에 해당할 제3 확률 값을 각각 설정하는 단계를 포함하고,상기 제1 테인트 분류는 테인트 소스(taint source)이고, 상기 제2 테인트 분류는 테인트 싱크(taint sink)이며, 제3 테인트 분류는 테인트 소스 및 테인트 싱크 중 어느 것도 아닌 것에 해당하며,상기 제1 확률 값 내지 상기 제3 확률 값의 총합은 1인,프로그램 코드의 오염 명세 생성 방법
10 10
제1항에 있어서,상기 조건부 확률 테이블을 생성하는 단계는,상기 복수의 함수들에 대응되는 각각의 노드에 대하여, 각 노드와 연관된 조건 별로, 각 노드가 제1 테인트 분류에 해당할 제1 확률 값, 제2 테인트 분류에 해당할 제2 확률 값, 제3 테인트 분류에 해당할 제3 확률 값, 그리고 제4 테인트 분류에 해당할 제4 확률 값을 각각 설정하는 단계를 포함하고,상기 제1 테인트 분류는 테인트 소스이고, 상기 제2 테인트 분류는 테인트 싱크이며, 상기 제4 테인트 분류는 테인트 새니타이저(taint sanitizer)이고, 상기 제3 테인트 분류는 테인트 소스, 테인트 싱크, 테인트 새니타이저 중 어느 것도 아닌 것에 해당하며,상기 제1 확률 값 내지 상기 제4 확률 값의 총합은 1인,프로그램 코드의 오염 명세 생성 방법
11 11
제9항에 있어서,상기 조건부 확률 테이블을 생성하는 단계는,상기 네트워크 모델의 제2 노드의 자식 노드인 제3 노드가 상기 제2 노드와 동일한 테인트 분류를 가질 조건부 확률 값을, 상기 제3 노드가 상기 제2 노드와 상이한 테인트 분류를 가질 조건부 확률 값보다 높게 설정하는 단계를 포함하고,상기 제3 노드는 상기 제2 노드와 유사성(similarity)을 가지는 노드인,프로그램 코드의 오염 명세 생성 방법
12 12
제9항에 있어서,상기 조건부 확률 테이블을 생성하는 단계는,상기 네트워크 모델의 제2 노드가 상기 제1 테인트 분류일 경우, 상기 제2 노드의 자식 노드인 제4 노드가 상기 제1 테인트 분류일 조건부 확률 값을, 상기 제4 노드가 상기 제2 테인트 분류 또는 상기 제3 테인트 분류일 조건부 확률 값보다 낮게 설정하는 단계; 및상기 제2 노드가 상기 제2 테인트 분류일 경우, 상기 제4 노드가 상기 제1 테인트 분류 또는 상기 제2 테인트 분류일 조건부 확률 값을 상기 제4 노드가 상기 제3 테인트 분류일 조건부 확률 값보다 낮게 설정하는 단계를 포함하고,상기 제4 노드는 상기 제2 노드와 데이터를 교환하는 관계를 가지는 노드인,프로그램 코드의 오염 명세 생성 방법
13 13
제10항에 있어서,상기 조건부 확률 테이블을 생성하는 단계는,상기 네트워크 모델의 제2 노드가 상기 제1 테인트 분류일 경우, 상기 제2 노드의 자식 노드인 제4 노드가 상기 제1 테인트 분류일 조건부 확률 값을, 상기 제4 노드가 상기 제2 테인트 분류 내지 상기 제4 테인트 분류일 조건부 확률 값보다 낮게 설정하는 단계; 상기 제2 노드가 상기 제2 테인트 분류일 경우, 상기 제4 노드가 상기 제1 테인트 분류 또는 상기 제2 테인트 분류 또는 상기 제4 테인트 분류일 조건부 확률 값을 상기 제4 노드가 상기 제3 테인트 분류일 조건부 확률 값보다 낮게 설정하는 단계; 및 상기 제2 노드가 상기 제4 테인트 분류일 경우, 상기 제4 노드가 상기 제1 테인트 분류 또는 상기 제4 테인트 분류일 조건부 확률 값을 상기 제4 노드가 상기 제2 테인트 분류 또는 상기 제3 테인트 분류일 조건부 확률 값보다 낮게 설정하는 단계를 포함하고,상기 제4 노드는 상기 제2 노드와 데이터를 교환하는 관계를 가지는 노드인,프로그램 코드의 오염 명세 생성 방법
14 14
제1항에 있어서,상기 복수의 노드들의 개수가 기준치 이상인 경우 상기 생성된 네트워크 모델을 제1 네트워크 모델 및 제2 네트워크 모델로 분할하는 단계;상기 네트워크 모델의 복수의 노드들 각각에 대해 생성된 조건부 확률 테이블을 이용하여 상기 제1 네트워크 모델 및 상기 제2 네트워크 모델에 포함된 각 노드 별 조건부 확률 테이블의 초기 확률 값을 설정하는 단계; 및상기 제1 네트워크 모델 및 상기 제2 네트워크 모델에 포함된 각 노드의 테인트 분류를 나타내는 외부 제공 정보를 이용하여 상기 각 노드에 대해 설정된 테인트 분류 각각에 해당하는 확률 값을 업데이트하는 단계를 더 포함하는,프로그램 코드의 오염 명세 생성 방법
15 15
제14항에 있어서,상기 복수의 노드들의 개수가 기준치 이상인 경우 상기 생성된 네트워크 모델을 제1 네트워크 모델 및 제2 네트워크 모델로 분할하는 단계는,상기 네트워크 모델에서 삭제될 경우 상기 네트워크 모델에서 고립되는 노드의 개수가 최소가 되도록 하는 제1 에지를 결정하는 단계; 및상기 제1 에지를 삭제하여 상기 네트워크 모델을 제1 네트워크 모델 및 제2 네트워크 모델로 분할하는 단계를 포함하는,프로그램 코드의 오염 명세 생성 방법
16 16
제14항에 있어서,상기 복수의 노드의 개수가 기준치 이상인 경우 상기 생성된 네트워크 모델을 제1 네트워크 모델 및 제2 네트워크 모델로 분할하는 단계는,상기 제1 네트워크 모델 및 제2 네트워크 모델에 속하게 될 노드의 개수의 차이가 기준치 이하가 되도록 분할하는 단계를 포함하는,프로그램 코드의 오염 명세 생성 방법
17 17
컴퓨터로 하여금 제1 항 내지 제16 항 중 어느 한 항의 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된, 컴퓨터 판독 가능한 비일시적 기록 매체
18 18
오염 명세 생성 장치에 있어서,하나 이상의 프로세서;외부장치와 통신하는 통신 인터페이스;상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,오염 명세 분석 대상 코드에 포함된 복수의 함수들에 대응하는 복수의 노드들 및 상기 복수의 함수들 사이의 관계에 기초하여 상기 복수의 노드들 사이를 연결하는 복수의 에지들(edge)을 포함하는 네트워크 모델을 생성하는 동작, 상기 복수의 함수들 사이의 상기 관계에 기초하여, 상기 복수의 노드들 각각에 대해 오염 분석을 위한 조건부 확률 테이블(CPT: Conditional Probability Table)을 생성하는 동작, 및상기 조건부 확률 테이블에 기초하여 상기 분석 대상 코드에 대한 오염 명세(taint specification)를 생성하는 동작을 수행하기 위한 인스트럭션을 포함하는,오염 명세 생성 장치
19 19
제18항에 있어서,상기 조건부 확률 테이블을 생성하는 동작은,상기 조건부 확률 테이블에 초기 값을 부여하는 동작,상기 복수의 노드들 중 제1 노드의 테인트 분류를 나타내는 외부 제공 정보를 이용하여 상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 업데이트하는 동작, 및상기 업데이트된 제1 노드의 테인트 분류 각각에 해당하는 확률 값이 사전 설정된 조건을 만족한다는 판정에 기초하여, 상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값의 업데이트를 종료하는 동작을 포함하는,오염 명세 생성 장치
20 20
제19항에 있어서,상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 업데이트하는 동작은,상기 제1 노드를 선정하는 동작,상기 제1 노드에 대한 상기 외부 제공 정보에 기초하여, 상기 제1 노드의 테인트 분류 각각에 해당하는 확률 값을 갱신하는 동작, 및 상기 제1 노드에 직접 연결된 제2 노드의 테인트 분류 각각에 해당하는 확률 값을 갱신하는 동작를 포함하는,오염 명세 생성 장치
지정국 정보가 없습니다
패밀리정보가 없습니다
국가 R&D 정보가 없습니다.