Android3 [TroubleShooting] 메모리 중요정보 노출 취약점 개선방안 목차개요취약점 파악개선방안결론1. 개요안드로이드 업무에서 보안점검을 받던 중, 앱에서 중요정보가 메모리에 남는다는 취약점이 발견되었다. 중요 정보는 `신분증 이미지`였는데, 서버로 데이터를 전달하고 사용하지 않기 때문에, 가비지 컬렉션의 대상으로 GC가 일어나면 사라질 정보였었다. 하지만, GC가 언제 일어 날지 모를뿐더러, 이런 민감정보(신분증 이미지 뿐만 아니라 계좌정보나 고객의 연락처 등 개인정보)를 사용함에 있어서 주의가 항상 필요했다. 내가 맡은 애플리케이션은 금융앱이라 난독화나 여러가지 보안 솔루션이 있지만, 안심해서는 안된다. 이런 중요 정보들은 사용하지 않는다면, 메모리에 남아 있지 않도록 보호하는 것이 중요하다.어떤 문제점이 있었고 해결은 어떻게 했는지 작성해보려고 한다.2. 취약점 파악.. 2024. 3. 7. [Android] 안드로이드 여러개 권한(Permission) 유형 및 설정 Android API 23 이상부터는 허가 권한을 받아야 이용이 가능 (이하에서는 요청없이 가능) - 일반 권한 VS 위험 권한 '권한 허용을 사용자에게 요청 하는가?' 차이가 있습니다. 일반 권한 : 개인정보를 요청하지 않는 권한 (ex. 인터넷 접근, 블루투스 등) 위험 권한 : 개인정보를 요청하는 권한 (ex. 카메라, 위치, 주소록 등) - 권한 설정 필요한 권한을 AndroidManifest.xml 파일에 위와 같이 등록합니다. 다양한 링크는 아래 페이지에서 확인해주세요. https://developer.android.com/reference/android/Manifest.permission.html?hl=ko#ACCESS_FINE_LOCATION Manifest.permission | Andr.. 2021. 6. 21. 안드로이드 대표적인 레이아웃 - 레이아웃이란? 버튼, 텍스트, 입력상자와 같이 이런 뷰들을 담고 있는 것이 뷰그룹이고 배치와 관련된 것이 레이아웃 - 대표적인 레이아웃 레이아웃 이름 설명 제약 레이아웃 (ConstraintLayout) 제약 조건(Constaint) 기반 모델 제약조건을 사용해 화면을 구성하는 방법 안드로이드 스튜디오에서 자동으로 설정하는 디폴트 레이아웃 리니어 레이아웃 (LinearLayout) 박스(Box) 모델 한 쪽 방향으로 차례대로 뷰를 추가하면 화면을 구성하는 방법 뷰가 차지할 수 있는 사각형 영역을 할당 상대 레이아웃 (RelativeLayout) 규칙(Rule) 기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치를 화면을 구성하는 방법 프레임 레이아웃 (FrameLayout) 싱글(Single) 모델 .. 2021. 4. 19. 이전 1 다음