Un reportero de accidente suele ser un software de sistema cuya función es identificar la presentación de informes de accidentes detalles y para alerta cuando hay accidentes, en la producción o en el desarrollo / testing. Los informes de fallas a menudo incluyen datos como seguimientos de pila , tipo de falla, tendencias y versión del software. Estos informes ayudan a los desarrolladores de software (Web, SAAS, aplicaciones móviles y más) a diagnosticar y solucionar el problema subyacente que causa las fallas. Los informes de fallos pueden contener información confidencial como contraseñas, direcciones de correo electrónico e información de contacto, por lo que se han convertido en objetos de interés para los investigadores en el campo de la seguridad informática. [1]
La implementación de herramientas de informes de fallas como parte del ciclo de desarrollo se ha convertido en un estándar, y las herramientas de informes de fallas se han convertido en un producto básico; muchas de ellas se ofrecen de forma gratuita, como Crashlytics .
Muchos actores gigantes de la industria, que forman parte del ecosistema de desarrollo de software, han entrado en el juego. Empresas como Twitter, Google y otras están haciendo un gran esfuerzo para alentar a los desarrolladores de software a usar sus API, sabiendo que esto aumentará sus ingresos en el futuro (a través de anuncios y otros mecanismos). A medida que se dan cuenta de que deben ofrecer soluciones elegantes para la mayor cantidad posible de problemas de desarrollo, de lo contrario, sus competidores tomarán medidas, continúan agregando funciones avanzadas. Las herramientas de informes de fallos constituyen una funcionalidad de desarrollo importante que las empresas gigantes incluyen en su cartera de soluciones.
Muchas herramientas de informes de fallos están especializadas en aplicaciones móviles. Muchos de ellos son SDK .
Mac OS
En macOS hay un informe de fallos estándar en / System / Library / CoreServices / Crash Reporter.app . Crash Reporter.app envía los registros de bloqueo de Unix a Apple para que sus ingenieros los examinen. El campo de texto superior de la ventana tiene el registro de fallos, mientras que el campo inferior es para los comentarios de los usuarios. Los usuarios también pueden copiar y pegar el registro en su cliente de correo electrónico para enviarlo al proveedor de la aplicación para que lo utilicen. Crash Reporter.app tiene 3 modos principales: no mostrar nada en caso de bloqueo, mostrar el cuadro de diálogo "La aplicación se bloqueó" o mostrar la ventana Informe de bloqueo .
Ventanas
Microsoft Windows incluye un servicio de informes de fallas llamado Informe de errores de Windows que solicita a los usuarios que envíen informes de fallas a Microsoft para su análisis en línea. [2] La información va a una base de datos central administrada por Microsoft. Consiste en información de diagnóstico que ayuda a la empresa o al equipo de desarrollo responsable del bloqueo a depurar y resolver el problema si así lo deciden. Los informes de fallos para software de terceros están disponibles para desarrolladores de terceros a los que Microsoft les haya otorgado acceso.
El sistema considera todas las partes del proceso de depuración y publicación, de modo que las correcciones de errores específicas se pueden aplicar a través de Windows Update . En otras palabras, solo se puede ofrecer la corrección del error a las personas que experimentan un tipo particular de bloqueo, lo que limita la exposición a un problema.
Según Der Spiegel , el reportero de fallas de Microsoft ha sido explotado por la unidad de Operaciones de Acceso a Medida (TAO) de la NSA para piratear las computadoras de la Secretaría de Seguridad Pública de México . Según la misma fuente, los informes de fallos de Microsoft se recopilan automáticamente en la base de datos XKeyscore de la NSA para facilitar dichas operaciones. [3]
CrashRpt
Otra biblioteca de informes de errores para Windows es CrashRpt. La biblioteca CrashRpt es un marco de manejo de errores de código abierto liviano para aplicaciones creadas en Microsoft Visual C ++ y que se ejecutan en Windows . La biblioteca se distribuye bajo Nueva Licencia BSD .
CrashRpt intercepta las excepciones no controladas , crea un archivo de minivolcado de fallos , crea un descriptor de fallos en formato XML , presenta una interfaz que permite al usuario revisar el informe de fallos y, finalmente, comprime y envía el informe de fallos al equipo de soporte de software.
CrashRpt también proporciona una herramienta de línea de comandos del lado del servidor para el análisis de informes de fallas llamada crprober. La herramienta puede leer todos los informes de fallos recibidos de un directorio y generar un archivo de resumen en formato de texto para cada informe de fallos. También agrupa informes de fallos similares, lo que facilita la determinación de los problemas más populares. La herramienta crprober no proporciona ninguna interfaz gráfica, por lo que es bastante críptica y difícil de usar.
También hay un software de servidor de código abierto llamado CrashFix Server que puede almacenar, organizar y analizar informes de fallas enviados por la biblioteca CrashRpt. Puede agrupar informes de fallos similares, tiene un rastreador de errores incorporado y puede generar informes estadísticos. El servidor CrashFix proporciona una interfaz de usuario basada en web que permite la colaboración de varios miembros del proyecto (cargar símbolos de depuración, examinar informes de fallos y asociar errores con informes de fallos).
Linux
ABRT
ABRT (Herramienta automatizada de informes de errores) se afirma como una distribución independiente mientras que a partir de 2013[actualizar]implementado solo en distribuciones Fedora y Red Hat Enterprise Linux . ABRT intercepta los volcados de núcleo o los rastreos de las aplicaciones y (después de la confirmación del usuario) envía informes de errores a varios sistemas de seguimiento de errores, como Fedora Bugzilla [1] .
Rastreador de errores de Ubuntu
Ubuntu aloja un rastreador de errores público en errors.ubuntu.com que recopila diariamente cientos de miles de informes de errores de millones de máquinas. [4] Si un programa falla en Ubuntu, un manejador de fallas (como Apport) [5] notificará al usuario y ofrecerá reportar la falla. Si el usuario elige informar del bloqueo, los detalles (posiblemente incluido un volcado del núcleo) se cargarán en un servidor Ubuntu ( daisy.ubuntu.com ) para su análisis. [6] Un volcado de memoria se procesa automáticamente para crear un seguimiento de pila y una firma de bloqueo. La firma de fallos se utiliza para clasificar los informes de fallos posteriores provocados por el mismo error.
GNOMO
Bug Buddy es la herramienta de informes de fallos utilizada por la plataforma GNOME . Cuando una aplicación que usa las bibliotecas de GNOME falla, Bug Buddy genera un seguimiento de pila usando gdb e invita al usuario a enviar el informe al bugzilla de GNOME . El usuario puede agregar comentarios y ver los detalles del informe de fallas.
KDE
La herramienta de informes de fallos utilizada por KDE se llama Dr. Konqi . El usuario también puede obtener un seguimiento mediante gdb.
Mozilla
Replicar
Talkback (también conocido como Quality Feedback Agent ) fue el reportero de fallas utilizado por el software de Mozilla hasta la versión 1.8.1 para informar fallas de sus productos a un servidor centralizado para su agregación o análisis caso por caso. [7] Talkback es un software propietario con licencia de Mozilla Corporation por SupportSoft . Si un producto de Mozilla (por ejemplo, Mozilla Firefox , Mozilla Thunderbird ) fallara con Talkback habilitado, aparecería el agente de Talkback, solicitando al usuario que proporcione información opcional sobre la falla. Talkback no reemplaza al informador de fallas del sistema operativo nativo que, si está habilitado, aparecerá junto con el agente de Talkback. Talkback ha sido reemplazado por Breakpad en Firefox desde la versión 3 .
Breakpad
Breakpad (anteriormente llamado Airbag ) es un reemplazo de código abierto para Talkback. Desarrollado por Google y Mozilla, se utiliza en productos actuales de Mozilla como Firefox y Thunderbird. [8] [9] Su importancia es ser el primer sistema de reporte de fallas multiplataforma de código abierto.
Desde 2007, Breakpad está incluido en Firefox en Windows y Mac OS X y Linux. [10] Breakpad normalmente se empareja con Socorro, que recibe y clasifica los bloqueos de los usuarios.
Breakpad en sí es solo una parte de un sistema de notificación de fallas, ya que no incluye ningún mecanismo de notificación.
Guarida
Crashpad es un reportero de fallas de código abierto utilizado por Google en Chromium . Fue desarrollado como un reemplazo de Breakpad debido a una actualización en macOS 10.10 [11] que eliminó las API utilizadas por Breakpad . Crashpad actualmente consta de un cliente de informes de fallas y algunas herramientas relacionadas para macOS y Windows, y se considera sustancialmente completo para esas plataformas. Crashpad se convirtió en el cliente de informes de fallos para Chromium en macOS a partir de marzo de 2015 y en Windows a partir de noviembre de 2015. [12]
Mundo de Warcraft
World of Warcraft es otro programa que usa su propio reportero de fallas, "Error Reporter". Es posible que el informador de errores no detecte bloqueos todo el tiempo; a veces, en su lugar se invoca al informador de fallos del sistema operativo. Incluso se sabe que Error Reporter se bloquea al informar errores.
SO móviles
Los sistemas operativos Android e iOS también tienen una función de informe de fallas incorporada. [13] [14]
Referencias
- ^ Satvat, Kiavash; Saxena, Nitesh (2018). "Choque de privacidad: una autopsia de informes de fallas filtradas de un navegador web". arXiv : 1808.01718 [ cs.CR ].
- ^ Uso de Microsoft Online Crash Analysis Archivado 2007-01-02 en Wayback Machine
- ^ http://www.spiegel.de/international/world/the-nsa-uses-powerful-toolbox-in-effort-to-spy-on-global-networks-a-940969-2.html
- ^ "Rastreador de errores de Ubuntu" .
- ^ Información de Ubuntu sobre Apport , un software de manejo de fallas desarrollado por Martin Pitt 2006–10 , como se describe en su charla El sistema de manejo de fallas de Apport: devolviendo la diversión a segfaults Archivado 2016-10-02 en Wayback Machine
- ^ "Diseño de ErrorTracker" .
- ^ "Servidor Mozilla Talkback" . Archivado desde el original el 19 de julio de 2012 . Consultado el 21 de septiembre de 2006 .
- ^ Despliegue del airbag . BSBlog ( blog del desarrollador de Mozilla Benjamin Smedberg).
- ^ Usando Breakpad con Gran Paradiso (1.9a3) . BSBlog ( blog del desarrollador de Mozilla Benjamin Smedberg).
- ^ Error 381099: activa el informe de fallas de forma predeterminada (Win + Mac) , rastreador de errores de mozilla.org.
- ^ "Presentación de Crashpad" . Consultado el 1 de agosto de 2017 .
- ^ "Página de inicio de Crashpad" . Consultado el 1 de agosto de 2017 .
- ^ "La nueva herramienta de informe de fallas de la aplicación Android ya está en funcionamiento" . 22 de mayo de 2010 . Consultado el 4 de junio de 2011 .
- ^ "Nota técnica TN2151" . Consultado el 4 de junio de 2011 .
enlaces externos
- Cómo crear informes de fallos útiles con KDE
- KernelOops sitio de recuento de errores del kernel de Linux
- ABRT: herramienta automatizada de notificación de errores
- Una revisión de las herramientas de informes de fallas móviles