1 |
1
메모리 정렬 랜덤화 방법으로서,(a) 할당받을 메모리 크기(이하 '할당요청 메모리 크기'라 한다)를 지정하여, 객체를 위치시키기 위한 메모리 할당을 힙 할당자에 요청하는 단계;(b) 상기 힙 할당자가 할당할 메모리 시작주소(이하 '반환 시작주소'라 한다)를 반환하는 단계;(c) 상기 반환 시작주소에, 랜덤하게 선택된 값을 더하여 상기 객체를 정렬할 시작주소(이하 '객체 시작주소'라 한다)를 산출하는 단계; 및(d) 상기 객체 시작주소로부터 상기 객체를 정렬하여 위치시키는 단계를 포함하고,상기 단계(b)와 단계(c) 사이에,(b1) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 메모리 정렬을 워드 사이즈의 배수로부터 시작하는 것으로 고정하지 않고 랜덤하게 할 것인지 여부를 결정하는 단계를 더 포함하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 할 것으로 결정한 경우에는 상기 단계(c)로 진행하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 하지 않을 것으로 결정한 경우에는 상기 반환 시작주소를 객체 시작주소로 하여 상기 단계(d)로 진행하는,메모리 정렬 랜덤화 방법
|
2 |
2
삭제
|
3 |
3
청구항 1에 있어서,상기 단계(b1)은,(b101) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 할당받은 메모리 영역이 기 설정된 특정 메모리 영역(이하 '회피 영역'이라 한다)을 침범하는 경우에는 메모리 정렬을 랜덤하게 하지 않을 것으로 결정하고, 상기 회피 영역을 침범하지 않는 경우에는 메모리 정렬을 랜덤하게 할 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 메모리 정렬 랜덤화 방법
|
4 |
4
청구항 3에 있어서,상기 회피 영역은,캐시(cache) 메모리의 경계를 포함하거나, 또는 메모리 상의 페이지 경계를 포함하는 영역으로 설정되는 것을 특징으로 하는 메모리 정렬 랜덤화 방법
|
5 |
5
청구항 1에 있어서,상기 단계(c)의 랜덤하게 선택된 값은,특정 범위(이하 '랜덤값 선택 범위'라 한다) 내의 값으로 선택되고,상기 할당요청 메모리 크기 값은,객체 지정을 위해 필요로 하는 메모리 크기에, 상기 랜덤값 선택 범위의 최대값이 더해진 값인 것을 특징으로 하는 메모리 정렬 랜덤화 방법
|
6 |
6
청구항 1에 있어서,상기 단계(c)와 단계(d) 사이에,(c1) 상기 단계(c)에서 산출된 객체 시작주소가 워드 사이즈의 배수인 경우, 산출되는 객체 시작주소가 워드 사이즈의 배수가 아닌 수가 나올 때까지 상기 산출된 객체 시작주소에 랜덤하게 선택된 값을 더하여 새로운 객체 시작주소의 산출 과정을 반복하고, 워드 사이즈의 배수가 아닌 수가 산출된 경우 이를 객체 시작주소로 하여 상기 단계(d)로 진행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 정렬 랜덤화 방법
|
7 |
7
메모리 정렬 랜덤화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체로서, 컴퓨터에,(a) 할당받을 메모리 크기(이하 '할당요청 메모리 크기'라 한다)를 지정하여, 객체를 위치시키기 위한 메모리 할당을 힙 할당자에 요청하는 단계;(b) 상기 힙 할당자가 할당할 메모리 시작주소(이하 '반환 시작주소'라 한다)를 반환하는 단계;(c) 상기 반환 시작주소에, 랜덤하게 선택된 값을 더하여 상기 객체를 정렬할 시작주소(이하 '객체 시작주소'라 한다)를 산출하는 단계; 및(d) 상기 객체 시작주소로부터 상기 객체를 정렬하여 위치시키는 단계를 포함하고,상기 단계(b)와 단계(c) 사이에,(b1) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 메모리 정렬을 워드 사이즈의 배수로부터 시작하는 것으로 고정하지 않고 랜덤하게 할 것인지 여부를 결정하는 단계를 더 포함하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 할 것으로 결정한 경우에는 상기 단계(c)로 진행하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 하지 않을 것으로 결정한 경우에는 상기 반환 시작주소를 객체 시작주소로 하여 상기 단계(d)로 진행하는,메모리 정렬 랜덤화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
|
8 |
8
메모리 정렬 랜덤화 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램으로서,(a) 할당받을 메모리 크기(이하 '할당요청 메모리 크기'라 한다)를 지정하여, 객체를 위치시키기 위한 메모리 할당을 힙 할당자에 요청하는 단계;(b) 상기 힙 할당자가 할당할 메모리 시작주소(이하 '반환 시작주소'라 한다)를 반환하는 단계;(c) 상기 반환 시작주소에, 랜덤하게 선택된 값을 더하여 상기 객체를 정렬할 시작주소(이하 '객체 시작주소'라 한다)를 산출하는 단계; 및(d) 상기 객체 시작주소로부터 상기 객체를 정렬하여 위치시키는 단계를 포함하고,상기 단계(b)와 단계(c) 사이에,(b1) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 메모리 정렬을 워드 사이즈의 배수로부터 시작하는 것으로 고정하지 않고 랜덤하게 할 것인지 여부를 결정하는 단계를 더 포함하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 할 것으로 결정한 경우에는 상기 단계(c)로 진행하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 하지 않을 것으로 결정한 경우에는 상기 반환 시작주소를 객체 시작주소로 하여 상기 단계(d)로 진행하는,메모리 정렬 랜덤화 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램
|