메모리 내 중요정보 노출 취약점

2023. 4. 23. 16:43모바일 앱 해킹 및 보안/iOS

- 취약점 설명: 로그인 계정정보, 주민등록번호 등 중요정보가 메모리에 평문으로 저장되는 경우 공격자는 메모리 덤프를 수행하여 메모리 내 중요 데이터 탈취가 가능함

 

- 메모리 내 데이터 저장 방식

메모리 영역은 변수나 객체가 저장되는 영역으로 ,스택과 힙 메모리 영역으로 구분됨

> 스택 메모리 영역: 값 타입의 변수를 저장

> 힙 메모리 영역: 참조 타입의 객체를 저장

 

값 타입: 직접 값을 담도 있는 변수이며, 변수에 할당된 값이 직접 저장됨

ex) int num = 1;

 

참조 타입: 값이 저장된 위치를 저장하는 변수이며, 변수에 할당된 값은 객체나 배열이 저장된 메모리 주소를 참조함

ex) String s = "test";

 

- 취약한 소스코드 예시

String 타입 사용

  > String 타입의 변수를 null로 초기화 -> 취약

  > String 타입의 변수 값을 다른 값으로 덮어쓰기 -> 취약

 

- 양호한 소스코드 예시 

Char 배열 타입 사용

사용 후 초기화 할 것

 

또다른 대응방안

  > 키보드 보안 솔루션 적용

 

--- 참고 사이트 ---

https://jdh5202.tistory.com/967