La seguridad de un software no es un software de seguridad. Nos preocupamos de cuestiones como la autenticación, el control de acceso, la confidencialidad, la criptografía y la gestión de privilegios.
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de ACTIVITY_RECOGNITION
, que permite a una aplicación introducir reconocer la actividad física del usuario.<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de READ_CALENDAR
, que permite a una aplicación leer los datos del calendario del usuario.<uses-permission android:name="android.permission.READ_CALENDAR"/>Ejemplo 2: El elemento
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de WRITE_CALENDAR
, que permite a una aplicación introducir datos en los datos del calendario del usuario.<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de READ_CALL_LOG
, que permite a una aplicación leer el registro de llamadas del usuario.<uses-permission android:name="android.permission.READ_CALL_LOG"/>Ejemplo 2: El elemento
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de WRITE_CALL_LOG
, que permite a una aplicación introducir datos en el registro de llamadas del usuario.<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de CAMERA
, que permite a una aplicación acceder a la cámara del dispositivo.<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de READ_CONTACTS
, que permite a una aplicación leer los datos de los contactos del usuario.<uses-permission android:name="android.permission.READ_CONTACTS"/>Ejemplo 2: El elemento
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de WRITE_CONTACTS
, que permite a una aplicación introducir datos en los datos de los contactos del usuario.<uses-permission android:name="android.permission.WRITE_CONTACTS"/>Ejemplo 3: El elemento
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de GET_ACCOUNTS
, que permite a una aplicación acceder al correo electrónico del usuario y a las cuentas en línea almacenadas en el Gestor de cuentas. Con este permiso se puede acceder a datos confidenciales, como identificadores de cuentas, direcciones de correo electrónico y números de teléfono.<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de WRITE_EXTERNAL_STORAGE
, que permite a una aplicación introducir datos en un almacenamiento externo.<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>Ejemplo 2: El elemento
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de READ_EXTERNAL_STORAGE
, que permite a una aplicación leer en un almacenamiento externo.<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BRICK"/>
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);
sms.sendTextMessage(recipient, null, message, PendingIntent.getBroadcast(SmsMessaging.this, 0, new Intent(ACTION_SMS_SENT), 0), null);
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de RECORD_AUDIO
, que permite a una aplicación grabar audios utilizando el micrófono del dispositivo.<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso BLUETOOTH_ADVERTISE
, que permite que una aplicación se anuncie en dispositivos Bluetooth cercanos.<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso POST_NOTIFICATIONS
, que permite que una aplicación envíe notificaciones al usuario del dispositivo.<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso READ_MEDIA_AUDIO
, que permite que una aplicación lea archivos de música y audio en el dispositivo.<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso READ_MEDIA_VIDEO
, que permite que una aplicación lea archivos de vídeo en el dispositivo.<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission .../>
de AndroidManifest.xml declara el uso del permiso de BODY_SENSORS
, que permite a una aplicación acceder a los datos de los sensores corporales o medioambientales en el dispositivo o a los elementos conectados al mismo.<uses-permission android:name="android.permission.BODY_SENSORS"/>
number = tm.getCompleteVoiceMailNumber();
FLAG_GRANT_READ_URI_PERMISSION
o FLAG_GRANT_WRITE_URI_PERMISSION
. Si un programa malintencionado consigue interceptar esta finalidad, obtendrá permiso para leer o escribir en el URI especificado. A menudo, las finalidades implícitas serán más susceptibles de ser interceptadas que las explícitas.
myIntent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
AUTHID
utilizan AUTHID DEFINER
de forma predeterminada.AUTHID DEFINER
o AUTHID CURRENT_USER
. Las funciones y los procedimientos con los derechos del definidor se ejecutan con los privilegios del usuario que define el código. De este modo se podrán implementar las actualizaciones y obtener acceso a datos específicos sin permitir el acceso a todo el contenido de las tablas o los esquemas. Con los derechos del invocador o AUTHID CURRENT_USER
, las funciones y los procedimientos se ejecutan con los privilegios del usuario que los invoca. Así, un usuario no tendrá acceso a los datos a los que aún no podía acceder. Si no se proporciona ninguna cláusula AUTHID
, la función o el procedimiento utilizará los derechos del definidor de forma predeterminada. SYS
u otro usuario con privilegios elevados, lo cual hace que las vulnerabilidades de seguridad del código sean potencialmente más peligrosas.