맞춤기술찾기

이전대상기술

콘트롤 플로우 그래프들을 이용하는 프로그램의 표절 판단 방법 및 장치

  • 기술번호 : KST2015141797
  • 담당센터 : 서울서부기술혁신센터
  • 전화번호 : 02-6124-6930
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 프로그램이 다른 프로그램을 표절하였는지 여부를 판단하기 위한 방법 및 장치가 제공된다. 프로그램의 콘트롤 플로우 그래프들이 생성될 수 있다. 생성된 콘트롤 플로우 그래프들에 기반하여 프로그램의 특징을 나타내는 버스마크가 생성될 수 있다. 버스마크에 기반하여 프로그램의 유사도가 측정될 수 있다. 또한, 프로그램이 다른 프로그램을 표절하였는지 여부를 판단하기 위한 방법은 프로그램이 악성 프로그램인지 여부를 판단하기 위한 방법으로도 이용될 수 있다.
Int. CL G06F 21/16 (2013.01) G06F 9/44 (2006.01)
CPC G06F 21/16(2013.01) G06F 21/16(2013.01) G06F 21/16(2013.01)
출원번호/일자 1020130127064 (2013.10.24)
출원인 한양대학교 산학협력단
등록번호/일자 10-1541603-0000 (2015.07.28)
공개번호/일자 10-2015-0047241 (2015.05.04) 문서열기
공고번호/일자 (20150803) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 소멸
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2013.10.24)
심사청구항수 14

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한양대학교 산학협력단 대한민국 서울특별시 성동구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 김상욱 대한민국 서울 성동구
2 채동규 대한민국 서울 서초구
3 하지운 대한민국 인천 연수구
4 임을규 대한민국 서울 서초구
5 강부중 대한민국 서울 성동구
6 조성제 대한민국 경기 용인시 수지구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 특허법인 무한 대한민국 서울특별시 강남구 언주로 ***, *층(역삼동,화물재단빌딩)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한양대학교 산학협력단 대한민국 서울특별시 성동구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2013.10.24 수리 (Accepted) 1-1-2013-0963050-90
2 [출원서등 보정]보정서
[Amendment to Patent Application, etc.] Amendment
2013.12.17 수리 (Accepted) 1-1-2013-1156776-34
3 출원인정보변경(경정)신고서
Notification of change of applicant's information
2014.06.05 수리 (Accepted) 4-1-2014-5068294-39
4 선행기술조사의뢰서
Request for Prior Art Search
2014.09.04 수리 (Accepted) 9-1-9999-9999999-89
5 선행기술조사보고서
Report of Prior Art Search
2014.10.14 수리 (Accepted) 9-1-2014-0083882-40
6 의견제출통지서
Notification of reason for refusal
2015.01.20 발송처리완료 (Completion of Transmission) 9-5-2015-0042048-11
7 출원인정보변경(경정)신고서
Notification of change of applicant's information
2015.02.16 수리 (Accepted) 4-1-2015-5022074-70
8 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2015.03.02 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2015-0203604-38
9 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2015.03.02 수리 (Accepted) 1-1-2015-0203603-93
10 등록결정서
Decision to grant
2015.07.24 발송처리완료 (Completion of Transmission) 9-5-2015-0495918-20
11 [출원서등 보정]보정서
[Amendment to Patent Application, etc.] Amendment
2016.11.24 수리 (Accepted) 1-1-2016-1151544-02
12 출원인정보변경(경정)신고서
Notification of change of applicant's information
2019.08.05 수리 (Accepted) 4-1-2019-5155816-75
13 출원인정보변경(경정)신고서
Notification of change of applicant's information
2019.08.06 수리 (Accepted) 4-1-2019-5156285-09
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
프로그램의 표절 여부를 판단하는 장치에 의해 수행되는 프로그램의 표절 여부를 판단하는 방법에 있어서,제1 프로그램 내의 제1 함수들의 호출 관계에 따라 연결된 제1 콘트롤 플로우 그래프들 및 제2 프로그램 내의 제2 함수들의 호출 관계에 따라 연결된 제2 콘트롤 플로우 그래프들을 생성하는 단계;상기 제1 콘트롤 플로우 그래프들에 기반하여 상기 제1 함수들에서 호출되는 복수의 제1 어플리케이션 프로그램 인터페이스(Application Program Interface; API)들의 호출 순서를 나타내는 제1 버스마크(birthmark) 및 상기 제2 콘트롤 플로우 그래프들에 기반하여 상기 제2 함수들에서 호출되는 복수의 제2 API들의 호출 순서를 나타내는 제2 버스마크를 생성하는 단계;상기 제1 버스마크 및 제2 버스마크에 기반하여 상기 제1 프로그램 및 상기 제2 프로그램의 유사도를 측정하는 단계; 및상기 측정된 유사도에 기반하여 상기 제2 프로그램이 상기 제1 프로그램을 표절하였는지 여부를 판단하는 단계를 포함하고,상기 1 버스마크 및 상기 제2 버스마크를 생성하는 단계는 상기 제1 콘트롤 플로우 그래프들의 제1 노드가 복수의 제3 API들을 호출하는 경우, 상기 제1 버스마크를 나타내는 제1 그래프에서 상기 복수의 제3 API들의 각각을 별개의 노드들로 분리하는, 프로그램의 표절 판단 방법
2 2
제1 항에 있어서,상기 제1 콘트롤 플로우 그래프들은 상기 제1 프로그램에 대한 정적 분석에 의해 생성되는, 프로그램의 표절 판단 방법
3 3
제1항에 있어서,상기 제1 버스마크는 상기 복수의 제1 API들의 모든 호출 순서를 나타내는, 프로그램의 표절 판단 방법
4 4
삭제
5 5
제1항에 있어서,상기 제1 버스마크 및 상기 제2 버스마크를 생성하는 단계는 상기 복수의 제1 API들을 상기 제1 버스마크를 나타내는 제1 그래프의 복수의 제1 노드들에 각각 설정하고, 상기 복수의 제2 API들을 상기 제2 버스마크를 나타내는 제2 그래프의 복수의 제2 노드들에 각각 설정하는, 프로그램의 표절 판단 방법
6 6
제5항에 있어서,상기 복수의 제1 노드들 및 상기 복수의 제2 노드들 각각에 노드의 중요도를 나타내는 점수를 부여하는 단계를 더 포함하고,상기 유사도를 측정하는 단계는 상기 점수가 부여된 상기 복수의 제1 노드들 및 상기 복수의 제2 노드들에 기반하여 상기 제1 프로그램 및 상기 제2 프로그램의 유사도를 측정하는, 프로그램의 표절 판단 방법
7 7
제6항에 있어서,상기 복수의 제1 노드들 각각에 부여되는 상기 점수는 상기 복수의 제1 노드들 각각에 설정된 API의 호출 빈도를 나타내는, 프로그램의 표절 판단 방법
8 8
제6항에 있어서,상기 복수의 제1 노드들 각각에 부여되는 상기 점수는 하기 [수학식 1]을 이용하여 계산되고,[수학식 1]t는 임의적 보행자(random walker)가 상기 복수의 제1 노드들 중 시작 노드에서 출발하여 임의적으로 이동한 단계의 개수를 나타내고, A는 상기 복수의 제1 노드들 간의 연결 관계를 나타내는 행렬이고, R(t)는 t 단계에서 상기 임의적 보행자가 상기 복수의 제1 노드들 각각에 도달할 확률을 나타내는 벡터이고, W는 각각의 단계에서 상기 임의적 보행자가 상기 제1 그래프의 에지(edge)를 통해서가 아닌 이동을 함으로써 임의의 노드로 이동할 확률을 나타내는 벡터이고, a는 상기 임의적 보행자가 각각의 단계에서 상기 에지를 통해 이동을 할 확률 및 상기 에지를 통해서가 아닌 이동을 함으로써 임의의 노드로 이동할 확률의 비중을 조절하는 가중치이고,상기 [수학식 1]은 상기 R(t)가 수렴할 때까지 반복적으로 계산되고,상기 R(t)가 수렴한 경우, 상기 점수는 상기 R(t)의 값인, 프로그램의 표절 판단 방법
9 9
제6항에 있어서,상기 점수가 부여된 상기 복수의 제1 노드들에 기반하여 상기 제1 프로그램의 제1 벡터 및 상기 복수의 제2 노드들에 기반하여 상기 제2 프로그램의 제2 벡터를 각각 생성하는 단계를 더 포함하고,상기 유사도를 측정하는 단계는 상기 제1 벡터 및 상기 제2 벡터에 기반하여 상기 제1 프로그램 및 상기 제2 프로그램의 유사도를 측정하는, 프로그램의 표절 판단 방법
10 10
제9항에 있어서,상기 유사도는 상기 제1 벡터의 크기, 상기 제2 벡터의 크기 및 상기 제1 벡터 및 상기 제2 벡터 간의 각도의 차이 중 적어도 하나에 기반하여 측정되는, 프로그램의 표절 판단 방법
11 11
제9항에 있어서,상기 유사도는 하기 [수학식 2]에 의해 측정되고,[수학식 2]n은 1 이상의 정수이고, p는 상기 제1 벡터를 나타내고, q는 상기 제2 벡터를 나타내고, pi는 상기 제1 벡터의 i번째의 벡터 성분의 값이고, qi는 상기 제2 벡터의 i번째의 벡터 성분의 값이고, SIM(p, q)는 상기 측정된 유사도인, 프로그램의 표절 판단 방법
12 12
제1항에 있어서,상기 판단하는 단계는 상기 측정된 유사도가 소정의 임계값에 비해 더 큰 경우 상기 제2 프로그램이 상기 제1 프로그램을 표절한 것으로 판단하는, 프로그램의 표절 판단 방법
13 13
제1항 내지 제3항 및 제5항 내지 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체
14 14
프로그램의 표절 여부를 판단하는 장치에 있어서,제1 프로그램 내의 제1 함수들의 호출 관계에 따라 연결된 제1 콘트롤 플로우 그래프들 및 제2 프로그램 내의 제2 함수들의 호출 관계에 따라 연결된 제2 콘트롤 플로우 그래프들을 생성하고, 상기 제1 콘트롤 플로우 그래프들에 기반하여 상기 제1 함수들에서 호출되는 복수의 제1 어플리케이션 프로그램 인터페이스(Application Program Interface; API)들의 호출 순서를 나타내는 제1 버스마크(birthmark) 및 상기 제2 콘트롤 플로우 그래프들에 기반하여 상기 제2 함수들에서 호출되는 제2 복수의 API들의 호출 순서를 나타내는 제2 버스마크를 생성하고, 상기 제1 버스마크 및 제2 버스마크에 기반하여 상기 제1 프로그램 및 상기 제2 프로그램의 유사도를 측정하고, 상기 측정된 유사도에 기반하여 상기 제2 프로그램이 상기 제1 프로그램을 표절하였는지 여부를 판단하는 처리부를 포함하고,상기 처리부는 상기 제1 콘트롤 플로우 그래프들의 제1 노드가 복수의 제3 API들을 호출하는 경우, 상기 제1 버스마크를 나타내는 제1 그래프에서 상기 복수의 제3 API들의 각각을 별개의 노드들로 분리하는, 프로그램의 표절 판단 장치
15 15
프로그램이 악성 프로그램인지 여부를 판단하는 장치에 의해 수행되는,상기 프로그램 내의 함수들의 호출 관계에 따라 연결된 콘트롤 플로우 그래프들을 생성하는 단계;상기 콘트롤 플로우 그래프들에 기반하여 상기 함수들에서 호출되는 복수의 어플리케이션 프로그램 인터페이스(Application Program Interface; API)들의 호출 순서를 나타내는 버스마크(birthmark)를 생성하는 단계;상기 버스마크를 나타내는 그래프의 복수의 노드들 각각에 노드의 중요도를 나타내는 점수를 부여하는 단계 - 상기 복수의 API들은 상기 복수의 노드들에 각각 설정됨 -;상기 점수가 부여된 상기 복수의 노드들에 기반하여 상기 프로그램의 제1 벡터를 생성하는 단계;상기 장치에 저장된 하나 이상의 악성 프로그램들의 벡터들 각각과 상기 제1 벡터의 유사도를 측정하는 단계; 및상기 측정된 유사도에 기반하여 상기 프로그램이 악성 프로그램인지 여부를 판단하는 단계를 포함하는 악성 프로그램 판단 방법
지정국 정보가 없습니다
패밀리정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 문화체육관광부 단국대학교 산학협력단 저작권기술개발 사업 바이너리 코드 동적고유정보 기반 SW 유사성 감지 기술 개발
2 미래창조과학부 가천대학교 산학협력단 IT융합 고급인력과정 지원사업 고령자 건강 및 질환 관리 시스템
3 미래창조과학부 충북대학교 산학협력단 정보통신기술인력양성 스마트 공간을 위한 빅데이터 기반의 스마트 라이프 케어 서비스
4 미래창조과학부 (재)한국연구재단 이공분야 기초연구사업 / 중견연구자지원사업 / 도약연구(전략-연구분야지정) 소셜 및 정보 네트워크 빅 데이터 마이닝 소프트웨어 원천 기술 개발