Monday, July 18, 2011

Cloud Computing and Information Security: New Challenge

Cloud Computing is the new thing and we all love to talk about it. The US Government has a strong commitment to this new technology and even the most recognized IT Companies, like IBM, Microsoft, Google, HP, Apple and Amazon among others are already offering these services as Cloud Providers.

So, what is Cloud Computing?
It is an on-demand service model that allows access to computing resources like networks, servers, storage, applications, and services among others, with the primary advantage that it can be rapidly and automatically provisioned, even without the service provider interaction. A key characteristic is that these resources are shared among the different users of the Cloud service.

Cloud Computing caught everyone’s attention because it created a paradigm shift in the IT infrastructure concept: Instead of Companies owning data centers, servers, routers, switches and personnel to manage them, these will all be in the “cloud” provided to the Company by a third party provider.

This allows many advantages, like:
  • Cost reduction in the acquisition of new servers, network infrastructure equipment (routers, switches, firewalls, etc.).
  • Less in Company IT personnel, since the Cloud Provider will have a team a specialized to manage the service.
  • Less in Company personnel training, since the Cloud Provider provides that.
  • Operational cost reduction, like electricity, redundant equipment, and network links, etc. This will all be provided by the Cloud.
  • Inexpensive Research and Development
  • Capital expenditures will become operational expenditures.

What are the main characteristics of Cloud Computing services and how is it offered?

Cloud Computing has five essential characteristics:
  1. On-demand self-service: A consumer can unilaterally provision computing capabilities such as server time and network storage as needed automatically, without requiring human interaction with a service provider.
  2. Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs)
  3. Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
  4. Rapid elasticity: Capabilities can be rapidly and elastically provisioned
  5. Measured service. Resource usage can be monitored, controlled, and reported (e.g., storage, processing, bandwidth, or active user accounts).
Cloud Computing is offered in 3 service models:
  • SaaS (Software as a Service): The consumer is to use the provider’s applications running on a cloud infrastructure and accessible from various client devices through a thin client interface such as a Web browser (e.g., web-based email).
  • PaaS (Platform as a Service): The consumer is to deploy onto the cloud infrastructure applications using programming languages and tools supported by the provider (e.g., java, python, .Net).
  • IaaS (Infrastructure as a Service): The provider is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary.
Additionally, the service is available in 4 delivery models called Private, Public, Hybrid and Community. Next, I will describe the two most important ones:
  • Private: The cloud infrastructure is operated solely for an organization.
  • Public: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
Privacy and Security in the Cloud: Main Concerns

These new technologies that create a paradigm shift also build up a storm of new challenges and concerns to Corporate CIOs. The NIST (National Institute of Standards and Technologies) and the CSA (Cloud Security Alliance) mention some of these concerns:

  • Compliance: Data resides in the cloud and not in a fixed physical place. The exact location of it may not be available or disclosed by the Cloud Provider, making it difficult to guarantee the correct implementation of security controls required to achieve regulatory compliance. As an example, Health Insurance Portability and Accountability Act (HIPAA) and the Payment Card Industry Data Security Standard (PCI DSS), requires both technical and physical safeguards for controlling access to data, which may create compliance issues for some cloud providers
  • Cloud Provider Trust:
    • Data ownership: Data is processed and stored in the cloud provided by the Cloud Provider. Without a clear service agreement, there might be uncertainty who’s the owner of the information.
    • Composite services: Cloud services that use third party cloud providers to outsource or subcontract some of their services should raise concerns, including the scope of control over the third party and the responsibilities involved.
    • Malicious Insiders: Cloud providers grant their employees access to perform their duties (physical, virtual, etc.). A Malicious employee might have access to many Customers’ confidential data or even cause sabotage (availability issues).
  • Risk Management: Organizations should ensure that security controls are implemented correctly, operate as intended, and meet its security requirements. Since all the IT infrastructure is in the Cloud, this task could be very difficult to achieve, generating higher risks.
  • Architectures and attacks:
    • Shared technology: The implementation of virtualization technologies create new attack surfaces since these technologies are susceptible to vulnerabilities.
    • Virtual networks: Traffic over virtual networks may not be visible to security protection devices on the physical network, such as network-based intrusion detection and prevention systems.
    • Insecure APIs: APIs are available to Customers for service management and might represent risks if they are not secured.
    • Data loss or leakage: All service models are subject to data loss or leakage due to different factors like operation failures, missing encryption keys, data destruction challenges, DRP, etc.
  • Availability: The possibility exists for a cloud provider to experience problems, like bankruptcy or facility loss, which affect service for extended periods or cause a complete shutdown.
  • Attacks to/from the Cloud:
    • Account or Service Hijacking: All service models are subject to Account / Service hijacking due to different factors like Phishing, Fraud, vulnerability exploits, etc. Once an attacker has access to credentials, they can easily manipulate data, access information or even contact the Customer’s clients.
    • Abuse of use of Cloud Computing: The illusion of unlimited compute power, network, and storage capacity, gives spammers, malicious code authors, and other criminals the possibility to conduct their activities with more power and even anonymity.
    • Denial of Service: The dynamic provisioning of a cloud in some ways simplifies the work of an attacker to cause harm. Denial of service attacks can occur against internally accessible services, such as those used in cloud management.
