2011-10-19 2 views
2

안드로이드 4.0은 ASLR안드로이드에서 ASLR의 목적은 무엇입니까?

을 추가

http://developer.android.com/sdk/android-4.0-highlights.html#DeveloperApis

AFAIK, ASLR은 버퍼 오버 플로우 취약점을 악용하면 일부 악성 코드 누출이/다른 라이브러리에 페이로드를 넣어시키는 피하기 위해 유용하게

그러나 거의 모든의 안드로이드에서 실행될 코드가 관리되므로 메모리 관리 오류의 영향을받지 않아야합니다.

네이티브 코드에는 유용 ​​할 수 있습니다. Otoh, 나는 NDK를 사용하는 대부분의 프로그램 (C로 만든 OpenGL 게임 엔진과 같음)에 여전히 사용자 입력을 다루는 Java 코드 계층을 가지고 있다고 생각했습니다. (사용자가 제공 한 파일/문자열이 자바와 같은 관리되는 언어로 작성된 프로그램 만 추가 할 수 있는지가

+0

무언가 관련 .http : //stackoverflow.com/questions/5917768/is-there-some-sort-of-aslr-protection-on-android – Krishnabhadra

답변

1

심지어 내 그림에서 뭔가를 누락 악성 코드의 주요 벡터) 분명히

일, 기존의 C 라이브러리는 여전히 버퍼 오버 플로우하는 vulnerables 있습니다 .

예를 들어, mp3를 재생하는 데 사용 된 라이브러리는 아마도 C로 작성되며 특별히 제작 된 mp3 파일은 버퍼 오버플로를 유발하고 쉘 코드를 실행할 수 있습니다. 안드로이드에서 ASLR (Address Space Layout Randomization)을 추가하면 일부 메모리 주소를 랜덤 화함으로써 이러한 공격을 작성하는 어려움이 커집니다.