사람들이 Android 애플리케이션을 사용할 때 일반적으로 백그라운드에서 일어나는 모든 일을 생각하지 않습니다. 불행히도 동적 코드 로딩이라는 프로그래밍 옵션은 보안 위험을 초래할 수 있습니다. 다음은 이에 대해 알아야 할 사항입니다.
동적 코드 로딩이란 무엇입니까?
애플리케이션 개발에서는 앱을 빌드할 때 사용되는 전체 소스 코드가 코드베이스를 구성합니다. 동적 코드 로딩을 통해 앱은 코드베이스 외부에서 콘텐츠를 가져와 작동 또는 런타임 중에 실행할 수 있습니다.
일반적으로 Android 패키지 키트(APK)에 코드를 포함하는 대신 원격으로 코드를 저장하기 때문에 이 옵션을 사용하면 앱 크기가 더 작아질 수 있습니다.
APK는 Android가 앱을 배포하고 설치할 때 사용하는 파일 형식입니다. 앱이 호환되는 장치에서 작동하는 데 필요한 모든 구성 요소가 포함되어 있습니다. 동적 코드 로딩은 앱 사용성을 향상시키는 것을 포함하여 개발 관점에서 이점을 제공합니다.
예를 들어, 앱은 사용자가 무료 또는 프리미엄 버전을 사용하는지에 따라 다른 콘텐츠를 표시할 수 있습니다. 동적 코드 로딩은 APK 크기를 늘리지 않고도 사용자 계층에 따라 올바른 콘텐츠를 표시할 수 있습니다.
또한 개발자는 동적 코드 로드를 통해 사소한 변경 사항이 포함된 새 앱 버전을 출시할 수 있습니다. 사용자는 아무 것도 다운로드하지 않고도 최신 버전을 사용할 수 있습니다.
이러한 장점에도 불구하고 동적 코드 로딩은 Android 앱 보안과 관련된 위험을 증가시킬 수 있습니다.
악성 앱은 종종 동적 코드 로딩을 특징으로 함
2019년 연구 논문의 저자는 악성 Android 앱을 조사하여 공통점을 찾았습니다. 그들은 위험한 앱의 주요 기능으로 동적 코드 로딩을 보여주는 다른 당사자가 완료한 이전 연구를 인용했습니다.
한 조사에서 86,798개의 앱 중 거의 20,000개의 앱에 동적 코드 로딩이 있었습니다.
추가 설명에 따르면 사람들은 위험한 앱의 핵심 기능을 독립 라이브러리에 넣은 다음 동적 코드 로딩을 사용하여 실행합니다. 이 접근 방식은 앱의 악의적인 동작을 보호하여 탐지 가능성을 낮춥니다.
감지하는 맬웨어 유형에 대한 Google 문서에서는 동적 코드 오용이 백도어 변종으로 표시될 수 있다고 명시하고 있습니다. 회사는 백도어 멀웨어를 기기에서 잠재적으로 유해한 원격 제어 작업을 실행하는 것으로 정의합니다. 그런 다음 앱이 문자 메시지를 추출할 수 있도록 하는 동적 코드 로딩의 예를 제공했습니다.
그러나 Google은 코드 실행이 명시적으로 악의적인 동작을 수행하는지 여부를 조사한다고 말합니다. 그렇지 않은 경우 회사는 임의 코드 실행을 개발자가 패치해야 하는 취약점으로 간주합니다.
위험한 앱의 경우 임의 코드 실행을 통해 해커가 원격으로 대상 장치에서 명령을 실행할 수 있습니다.
연구원이 동적 코드 로드 문제를 식별합니다.
Google은 사용자의 보안을 강화하기 위해 자주 단호한 조치를 취합니다. 예를 들어, 타사 쿠키는 사용자를 추적하고 정보를 저장한 다음 나중에 대상 광고를 표시하는 데 사용합니다. 그러나 회사는 2022년까지 Chrome 브라우저에서 타사 쿠키를 차단할 예정입니다. 구체적인 변경 날짜는 밝히지 않았습니다.
하지만 보안에 집중한다고 해서 회사가 문제에서 자유롭지는 않습니다. 사이버 보안 연구원은 Google 앱 내에서 지속적인 임의 코드 실행을 발견하고 회사에 보고했습니다. 이 문제는 2021년 5월에 수정되었지만 더 많은 사람들이 동적 코드 로딩과 관련된 잠재적인 문제에 주목하게 되었습니다.
연구원들은 이 취약점으로 인해 공격자가 사람의 Google 데이터를 훔치기 전에 앱을 한 번만 실행할 수 있음을 확인했습니다. 해커는 Google 앱 결함을 악용하여 사람의 기기에 있는 위험한 앱에서 코드 라이브러리를 가져올 수 있습니다.
거기에서 사이버 범죄자는 이메일을 포함하여 개인의 거의 모든 Google 데이터에 액세스할 수 있습니다. 사용자의 마이크, 카메라 및 실시간 위치 정보를 활성화할 수도 있습니다.
위험한 앱 취약점에 대한 경고에 주의
동적 코드 로딩은 개발 측에서 발생하기 때문에 일반 앱 사용자는 특정 제품이 백그라운드에서 작동하는 방식과 관련된 숨겨진 위험을 내포할 수 있는지 여부를 확인하기 위해 아무 것도 할 수 없습니다. 하지만 기술 헤드라인을 장식하는 Android 앱 보안 뉴스를 주시하는 것이 좋습니다.
사이버 보안 연구원은 수십만 명의 앱 사용자를 위험에 빠뜨릴 수 있는 문제를 지속적으로 찾은 다음 보고합니다. 잠재적인 앱 위험을 파악하면 사용자가 잠재적으로 문제가 있는 애플리케이션을 업데이트 또는 삭제할지 여부와 시기를 결정하는 데 도움이 됩니다.