본문 바로가기

보안/안드로이드

안드로이드 악성앱 사용 API

각각의 악성앱은 특정 API를 사용해 악성행위를 한다. 그러기 위해선 퍼미션이 선언되어 있어야하고 해당 퍼미션엔느 관련된 API가 존재한다.


 퍼미션

 INTERNET

 API

 java.net.URLConnection

 org.apache.http.client.methods.HttpClient

 사용 함수

 java.net.URLConnection.set()

 java.net.URLConnection.getOutputStream()

 org.apache.http.client.methods.HttpClient.setEntity()



 퍼미션

 ACCESS_NETWORK_STATE

 ACCESS_WIFI_STATE

 API

 android.net.ConnectivityManager

 사용 함수

 android.net.ConnectivityManager.getNetworkInfo()



 퍼미션

  READ_SMS

 API

 android.content.Context

 사용 함수

 android.content.Context.getContentResolver()

  - 문자 : content://sms 
  - MMS : content://mms



 퍼미션

 SEND_SMS 
 RECEIVE_SMS
 WRITE_SMS

 API

 android.content.Context

 android.telephony.SmsMessage

 사용 함수

 android.content.Context.getSystemService()

 android.telephony.SmsManager.getDefault()

 android.telephony.SmsManager.sendTextMessage()

 android.telephony.SmsMessage.getDisplayOriginatingAddress()

 android.telephony.SmsMessage.getMessageBody()

 android.telephony.SmsManager.sendMultipartTextMessage()



 퍼미션

 WRITE_CONTACTS 
 READ_CONTACTS

 API

 android.provider.ContactsContract

 사용 함수

 -



 퍼미션

 READ_PHONE_STATE

 API

 android.telephony.TelephonyManager

 android.content.Context

 사용 함수

 android.content.Context.getSystemService()

- 핸드폰번호 : getLine1Number() 

- 국제핸드폰식별번호 : getDeviceID()

- 가입자 ID : getSubscriberID()

- SIM 번호 : getSimSerialNumber()




 퍼미션

 ACCESS_COARSE_LOCATION

 ACCESS_FINE_LOCATION

 API

 android.telephony.TelephonyManager

 android.content.Context

 android.location.LocationManager

 android.location.Location

 사용 함수

 android.content.Context.getSystemService()

 android.location.Location.getLatitude()

 android.location.Location.getLongitude()

 android.location.LocationManager.getAllProviders()

 android.location.LocationManager.getLastKnownLocation()

 android.telephony.TelephonyManager.getCallState()

 android.telephony.TelephonyManager.getCellLocation()

 android.telephony.TelephonyManager.getDataState()



 기타

 WRITE_EXTERNAL_STORAGE

 RECEIVE_BOOT_COMPLETE

 API

 android.app.ActivityManager

 android.content.Context

 android.content.pm.PackageManager

 android.database.sqlite.SQLiteDatabase

 사용 함수

 android.app.ActivityManager.getMemoryInfo()

 android.content.Context.openFileOutput()

 android.content.pm.PackageManager.getInstalledPackages()

 android.database.sqlite.SQLiteDatabase.openDatabase()