12.
ADQUISICIÓN, DESARROLLO Y MANTENIMIENTO DE SISTEMAS DE INFORMACIÓN
12.1 REQUISITOS DE SEGURIDAD DE LOS SISTEMAS DE INFORMACIÓN
Objetivo: garantizar que la seguridad es parte integral de
los sistemas de información.
Los sistemas de información incluyen sistemas operativos, infraestructura,
aplicaciones del negocio, productos de vitrina, servicios y aplicaciones
desarrolladas para usuarios. El diseño y la implementación del sistema de
información que da soporte a los procesos del negocio pueden ser cruciales para
la seguridad. Se deberían identificar y acordar los requisitos de seguridad
antes del desarrollo y / o la implementación de los sistemas de información.
Todos los requisitos de seguridad se deberían identificar en
la fase de requisitos de un proyecto y se deberían justificar, acordar y
documentar como parte de todo el caso del negocio para un sistema de
información.
12.1.1 Análisis y
especificación de los requisitos de seguridad
Control
Las declaraciones sobre los requisitos del negocio para nuevos
sistemas de información o mejoras a los sistemas existentes deberían
especificar los requisitos para los controles de seguridad.
Guía de
implementación
En las especificaciones para los requisitos de control se deberían
considerar los controles automatizados que se han de incorporar en el sistema de
información y la necesidad de controles manuales de apoyo. Se deberían aplicar
consideraciones similares al evaluar los paquetes de software, desarrollados o
adquiridos, para las aplicaciones del negocio.
Los requisitos de seguridad y los controles deberían
reflejar el valor para el negocio de los activos de información involucrados
(véase el numeral 7.2) y el daño potencial para el negocio que se puede
presentar debido a falla o ausencia de seguridad.
Los requisitos del sistema para la seguridad de la información
y los procesos para implementarla se deberían integrar en las fases iniciales
de los proyectos del sistema de información. Los controles introducidos en la
etapa de diseño son significativamente más baratos de implementar y mantener
que aquellos incluidos durante o después de la implementación.
Si se adquieren productos, se debería seguir un proceso
formal de adquisición y prueba. Los contratos con el proveedor deberían abordar
los requisitos de seguridad identificados. Cuando la funcionalidad de la
seguridad de un producto determinado no satisface el requisito específico,
entonces es conveniente considerar los controles de los riesgos, introducidos y
asociados, antes de adquirir el producto. Cuando se proporciona funcionalidad
adicional y ello causa un riesgo de seguridad, tal funcionalidad se debería
inhabilitar o se debería revisar la estructura del control propuesto para
determinar si se puede obtener ventaja de la funcionalidad mejorada disponible.
Información adicional
Si se considera apropiado, por ejemplo por razones de costos,
la dirección podría utilizar productos certificados y evaluados independientemente.
Información adicional sobre los criterios para los productos de seguridad de la
tecnología de la información se puede encontrar en la norma ISO/IEC 15408 o en
otras normas sobre evaluación y certificación, según sea apropiado.
La norma ISO/IEC TR 13335-3 proporciona directrices sobre el
uso de procesos de gestión de riesgos para identificar los requisitos de los
controles de seguridad.
12.2 PROCESAMIENTO
CORRECTO EN LAS APLICACIONES
Objetivo: evitar errores, pérdidas, modificaciones no autorizadas
o uso inadecuado de la información en las aplicaciones.
Se deberían diseñar controles apropiados en las
aplicaciones, incluyendo las aplicaciones desarrolladas por el usuario para
garantizar el procesamiento correcto. Estos controles deberían incluir la
validación de los datos de entrada, del procesamiento interno y de los datos de
salida.
Se pueden necesitar controles adicionales para los sistemas
que procesan o tienen impacto en la información sensible, de valor o crítica.
Dichos controles se deberían determinar con base en los requisitos de seguridad
y en la evaluación de riesgos.
12.2.1 Validación de
los datos de entrada
Control
Se deberían validar los datos de entrada a las aplicaciones
para asegurar que dichos datos son correctos y apropiados.
Guía de
implementación
Es recomendable realizar verificaciones de las entradas de
las transacciones del negocio, de los datos permanentes (por ejemplo, nombres y
direcciones, límites de crédito, números de referencia del cliente) y de las
tablas de parámetros ( por ejemplo, precios de venta, tasas de conversión de
divisas, tasas de impuestos). Se recomienda tomar en consideración las siguientes
directrices:
a). verificaciones de entradas duales u otras entradas,
tales como verificación de fronteras o campos limitantes para especificar los
rangos de los datos de entrada, con el fin de detectar los siguientes errores:
1). valores fuera de rango;
2). caracteres no válidos en los campos de datos;
3). datos incompletos o ausentes;
4). exceso en los límites superiores e inferiores del
volumen de datos;
5). datos de control inconsistentes o no autorizados;
b). revisión periódica del contenido de los campos clave o
de los archivos de datos para confirmar su validez e integridad;
c). inspección de los documentos de entrada impresos para
determinar cambios no autorizados (todos los cambios en los datos de entrada
deben estar autorizados);
d). procedimientos de respuesta ante errores de validación;
e). procedimientos para probar la credibilidad de los datos
de entrada;
f). definición de responsabilidades para todo el personal
que participa en el proceso de entrada de datos;
g). creación de un registro de las actividades implicadas en
el proceso de entrada de datos (véase el numeral 10.10.1).
Información adicional
Se recomienda la inspección y la validación automática de los
datos de entrada, cuando se puedan aplicar, para reducir el riesgo de errores y
evitar ataques normales, incluyendo desbordamiento de búfer o inyección de
códigos.
12.2.2 Control de
procesamiento interno
Control
Se deberían incorporar verificaciones de validación en las
aplicaciones para detectar cualquier corrupción de la información por errores
de procesamiento o actos deliberados.
Guía de
implementación
El diseño y la implementación de las aplicaciones deberían garantizar
que se minimizan los riesgos de falla en el procesamiento, los cuales originan
pérdida de la integridad. Las áreas específicas que se han de considerar
incluyen:
a). utilización de las funciones agregar, modificar y borrar
para implementar los cambios en los datos;
b). procedimientos para evitar que los programas se ejecuten
en orden erróneo o su ejecución después de falla previa del procesamiento
(véase el numeral 10.1.1);
c). utilización de programas adecuados para la recuperación después
de fallas con el fin de garantizar el procesamiento correcto de los datos;
d). protección contra ataques empleando desbordamiento /
exceso en el búfer.
Se deberían elaborar listas de verificación adecuadas,
documentar las actividades y mantener seguros los resultados. Los siguientes
son algunos ejemplos de verificaciones que se pueden incorporar:
a). controles de sesión o de lotes, para conciliar los
balances de archivos de datos después de actualizar las transacciones;
b). controles de balance, para verificar los balances de apertura
frente a los balances de cierre previos, a saber:
1).controles para cada ejecución;
2). totales de actualizaciones de archivos;
3). controles programa a programa;
c). validación de los datos de entrada generados por el
sistema (véase el numeral 12.2.1);
d). verificaciones de la integridad, la autenticidad o cualquier
otra característica de seguridad de los datos o del software descargado o actualizado
entre el computador central y el remoto;
e). totales de verificación (hash) de registros y archivos;
f). verificaciones para garantizar que los programas de
aplicación se ejecutan en el momento correcto;
g). verificaciones para garantizar que los programas se ejecutan
en el orden correcto y terminan en caso de falla, y que el procesamiento
posterior se detiene hasta resolver el problema;
h). creación de un registro de las actividades implicadas en
el procesamiento (véase el numeral 10.10.1).
Información adicional
Los datos que se han ingresado correctamente se pueden corromper
por errores de software, errores de procesamiento o a través de actos
deliberados. Las verificaciones de validación requeridas dependerán de la
naturaleza de la aplicación y del impacto de la corrupción de los datos en el
negocio.
12.2.3 Integridad del
mensaje
Control
Se deberían identificar los requisitos para asegurar la
autenticidad y proteger la integridad del mensaje en las aplicaciones, así como
identificar e implementar los controles adecuados.
Guía de
implementación
Se debería realizar una evaluación de los riesgos de
seguridad para determinar si se requiere integridad del mensaje y para
identificar el método más apropiado de implementación.
Información adicional
Se pueden usar las técnicas criptográficas (véase el numeral
12.3) como un medio apropiado para implementar la autenticación del mensaje.
12.2.4 Validación de
los datos de salida
Control
Se deberían validar los datos de salida de una aplicación
para asegurar que el procesamiento de la información almacenada es correcto y
adecuado a las circunstancias.
Guía de
implementación
La validación de los datos de salida puede incluir:
a). verificaciones de la verosimilitud para probar si los
datos de salida son razonables;
b). cuentas de control de conciliación para asegurar el
procesamiento de todos los datos;
c). suministro de información suficiente para que un lector
o un sistema de procesamiento posterior determine la exactitud, totalidad,
precisión y clasificación de la información;
d). procedimientos para responder las pruebas de validación
de salidas;
e). definición de las responsabilidades de todo el personal
que participa en el proceso de la salida de datos;
f). creación de un registro de las actividades del proceso
de validación de la salida de datos.
Información adicional
Comúnmente, los sistemas y las aplicaciones se construyen
asumiendo que al realizar la validación, la verificación y las pruebas
adecuadas, la salida siempre será correcta. Sin embargo, esta suposición no
siempre es válida; es decir, los sistemas que se han sometido a prueba aún
pueden producir salidas incorrectas en algunas circunstancias.
12.3 CONTROLES
CRIPTOGRÁFICOS
Objetivo: proteger la confidencialidad, autenticidad o
integridad de la información, por medios criptográficos.
Se debería desarrollar una política sobre el uso de los
controles criptográficos y establecer una gestión de claves para dar soporte al
empleo de técnicas criptográficas.
12 Política sobre el
uso de controles criptográficos.3.1
Control
Se debería desarrollar e implementar una política sobre el
uso de controles criptográficos para la protección de la información.
Guía de
implementación
Se recomienda tomar en consideración los siguientes aspectos
al desarrollar una política criptográfica:
a). el enfoque de la dirección hacia el uso de controles
criptográficos en toda la organización, incluyendo los principios generales bajo
los cuales se debería proteger la información del negocio (véase el numeral
5.1.1);
b). con base en la evaluación de riesgos, se debería identificar
el nivel requerido de protección teniendo en cuenta tipo, fortaleza y calidad
del algoritmo de encriptación requerido;
c). uso de encriptación para la protección de la información
sensible transportada por medios móviles o removibles, por dispositivos o a
través de las líneas de comunicación;
d). enfoque para la gestión de claves, incluyendo los
métodos para tratar la protección de las claves criptográficas y la
recuperación de información encriptada en caso de pérdida, amenaza o daño de
las claves;
e). funciones y responsabilidades, por ejemplo, quién es
responsable de:
1). la implementación de la política;
2). la gestión de claves, incluyendo su generación (véase el
numeral 12.3.2);
f). normas que se han de adoptar para la implementación
eficaz en toda la organización (qué solución se usa para cuáles procesos del
negocio);
g). impacto de la utilización de información encriptada sobre
los controles que depende de la inspección del contenido (por ejemplo,
detección de virus).
Cuando se implementa la política de encriptación de la
organización, es conveniente tener en mente los reglamentos y las restricciones
nacionales que se pueden aplicar al uso de técnicas criptográficas en
diferentes partes del mundo y los aspectos del flujo trans-fronterizo de información
encriptada (véase el numeral 15.1.6).
Los controles criptográficos se pueden utilizar para lograr
diferentes objetivos de seguridad, por ejemplo:
a). confidencialidad: uso de encriptación de la información
para proteger información sensible o crítica, bien sea almacenada o
transmitida;
b). integridad / autenticidad: uso de firmas digitales o
códigos de autenticación de mensajes para proteger la autenticidad e integridad
de información sensible o crítica transmitida o almacenada;
c). no-repudio: uso de técnicas criptográficas para obtener
prueba de la ocurrencia o no ocurrencia de un evento o acción.
Información adicional
La decisión sobre la idoneidad de la solución criptográfica
debería formar parte del proceso más amplio de evaluación de riesgos y
selección de controles. Esta evaluación se puede usar para determinar si un
control criptográfico es adecuado, el tipo de control que se debería aplicar y
para qué propósito y cuál proceso del negocio.
La política sobre el empleo de controles criptográficos es
necesaria para maximizar los beneficios y minimizar los riesgos de usar las
técnicas criptográficas, y para evitar el uso incorrecto o inapropiado. Cuando
se utilizan firmas digitales, se recomienda considerar toda la legislación
pertinente, en particular la legislación que describe las condiciones bajo las
cuales la firma digital es legalmente obligatoria (véase el numeral 15.1).
Es conveniente buscar asesoría especializada para
identificar el nivel apropiado de protección y definir las especificaciones
adecuadas que suministrarán la protección requerida y el soporte a la
implementación de un sistema seguro de gestión de claves (véase el numeral
12.3.2).
El comité ISO/IEC JTC1 SC27 ha desarrollado varias normas
relacionadas con los controles criptográficos. Información adicional se puede
encontrar en la norma IEEE P1363 y en las directrices OECD sobre criptografía.
12.3.2 Gestión de
claves
Control
Se debería establecer la gestión de claves para apoyar el
uso de técnicas criptográficas en la organización.
Guía de
implementación
Todas las claves criptográficas deberían tener protección
contra modificación, pérdida y destrucción. Además, las claves privadas y
secretas necesitan protección contra divulgación no autorizada. El equipo usado
para generar, almacenar y archivar las claves debería estar protegido por
medios físicos.
Un sistema de gestión de claves se debería basar en un conjunto
acordado de normas, procedimientos y método seguros para:
a). generar claves para diferentes sistemas criptográficos y
diferentes aplicaciones;
b). generar y obtener certificados de claves públicas;
c). distribuir claves a los usuarios previstos, incluyendo
la forma de activar y recibir las claves;
d). almacenar las claves, incluyendo la forma en que los
usuarios autorizados tendrán acceso a ellas;
e). cambiar o actualizar las claves incluyendo reglas sobre
cuándo cambiarlas y cómo hacerlo;
f). tratar las claves perdidas;
g). revocar las claves, incluyendo la forma de retirarlas o
desactivarlas, por ejemplo cuando las claves se han puesto en peligro o cuando
un usuario se retira de la organización (en cuyo caso las claves también se
deberían archivar);
h). recuperar claves pérdidas o corruptas como parte de la
gestión de continuidad del negocio; por ejemplo, para la recuperación de
información encriptado; archivar claves, por ejemplo para la información
archivada o con copia de respaldo;
j). destrucción de claves;
k). registro y auditoría de las actividades relacionadas con
la gestión de claves.
Para reducir la probabilidad de poner en peligro, activar o
desactivar se deberían definir fechas para las claves de modo que sólo se
puedan utilizar durante un periodo de tiempo limitado.
Este período dependería de las circunstancias en las cuales
se usa el control criptográfico y del riesgo percibido.
Además de las claves privadas y secretas con gestión segura,
también se debería pensar en la autenticidad de las claves públicas. Este
proceso de autenticación se puede hacer con certificados de claves públicas que
normalmente son emitidos por una autoridad de certificación, la cual debe ser
una organización reconocida con controles y procedimientos idóneos establecidos
para proporcionar el grado requerido de confianza.
El contenido de los acuerdos o contratos de servicios con proveedores
externos de servicios criptográficos, por ejemplo con una autoridad de
certificación, deberían comprender aspectos de responsabilidad, confiabilidad
de los servicios y tiempos de respuesta para la prestación de los servicios
(véase el numeral 6.2.3).
Información adicional
La gestión de las claves criptográficas es esencial para el
uso eficaz de las técnicas criptográficas. La norma ISO/IEC 11770 brinda
información adicional sobre la gestión de claves. Los dos tipos de técnicas
criptográficas son:
a). técnicas de clave secreta, en donde dos o más partes
comparten la misma clave y ésta se usa tanto para encriptar como desencriptar
información; esta clave debe mantenerse secreta puesto que cualquiera que tenga
acceso a ella puede descifrar toda la información encriptada con dicha clave, o
introducir información no autorizada con esa clave;
b). técnicas de clave pública, en donde cada usuario tiene
un par de claves, una clave pública (que se puede revelar a cualquiera) y una
clave privada (que se debe mantener en secreto); las técnicas de clave pública
se pueden usar para la encriptación y para producir firmas digitales (véase la
norma ISO/IEC 9796 e ISO/IEC 14888).
Existe la amenaza de falsificar una firma digital
reemplazando la clave pública del usuario. Este problema se puede tratar usando
un certificado de clave pública.
Las técnicas criptográficas también se pueden usar para
proteger las claves criptográficas. Es necesario que en los procedimientos se considere
el manejo de solicitudes legales para acceder a las claves criptográficas, por
ejemplo, puede ser necesario poner a disposición la información encriptada en
un formato sin encriptación como evidencia en caso de un juicio.
12.4 SEGURIDAD DE LOS
ARCHIVOS DEL SISTEMA
Objetivo: garantizar la seguridad de los archivos del
sistema.
Los accesos a los archivos del sistema y al código fuente
del programa deberían estar protegidos, y los proyectos de tecnología de la
información y las actividades de soporte se deberían efectuar de forma segura.
Se debería tener cuidado para evitar la exposición de datos sensibles en los
entornos de prueba.
12.4.1 Control del
software operativo
Control
Se deberían establecer procedimientos para controlar la
instalación de software en los sistemas operativos.
Guía de
implementación
Para minimizar los riesgos de corrupción de los sistemas
operativos, se deberían tener en cuenta las siguientes directrices para
controlar los cambios:
a). la actualización del software operativo, las
aplicaciones y las librerías de los programas sólo deberían ser realizadas por
administradores capacitados y con la debida autorización de la dirección (véase
el numeral 12.4.3);
b). los sistemas operativos únicamente deberían contener códigos
ejecutables aprobados y no códigos en desarrollo ni compiladores;
c). el software de las aplicaciones y del sistema operativo
sólo se deberían implementar después del ensayo exhaustivo y exitoso; los
ensayos deberían incluir pruebas sobre capacidad de uso, seguridad, efectos en
otros sistemas y facilidad para el usuario, igualmente se deberían efectuar en
sistemas separados (véase el numeral 10.1.4); se debería garantizar que todas
las librerías fuente del programa correspondiente estén actualizadas;
d). se debería usar un sistema de control de configuración
para mantener el control el software implementado, así como de la documentación
del sistema;
e). es conveniente instaurar una política de estrategia de restauración
al estado anterior antes de implementar los cambios;
f). se debería conservar un registro para auditoría de todas
las actualizaciones de las librerías de los programas operativos;
g). es conveniente conservar las versiones anteriores del
software de aplicación como medida de contingencia;
h). las versiones antiguas del software se deberían archivar
junto con toda la información requerida y los parámetros, procedimientos,
detalles de configuración y software de soporte, en la medida en que los datos
se retengan en archivo.
El software suministrado por el vendedor utilizado en los
sistemas operativos se debería mantener en el nivel con soporte del proveedor.
Con el tiempo, los vendedores de software dejarán de dar soporte a las
versiones antiguas del software. La organización debería considerar los riesgos
de depender de software sin soporte.
En toda decisión para mejorar a una nueva versión se debería
contar con los requisitos del negocio para el cambio, y la seguridad de la
nueva versión, es decir, la introducción de nueva funcionalidad en el sistema o
la cantidad y gravedad de los problemas de seguridad que afectan a esta
versión. Los parches de software se deberían aplicar cuando pueden ayudar a eliminar
o reducir las debilidades de la seguridad (véase el numeral 12,6,1).
El acceso físico o lógico únicamente se debería dar a los
proveedores para propósitos de soporte, cuando sea necesario, y con aprobación
de la dirección. Las actividades del proveedor se deberían monitorear.
El software de computador puede depender de software y
módulos suministrados externamente, lo cual se debería monitorear y controlar
para evitar cambios no autorizados que puedan introducir debilidades de
seguridad.
Información adicional
Los sistemas operativos únicamente se deberían mejorar
cuando existe un requisito para hacerlo, por ejemplo, si la versión actual del
sistema operativo ya no da soporte a los requisitos del negocio. Las mejoras no
deberían tener lugar sólo porque esté disponible una nueva versión del sistema
operativo. Las versiones nuevas del sistema operativo pueden ser menos seguras,
menos estables, y menos entendidas que los sistemas actuales.
12.4.2 Protección de
los datos de prueba del sistema
Control
Los datos de prueba deberían seleccionarse cuidadosamente,
así como protegerse y controlarse.
Guía de
implementación
Se debería evitar el uso de bases de datos operativos que contienen
información personal o cualquier otra información sensible con propósitos de
prueba. Si se utiliza información personal o de otra forma sensible para
propósitos de prueba, todos los detalles y el contenido sensible se deberían
retirar o modificar antes del uso para evitar el reconocimiento. Las siguientes
directrices se deberían aplicar para proteger los datos operativos cuando se
emplean con propósitos de prueba:
a). los procedimientos de control del acceso que se aplican
a los sistemas de aplicación operativos también se deberían aplicar a los
sistemas de aplicación de pruebas;
b). debería existir autorización separada cada vez que se
copia la información operativa en un sistema de aplicación de prueba;
c). la información operativa se debería borrar del sistema
de aplicación de prueba inmediatamente después de terminar la prueba;
d). el copiado y utilización de la información operativa se
debería registrar para brindar un rastro para auditoría.
Información adicional
La prueba del sistema y de aceptación usualmente exige volúmenes
sustanciales de datos de prueba que sean lo más cercanos posible a los datos
operativos.
12.4.3 Control de
acceso al código fuente de los programas
Control
Se debería restringir el acceso al código fuente de los
programas.
Guía de
implementación
El acceso al código fuente de programas y a los elementos
asociados (como diseños, especificaciones, planes de verificación y planes de
validación) se debería controlar estrictamente para evitar la introducción de
funcionalidad no autorizada y evitar los cambios involuntarios. Para el código
fuente de programas esto se puede lograr con el almacenamiento central
controlado de dicho código, preferiblemente en las librerías fuente de
programas. Las siguientes directrices se deberían considerar (véase el numeral
11) para controlar el acceso a tales librerías fuente de programas, con el
objeto de reducir el potencial de corrupción de los programas de computador:
a). cuando sea posible, las librerías fuente de programas no
se deberían mantener en los sistemas operativos;
b). el código fuente de programas y las librerías fuente de programas
se deberían gestionar de acuerdo con los procedimientos establecidos;
c). el personal de soporte debería tener acceso restringido
a las librerías fuente de programas;
d) la actualización de las librerías fuente de programas y de
los elementos asociados, así como la emisión de fuentes de programa a los programadores,
solamente se debería efectuar después de recibir la autorización apropiada;
e). los listados de programas se deberían mantener en un
entorno seguro (véase el numeral 10.7.4);
f). se debería conservar un registro para auditoría de todos
los accesos a las librerías fuente de programas;
g). el mantenimiento y el copiado de las librerías fuente de
programas deberían estar sujetos a un procedimiento estricto de control de
cambios (véase el numeral 12.5.1).
Información adicional
El código fuente de programas es un código escrito por los
programadores, el cual está compilado (y enlazado) para crear ejecutables.
Algunos lenguajes de programación no distinguen formalmente entre el código
fuente y los ejecutables ya que estos últimos se crean en el momento en que se
activan.
Las normas NTC-ISO 10007 y NTC 4243 brindan información
adicional sobre la gestión de la configuración y el proceso del ciclo de vida
del software.
12.5 SEGURIDAD EN LOS
PROCESOS DE DESARROLLO Y SOPORTE
Objetivo: mantener la seguridad del software y de la
información del sistema de aplicaciones.
Los entornos de soporte y de desarrollo deberían estar
estrictamente controlados.
Los directores responsables de los sistemas de aplicación
también deberían ser responsables de la seguridad del entorno del proyecto o
del soporte. Ellos deberían garantizar que todos los cambios propuestos en el
sistema se revisan para comprobar que no ponen en peligro la seguridad del
sistema ni del entorno operativo.
12.5.1 Procedimientos
de control de cambios
Control
Se debería controlar la implementación de cambios utilizando
procedimientos formales de control de cambios.
Guía de
implementación
Los procedimientos formales de control de cambios se deberían
documentar y hacer cumplir para minimizar la corrupción de los sistemas de
información. La introducción de sistemas nuevos y de cambios importantes en los
sistemas existentes debería seguir un proceso formal de documentación,
especificación, prueba, control de calidad e implementación con gestión.
Este proceso debería incluir una evaluación de riesgos,
análisis de los impactos de los cambios y especificación de los controles de
seguridad necesarios. Este proceso también debería garantizar que la seguridad
y los procesos de control existentes no se ponen en peligro, que se da acceso a
los programadores de soporte sólo a aquellas partes del sistema necesarias para
su trabajo y que existe acuerdo y aprobación formal para cualquier cambio.
Siempre que sea factible, los procedimientos de control de cambios
operativos y de aplicación se deberían integrar (véase el numeral 10.1.2). Los
procedimientos de control de cambios deberían incluir:
a). el mantenimiento de un registro de los niveles acordados
de autorización;
b). la garantía de que los cambios son realizados por los
usuarios autorizados;
c). la revisión de los controles y de los procedimientos de integridad
para asegurar que no se pondrán en peligro debido a los cambios;
d). la identificación de todo el software, la información,
las entidades de bases de datos y del hardware que requieran mejora;
e). la obtención de la aprobación formal de las propuestas
detalladas antes de iniciar el trabajo;
f). la garantía de que los usuarios autorizados aceptan los
cambios antes de la implementación;
g). la garantía de que la documentación del sistema está
actualizada al finalizar cada cambio y que la documentación antigua se archiva
o elimina;
h). el mantenimiento de una versión de control para todas
las actualizaciones de software;
i). el mantenimiento de un rastro para auditoría de todos
los cambios solicitados;
j). la garantía de que la documentación operativa (véase el
numeral 10.1.1) y los procedimientos de usuario se cambian en función de la
necesidad con el objeto de mantener su idoneidad;
k). la garantía de que la implementación de los cambios
tiene lugar en el momento oportuno y no perturba los procesos del negocio
involucrados.
Información adicional
El cambio del software puede tener impacto en el entorno
operativo.
La buena práctica incluye la prueba del software nuevo en un
entorno separado tanto del entorno de producción como del de desarrollo (véase
el numeral 10.1.4). Esto proporciona medios para controlar el software nuevo y
facilitar la protección adicional de la información operativa que se usa con
propósitos de prueba. Se deberían incluir parches, paquetes de servicio y otras
actualizaciones. Las actualizaciones automáticas no se deberían utilizar en sistemas
críticos ya que algunas de ellas pueden causar fallas de las aplicaciones
críticas (véase el numeral 12.6).
12.5.2 Revisión
técnica de las aplicaciones después de los cambios en el sistema operativo
Control
Cuando se cambian los sistemas operativos, las aplicaciones
críticas para el negocio se deberían revisar y someter a prueba para asegurar
que no hay impacto adverso en las operaciones ni en la seguridad de la
organización.
Guía de
implementación
Este proceso debería comprender los siguientes aspectos:
a). revisión de los procedimientos de integridad y control de
la aplicación para asegurarse de que no se han puesto en peligro debido a los
cambios en el sistema operativo;
b). garantía de que el plan y el presupuesto de soporte
anual cubrirán las revisiones y pruebas del sistema que resulten de cambios en
el sistema operativo;
c). garantía de la notificación oportuna sobre los cambios
en el sistema operativo para permitir la realización de las pruebas y las
revisiones apropiadas antes de la implementación;
d). garantía de que se hacen cambios en los planes de continuidad
del negocio (véase el numeral 14).
Un grupo o un individuo específico debería ser responsable
de monitorear las vulnerabilidades y las nuevas versiones de parches y arreglos
(fixes) del distribuidor (véase el numeral 12.6).
12.5.3 Restricciones
en los cambios a los paquetes de software
Control
Se debería desalentar la realización de modificaciones a los
paquetes de software, limitarlas a los cambios necesarios, y todos los cambios
se deberían controlar estrictamente.
Guía de
implementación
En la medida de lo posible y viable, los paquetes de
software suministrados por el vendedor se deberían usar sin modificaciones.
Cuando sea necesario modificar un paquete de software, se deberían tener en
cuenta los siguientes puntos:
a). el riesgo de que los procesos de integridad y de control
incorporados se vean comprometidos;
b). si es necesario obtener el consentimiento del vendedor;
c). la posibilidad de obtener los cambios requeridos del
vendedor como un programa estándar de actualizaciones;
d). el impacto, si la organización se hace responsable del
mantenimiento futuro del software como resultado de los cambios.
Si los cambios son necesarios, el software original se debería
conservar y los cambios se deberían aplicar a una copia claramente
identificada. Se debería implementar un proceso de gestión de las
actualizaciones del software para asegurarse de que los parches más actualizados
aprobados y las actualizaciones de las aplicaciones están instalados en todo el
software autorizado (véase el numeral 12.6). Todos los cambios se deberían
probar y documentar en su totalidad de manera que se puedan volver a aplicar,
si es necesario, para mejoras futuras del software. Si así se requiere, las
modificaciones se deberían probar y validar por un organismo de evaluación
independiente.
12.5.4 Fuga de
información
Control
Se deberían evitar las oportunidades para que se produzca
fuga de información.
Guía de
implementación
Se deberían considerar los siguientes aspectos para limitar
el riesgo de fuga de información, por ejemplo, mediante el uso y explotación de
los canales encubiertos:
a). exploración de los medios y comunicaciones de salida
para determinar la información oculta;
b). comportamiento de las comunicaciones y del sistema de
modulación y enmascaramiento para reducir la probabilidad de que una tercera
parte pueda deducir información a partir de tal comportamiento;
c). utilización de sistemas y software que se consideran con
integridad alta, por ejemplo usar productos evaluados (véase la norma ISO/IEC
15408);
d). monitoreo regular de las actividades del personal y del
sistema, cuando está permitido por la legislación o los reglamentos existentes;
e). monitoreo del uso de los recursos en los sistemas de
computador.
Información adicional
Los canales encubiertos son vías que no están destinadas
para conducir flujos de información, pero que, sin embargo, pueden existir en
un sistema o una red. Por ejemplo, los bits de manipulación en los paquetes de
protocolo de comunicaciones se podrían usar como un método oculto de
señalización. Debido a su naturaleza, evitar la existencia de todos los posibles
canales encubiertos sería difícil, si no imposible. No obstante, la explotación
de tales canales se realiza con frecuencia a través de códigos troyanos (véase
el numeral 10.4.1). Por lo tanto, tomar medidas para proteger contra códigos
troyanos reduce el riesgo de explotación de los canales encubiertos. La
prevención del acceso no autorizado a la red (véase el numeral 11.4), así como
las políticas y los procedimientos para desalentar el uso inadecuado de los
servicios de información por parte del personal (véase el numeral 15.1.5) facilitarán
la protección contra canales encubiertos.
12.5.5 Desarrollo de
software contratado externamente
Control
La organización debería supervisar y monitorear el desarrollo
de software contratado externamente.
Guía de
implementación
Cuando el desarrollo del software se contrata externamente,
se recomienda tener en cuenta los siguientes puntos:
a). acuerdos sobre licencias, propiedad de los códigos y derechos
de propiedad intelectual (véase el numeral 15.1.2);
b). certificación de la calidad y exactitud del trabajo
realizado;
c). convenios de fideicomiso en caso de falla de la tercera
parte;
d). derechos de acceso para auditar la calidad y exactitud
del trabajo realizado;
e). requisitos contractuales para la calidad y la
funcionalidad de la seguridad del código;
f). realización de pruebas antes de la instalación para
detectar códigos troyanos o maliciosos.
12.6 GESTIÓN DE LA
VULNERABILIDAD TÉCNICA
Objetivo: reducir los riesgos resultantes de la explotación
de las vulnerabilidades técnicas publicadas.
La gestión de la vulnerabilidad técnica se debería
implementar de forma eficaz, sistemática y repetible con toma de mediciones
para confirmar su eficacia. Estas consideraciones deberían incluir a los
sistemas operativos y otras aplicaciones en uso.
12.6.1 Control de las
vulnerabilidades técnicas
Control
Se debería obtener información oportuna sobre las vulnerabilidades
técnicas de los sistemas de información que están en uso, evaluar la exposición
de la organización a dichas vulnerabilidades y tomar las acciones apropiadas
para tratar los riesgos asociados.
Guía de
implementación
Un inventario completo y actual de los activos (véase el
numeral 7.1) es un prerrequisito para la gestión eficaz de la vulnerabilidad
técnica. La información específica necesaria para dar soporte a la gestión de
la vulnerabilidad técnica incluye los siguientes datos: vendedor del software,
números de versión, estado actual de despliegue (por ejemplo qué software está instalado
en cuál sistema) y las personas de la organización responsables del software.
Es conveniente tomar la acción oportuna y apropiada en respuesta
a la identificación de vulnerabilidades técnicas potenciales. Se recomienda
tener en cuenta las siguientes directrices para establecer un proceso de
gestión eficaz de las vulnerabilidades técnicas:
a). la organización debería definir e instaurar las funciones
y responsabilidades asociadas con la gestión de la vulnerabilidad técnica,
incluyendo el monitoreo de la vulnerabilidad, la evaluación de riesgos de la
vulnerabilidad, el uso de parches, el rastreo de activos y todas las
responsabilidades de coordinación requeridas;
b). es conveniente identificar los recursos de información
que se van a utilizar para identificar las vulnerabilidades técnicas
pertinentes y para mantener la concientización sobre ellas para el software y
otra tecnología (con base en la lista de inventario de activos, véase el
numeral 7.1.1), estos recursos de información se deberían actualizar en función
de los cambios en el inventario o cuando se encuentran recursos nuevos o útiles;
c). se debería definir una línea de tiempo para reaccionar
ante la notificación de vulnerabilidades técnicas potenciales pertinentes;
d). una vez se ha identificado una vulnerabilidad potencial,
la organización debería identificar los riesgos asociados y las acciones que se
han de tomar; tales acciones podrían involucrar el uso de parches en los
sistemas vulnerables y / o la aplicación de otros controles;
e). dependiendo de la urgencia con la que es necesario tratar
la vulnerabilidad técnica, la acción a tomar se debería ejecutar de acuerdo con
los controles relacionados con la gestión de cambios (véase el numeral 12.5.1)
o siguiendo los procedimientos de respuesta ante incidentes de seguridad de la
información;
f). si está disponible un parche, se deberían evaluar los
riesgos asociados con su instalación (los riesgos impuestos por la vulnerabilidad
se deberían comparar con los riesgos de instalar el parche);
g). es conveniente probar y evaluar los parches antes de su instalación
para garantizar que son eficaces y no producen efectos secundarios
intolerables; si no hay parche disponible, se recomienda considerar otros
controles:
1). apagar los servicios o capacidades relacionadas con la
vulnerabilidad;
2). adaptar o agregar controles de acceso, por ejemplo,
barreras de fuego (firewalls), en las fronteras de la red (véase el numeral
11.4.5);
3). aumentar el monitoreo para detectar o prevenir los
ataques reales;
4). crear conciencia sobre la vulnerabilidad;
h). se debería conservar un registro para auditoría para
todos los procedimientos efectuados;
i). el proceso de gestión de la vulnerabilidad técnica se
debería monitorear y evaluar a intervalos regulares para garantizar su eficacia
y eficiencia;
j). se deberían tratar primero los sistemas con alto riesgo.
Información adicional
El funcionamiento correcto del proceso de gestión de la
vulnerabilidad técnica es crítico para muchas organizaciones y por ello se
debería monitorear con regularidad. Es esencial un inventario exacto para
garantizar la identificación de vulnerabilidades técnicas potenciales y pertinentes.
La gestión de la vulnerabilidad técnica se puede ver como una
sub-función de la gestión de cambios y como tal puede tomar ventaja de los
procesos y procedimientos de gestión de cambios (véanse los numerales 10.1.2 y
12.5.1).
Los vendedores, con frecuencia, están bajo gran presión para
sacar a la venta los parches tan pronto sea posible. Por lo tanto, es posible
que un parche no trate el problema adecuadamente y tenga efectos colaterales
negativos. En algunos casos, desinstalar un parche puede no ser tan fácil una
vez que se ha aplicado.
Si no es posible someter los parches a las pruebas adecuadas,
por ejemplo, debido a los costos o a la falta de recursos, se puede pensar en
retrasar la aplicación del parche para valorar los riesgos asociados, basados
en la experiencia reportada por otros usuarios.
No hay comentarios:
Publicar un comentario