보안/안드로이드

안드로이드 악성앱 사용 API

모아이모아이 2014. 12. 6. 16:00

각각의 악성앱은 특정 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()