What recommendations are there to move to Cloud Computing Services?

There are many discussions being held about which are the best recommendations that should be taken into account when moving to Cloud Computing services. However, there are some of them that can be followed:

  • Understand the various types of laws and regulations that impose security and privacy obligations on the organization and potentially impact cloud computing initiatives, particularly those involving data location, privacy and security controls, and electronic discovery requirements.
  • Incorporate mechanisms into the contract that allow visibility into the security and privacy controls and processes employed by the cloud provider and their performance over time.
  • Specify into the contract the need for a risk management program that is flexible enough to adapt to the continuously evolving and shifting risk landscape.
  • Understand the underlying technologies the cloud provider uses to provision services, including the implications of the technical controls involved on the security and privacy of the system, with respect to the full lifecycle of the system and for all system components
  • Understand virtualization and other software isolation techniques that the cloud provider employs, and assess the risks involved.
  • Evaluate the suitability of the cloud provider’s data management solutions for the organizational data concerned.
  • Ensure that during an intermediate or prolonged disruption or a serious disaster, critical operations can be immediately resumed and that all operations can be eventually reinstituted in a timely and organized manner.


By Agustin Chernitsky
Information Security specialist.

Sunday, July 17, 2011

Seguridad de la información y Cloud Computing: Los desafíos

Cloud Computing es lo nuevo y está en la boca de todos. El gobierno de EE.UU. apuesta fuerte a esta tecnología. Las empresas más reconocidas en el ambiente tecnológico, como ser IBM, Microsoft, Google, HP, Apple y Amazon entre otras ya ofrecen este tipo de servicios como Cloud Providers (proveedores de servicio).

Entonces, ¿Qué es Cloud Computing?

Es un modelo de servicio disponible “a pedido” que permite el acceso a recursos tecnológicos, como ser redes, servidores, almacenamiento y aplicaciones entre otros, con la ventaja que pueden ser aprovisionados rápidamente y en forma automática, sin interacción del proveedor. Una característica fundamental es que estos recursos son compartidos entre varios usuarios del servicio.

Cloud Computing llama tanto la atención dado que representa un cambio de paradigma en lo que es el concepto actual de infraestructura de IT: En vez de las Compañías tener centros de cómputos, servidores, routers, switches y personal dedicado entre otros, éstas los tendrán en la “nube” como servicio tercerizado. 


Esto les permitiría varias ventajas económicas, como ser:

