1 |
1
디바이스가 소스 코드를 변환하는 방법에 있어서,소스 코드(source code)를 획득하는 단계;상기 소스 코드에 포함된 어노테이션(annotation)에 기초하여 상기 소스 코드를 이용하는 프로그램으로부터 민감 데이터(sensitive data)를 포함하는 파일을 검출하는 단계;상기 소스 코드에서 상기 민감 데이터를 처리하는 함수를 검출하는 단계;상기 민감 데이터를 처리하는 함수가 검출되었는지에 따라, 상기 소스 코드에 포함된 함수들을 보안 영역(secure world) 또는 일반 영역(normal world)에 할당시키는 단계; 및상기 보안 영역에 할당된 함수를 호출하기 위한 코드 및 상기 일반 영역에 할당된 함수를 호출하기 위한 코드를, 각각 상기 보안 영역에서 실행 가능한 코드 및 상기 일반 영역에서 실행 가능한 코드로 변환하는 단계를 포함하는 소스 코드 변환 방법
|
2 |
2
제 1 항에 있어서,상기 보안 영역에서 실행 가능한 코드에 기초하여 트러스티드 애플리케이션(Trusted Application)이 생성 되고, 상기 일반 영역에서 실행 가능한 코드에 기초하여 클라이언트 애플리케이션(Client Application)이 생성 되는 것을 특징으로 하는, 소스 코드 변환 방법
|
3 |
3
제 1 항에 있어서,상기 소스 코드에서 상기 민감 데이터를 처리하는 함수를 검출하는 단계는,상기 민감 데이터를 포함하는 파일과 에일리어스(alias) 관계에 있는, 파일 열람 시스템 콜(system call) 함수의 파일 경로에 해당하는 파라미터를 검출하는 단계;상기 파일 열람 시스템 콜 함수의 파일 경로에 해당하는 파라미터가 검출된 경우, 상기 파일 열람 시스템 콜의 리턴값인 파일 포인터에 해당하는 파라미터와 에일리어스 관계에 있는 파일 읽기 시스템 콜 함수의 파일 포인터에 해당하는 파라미터를 검출함으로써 상기 파일 읽기 시스템 콜 함수를 검출하는 단계; 및상기 검출된 파일 읽기 시스템 콜 함수에 기초하여 상기 민감 데이터를 포함하는 파일 내용을 저장하는 버퍼를 검출하는 단계를 포함하는, 소스 코드 변환 방법
|
4 |
4
제 1 항에 있어서,상기 소스 코드에서 상기 민감 데이터를 처리하는 함수를 검출하는 단계는,상기 버퍼 내의 상기 민감 데이터를 이용한 테인트 분석(taint analysis)에 기초하여 상기 민감 데이터를 처리하는 함수를 검출하는 단계를 포함하는, 소스 코드 변환 방법
|
5 |
5
제 1 항에 있어서,상기 민감 데이터를 처리하는 함수가 검출되었는지에 따라 상기 소스 코드에 포함된 함수들을 상기 보안 영역 또는 상기 일반 영역에 할당시키는 단계는,상기 일반 영역에 포함된 함수 중 상기 보안 영역으로부터 호출되는 함수를 상기 보안 영역으로 할당시키는 단계를 포함하는, 소스 코드 변환 방법
|
6 |
6
제 1 항에 있어서,GP TEE API를 위한 헤더(header) 파일을 상기 트러스티드 애플리케이션 및 클라이언트 애플리케이션에 삽입하는 단계를 더 포함하는, 소스 코드 변환 방법
|
7 |
7
제 6 항에 있어서,상기 보안 영역에 할당된 함수의 콜 위치(call site)를 상기 GP TEE API를 사용하는 코드로 변경하는 단계를 더 포함하는, 소스 코드 변환 방법
|
8 |
8
제 6 항에 있어서,상기 보안 영역에 상기 일반 영역으로부터의 함수 호출을 연결하기 위한 진입점(entry point)를 생성하는 단계를 더 포함하는, 소스 코드 변환 방법
|
9 |
9
제 1 항에 있어서,상기 보안 영역 및 상기 일반 영역은 트러스트 존(trust zone)을 형성하는, 소스 코드 변환 방법
|
10 |
10
제 1 항에 있어서,상기 변환하는 단계는,상기 보안 영역에 할당된 함수를 리턴하기 위한 코드 및 상기 일반 영역에 할당된 함수를 리턴하기 위한 코드를 각각 상기 보안 영역에서 실행 가능한 코드 및 상기 일반 영역에서 실행 가능한 코드로 변환하는 단계를 더 포함하는, 소스 코드 변환 방법
|
11 |
11
소스 코드를 변환하는 디바이스에 있어서,외부 디바이스 또는 서버로부터 소스 코드를 획득하는 통신부; 및상기 소스 코드에 포함된 어노테이션에 기초하여 상기 소스 코드를 이용하는 프로그램으로부터 민감 데이터를 포함하는 파일을 검출하고,상기 소스 코드에서 상기 민감 데이터를 처리하는 함수를 검출하고,상기 민감 데이터를 처리하는 함수가 검출되었는지에 따라, 상기 소스 코드에 포함된 함수들을 보안 영역 또는 일반 영역에 할당시키고,상기 보안 영역에 할당된 함수를 호출하기 위한 코드 및 상기 일반 영역에 할당된 함수를 호출하기 위한 코드를, 각각 상기 보안 영역에서 실행 가능한 코드 및 상기 일반 영역에서 실행 가능한 코드로 변환하는 제어부;를 포함하는 소스 코드 변환 디바이스
|
12 |
12
제 11 항에 있어서,상기 제어부는,상기 보안영역에서 실행 가능한 코드에 기초하여 트러스티드 애플리케이션을 생성하고, 상기 일반 영역에서 실행 가능한 코드에 기초하여 클라이언트 애플리케이션을 생성하는, 소스 코드 변환 장치
|
13 |
13
제 11 항에 있어서,상기 제어부는,상기 민감 데이터를 포함하는 파일과 에일리어스 관계에 있는, 파일 열람 시스템 콜 함수의 파일 경로에 해당하는 파라미터를 검출하고,상기 파일 열람 시스템 콜 함수의 파일 경로에 해당하는 파라미터가 검출된 경우, 상기 파일 열람 시스템 콜의 리턴값인 파일 포인터에 해당하는 파라미터와 에일리어스 관계에 있는 파일 읽기 시스템 콜 함수의 파일 포인터에 해당하는 파라미터를 검출함으로써 상기 파일 읽기 시스템 콜 함수를 검출하고,상기 검출된 파일 읽기 시스템 콜에 기초하여 상기 민감 데이터를 포함하는 파일 내용을 저장하는 버퍼를 검출하는, 소스 코드 변환 장치
|
14 |
14
제 11 항에 있어서,상기 제어부는,상기 버퍼 내의 상기 민감 데이터를 이용한 테인트 분석에 기초하여 상기 민감 데이터를 처리하는 함수를 검출하는, 소스 코드 변환 장치
|
15 |
15
제 11 항에 있어서,상기 제어부는,상기 일반 영역에 포함된 함수 중 상기 보안 영역으로부터 호출되는 함수를 상기 보안 영역으로 할당시키는, 소스 코드 변환 장치
|
16 |
16
제 11 항에 있어서,상기 제어부는,GP TEE API를 위한 헤더(header) 파일을 상기 트러스티드 애플리케이션 및 클라이언트 애플리케이션에 삽입하는, 소스 코드 변환 장치
|
17 |
17
제 16 항에 있어서,상기 제어부는,상기 보안 영역에 할당된 함수의 콜 위치를 상기 GP TEE API를 사용하는 코드로 변경하는, 소스 코드 변환 장치
|
18 |
18
제 16 항에 있어서,상기 제어부는,상기 보안 영역에 상기 일반 영역으로부터의 함수 호출을 연결하기 위한 진입점을 생성하는, 소스 코드 변환 장치
|
19 |
19
제 11 항에 있어서,상기 제어부는,상기 보안 영역에 할당된 함수를 리턴하기 위한 코드 및 상기 일반 영역에 할당된 함수를 리턴하기 위한 코드를 각각 상기 보안 영역에서 실행 가능한 코드 및 상기 일반 영역에서 실행 가능한 코드로 변환하는, 소스 코드 변환 장치
|
20 |
20
제 1 항 내지 제 10 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
|