검색 : [ keyword: Android ] (21)

범용 실행 환경을 기반으로 한 전용 기기에서의 악성 코드 설치 방지

김도연, 최지원, 전기석, 이원준, 이중희

http://doi.org/10.5626/JOK.2025.52.5.444

산업 전반의 디지털화로 인해 디지털 창구, 의료용 또는 교육용 태블릿 등 특정 작업만 수행하도록 설계된 기기인 전용 기기에 대한 수요가 증가하고 있다. 특정 애플리케이션만 실행할 수 있어 보안성이 높고 공격 표면이 최소화되는 장점이 있지만 대부분 Android와 같은 범용 실행 환경을 기반으로 구축된다. 이로 인해 개발 및 사용이 용이하지만, 공격 표면이 넓어질 수 있어 전용 기기에 맞는 보안 대책이 필요하다. 본 연구에서는 범용 실행 환경으로 설계된 전용 기기의 악성 코드 설치와 관련된 취약점을 분석하고 이에 대한 대응 방안을 제안한다. 공격자는 물리적으로 기기에 접근할 수 없으며, 최종 사용자가 악의적이지 않다고 가정한다. 원격으로 악성 코드를 설치할 수 있는 10가지 취약점을 식별하고, Android 기기인 Lenovo P11에서 실험했다. 취약점에 대응하기 위해 SELinux 정책 작성, 파일 무결성 검사 프로그램 설치 등 전용 기기에 최적화된 보안 메커니즘을 설계하였다.

Scudo 메모리 할당자의 메모리 사용 효율성 분석

이경석, 이태형, 엄영익

http://doi.org/10.5626/JOK.2023.50.2.103

모바일 시스템에서는 다양한 어플리케이션이 제한된 메모리 용량을 공유하기 때문에 메모리 사용량을 최적화하는 것이 중요하다. 안드로이드의 기본 메모리 할당자인 Scudo는 힙-메모리 관련 취약점 완화와 메모리 할당 성능 최적화를 고려하려 설계되었지만, 메모리 사용량 측면의 비효율성이 존재한다. 본 논문에서는 Scudo의 구조와 동작 방식을 기반으로 두 가지 문제에 대해 분석한다. 첫 번째로 고정 개수의 로컬캐시의 할당으로 인한 문제를 분석하며, 이후 두 번째로는 비효율적인 프리 청크 관리 정책으로 인해 발생하는 페이지 내부 단편화 문제에 대해 분석한다. 분석 결과, 안드로이드의 고정 개수의 로컬캐시로 인해 어플리케이션의 특징에 따라 성능 측면의 오버헤드 및 메모리 낭비가 발생함을 확인하였으며, 지속적인 메모리 할당 및 해제가 반복되는 경우 사이즈 클래스에 따라 메모리의 90% 이상이 해제된 경우에도 페이지의 내부 단편화 문제로 인해 페이지 회수가 진행되지 않는 문제를 확인하였다.

네트워크 트래픽 이미지화를 통한 안드로이드 악성코드 탐지

강진원, 이수진

http://doi.org/10.5626/JOK.2020.47.8.761

안드로이드 운영체제의 점유율이 지난 몇 년간 지속 증가함에 따라 안드로이드 운영체제를 대상으로 하는 악성코드의 수와 변종도 크게 증가하였다. 또한, 악성코드 탐지 솔루션을 회피하기 위한 기술들이 진화를 거듭하면서 기존 시그니쳐 기반 악성코드 탐지기법들은 한계에 직면하고 있다. 이에 본 논문에서는 모바일 네트워크 트래픽 정보의 이미지화를 통하여 CNN을 기반으로 안드로이드 악성코드를 효율적으로 탐지할 수 있는 방안을 제안한다. 제안된 탐지방안을 CICAndMal2017 데이터 셋을 대상으로 실험한 결과, ‘benign’과 ‘malware’ 이진 분류는 모든 성능평가 지표에서 99.9% 이상, 악성코드만을 대상으로 한 다중 클래스 분류에서는 95% 이상, 알려지지 않은 악성코드 카테고리에 대한 이진 분류는 99.9% 이상의 탐지 성능을 확인할 수 있었다.

주요 안드로이드 마켓에서 앱 카테고리 및 개발 도구에 따른 악성 앱 분포

오지환, 이명건, 조성제, 한상철

http://doi.org/10.5626/JOK.2019.46.2.109