·         Reducción de costos en la adquisición de servidores, equipamiento para la infraestructura de red (routers, switches, firewalls, etc.).
·         Reducción de personal, ya que el Cloud Provider proveerá de técnicos especializados para la administración de equipos.
·         Reducción en capacitación y entrenamiento de personal.
·         Reducción de gastos relacionados, como ser  electricidad, equipamiento redundante, enlaces redundantes,  etc.
·         Reducción de costos para investigación y desarrollo.
·         Los gastos de inversión en capital pasarán a ser gastos operativos.


¿Cuáles son las características del servicio de Cloud Computing y cómo se ofrece?


Cloud Computing posee cinco características esenciales:
  1. Servicio “a pedido” y en formato de auto-servicio: El cliente puede solicitar servicios a medida que los requiera (servidores, almacenamiento, etc.) sin la intervención del proveedor.
  2. Amplio soporte de acceso al servicio: Como la infraestructura está disponible a través de Internet y accesible por mecanismos estándar de acceso, esto permite el uso de varios clientes, como ser PDAs, netbooks, notebooks y navegadores de Internet entre otros para acceder al servicio
  3. Recursos compartidos: Los recursos IT del Cloud Provider están diseñados para proveer servicios a múltiples clientes en un modelo llamado múltiples inquilinos (multi-tenant model). Este modelo permite asignar y reasignar diversos recursos físicos y virtuales en forma dinámica y en base a la demanda del cliente.
  4. Elasticidad: La capacidad del servicio puede ser ampliada instantáneamente.
  5. Servicio medido: Los servicios pueden ser medidos (uso de CPU, almacenamiento  y red entre otros) y controlados.
El servicio se ofrece principalmente en 3 modelos (modelos de servicio):
  • Software como Servicio (SaaS ó Software as a Service): El Cliente solo puede utilizar las aplicaciones provistas por el proveedor y accederlas a través de varios dispositivos, como ser un navegador de Internet, PDA, etc. Un ejemplo de SaaS puede ser Gmail y Google Docs.
  • Plataforma como Servicio (PaaS ó Platform as a Service): El Cliente puede implementar sus aplicaciones en la infraestructura provista por el Cloud Provider pero solo utilizando los lenguajes, interfaces y herramientas brindadas y soportadas por éste.
  •  Infraestructura como Servicio (IaaS ó Infrastructure as a Service): El Cliente es provisto de capacidad de procesamiento, almacenamiento, redes y otros aspectos fundamentales de una infraestructura de IT permitiéndole implementar el software que éste desee, incluyendo sistemas operativos y aplicaciones.

Adicionalmente, el servicio posee 4 modelos de entrega delivery), como ser Privado, Público, hibrido y comunidad. A continuación describiré los dos más importantes:

  • Privado: La infraestructura provista estará operada únicamente para un Cliente en particular.
  • Público: La infraestructura provista estará disponible para el público en general.

