1,274 research outputs found

    Duo: Software Defined Intrusion Tolerant System Using Dual Cluster

    Get PDF
    An intrusion tolerant system (ITS) is a network security system that is composed of redundant virtual servers that are online only in a short time window, called exposure time. The servers are periodically recovered to their clean state, and any infected servers are refreshed again, so attackers have insufficient time to succeed in breaking into the servers. However, there is a conflicting interest in determining exposure time, short for security and long for performance. In other words, the short exposure time can increase security but requires more servers to run in order to process requests in a timely manner. In this paper, we propose Duo, an ITS incorporated in SDN, which can reduce exposure time without consuming computing resources. In Duo, there are two types of servers: some servers with long exposure time (White server) and others with short exposure time (Gray server). Then, Duo classifies traffic into benign and suspicious with the help of SDN/NFV technology that also allows dynamically forwarding the classified traffic to White and Gray servers, respectively, based on the classification result. By reducing exposure time of a set of servers, Duo can decrease exposure time on average. We have implemented the prototype of Duo and evaluated its performance in a realistic environment

    Diverse Intrusion-tolerant Systems

    Get PDF
    Over the past 20 years, there have been indisputable advances on the development of Byzantine Fault-Tolerant (BFT) replicated systems. These systems keep operational safety as long as at most f out of n replicas fail simultaneously. Therefore, in order to maintain correctness it is assumed that replicas do not suffer from common mode failures, or in other words that replicas fail independently. In an adversarial setting, this requires that replicas do not include similar vulnerabilities, or otherwise a single exploit could be employed to compromise a significant part of the system. The thesis investigates how this assumption can be substantiated in practice by exploring diversity when managing the configurations of replicas. The thesis begins with an analysis of a large dataset of vulnerability information to get evidence that diversity can contribute to failure independence. In particular, we used the data from a vulnerability database to devise strategies for building groups of n replicas with different Operating Systems (OS). Our results demonstrate that it is possible to create dependable configurations of OSes, which do not share vulnerabilities over reasonable periods of time (i.e., a few years). Then, the thesis proposes a new design for a firewall-like service that protects and regulates the access to critical systems, and that could benefit from our diversity management approach. The solution provides fault and intrusion tolerance by implementing an architecture based on two filtering layers, enabling efficient removal of invalid messages at early stages in order to decrease the costs associated with BFT replication in the later stages. The thesis also presents a novel solution for managing diverse replicas. It collects and processes data from several data sources to continuously compute a risk metric. Once the risk increases, the solution replaces a potentially vulnerable replica by another one, trying to maximize the failure independence of the replicated service. Then, the replaced replica is put on quarantine and updated with the available patches, to be prepared for later re-use. We devised various experiments that show the dependability gains and performance impact of our prototype, including key benchmarks and three BFT applications (a key-value store, our firewall-like service, and a blockchain).Unidade de investigação LASIGE (UID/CEC/00408/2019) e o projeto PTDC/EEI-SCR/1741/2041 (Abyss

    Security threat probability computation using Markov Chain and Common Vulnerability Scoring System

    Full text link
    © 2018 IEEE. Security metrics have become essential for assessing the security risks and making effective decisions concerning system security. Many security metrics rely on mathematical models, but are mainly based on empirical data, qualitative method, or compliance checking and this renders the outcome far from accurate. This paper proposes a novel approach to compute the probability distribution of cloud security threats based on Markov chain and Common Vulnerability Scoring System (CVSS). The paper gives an application on cloud systems to demonstrate the use of the proposed approach

    Design, Implementation and Experiments for Moving Target Defense Framework

    Get PDF
    The traditional defensive security strategy for distributed systems employs well-established defensive techniques such as; redundancy/replications, firewalls, and encryption to prevent attackers from taking control of the system. However, given sufficient time and resources, all these methods can be defeated, especially when dealing with sophisticated attacks from advanced adversaries that leverage zero-day exploits

    Assessing and augmenting SCADA cyber security: a survey of techniques

    Get PDF
    SCADA systems monitor and control critical infrastructures of national importance such as power generation and distribution, water supply, transportation networks, and manufacturing facilities. The pervasiveness, miniaturisations and declining costs of internet connectivity have transformed these systems from strictly isolated to highly interconnected networks. The connectivity provides immense benefits such as reliability, scalability and remote connectivity, but at the same time exposes an otherwise isolated and secure system, to global cyber security threats. This inevitable transformation to highly connected systems thus necessitates effective security safeguards to be in place as any compromise or downtime of SCADA systems can have severe economic, safety and security ramifications. One way to ensure vital asset protection is to adopt a viewpoint similar to an attacker to determine weaknesses and loopholes in defences. Such mind sets help to identify and fix potential breaches before their exploitation. This paper surveys tools and techniques to uncover SCADA system vulnerabilities. A comprehensive review of the selected approaches is provided along with their applicability

    A Threat Computation Model using a Markov Chain and Common Vulnerability Scoring System and its Application to Cloud Security

    Full text link
    Copyright © 2019 Securing cyber infrastructures has become critical because they are increasingly exposed to attackers while accommodating a huge number of IoT devices and supporting numerous sophisticated emerging applications. Security metrics are essential for assessing the security risks and making effective decisions concerning system security. Many security metrics rely on mathematical models, but are mainly based on empirical data, qualitative methods, or compliance checking, and this renders the outcome far from satisfactory. Computing the probability of an attack, or more precisely a threat that materialises into an attack, forms an essential basis for a quantitative security metric. This paper proposes a novel approach to compute the probability distribution of cloud security threats based on a Markov chain and Common Vulnerability Scoring System. Moreover, the paper introduces the method to estimate the probability of security attacks. The use of the new security threat model and its computation is demonstrated through their application to estimating the probabilities of cloud threats and types of attacks

    Diversity in automatic cloud computing resource selection

    Get PDF
    Tese de mestrado em Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2012Obter resultados e comportamentos correctos em computação é uma preocupação de longa data. O excerto seguinte sobre o advento das máquinas de calcular foi escrito em 1834 e ilustra a importância já dada naquela época ao uso de mecanismos para tolerar e identificar erros de cálculo [24]: “A verificação mais correcta e efectiva contra erros que surgem do processo de computação ´e realizar a mesma computação em máquinas de calcular separadas e independentes; e tal verificação ´e ainda mais decisiva se os cálculos forem realizados através de métodos diferentes.” Existem dois mecanismos que surgem desta afirmação e são considerados importantes para obter computações correctas. O primeiro é a replicação, a qual consiste em calcular os resultados mais de uma vez e compará-los ou realizar uma votação no final. O segundo ´e a diversidade, a qual consiste em utilizar métodos e componentes distintos em cada computação. Actualmente, ambos integram o grupo de mecanismos para tolerância a faltas e intrusões (FIT), os quais são capazes de tolerar tanto faltas acidentais como maliciosas em sistemas computacionais. Em termos práticos, um serviço replicado pode tolerar faltas acidentais se existir pelo menos um servidor no seu grupo de réplicas que ainda seja capaz de responder aos pedidos dos clientes. O mesmo serviço replicado pode tolerar faltas maliciosas, normalmente, se a maioria das réplicas responderem correctamente ou concordarem com o resultado dos pedidos dos clientes. Caso um atacante descubra uma vulnerabilidade que possa ser explorada em um servidor, e a mesma também existir em outras réplicas, então a tolerância a faltas e intrusões do serviço pode ser comprometida. Tal problema ´e uma limitação conhecida dos mecanismos de replicação frente a vulnerabilidades comuns entre as réplicas. Aumentar a independência de vulnerabilidades ´e o principal objectivo do mecanismo de diversidade. A diversidade ´e um mecanismo que consiste em fornecer e criar diversas combinações de recursos entre os componentes de um sistema. Obtê-la automaticamente ´e um processo que pode ser decomposto em duas fases: criação e selecção. A primeira consiste em fornecer recursos diferentes o suficiente para serem considerados, combinados e selecionados na segunda fase. A obtenção automática de diversidade na fase de selecção de recursos é o nosso principal objectivo nesta dissertação. Gerir grandes quantidades de recursos computacionais ´e uma tarefa complexa que pode ser facilitada com o uso de ferramentas automáticas para alocação, utilização e monitorização. Actualmente, pensar na gestão de sistemas distribuídos em larga escala implicitamente leva a considerar ferramentas de cloud computing como uma das opções de gestão. O modelo de cloud computing, na sua definição mais simples, é um modelo de fornecimento de computação como um serviço de utilidade [20]. Porém tecnicamente, este modelo e seus agentes são fontes infinitas de recursos computacionais, administrados automaticamente e fornecidos publicamente. Neste trabalho, nós consideramos cloud computing como o cenário para atingirmos nosso objectivo principal. Considerando que o fornecedor de um serviço replicado seja cliente de um dado serviço de cloud, e que todas as réplicas do serviço são alocadas nesta mesma infraestrutura. Se uma falta, seja ela por paragem ou arbitrária, causar uma interrupção¸ ao do serviço prestado por essa cloud, então o serviço replicado pode falhar na sua totalidade, o que significa que não existe independência de vulnerabilidade entre as réplicas do serviço. Neste caso, existe um ponto único de falha, o provedor de cloud, o que leva a indicação da diversidade deste componente uma possível solução para o caso. O primeiro passo para obter diversidade de provedor é criar novas contas em outros fornecedores. O segundo passo consiste em seleccionar, para cada nova réplica do serviço, um fornecedor disponível que não esteja a ser utilizado pelas outras réplicas. Contudo, seleccionar manualmente um fornecedor de cloud para cada nova alocação pode ser inconveniente, ou até mesmo inviável, o que torna imperativo o uso de uma ferramenta automática para selecção de recursos. Nesta dissertação, nós apresentamos o DiversityAgent, uma biblioteca em Java para obtenção automática de diversidade na selecção de recursos de cloud computing. Seus clientes apenas precisam registar quais são os recursos disponíveis, que o DiversityAgent se responsabiliza por seleccionar uma combinação de recursos diferente para cada nova réplica a ser alocada e implantada. Acreditamos nesta ser a primeira biblioteca automática com tal propósito, tendo em vista conformidade, extensibilidade, escalabilidade e outros requisitos. O DiversityAgent foi projectado tendo em vista quatro requisitos funcionais, nove não funcionais e alguns padrões de projecto bastante difundidos. O fluxo do algoritmo principal de selecção de recursos é baseado em uma proposta colaborativa entre as diversidades registadas no momento de cada pedido, o qual será discutido no decorrer deste documento. Também são apresentadas a composição¸˜ao interna do DiversityAgent e os algoritmos de diversidade e controladores para cloud implementados. A biblioteca DiversityAgent ´e um software livre e de código aberto que se encontra disponibilizada no Google Project Hosting [10] sobre a licença GNU Lesser General Public License (LGPL v3.0). Esperamos que a mesma possa contribuir com muitos projectos do grupo Navigators, assim como externos em busca de solucionar os problemas ainda considerados em aberto na área de gestão de diversidade. Incentivamos o desenvolvimento de novos algoritmos e propriedades de diversidade, assim como novos drivers para mais provedores e ferramentas de cloud e esperamos poder publicar contribuições da comunidade de software livre para com esta ferramenta em futuras versões oficiais. Além disso, nós realizamos uma ampla análise de diversidade no cenário de cloud computing. Este estudo é composto por uma revisão de taxonomia e discussão sobre cada uma das classificações, onde apontamos as propriedades que actualmente são suportadas pelos fornecedores e ferramentas de cloud. Nele, apresentamos também algumas oportunidades para que os agentes de cloud computing possam contribuir ainda mais com a área de gestão de diversidade. Mais de cinquenta propriedades foram identificadas, sendo quatro relativas à diversidade de aplicação, catorze à diversidade administrativa, dez de localização geográfica, nove de software de suporte, nove de hardware e seis relativas à diversidade de segurança. Do total de cinquenta e duas propriedades, apenas oito são completamente suportadas pela versão analisada da ferramenta para cloud computing Open- Nebula e treze pelo fornecedor de cloud Amazon. Ainda em relação à Amazon, outras dezoito propriedades são parcialmente suportadas através do uso de rótulos genéricos, totalizando trinta e uma propriedades suportadas. Os provedores de cloud computing podem vir a não concordar em fornecer informações relativas a todas as propriedades definidas nesta dissertação, uma vez que existem riscos comerciais e custos extras em publicar e manter todas informações. Porém, ainda assim consideramos importante para a área de gestão de diversidade a apresentação e discussão do maior número possível de propriedades. Nós também apresentamos a integração do DiversityAgent com dois casos de uso previstos pelo projecto CloudFIT, assim como os resultados dos experimentos de desempenho e conformidade. O primeiro caso é um serviço Web sem estado e o segundo é um serviço baseado em replicação de máquinas de estado. Ambos casos utilizam técnicas de recuperação proactiva e posicionam o DiversityAgent entre o gestor de recursos dos serviços e os provedores de cloud, a fim de obter diversidade automaticamente a cada nova troca proactiva de réplicas. No fim desta dissertação, encontram-se as conclusões obtidas com este trabalho, possíveis trabalhos futuros, além de três apêndices sobre as interfaces públicas, tutoriais de utilização e personalização do DiversityAgent.Obtaining correct results and behaviour on computing is a long-standing concern. Such guarantee can be obtained through fault and intrusion tolerance mechanisms, which aim to tolerate crash and arbitrary faults. Byzantine fault tolerant replication, when combined with proactive recovery techniques can tolerate any number of arbitrary faults during entire system life time. However, common vulnerabilities shared between replicas can compromise such tolerance, rendering diversity as a complementary mechanism. Diversity is a mechanism that consists in providing and combining diverse resources to increase vulnerability independence between system components. Obtaining diversity automatically is a process that can be decomposed into two phases: creation and selection. The first phase consists in providing enough diverse resources to be considered, combined and selected in second phase. In this thesis we present the DiversityAgent, a Java library for selecting cloud resources considering multiple diversity properties. Its clients only need to register available resources, then the DiversityAgent assumes the responsibility of selecting appropriate cloud computing resource combination for each server deployment. In order to design the DiversityAgent, we review taxonomies for diversity on computer systems and analyse several diversity group properties supported by cloud providers or tools, and opportunities for cloud computing players contribute with diversity management area. This document contains a review on basic fault and intrusion tolerance mechanisms, followed by an extensive diversity analysis in cloud computing environments and by the DiversityAgent development. We also present an integration of our component with two use cases foreseen by CloudFIT project, as well as present the results of correctness and performance evaluations. At the end there are the final remarks about this work and possible future work, besides three appendices regarding DiversityAgent public interfaces, usage and customising tutorials
    corecore