최근 보안 분석 보고서에 따르면 다수의 악성 앱(malicious app)들이 온라인 마켓을 통해 유통되고 있다. 본 논문에서는 안드로이드 공식 마켓(구글 플레이)과 써드파티 마켓(아마존 앱스토어)에서 유통되는 앱들을 대상으로 마켓별, 주요 카테고리별, 교차플랫폼 개발 도구별로 악성 앱의 비율을 분석한다. 먼저 13개의 주요 카테고리의 선정 후, 카테고리별로 앱을 수집하고 VirusTotal의 업로드를 통해 악성 여부를 검사한다. 수집한 앱들을 카테고리 및 개발 도구별로 정상 앱, 멀웨어, PUA(Potentially Unwanted Application)로 구분하여 각각의 비율을 측정한다. 수집한 총 22,615개의 앱 중에서 4,741개가 악성 앱으로 판정되었으며, 구글 플레이의 악성 앱 비율은 14.39%, 아마존 앱스토어의 악성 앱 비율은 24.85%이다. 구글플레이의 경우 Utilities(19.8%)와 Weather(19.1%) 카테고리의 악성 앱 비율이 가장 높으며, 아마존 앱스토어의 경우 Social(40.2%)와 Travel&Local(36.3%), Weather(34.9%) 카테고리의 악성 앱 비율이 가장 높다. 이 카테고리의 앱을 설치하는 경우 각별한 주의가 필요하다. 또한, 교차 플랫폼 개발 도구로 작성된 앱 중 악성 앱의 비율은 17.8%으로서 기존 통계에 비해 악성 앱의 비율이 급격히 증가하였다.

안드로이드 컴포넌트 상호작용 테스팅을 위한 태스크 정보기반 테스트 시나리오 생성 기법

백태산, 이우진

http://doi.org/10.5626/JOK.2017.44.6.595

안드로이드 어플리케이션은 하나 이상의 컴포넌트로 구성되어 있으며 컴포넌트들은 인텐트를 통해 동일 어플리케이션 또는 다른 어플리케이션의 컴포넌트를 호출하여 사용할 수 있다. 이와 같은 컴포넌트 상호작용을 악용한 Broadcast Theft, Activity Hijacking, Intent Spoofing 등과 같은 문제점들을 검사하기 위해서는 다양한 상호작용 시나리오를 생성하여 테스팅을 진행하여야 한다. 하지만 기존 상호작용 테스트 시나리오 생성 연구에서는 각 액티비티 설정에 따라 이전화면으로의 이동 시 재실행 순서가 달라지는 안드로이드 특성을 고려하지 않아 실행 불가능한 테스트 시나리오들이 포함될 수 있는 문제점이 있다. 본 논문에서는 액티비티 스택 정보를 이용하여 상호작용 테스트 시나리오에서 실제 실행되지 않는 경로를 제거하는 방법을 제안한다.

루팅된 안드로이드 폰에서 SEAndroid를 이용한 효과적인 앱 데이터 보호 기법

정윤식, 조성제

http://doi.org/

본 논문에서는 루팅된 단말 환경에서 SEAndroid의 보안 위협을 체계적으로 분석하고, 효과적으로 앱 데이터를 보호하는 기법을 제안한다. 루팅되지 않은 안드로이드 단말의 경우, 접근제어 모델에 의해 한 앱의 데이터는 해당 앱만이 접근할 수 있다. 하지만, 루팅된 단말의 경우 접근제어 모델이 무력화되어, 루트 권한 쉘이 임의로 다른 앱의 민감한 데이터에 접근하거나 악성 앱이 다른 앱의 데이터를 외부로 유출할 수도 있다. 이를 방어하기 위해, 본 논문에서는 기존 SEAndroid의 LSM(Linux Security Module) Hook 함수를 수정하여 제한된 프로세스만이 특정 앱 데이터를 접근할 수 있도록 하였다. 또한 새로운 도메인 타입의 관리 프로세스를 추가하였고, 해당 프로세스로 하여금 새로 설치되는 앱의 디렉토리 타입을 분리하여 관리하게 하였다. 실험을 통해, 제안 기법이 앱 데이터를 효과적으로 보호함과 성능 오버헤드가 2초 이내임을 보인다.

AIOPro: 안드로이드 스마트폰을 위한 통합된 스토리지 I/O 분석도구

한상욱, 이인혁, 류동욱, 김지홍

http://doi.org/

