1 |
1
사용자 요청에 대응하여 트랜잭션을 처리하는 장치에 있어서, 상기 트랜잭션을 처리하는 적어도 하나 이상의 스마트 컨트랙트 실행 시 호출 함수에 대한 정보가 저장된 콜스택(call stack)을 검사하여 호출 주체를 찾고, 해당 스마트 컨트랙트에 설정된 보안 정책에 기초하여 상기 호출 주체의 해당 함수 호출 권한 여부에 판단하며, 그 판단결과에 따라 함수 실행 또는 실행 중지하는 가상머신;을 포함하고, 상기 가상머신은, 개발자가 생성한 스마트 컨트랙트를 배포한 경우, 상기 스마트 컨트랙트의 계정 ID, 배포자 ID 및 생성자 ID를 생성하여 상기 스마트 컨트랙트와 함께 등록하는 것을 특징으로 하는 스마트 컨트랙트 실행 장치
|
2 |
2
삭제
|
3 |
3
제1항에 있어서, 상기 콜스택에는 함수가 호출되는 시간 순에 의하여 순차적으로 호출 함수에 대한 정보가 저장되고, 상기 호출 함수에 대한 정보는 호출 함수, 호출 함수를 가진 스마트 컨트랙트, 그 스마트 컨트랙트의 식별정보 및 보안정책을 포함하는 것을 특징으로 하는 스마트 컨트랙트 실행 장치
|
4 |
4
제3항에 있어서, 상기 스마트 컨트랙트의 식별정보는 계정 ID, 배포자 ID, 생성자 ID의 조합으로 구성된 것으로 하는 스마트 컨트랙트 실행 장치
|
5 |
5
제1항에 있어서, 상기 가상머신은, 상기 콜 스택 트레이스상에 나타나는 체인(chain)의 스마트 컨트랙트 식별정보의 리스트를 가공하여 호출 시점의 크리덴셜(credential)로 생성하고, 상기 생성된 호출시점의 크리덴셜을 호출 주체로 추출하는 것을 특징으로 하는 스마트 컨트랙트 실행 장치
|
6 |
6
스마트 컨트랙트 실행 장치가 취약점을 탐지하는 방법에 있어서, 개발자가 생성한 스마트 컨트랙트를 배포한 경우, 상기 스마트 컨트랙트의 계정 ID, 배포자 ID 및 생성자 ID를 생성하여 상기 스마트 컨트랙트와 함께 등록하는 단계;사용자 요청에 대응하여 트랜잭션을 처리하는 적어도 하나 이상의 스마트 컨트랙트 실행 시 호출 함수에 대한 정보가 저장된 콜스택(call stack)을 검사하여 호출 주체를 추출하는 단계;해당 스마트 컨트랙트에 설정된 보안 정책에 기초하여 상기 호출 주체의 해당 함수 호출 권한 여부에 판단하고, 그 판단결과에 따라 함수 실행 또는 실행 중지하는 단계;를 포함하는 스마트 컨트랙트 실행 장치에서 취약점 탐지 방법
|
7 |
7
제6항에 있어서, 상기 호출 주체를 추출하는 단계는, 상기 사용자 요청에 대응하는 트랜잭션을 처리하는 스마트 컨트랙트를 실행하는 단계;상기 스마트 컨트랙트의 실행 시, 함수 호출이 발생한 경우, 호출 함수에 대한 정보를 상기 콜스택에 저장하는 단계; 및 상기 콜스택의 트레이스상에 나타나는 체인(chain)의 스마트 컨트랙트 식별정보의 리스트를 가공하여 호출 시점의 크리덴셜(credential)로 생성하고, 상기 생성된 호출시점의 크리덴셜을 호출 주체로 추출하는 단계를 포함하는 것을 특징으로 하는 스마트 컨트랙트 실행 장치에서 취약점 탐지 방법
|