Seguridad y Privacidad en la Nube: Principales preocupaciones El cambio de paradigma que trae aparejada la aparición de estas nuevas tecnologías genera una tormenta de nuevos desafíos y preocupaciones para los CIOs de las Compañías. El NIST (National Institute of Standards and Technologies) y el CSA (Cloud Security Alliance) establecen cuales son estas preocupaciones:

  •  Cumplimiento regulatorio: Los datos están en la nube y no en un lugar físico definido. La ubicación exacta de los datos puede no estar disponible o ser divulgado por el Cloud Provider, dificultando así la posibilidad de garantizar la implementación de los controles necesarios para lograr los cumplimientos regulatorios. Por ejemplo, existen regulaciones como ser HIPAA y PCI que requieren la implementación de controles a nivel físico y técnico para limitar el acceso a datos. Esto en el modelo de Cloud Computing puede ser un problema.
  • Confianza en el Cloud Provider:
    •  Dueño de datos: Los datos son procesados y almacenados en la nube provista por el Cloud Provider. Sin un claro contrato pueden existir dudas sobre quién es el dueño de éstos.
    •  Servicios Compuestos: Los servicios de Cloud Computing pueden estar compuestos por servicios provistos por otros Cloud Providers (como subcontratados). Estos casos representan un riesgo ya que puede no estar bien definido el control sobre la parte subcontratada y las responsabilidades.
    • Empleados malicioso: Los Cloud Providers le otorgan privilegios de administración a su personal para realizar sus tareas operativas. Un empleado malicioso podría acceder a datos confidenciales de un Cliente o realizar actos de sabotaje.
  • Administración de riesgos: Los Clientes deben asegurar que los controles de seguridad sean implementados en forma correcta. Al estar la infraestructura en la nube, esta tarea puede ser dificultada, elevando los riesgos para los mismos.
  • Arquitectura y ataques:
    •  Tecnología compartida: La implementación de tecnologías de virtualización genera una nueva superficie de ataque dado que éstas también son susceptibles a vulnerabilidades.
    • Redes virtuales: El tráfico a través de redes virtuales podría no ser visible a dispositivos de seguridad en la red física, como ser sistemas de detección ó prevención de intrusos (N-IDS/IPS).
    •  APIs inseguras: Todos los modelos de servicio poseen APIs (Application Program Interface ó Interfaz de aplicación del programa) disponibles para administrar los servicios y pueden representar un riesgo si no están correctamente aseguradas.
    •  Pérdida  ó divulgación de datos: Todos los modelos de servicio son susceptibles a posibles pérdidas ó divulgación de datos por fallas operativas, de cifrado y de destrucción de los mismos.
  • Disponibilidad: La posibilidad que un Cloud Provider entre en banca rota ó experimente la pérdida de un data center puede afectar la disponibilidad del servicio y afectar al Cliente.
  • Ataques desde la nube:
    • Secuestro de servicio: Todos los modelos de servicio son susceptibles al secuestro de los mismos por medio de ataques de ingeniería social (Phishing), fraude y explotación de vulnerabilidades entre otras. Una vez que un atacante obtiene credenciales de acceso de la Compañía, éste puede acceder a datos confidenciales.
    • Abuso de servicio: La idea de tener capacidad ilimitada de procesamiento, red y almacenamiento le puede permitir a criminales informáticos realizar sus actividades con más poder y un mayor anonimato.
    • La modalidad de auto-servicio ofrecida por los Cloud Providers facilita el trabajo de un atacante para causar daño. Estos ataques pueden ir hacia Clientes internos ó terceros externos.
¿Qué recomendaciones existen para migrar a servicios de Cloud Computing?


Todavía existen varios debates sobre las recomendaciones que hay que tener en cuenta al migrar a servicios de Cloud Computing. Sin embargo, ya hay una base de recomendaciones que deben ser tenidas en cuenta:
  •  Desde la perspectiva de cumplimiento regulatorio, entender las diferentes leyes y regulaciones que aplican a su Compañía y que podrían impactar en las iniciativas de Cloud Computing. Aquellas leyes o regulaciones que requieran la implementación de controles en base a la ubicación de los datos para garantizar la privacidad y seguridad de los mismos pueden representar un problema.
  • Incorporar en el contrato con el Cloud Provider la posibilidad de auditar los controles de seguridad y privacidad implementados por éste y su performance en el tiempo.
  •  Incorporar en el contrato con el Cloud Provider un marco de trabajo para realizar proceso de administración de riesgos flexible y continuo.
  •  Entender las tecnologías que utiliza el Cloud Provider para brindar sus servicios, incluyendo los controles que garanticen la seguridad de sus sistemas.
  • Entender la tecnología que utiliza el Cloud Provider para virtualización y asesorar los riesgos que ésta implica.
  • Evaluar si las soluciones que ofrece el Cloud Provider para la administración de datos cubre con los requerimientos de su Compañía. En especial las soluciones de cifrado de datos tanto en almacenamiento como en movimiento.
  • Asegurar que ante la falta de servicio (ya sea por corto o largo plazo), las operaciones críticas puedan ser resumidas de forma inmediata.

Por Agustin Chernitsky
Especialista en Seguridad de la Información