terça-feira, 6 de julho de 2010
Beyond Stack Smashing : Recent Advances in Exploiting Buffer Overruns
Artigo de Jonathan Pincus e Brandon Baker publicado em IEEE Computer Society 1540-7993/4
Neste artigo são descritas três modos de exploits para buffer overrun, também conhecidos como Buffer Overflow : arc injection, pointer subterfuge, e heap smashing.
O método tradicional de exploração de buffer overrunns é através de stack smashing, que ocorre através da modificação do endereço de retorno salvo no stack (região da memória empregada para armazenamento de parâmetros, variáveis locais e endereços de retorno), que aponta para o código do atacante que reside num buffer stack do sistema atacado.
Hackers criaram formas de explorar buffer overruns. A técnica Heap smaching permite exploração de buffer overruns na área da memória alocada dinamicamente.
Explorando Buffer Overruns
Um buffer overrun ocorre quando uma aplicação tenta ler ou escrever além do endereçamento de um array declarado na área de buffer da memória. O Buffer overrun ocasiona exceções em linguagens como Pascal, Ada, Java, porém linguagens como C e C++ não realizam nenhum tipo de checagem.
Stack Smashing
É uma técnica descrita em detalhes pelos hackers AlephOne e DillDog, na qual troca-se o controle de fluxo de dados para executar o código criado pelo atacante. A técnica se vale do fato de que a maioria dos compiladores C armazenam o endereço de retorno salvo na mesma pilha usada para as variáveis locais.
Arc Injection
Nesta técnica o atacante fornece dados a uma aplicação, tendo como retorno o efeito desejado e com o objetivo de modificar o endereço de retorno. Em geral o endereço de retorno passa a apontar para algum local que contenha alguma função específica.
Pointer Subterfuge
Pointer Subterfuge utiliza-se da alteração de valores de ponteiros. Algumas variações são: funtion-pointer clobbering, data-pointer modification, exception-handler hijcking e virtual pointer smashing.
Heap Smashing
Heap Smashing explora implementações em memória dinâmicas alocadas por violação em algumas invariantes assumidas.
Conclusão
O desenvolvimento de software seguro vem se tornando cada vez mais necessário, onde é de grande importância o conhecimento das vulnerabilidades de linguagens como C, C++, de forma a estudar os ataques que possam ocorrem nestes ambientes. Esforços devem ser empregados para minimizar as vulnerabilidades encontradas nestes ambientes, de modo a diminuir cada vez mais a chance de erros de programação.
Resumo do artigo "Reflections on Trusting Trust" de Ken Thompson
Neste artigo, Ken Thompson, um dos criadores do UNIX, relata que é possível modificar os compiladores de modo a comprometer a segurança daqueles que o utilizam, introduzindo código malicioso. Ele implantou um trojan horse (cavalo de tróia) no compilador C para o programa de login do Unix. Uma vez instalado em um computador, este compilador habilitaria um acesso ao sistema como qualquer usuário. Por ter sido compilado junto ao sistema operacional, este cavalo de tróia não é detectado no código fonte, sendo que só pode ser descoberto se for inspecionado o código binário. Neste caso foi empregada uma técnica de ataque chamada de dupla compilação diversa (DDC).
No caso da linguagem de programação C, o compilador C é escrito em C, e segundo o autor, problemas surgem quando compiladores são escritos na sua própria linguagem. Thompson demonstra que não se pode confiar em compiladores que não têm procedência, pois a maioria dos programas de código aberto possuem relativa segurança.
Assim recomenda-se verificar a procedência e a integridade de compiladores, principalmente de onde não se tenha acesso ao código fonte, sendo importante acreditar em toda a infra-estrutura de compilação, pois os mesmos podem ter códigos maleficamente implementados e podem ser ativados quando um determinado padrão for encontrado em um código-fonte.
quarta-feira, 5 de maio de 2010
Novidades sobre Cloud Computing
terça-feira, 4 de maio de 2010
Criptografia com o uso de curvas elípticas

