Los Criterios Comunes (CC) tienen su origen en 1990 y surgen como resultado de la armonizacin de los criterios sobre seguridad de productos software ya utilizados por diferentes pases con el fin de que el resultado del proceso de evaluacin pudiese ser aceptado en mltiples pases. Los CC permiten comparar los resultados entre evaluaciones de productos independientes. Para ello, se proporcionan un conjunto comn de requisitos funcionales para los productos de TI (Tecnologas de la Informacin). Estos productos pueden ser hardware, software o firmware. El proceso de evaluacin establece un nivel de confianza en el grado en el que el producto TI satisface la funcionalidad de seguridad de estos productos y ha superado las medidas de evaluacin aplicadas. Los CC son tiles como gua para el desarrollo, evaluacin o adquisicin de productos TI que incluyan alguna funcin de seguridad. Historia El origen de los Criterios Comunes podemos encontrarlo en los criterios usados por diferentes pases para la evaluacin de la seguridad de los productos software desarrollados. Los CC combinan criterios de los: TCSEC (del ingls Trusted Computer System Evaluation Criteria) frecuentemente conocido como llamado Libro Naranja y usados por el Departamento de Defensa de EE.UU. ITSEC (del ingls Information Technology Security Evaluation Criteria) comnmente conocido como Libro Blanco y utilizados en Europa. CTCPEC (del ingls Canadian Trusted Computer Product Evaluation Criteria) utilizados en Canad. En 1999 los Criterios Comunes en su versin 2.0 fueron adoptados por la International Organization for Standardization (ISO) como estndar internacional. En la actualidad los CC se encuentran estandarizados bajo la serie de normas ISO/IEC 15408 (ISO 15408-1,2005), (ISO 15408- 2,2008) y (ISO 15408-3,2008) aunque la ltima versin se encuentra disponible en la web del Common Criteria. Funcionamiento Con el fin de poder certificar un producto segn los Criterios Comunes se deben comprobar, por parte de uno de los laboratorios independientes aprobados, numerosos parmetros de seguridad que han sido consensuados y aceptados por 22 pases de todo el mundo. El proceso de evaluacin incluye la certificacin de que un producto software especfico verifica los siguientes aspectos:
Los requisitos del producto estn definidos correctamente.
Los requisitos estn implementados correctamente. El proceso de desarrollo y documentacin del producto cumple con ciertos requisitos previamente establecidos. Los Criterios Comunes establecen entonces un conjunto de requisitos para definir las funciones de seguridad de los productos y sistemas de Tecnologas de la Informacin y de los criterios para evaluar su seguridad. El proceso de evaluacin, realizado segn lo prescrito en los Criterios Comunes, garantiza que las funciones de seguridad de tales productos y sistemas renen los requisitos declarados. As, los clientes pueden especificar la funcionalidad de seguridad de un producto en trminos de perfiles de proteccin estndares y de forma independiente seleccionar el nivel de confianza en la evaluacin de un conjunto definido desde el EAL1 al EAL7. Perfiles de proteccin Un perfil de proteccin (Protection Profile) define un conjunto de objetivos y requisitos de seguridad, independiente de la implantacin, para un dominio o categora de productos que cubre las necesidades de seguridad comunes a varios usuarios. Los perfiles de proteccin son reutilizables y normalmente pblicos y estn compuestos de:
proporcionan mecanismos para hacer cumplir la poltica de seguridad. Como ejemplos de requisitos funcionales mencionar la proteccin de datos de usuario, el soporte criptogrfico, la autenticacin, la privacidad o el control de acceso. Requisitos de confianza o aseguramiento (SAR, Security Assurance Requirement) proporcionan la base para la confianza en que un producto verifica sus objetivos de seguridad. Los requisitos de confianza se han agrupado en niveles de confianza en la evaluacin (EAL, Evaluation Assurance Levels) que contienen requisitos de confianza construidos especficamente en cada nivel. Los EALs proporcionan una escala incremental que equilibra el nivel de confianza obtenido con el coste y la viabilidad de adquisicin de ese grado de confianza. El incremento de confianza de un EAL a otro se obtiene incrementando rigor, alcance y/o profundidad en el componente y aadiendo componentes de confianza de otras familias de confianza (por ejemplo, aadiendo nuevos requisitos funcionales). Niveles de confianza Los niveles de confianza en la evaluacin definidos en el ISO/IEC 15408- 3 [ISO 15408-3 2005] van desde EAL1 (el menor) a EAL 7 (el mayor) y se definen de forma acumulativa (verificaciones de nivel n+1 implican realizar las de nivel n, 1 n 7):
EAL1 (funcionalidad probada): es aplicable donde se requiere tener
cierta confianza de la operacin correcta, y donde adems, las amenazas a la seguridad no son vistas como serias. Una evaluacin en este nivel debe proporcionar evidencia de que las funciones del objeto de evaluacin son consistentes con su documentacin, y que proporcionan proteccin til contra amenazas identificadas. EAL2 (estructuralmente probado): requiere la cooperacin del desarrollador en trminos de la distribucin de la informacin del diseo, y los resultados de las pruebas y proporciona confianza a travs de un anlisis de las funciones de seguridad, usando una especificacin funcional y de interfaz, manuales y diseo de alto nivel del producto para entender el comportamiento de seguridad. Adems, en este nivel se verifica que el desarrollador realiz un anlisis de vulnerabilidades a travs de la ejecucin de pruebas de caja negra (black-box). EAL3 (probado y verificado metdicamente): permite a un desarrollador alcanzar una mxima garanta de ingeniera de seguridad positiva en el estado de diseo sin la alteracin substancial de prcticas de desarrollo vlidas existentes. El anlisis en este nivel se apoya en las pruebas de caja gris (grey box), la confirmacin selectiva independiente de los resultados de las pruebas del desarrollador, y la evidencia de bsqueda de vulnerabilidades obvias del desarrollador. Adems, se realizan controles del entorno de desarrollo y de gestin de configuracin del producto. EAL4 (diseado, probado y revisado metdicamente): este nivel le permite a un desarrollador alcanzar mxima garanta de ingeniera de seguridad positiva basada en buenas prcticas de desarrollo comercial, las cuales, aunque rigurosas, no requieren del conocimiento especializado substancial, destreza, ni otros recursos. En este caso, el anlisis se apoya en el diseo de bajo nivel de los mdulos del producto y se realiza bsqueda de vulnerabilidades independiente de las pruebas realizadas por el desarrollador. Los controles de desarrollo se apoyan en un modelo de ciclo de vida de desarrollo, identificacin de las herramientas utilizadas y gestin de configuracin automatizada. EAL5 (diseado y probado semiformalmente): permite a un desarrollador alcanzar mxima garanta de ingeniera de seguridad positiva mediante la aplicacin moderada de tcnicas de ingeniera de seguridad. La confianza se apoya, en este caso, en un modelo formal y una presentacin semiformal de la especificacin funcional y el diseo de alto nivel. La bsqueda de vulnerabilidades debe asegurar la resistencia relativa a los ataques de penetracin. EAL6 (diseo verificado y probado semiformalmente): permite a los desarrolladores alcanzar una alta garanta en la aplicacin de tcnicas de ingeniera de seguridad para un entorno de desarrollo riguroso y donde el objeto de evaluacin es considerado de gran valor para la proteccin del alto costo o estimacin de esos bienes contra riesgos significativos. Adems, es aplicable para el desarrollo de objetos de evaluacin, destinados a salvaguardar la seguridad informtica en situaciones de alto riesgo donde el valor de los bienes protegidos justifica los costos adicionales. El anlisis en este nivel se apoya en un diseo modular y en una presentacin estructurada de la implementacin del producto. La bsqueda de vulnerabilidades debe mostrar una alta resistencia a los ataques de penetracin. EAL7 (diseo verificado y probado formalmente): es aplicable al desarrollo de objetos de evaluacin de seguridad, para su aplicacin en situaciones de muy alto riesgo o donde el alto valor de los bienes justifica los ms altos costos. La aplicacin prctica del nivel EAL7 est limitada actualmente a objetos de evaluacin con seguridad estrechamente enfocada a la funcionalidad, y que es sensible al anlisis formal y extenso. Este EAL representa un incremento significativo respecto a la garanta de nivel EAL6 a travs del requisito de anlisis de gran amplitud, mediante representaciones formales y correspondencia formal y pruebas de gran amplitud. Adems, el evaluador confirmar de forma independiente y completa los resultados de las pruebas de caja blanca (White-box) realizadas por el desarrollador.
Los niveles EAL 5 al 7 incluyen modelos y demostraciones semi-formales
y formales por tanto, se aplican a productos con objetivos de seguridad muy especficos (entorno militar, por ejemplo). Por otra parte, estos niveles requieren de la generacin de una gran cantidad de documentacin durante el proceso de desarrollo que debe entregarse al evaluador para que ste pueda confirmar la informacin. Finalmente, para la aplicacin de los Criterios Comunes, existe una metodologa con los criterios a evaluar para cada uno de los niveles de confianza estandarizada por la Norma ISO/IEC 18045 (ISO 18045, 2008) y denominada CEM (Common Methodology for IT Security Evaluation).