Una auditoría de licencia de software o una auditoría de cumplimiento de software es un subconjunto importante de la gestión de activos de software y un componente de la gestión de riesgos corporativos. Cuando una empresa desconoce qué software está instalado y utilizado en sus máquinas, puede resultar en múltiples capas de exposición. [1]
Los principales beneficios que recibe una corporación al realizar una auditoría de licencias de software son un mayor control y diversas formas de ahorro de costos. La auditoría se utiliza como mecanismo de eficiencia para mejorar la distribución de software dentro de una organización y como mecanismo preventivo para evitar acciones judiciales por infracción de derechos de autor por parte de las empresas de software. Las auditorías de licencias de software son una parte importante de la gestión de activos de software, pero también sirven como método de gestión de la reputación corporativa al garantizar que la empresa opera dentro de las pautas legales y éticas.
No se deben confundir las auditorías de software con las auditorías de código , que se llevan a cabo sobre el código fuente de un proyecto de software.
Si la empresa auditora escanea de forma independiente la base del código, uno de los serios desafíos son los cambios de licencia entre versiones. Algunas bibliotecas de software comienzan con una licencia y luego cambian a otra. Los ejemplos típicos son el cambio de la licencia permisiva única al modelo de licencia dual (la elección entre fuerte recíproca o comercial de pago) como en el caso de iText , el cambio de una licencia más recíproca a una más permisiva (como en el caso de Qt Extended ) y el código abierto del código anteriormente comercial. (como para OpenJDK ). En tales casos, no basta con detectar que se ha utilizado alguna biblioteca o fragmento de código: se debe identificar correctamente una versión exacta utilizada. Pueden surgir más dificultades si el propietario de la biblioteca elimina las versiones obsoletas (que estaban bajo una licencia diferente) de las fuentes públicas.
Algunas licencias (como LGPL ) tienen condiciones muy diferentes para la simple vinculación y creación de obras derivadas. En tal caso la auditoría adecuada debe tomar en consideración si la biblioteca ha sido vinculada o se ha creado la obra derivada (rama personalizada).
Finalmente, algunos paquetes de software pueden contener internamente fragmentos del código fuente (como el código fuente de Oracle Java) que pueden proporcionarse sólo como referencia o tener varias otras licencias, no necesariamente compatibles con las políticas internas de la empresa. Si el equipo de software realmente no utiliza (o incluso no tiene conocimiento) de dichos fragmentos, esto debe verse de manera diferente que si estuvieran directamente vinculados.
Todos estos problemas son relativamente fáciles de resolver si el grupo de auditoría coopera con el equipo de software que normalmente debería conocer las versiones utilizadas, etc. Si no se confía en el equipo de software, una auditoría incompetente puede encontrar muchas "inconsistencias" y "violaciones" donde no las hay.
La gestión de activos de software es un proceso organizativo, que se describe en ISO/IEC 19770 -1. Ahora también está incluido en ISO/IEC 27001 :2005 Tecnología de la información - Técnicas de seguridad - Sistemas de gestión de seguridad de la información - Requisitos [2] e ISO/IEC 17799 :2005 Tecnología de la información - Técnicas de seguridad - Código de prácticas para la gestión de seguridad de la información. [3]
La gestión de activos de software es una estrategia integral que debe abordarse de arriba a abajo en una organización para que sea eficaz y minimice el riesgo. Una auditoría de cumplimiento de software es un subconjunto importante de la gestión de activos de software y está cubierta por los estándares mencionados anteriormente. En su forma más simple implica lo siguiente:
El proceso de auditoría en sí debería ser una acción continua, y el software SAM moderno identifica qué está instalado, dónde está instalado, su uso y proporciona una conciliación de este descubrimiento con el uso. Este es un medio muy útil para controlar las instalaciones de software y reducir los costos de licencia. Las grandes organizaciones no podrían hacer esto sin aplicaciones de descubrimiento e inventario.
De vez en cuando, las auditorías internas o externas (por parte de las principales firmas contables) pueden adoptar un enfoque forense para establecer qué está instalado en las computadoras de una organización con el fin de garantizar que todo sea legal y autorizado y garantizar que su proceso de procesamiento. transacciones o eventos es correcto. Aunque uno podría enfrentarse a una auditoría de un proveedor de software por medios contractuales y legales justos, también debería conocer y reservar sus derechos cruciales en una situación de auditoría. [4]
Las auditorías de software son un componente de la gestión de riesgos corporativos y ciertamente minimizan el riesgo de procesamiento por infracción de derechos de autor debido al uso de software sin licencia. La mayoría de los proveedores permiten que la empresa llegue a un acuerdo sin enjuiciamiento, aunque en casos graves, ciertamente se producen procesamientos. Además, con una política estricta de uso de software, el riesgo de virus informáticos se minimiza al evitar la copia incontrolada de software.
Los proveedores se suscriben a organizaciones como Federation Against Software Theft (FAST) y Business Software Alliance (BSA) como medio para proporcionar un enfoque industrial para controlar la piratería, la falsificación y el uso ilegal de software. Publicitan campañas contra el uso ilegal de software y recompensan a los empleados que les notifiquen cualquier infracción que resulte en un procesamiento exitoso y/o la recuperación de las tarifas de licencia.