Origens
A Criptografia de Curvas Elípticas (ECC) utiliza uma variação da criptografia assimétrica, baseada na matemática das curvas elípticas. Seus criadores argumentam que a ECC pode ser mais rápida e usar chaves mais curtas do que os métodos antigos como RSA, e proporcionando ao mesmo tempo um nível de segurança equivalente. Seu uso foi proposto por Neal Koblitz e Victor Miller em 1985.
Existem algumas versões de criptografia de curvas elípticas. Tais versões, com pequenas variações em seus algoritmos, se baseiam na dificuldade de resolução do problema do logaritmo discreto para o grupo de uma curva elíptica sobre alguns grupos finitos.
Funcionamento
Em matemática, as curvas elípticas são definidas por equações de grau três.
As equações são utilizadas para provar o último teorema de Fermat sendo empregadas com frequência em criptografia.
As curvas elípticas são "regulares", o que significa que não têm "cúspides" nem auto-intersecções, e se pode definir uma operação binária para o conjunto de seus pontos de uma maneira geométrica natural, o que faz deste conjunto um grupo abeliano.
Dada uma curva elíptica E, e um grupo G(q), consideramos o grupo abeliano de pontos racionais E(q) na forma (x, y), onde x e y pertencem a G(q), e onde a operação de grupo + se define nesta curva. Define-se então uma segunda operação "*" Z×E(q) → E(q): se P é algum ponto em E(q), então definimos 2*P = P + P, 3*P = 2*P + P = P + P + P, e assim por diante. Note-se que dados os inteiros j e k, j*(k*P) = (j*k)*P = k*(j*P). O problema do logaritmo discreto de uma curva elíptica (PLDCE) é, determinar o inteiro k, dados os pontos P e Q, quando k*P = Q.
Vantagens
O algoritmo ECC tem sido reconhecida como o mais forte para um dado comprimento de chave, com utilização provável em conexões de rede que tenham requisitos muito limitados de largura de banda.
O NIST e o grupo X9 da ANSI estabeleceram requisitos mínimos de tamanho de chave: 1024 bits para RSA e DSA e 160 bits para ECC, correspondentes a um bloco simétrico de de 80 bits. O NIST publicou uma lista de curvas elípticas recomendadas de 5 tamanhos distintos de chave: 80, 112, 128, 192 e 256 bits. Em geral o algoritmo ECC sobre um grupo binário requer uma chave assimétrica com o dobro de tamanho do que aquele correspondente a uma chave simétrica.
A Carga Computacional mede a eficiência com que os algoritmos podem implementar as transformações com as chaves públicas e privadas (sistema em operação). As melhores implementações de cada um dos sistemas ("state-of-the-art implementations") indicam que o ECC é executado aproximadamente 10 vezes mais rápido que o RSA ou DSA.
O Tamanho de Banda corresponde a quantos bits (a mais) temos que transmitir após criptografar ou assinar uma mensagem, em relação a mensagem original. O ECC se destaca exclusivamente nos casos em que são processadas mensagens pequenas . Visualizando os sistemas de criptografia com chave pública como ferramenta de troca de chave (utiliza transformação de mensagens pequenas), essa vantagem do ECC torna-se ainda mais significativa.
Desvantagens
Desvantagens da utilização da Criptografia por Curvas Elípticas:
a) Tamanho da chave - sistemas criptográficos sobre chaves ainda mais pequenas;
b) ECC é matematicamente sub-utilizado em relação ao RSA e ao SDL;
links de referência:
Neal Koblitz, "Elliptic curve cryptosystems", Mathematics of Computation 48, 1987, pp203–209.
http://twiki.di.uminho.pt/twiki/pub/Education/Criptografia/CriptografiaMestrados/ECC_report_ibraim.pdf
http://www.lockabit.coppe.ufrj.br/downloads/academicos/ECCMono.pdf
http://pt.wikipedia.org/wiki/Curva_el%C3%ADptica
http://pt.wikipedia.org/wiki/Criptografia_de_Curvas_El%C3%ADpticas
terça-feira, 6 de outubro de 2009
IBM oferece jogo para simulação ITIL
São aplicados na prática os conceitos, iniciativas e terminologias ITSM, sendo que os participantes tornam-se os responsáveis pela geração de resultados positivos na simulação, seguindo os Processos de Gerenciamento de Serviços.
O jogo tem um ambiente empresarial e oferece uma experiência diferente não só para quem quer obter uma certificação ITIL, mas também para quem está na indústria de Gerenciamento de Serviços.
O site só oferece a aplicação no idioma inglês e o acesso pode ser realizado sem custo algum. Faz-se necessário realizar o registro para obter o acesso.
Recomenda-se possuir conhecimentos prévios a respeito de:
- ITIL® V2 Foundation, ITIL® V3 Foundation, ou ITIL® V3 Foundation Bridge.
Objetivos do simulador:
- Acelerar o aprendizado das melhores práticas, ITIL® V3 e ITIL® V2, rumo a ISO/IEC20000;
- Obter sucesso nas iniciativas ITSM dentro das Organizações;
- Praticar e aprender o ciclo de vida do Serviço passando pelas fases (Service Strategy, Service ;
- Design, Service Transition, Service Operation, Continual Service Improvement);
- Promover uma rápida e sólida mudança cultural nas Organizações;
- Estabelecer um programa prático em Gerenciamento de Serviços;
- Aprendizagem efetiva através da experiência prática nos processos e seus relacionamentos para o Gerenciamento do Serviço.
O Service Management Simulator mantém uma dinâmica interativa entre a TI e o Negócio na perspectiva estratégica e operacional. A estrutura da simulação procura refletir o Ciclo de Vida do Serviço com base no ITIL® versão 3 representado pelas seguintes fases:
Fase 1 Definindo a estratégia de um novo Serviço;
(Mercado, Portfolio e Catálogo de Serviços, Estratégia de recursos e execução)
Fase 2 Desenhando o Serviço;
(Catálogo de Serviço de Negócio e Operacional, Gerenciamento de Nível de Serviço, Capacidade, Disponibilidade, Continuidade dos Serviços de TI, ISM, Fornecedores)
Fase 3 Estruturando um plano de transição para o Serviço;
(Gerenciamento de Mudanças, SACM, Release and Deployment Management, Validação e teste do Serviço, Avaliação e Knowledge Management)
Fase 4 Selecionando os dados para a Melhoria Contínua do Serviço (CSI) e iniciando a operação;
Nível 1 - Problemas de comunicação e “chaos” iniciam o Service Desk e Gerenciamento de Incidentes.
Nível 2 - Melhorando o processo de Gerenciamento de Incidentes. Introduzindo o processo de Gerenciamento de Problemas, base de conhecimento e análise de tendências.
Nível 3 - Exercitando ITSM passo a passo...
- Aumentando a maturidade dos registros de Incidentes;
- Gerenciando a Base de Conhecimento;
- Gerenciando os processos de Mudanças e Liberações;
- Atendendo a novos Requisitos de Níveis de Serviço;
- Implementando o processo de Gerenciamento da Continuidade dos Serviços de TI;
- Gerenciando a Capacidade e Disponibilidade do Serviço;
- Desafio Financeiro dos Recursos e Serviços de TI;
- Mantendo os Acordos de Níveis de Serviço.
Nível 4 - ITSM em tempo Real...
- Aplicando todos os conhecimentos, exercitando o relacionamento entre os processos em tempo real, aumentando a maturidade ITSM e trazendo benefícios para o Negócio.
Link para a ferramenta: http://www-01.ibm.com/software/tivoli/features/sm-simulator/
Acessado em: 03/10/2009.
Planejamento Estratégico de TI e BSC de TI
O planejamento estratégico das organizações privadas e públicas deve ser complementado pelo planejamento de sistemas de informação, conhecimentos e informática. Esse planejamento também pode ser chamado de Planejamento Estratégico da Tecnologia da Informação (Peti).
Ambos os planejamentos devem ser integrados e alinhados (REZENDE, 2003).
Os conceitos de inteligência empresarial ou organizacional estão intimamente relacionados com o planejamento de sistemas de informação, conhecimentos e informática.
Esses conceitos devem estar presentes nesse planejamento para que as organizações procurem exercitar a inteligência empresarial ou organizacional. As organizações, para serem inteligentes, precisam disponibilizar produtos de qualidade, praticar bom atendimento, adequar sua política de venda e preços aos clientes, cumprir prazos predefinidos e estar atentas às mutações do mercado.
Essas exigências forçam as organizações a reverem seus valores comerciais, humanos e tecnológicos, o que, por si só, não garante as principais metas organizacionais e a inteligência empresarial ou organizacional. Esses valores merecem atenção especial das organizações com sua análise estratégica e seu planejamento efetivo, envolvendo toda a organização, principalmente no que tange à adoção da TI e respectivos recursos com o objetivo de alcançar estas metas.
O ambiente competitivo e a globalização influenciam o posicionamento estratégico dos negócios da organização. Esse posicionamento pode-se comportar de três formas: a tecnologia da informação suportar as operações da organização, mas não estar estrategicamente integrada a ela; a tecnologia da informação suportar as estratégias, mas não participar da concepção e com seu potencial; e a tecnologia da informação fazer parte integral de todas as estratégias organizacionais, inclusive as relacionadas a produtos, serviços, clientes, fornecedores, distribuidores etc. (PARSONS, 1983; JOHNSTON; CARRICO, 1988).
Essas questões relatadas, que envolvem os fatores de sobrevivência e sucesso das organizações, justificam que os sistemas de informação, os sistemas de conhecimentos e a informática ou tecnologia da informação sejam planejados, adequados e adaptados com flexibilidade e efetividade (TAPSCOTT; CASTON, 1993; MARKUS; BENJAMIN, 1997).
O planejamento estratégico da organização e o planejamento dos sistemas de informação, dos sistemas de conhecimentos e da informática ou tecnologia da informação devem estar integrados, ou seja, com as estratégias alinhadas e com sinergia entre si.
Os objetivos e as estratégias da organização direcionam o planejamento dos sistemas de informação, dos sistemas de conhecimentos e da tecnologia da informação (Psici) ou Peti. O Psici ou Peti, quando integrados, também subsidiam a elaboração dos objetivos e das estratégias da organização que a disponibilizarão de informações e conhecimentos.
O Psici ou Peti basicamente planejará os sistemas de informação (SI operacionais, gerenciais e estratégicos), os sistemas de conhecimentos (SC). A partir desses sistemas, se organizará a necessidade da informática ou tecnologia da informação (TI) e seus recursos (hardware, software, sistemas de telecomunicações e gestão de dados e informações) juntamente com a definição dos perfis das pessoas ou dos recursos humanos (PERFTL RH) coerentes com as propostas da organização.
BSC de TI e COBIT
O desenvolvimento de Mapas estratégicos e Balanced Scorecards para as unidades de serviço criam condições para que as empresas promovam a geração de valor adicional pela corporação, por meio do alinhamento dos objetivos referentes a clientes, processos e aprendizado, e crescimento dessas unidades com os das unidades de negócio. (KAPLAN & NORTON, 2006).

Figura 1 – Exemplo de BSC
Em uma abordagem top-down, como recomenda Kaplan & Norton (2000), é possível se relacionar os objetivos estratégicos da seguinte forma:
A diminuição dos custos de propriedade e o retorno do capital investido garantem que a área demonstre seu alinhamento e compromisso com as áreas de negócio e a corporação, por isto são colocados no topo desta tabela.
Segundo Magalhães & Pinheiro (2007), essencialmente o alinhamento das estratégias significa aderência dos investimentos em TI em face do valor que eles agregam aos negócios de uma instituição.

Figura 2 – Exemplo de BSC para TI – Perspectivas
Para que estes objetivos sejam alcançados é necessário que os custos com a interrupção de serviços ou com a indisponibilidade dos mesmos sejam mitigados e que haja melhoria de processos.
A existência dos acordos de nível de serviço permite o entendimento das necessidades das áreas usuárias e a discussão dos custos e ações de melhoria em TI relacionadas a este. O SLA não irá evitar a interrupção de um serviço, mas sim forçar que os termos para evitar tais incidentes sejam discutidos e que a área cliente não possua expectativas maiores que o serviço contratado.
Um canal de comunicação amigável e confiável permite que o feedback dos serviços chegue à TI e que os incidentes sejam tratados rapidamente. Ele aproxima os usuários da TI e permite que a proposta de valor a estes seja cumprida e monitorada.
A satisfação dos usuários é chave para o negócio e a evidência do cumprimento da proposta de valor.
Impacto nas áreas de negócio, como já foi reportado, causa prejuízos às áreas de negócio e deve ser evitado por meio de usuários capacitados que dominem os recursos tecnológicos e estejam atentos aos números retornados pela demanda de atendimento.
Caso seja verificado que determinado problema ocorre com freqüência ou com algum padrão ele deve ser analisado e melhorado para evitar recorrências.
A qualidade e a excelência no atendimento determinarão a percepção dos usuários com os serviços de TI. Será também a garantia de que os SLAs serão cumpridos e monitorados para que, caso haja alteração no aspecto do serviço, como demanda, por exemplo, estes sejam revistos.
Capacitação dos funcionários e demanda de atendimento é a base para a “pirâmide” do mapa estratégico. O monitoramento da demanda de atendimento fornece suporte para a ação pró-ativa de TI, seja através da melhoria de processos de negócio ou com a identificação de problemas que causam impactos nas áreas usuárias.
Por ser TI uma área predominantemente técnica, a capacitação dos funcionários irá garantir o domínio de ferramentas e técnicas que suportam e melhoram o negócio. A capacitação fomenta a melhoria do atendimento e a diminuição ou solução mais ágil dos problemas em produção.
Para que este alinhamento seja bem sucedido, TI deve tomar o cuidado de prestar atenção à estratégia da organização e das áreas parceiras, buscando a sinergia necessária para a obtenção de resultados conjuntos. Esta sinergia é obtida com a construção de seu BSC, mesclando os objetivos das demais unidades estratégicas e os da corporação, e pela celebração de acordos de nível de serviço, que protejam ambas as partes envolvidas.
Com TI sendo uma área de apoio, que suporta e auxilia seus parceiros na conclusão de sua estratégia, o mapeamento de causa e efeito entre objetivos demonstra o valor gerado por esta área e como seu trabalho procura alavancar a estratégia de seus parceiros.
Figura 3 - BSC de TI : Perspectivas e Identificação junto ao COBIT
Referencia Bibliográfica
KAPLAN, Robert S. & NORTON, David P. Alinhamento: usando o Balanced Scorecard para criar sinergias corporativas. Rio de Janeiro: Editora Campus/Elsevier, 2006. 335 p.
MAGALHÃES, Ivan Luizio & PINHEIRO, Walfrido Brito. Gerenciamento de Serviços de TI na Prática – Uma abordagem com base na ITIL. São Paulo: Novatec Editora, 2007. 667p.
PARSONS, G. L. Information technology: a new competitive weapon. Sloan Management
Review, v 1, n° 25, p. 3-14, Fall 1983.
TAPSCOTT, D. Economia digital. São Paulo: Makron Books, 1997.
___________; CASTON, A. Paradigm shift: the new promisse of information technology. New York: McGraw-Hill, 1993.
REZENDE, D. A. Engenharia de software e sistemas de informação. Rio de Janeiro:
Brasport, 1999.
_________. Tecnologia da informação integrada à inteligência empresarial: alinhamento estratégico e análise da prática nas organizações. São Paulo: Atlas, 2002.
_________. Planejamento de Sistemas de Informação e Informática. São Paulo: Atlas, 2003.
_________; ABREU, A. E. Tecnologia da informação aplicada a sistemas de informação empresariais: o papel estratégico da informação e dos sistemas de informação nas empresas. 3. ed. São Paulo: Atlas, 2003.
WEILL, Peter & ROSS, Jeanne W. Governança de TI – Tecnologia da Informação. São Paulo: M Books do Brasil Editora Ltda, 2006. 276 p.
Operation Leadership - Resumo
Operation Leadership
General Peter Schoomaker sees a new world of crisis and conflict that requires "creative solutions in ambiguous circumstances." His assignment: the recruitment and training of a new kind of problem-solving, combat-ready "warrior diplomat".
By: Eli Cohen and Noel Tichy
Resumo do artigo Operation – Leadership, de Eli Cohen e Noel Tichy.
O artigo relata uma organização militar dos Estados Unidos, o SOF – Special Operations Forces para ilustrar algumas situações vividas pelo General Peter Schoomaker, os autores abordam a necessidade de soluções criativas em situações ambíguas em um cenário mundial em crise e em conflito. Na avaliação do General existe a necessidade de recrutamento e treinamento de um novo perfil de guerreiro: o "guerreiro diplomata", ao mesmo tempo solucionador de problemas e, pronto para o combate.
Segundo os autores, o meio militar segue por padrão uma filosofia hierárquica rígida, onde oficiais superiores delegam ordens aos subalternos que as obedecem e executam de forma inquestionável. Porém, de acordo com o General Schoomaker, comandante do Comando de Operações Especiais dos Estados Unidos (entre Novembro de 1997 e Outubro de 2000) esse é um modelo ultrapassado, ineficiente e perigoso de liderança.
O General Schoomaker entende os desafios de adaptar-se a um novo cenário. O fim da Guerra Fria marcou uma nova era para o Comando das Forças Especiais que teve que reavaliar sua missão, identidade e prática. Antes eram responsáveis por executar as mais complexas missões militares, agora se vêem envolvidos em tensões étnicas, ações de ajuda humanitárias e resgate de cidadãos americanos capturados pelo mundo.
Com isso os lideres do Comando de Operações Especiais encaram um desafio em selecionar, treinar e desenvolver suas unidades de modo a responder as seguintes questões:
- Como criar uma equipe de pessoas as quais possam gerar resultados a qualquer instante e em qualquer lugar?
- Como criar uma organização de 46.000 membros, onde todos estão dispostos a salvar vidas civis e se necessário tirar a vida de inimigos?
Segundo o General Schoomaker e grande parte dos lideres formadores do Comando de Operações Especiais, prover um sofisticado arsenal métodos e testes de ensino, que juntos geram como resultado uma nova versão de uma organização militar antiga, em todos os níveis da organização.
Dê foco em sua missão, defina sua identidade
General Schoomaker alerta para o fato do Comando de Operações Especiais serem sempre focados na missão, porém lembra que agora a missão mudou e que ele teve que desenvolver novas capacidades para cumprir suas missões.
Atualmente, os membros do Comando de Operações Especiais se vêem como "guerreiros diplomatas" e "profissionais tranqüilos” - termos que descrevem como SOF realiza sua nova missão.
Hoje, a SOF está operando mais na tradição de Sun Tzu, com abordagem mais indireta.
Entre outros tópicos relevantes, o general Schoomaker enfatiza:
- Escolha as pessoas certas, construa a equipe certa
- Para ser um líder, demonstre liderança
- Ensine as pessoas como pensar, não o que pensar
- Valores Essenciais mantém a classe unida
- Ação direcionada é o caminho certo para aprender
- Faça com que todos sejam professores
Com estas perspectivas e direcionamentos foi possível a re-invenção da SOF, começando pelo alto escalão e abrangendo toda a organização.
Link para acesso ao artigo: http://www.fastcompany.com/magazine/27/operation.html
Acesso em 27.08.2009 às 20:00.