맞춤기술찾기

이전대상기술

스트립트 바이너리 함수 심볼 예측 방법 및 그 장치

  • 기술번호 : KST2022013158
  • 담당센터 : 인천기술혁신센터
  • 전화번호 : 032-420-3580
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 본 발명은 스트립트 바이너리 함수 심볼 예측 방법 및 그 장치에 관한 발명이다. 본 발명의 일 실시예에 따른 함수 심볼 예측 방법은, 타겟함수에 관한 제1 소스코드에서 함수호출 및 함수호출 인자를 추출하여 제1 코드조각을 획득하는 단계; 상기 제1 소스코스보다 업데이트된 제2 소스코드에서 함수호출 및 함수호출 인자를 추출하여 제2 코드조각을 획득하는 단계; 상기 제1 코드조각 및 상기 제2 코드조각을 각각 제1 문장 및 제2 문장으로 변환하는 단계; 상기 제1 문장 및 상기 제2 문장을 바탕으로 워드 임베딩(word embedding) 모델을 이용하여 각각 제1 벡터 및 제2 벡터를 획득하는 단계; 상기 제1 벡터 및 상기 제2 벡터를 순차적으로 입력하여 신경망을 학습시키는 단계; 스트립트 바이너리(strriped binary)에서 제3 코드조각을 획득하는 단계; 상기 제3 코드조각을 제3 문장으로 변환하는 단계; 상기 제3 문장을 바탕으로 상기 워드 임베딩 모델을 이용하여 제3 벡터를 획득하는 단계; 및 상기 제3 벡터를 상기 학습된 신경망에 입력하여 출력된 결과를 상기 제3 코드조각에 해당하는 함수 심볼로 획득하는 단계; 를 포함할 수 있다.
Int. CL G06F 21/56 (2013.01.01) G06F 8/53 (2018.01.01) G06F 40/151 (2020.01.01) G06N 20/00 (2019.01.01)
CPC
출원번호/일자 1020210170615 (2021.12.02)
출원인 한양대학교 에리카산학협력단
등록번호/일자
공개번호/일자 10-2022-0077894 (2022.06.09) 문서열기
공고번호/일자
국제출원번호/일자
국제공개번호/일자
우선권정보 대한민국  |   1020200166393   |   2020.12.02
법적상태 공개
심사진행상태 수리
심판사항
구분 국내출원/신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2021.12.02)
심사청구항수 12

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한양대학교 에리카산학협력단 대한민국 경기도 안산시 상록구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 오희국 경기도 안산시 상록구
2 김문회 경기도 안산시 상록구
3 사미 울라 경기도 안산시 상록구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 김준석 대한민국 서울특별시 금천구 가산디지털*로 ***(가산동) 에이스비즈포레 ***-***호(키움특허법률사무소)
2 박민욱 대한민국 서울특별시 금천구 가산디지털*로 ***(가산동) 에이스비즈포레 ***-***호 ***호(키움특허법률사무소)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
최종권리자 정보가 없습니다
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2021.12.02 수리 (Accepted) 1-1-2021-1397644-23
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
타겟함수에 관한 제1 소스코드에서 함수호출 및 함수호출 인자를 추출하여 제1 코드조각을 획득하는 단계;상기 제1 소스코스보다 업데이트된 제2 소스코드에서 함수호출 및 함수호출 인자를 추출하여 제2 코드조각을 획득하는 단계;상기 제1 코드조각 및 상기 제2 코드조각을 각각 제1 문장 및 제2 문장으로 변환하는 단계;상기 제1 문장 및 상기 제2 문장을 바탕으로 워드 임베딩(word embedding) 모델을 이용하여 각각 제1 벡터 및 제2 벡터를 획득하는 단계;상기 제1 벡터 및 상기 제2 벡터를 순차적으로 입력하여 신경망을 학습시키는 단계;스트립트 바이너리(strriped binary)에서 제3 코드조각을 획득하는 단계;상기 제3 코드조각을 제3 문장으로 변환하는 단계;상기 제3 문장을 바탕으로 상기 워드 임베딩 모델을 이용하여 제3 벡터를 획득하는 단계; 및상기 제3 벡터를 상기 학습된 신경망에 입력하여 출력된 결과를 상기 제3 코드조각에 해당하는 함수 심볼로 획득하는 단계; 를 포함하되,상기 제1 벡터 및 상기 제2 벡터는 상기 타겟함수의 심볼을 가리키는 벡터인,함수 심볼 예측 방법
2 2
제1항에 있어서,상기 워드 임베딩(word embedding) 모델은,워드투벡터(word2vec), GloVe 및 FastText 중에서 어느 하나인,함수 심볼 예측 방법
3 3
제1항에 있어서,상기 신경망은,RNN(Recurrent Neural Network), LSTM (Long Short Term Memory), GRU(Gated Recurrent Unit) 중에서 어느 하나인,함수 심볼 예측 방법
4 4
제1항에 있어서,상기 제1 벡터 및 상기 제2 벡터를 획득하는 단계는,상기 제1 문장의 각 단어를 상기 워드 임베딩 모델에 입력하여 상기 워드 임베딩 모델을 학습시키는 단계;상기 학습된 워드 임베딩 모델의 임베딩 매트릭스(matrix)를 제1 벡터로 획득하는 단계; 상기 제2 문장의 각 단어를 상기 워드 임베딩 모델에 입력하여 상기 워드 임베딩 모델을 학습시키는 단계; 및상기 학습된 워드 임베딩 모델의 임베딩 매트릭스(matrix)를 제2 벡터로 획득하는 단계;를 포함하는,함수 심볼 예측 방법
5 5
제1항에 있어서,상기 신경망을 학습시키는 단계는,상기 신경망의 입력으로 상기 제1 벡터 및 상기 제2 벡터를 입력하였을 때 상기 타겟함수의 심볼이 출력되도록 상기 신경망을 학습시키는 단계;를 포함하는,함수 심볼 예측 방법
6 6
제1항에 있어서,상기 신경망을 학습시키는 단계는,상기 제1 벡터가 임베딩 매트릭스를 포함하는 경우, 상기 임베딩 매트릭스에 포함된 각 행을 상기 신경망에 순차적으로 입력함으로써 상기 신경망을 학습시키는 단계; 및상기 제2 벡터가 임베딩 매트릭스를 포함하는 경우, 상기 임베딩 매트릭스에 포함된 각 행을 상기 신경망에 순차적으로 입력함으로써 상기 신경망의 학습을 강화시키는 단계;를 포함하는,함수 심볼 예측 방법
7 7
제1항에 있어서,상기 제3 코드조각을 획득하는 단계는,상기 스트립트 바이너리를 디컴파일(decompile) 과정을 통해 제3 소스코드를 획득하는 단계; 및상기 제3 소스코드에서 함수호출 및 함수호출 인자를 추출하여 제3 코드조각을 획득하는 단계;를 포함하는,함수 심볼 예측 방법
8 8
타겟 함수가 포함된 하나 이상의 소스코드가 저장된 소스코드 데이터베이스;상기 소스코드 데이터베이스부에 포함된 소스코드에서 함수호출 및 함수호출 인자를 추출하여 샘플 코드조각을 획득하는 코드조각 획득부;상기 획득된 샘플 코드조각을 바탕으로 샘플 문장을 생성하며, 상기 샘플 문장을 워드 임베딩 모델에 입력하여 상기 워드 임베딩 모델을 학습시키고, 상기 학습된 워드 임베딩 모델에서 상기 샘플 문장에 관한 벡터를 획득하는 임베딩 처리부;상기 임베딩 처리부에서 획득된 벡터를 입력하면 상기 타겟 함수의 심볼을 출력하도록 신경망을 학습시키는 신경망 처리부; 및스트립트 바이너리에서 심볼이 제거된 함수의 제3 코드조각을 획득하고, 상기 코드조각을 바탕으로 제3 문장을 생성하며, 상기 제3 문장과 상기 워드 임베딩 모델을 이용하여 제3 벡터를 획득하고, 상기 제3 벡터를 상기 신경망에 입력하여 그 출력값을 상기 심볼이 제거된 함수의 심볼로 획득하는 심볼 획득부;를 포함하는함수 심볼 예측 장치
9 9
제8항에 있어서,상기 워드 임베딩(word embedding) 모델은,워드투벡터(word2vec), GloVe 및 FastText 중에서 어느 하나이고,상기 신경망은,RNN(Recurrent Neural Network), LSTM (Long Short Term Memory), GRU(Gated Recurrent Unit) 중에서 어느 하나인,함수 심볼 예측 장치
10 10
제8항에 있어서,상기 임베딩 처리부는,상기 샘플 문장에 포함된 각 단어를 원핫벡터로 변환시키고, 상기 원핫벡터를 상기 워드 임베딩 모델에 입력함으로써 상기 워드 임베딩 모델을 학습시키며, 상기 학습된 워드 임베딩 모델의 임베딩 매트릭스를 상기 샘플 문장의 벡터로 획득하는,함수 심볼 예측 장치
11 11
제8항에 있어서,상기 신경망 처리부는,상기 임베딩 처리부에서 획득된 벡터가 임베딩 매트릭스를 포함하는 경우, 상기 임베딩 매트릭스에 포함된 각 행을 상기 신경망에 순차적으로 입력함으로써 상기 신경망을 학습시키는,함수 심볼 예측 장치
12 12
제8항에 있어서,상기 심볼 획득부는,상기 스트립트 바이너리를 디컴파일 과정을 통해서 함수 심볼이 제거된 제3 소스코드를 획득하고, 상기 제3 소스코드에서 함수호출 및 함수호출 인자를 추출하여 제3 코드조각을 획득하며, 상기 제3 코드조각에 포함된 함수명, 함수 인자, 함수 파라미터 및 변수명을 하나의 문장으로 생성하여 제3 문장을 획득하는,함수 심볼 예측 장치
지정국 정보가 없습니다
패밀리정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 과학기술정보통신부 한양대학교 에리카산학협력단 인공지능융합선도프로젝트(R&D) 인공지능융합연구센터(한양대학교 ERICA)