사용자 경험이 중요한 스마트폰에서는 사용자의 입력에 대한 응용 프로그램의 반응 시간에 대한 분석이 필요하며 특히 사용자 반응 시간에 큰 영향을 주는 스토리지 I/O 성능의 분석은 사용자 경험최적화를 위한 중요한 요건이다. 사용자가 경험하는 반응 시간의 분석을 위해서는 입력을 받아들이는 최상위 계층에서 최하위 저장장치 계층을 수직적으로 아우르는 통합된 분석도구가 필요한데 기존의 도구들은 제한된 범위의 계층들에 맞추어 있어서 효과적인 사용자 경험 분석이 어려운 상황이다. 본 논문에서는 안드로이드 스마트폰을 대상으로 최상위 안드로이드 플랫폼, 리눅스 커널을 포함하는 전체 스토리지 I/O 계층의 I/O 동작을 측정하고, 이를 바탕으로 계층 통합적 분석을 통하여 각 계층간 I/O 동작을 연결하여 사용자 입력에 따른 스토리지 I/O가 미치는 영향의 분석이 가능한 도구인 AIOPro를 소개한다. 검증 실험을 통하여 AIOPro가 0.1% 미만의 동작부하로 정확히 분석할 수 있음을 확인하였다.

안드로이드 커널 모듈 취약점 탐지를 위한 자동화된 유닛 테스트 생성 기법

김윤호, 김문주

http://doi.org/

본 논문에서는 안드로이드 커널 모듈의 취약점을 탐지하기 위한 자동 유닛 테스트 생성 기법을 제안한다. 안드로이드 커널 모듈의 각 함수를 대상으로 테스트 드라이버/스텁 함수를 자동 생성하고 동적 기호 실행 기법을 사용하여 테스트 입력 값을 자동으로 생성한다. 또한 안드로이드 커널 모듈의 함수 포인터와 함수 선행 조건을 고려하지 않은 테스트 생성으로 인한 거짓 경보를 줄이기 위해 정적 분석을 통한 함수 포인터 매칭 기법과 def-use 분석을 사용한 함수 선행 조건 생성 기법을 개발하였다. 자동 유닛 테스트 생성 기법을 안드로이드 커널 3.4 버전의 세 모듈에 적용한 결과 기존에 존재하던 취약점을 모두 탐지할 수 있었으며 제안한 거짓 경보 감소 기법으로 평균 44.9%의 거짓 경보를 제거할 수 있었다.

안드로이드 장치 드라이버에 대한 효과적 취약점 탐지 기법

정영기, 조성제

http://doi.org/

안드로이드 및 리눅스 기반 임베디드 시스템에서는 디바이스 드라이버가 커널 함수로 포함되는 구조로 되어 있다. 어떤 디바이스 드라이버들의 경우, 여러 Third-party에 의해 제공되는 소프트웨어(펌웨어)가 포함되는데, 그 보안 수준에 대해 검토되지 않고 사용되는 경우가 많다. 보안 취약점 분석을 위해 일반적으로 사용되는 정적 분석의 경우, 오탐 가능성으로 인하여 실제 권한상승과 같은 주요 취약점을 확인하는데 많은 비용이 발생한다. 본 논문에서는 안드로이드 시스템에서 사용되는 디바이스 드라이버를 대상으로 정적 및 동적 분석 기반의 효과적인 보안 취약점 탐지 기법을 제시하고 그 효용성을 확인한다.

스마트 기기 잠금을 위한 상황인지 위험도기반의 지속인증기법

김지환, 이윤호

http://doi.org/

스마트폰에 저장되어 있는 정보가 타인에게 접근되는 것을 막기 위해 스마트폰 인증은 매 스마트폰 사용 시 마다 다양한 방법으로 스마트폰 소유자의 여부를 확인한다. 그러나 이러한 매 사용 마다의 인증은 사용자들의 불편함을 야기하며, 때로는 인증방법을 사용하지 않게 하는, 궁극적으로 스마트폰 보안의 치명적인 문제로 작용한다. 본 연구에서는 안드로이드 환경에서 위의 문제를 해결하기 위한 지속인증 방법을 제안한다. 제안 방법에서 스마트폰들은 사용자들의 과거 경험을 이용하여 그들의 위험을 인식하고 사용자 인증이 필요한지의 여부를 결정한다. 인증은 높은 위험이 있는 상황에서만 진행되기 때문에 제안 방법은 높은 위험도 상황일 경우에는 높은 안전성을, 그리고 낮은 위험도 상황에서는 사용자 편리성을 제공한다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr