Archive

Archive for the ‘Other’ Category

Retomada!

March 1st, 2010 Marcos Álvares 2 comments

Salve salve,

pois é pessoal, infelizmente o blog tem estado entregue as moscas … mas aqui estou eu de volta com as baterias renovadas e pronto para dar a luz a mais alguns artigos.

Retomando a linha de pesquisa, vamos fazer um planejamento de estudo para médio prazo. Primeiramente gostaria de terminar a série de artigos de vulndev. Estava concluindo o artigo sobre Heap Overflow (parte 2) quando foi lançada a Phrack #66 e tive que dar um “pause” na escrita para dar uma lida nos novos artigos. Nessa mesma série pretendo escrever artigos sobre escrita de shellcode, integer overflow, vulndev em outros SOs e um apenas de aplicação com uma coleção de exemplos reais comentados.

No inicio desse ano tive uma idéia envolvendo técnicas de sistemas multi-agentes inteligentes e fuzzy para teste automatizado de ambientes e mineração de vulnerabilidades, tentarei escrever até onde cheguei nessa investigação.

Nesse tempo sem postar, li dois livros bem interessantes: ‘Reversing: secrets of reverse engineering‘ e ‘The IDA Pro book‘ estou bastante entusiasmado em aplicar RE para análise de malwares (e eventualmente misturar algo de IA nisso tudo). Esses livros me despertaram para aspectos interessantes dos internals do Windows (NT based) e para estudos de análise estática de código.

Em paralelo estou, juntamente com meu grupo de pesquisa, ajudando na escrita de dois livros de Inteligencia Computacional (em português): o primeiro sobre inteligência por enxames e o segundo sobre computação evolucionaria. Aos poucos escreverei mini-artigos sobre essas duas sub-áreas de CI e postarei aqui no blog.

Minha linha de pesquisa de mestrado é Computação Social, que envolve diversas áreas divertidissimas como algoritmos culturais, semiótica, sistemas multi-agentes, coevolução, estratégias de evolução, etc. Ultimamente tenho tido insônias bem produtivas, pensando em como que as pessoas se comunicam e interagem com o mundo (objetos, outras pessoas, estruturas) e como ela armazena o conhecimento adquirido. Sempre tentarei postar algo que venho estudando desse escopo por aqui também.

Algumas áreas da segurança da informação tem uma ligação artística com o que estudo de I.A., isso dava um artigo filosófico bastante interessante também. O nível de maturidade que temos sobre determinada área de conhecimento tem um ciclo:

Filosofia -> Arte -> Ciência -> Engenharia

O que torna essas duas áreas de pesquisa tão interessantes é o fato de possuírem ramificações que, ao meu ver, ainda são expressões artísticas.

Pronto, agora elocumbrou de vez !! esquindô, esquindô!! e viva a ARTE! Sem mais delongas, é isso o que tenho feito ultimamente e agora que o contexto do processo de escritor foi carregado na CPU novamente vamos “colocar para moer“.

Adelante compañeros !

Categories: Other Tags: , ,

Décimo Fórum Internacional de Software Livre

June 28th, 2009 Marcos Álvares 3 comments

No período de 24 ao dia 27 de Junho ocorreu na PUC de Porto Alegre a décima edição do FISL (Fórum Internacional de Software Livre), o qual tive o prazer de participar. Foi um evento de grandes proporções, contando com mais de oito mil inscritos, oito palestras simultâneas e nove rodadas de palestras por dia, workshops e oficinas.

A princípio fiquei desconfiado, pois um evento de “software livre” é algo que abrange as mais diversas áreas da computação, algo muito generalista e diferente do modelo de evento mais especifico que acompanho. A diversidade de temas foi impressionante, tentando satisfazer desde profissionais de administração de sistemas à designers gráficos. Consegui montar uma agenda, com praticamente todos os slots lotados só com palestras com temas de meu interesse (\O/).

Stands de empresas no FISL10

Stands de empresas no FISL10

Tive a oportunidade de assistir algumas apresentações e a que me chamou mais atenção foi a de D.J. Bernstein (o criador do djbdns [1] e qmail [2]) sobre uma alternativa ao modelo de proteção usado para o protocolo DNS. Ele mostrou os problemas de segurança encontrados na infra-estrutura de tradução de nomes de uma forma concisa e as dificuldades encontradas na tentativa de achar soluções para tais problemas. DJB propôs uma alternativa a solução até então usada (o DNSSEC [3]), chamada DNSCurve [4] que faz uso de algorítimos criptograficos baseados curvas elípticas [5](Elliptic Curve Cryptography).

Bernstein é pesquisador ligado a universidade de Illinois, matemático e engenheiro de software. Na minha opinião, o cara é um exemplo de engenharia e pragmatismo. Tem uma visão ímpar de problemas centrais na infra-estrutura da internet além de se expressar muito bem.

DJB falando sobre o DNSCurve

DJB falando sobre o DNSCurve

O evento também contou com a presença de dinossauros do software livre como John Maddog Hall e Richard Stalman (falando de filosofia, liberdade e etc).

Outro ponto alto do evento foi a apresentação de Peter Sunde mostrando a sua “cruzada”, em um formato bem descontraído, com o Pirate Bay.

Peter Sunde e o Pirate Bay

Peter Sunde e o Pirate Bay

Em fim, o FISL foi um evento muito enriquecedor e bem organizado, recomendo a todos e com certeza voltarei próximo ano.

Hora de voltar para as coisas simples

February 14th, 2009 Marcos Álvares No comments

A humanidade caminhou, caminhou, caminhou … evoluiu, evoluiu, evoluiu … atropelou, atropelou, atropelou. Chegou a hora de se perguntar o que é valor e o que realmente importa … “  (Antonio Carlos TC – Casa de Cultura Tainã)

Incrível como esse discurso é positivo e como é complicado se adaptar ao óbvio de que as coisas mais simples são as mais importantes. A condição imposta pela realidade da sociedade capitalista é uma linha de produção de loucos.

Qual o objetivo da nossa existência? Ganhar dinheiro, status, fama? Isso traz felicidade? Temos que fazer uma auto-análise e passar por um processo de “descontaminação cultural” para voltarmos a essência do que é necessário para obtenção da verdadeira felicidade. Nesse processo, de busca por motivos das ações, perceberemos que a maior parte das nossa atitudes tem como principal objetivo satisfazer preceitos culturais sociais e não pessoais.

Categories: Other Tags: , ,

Computação Evolucionária

January 12th, 2009 Marcos Álvares No comments

Computação evolucionária é um sub-ramo da inteligência artificial que envolve os problemas de otimização por combinação. Essas técnicas são inspiradas por mecanismos biológicos encontrados na natureza como: evolução, mutação, seleção natural e recombinação. Os algoritmos evolucionários são usados em conjunto com computação paralela e sistemas distribuídos para representar e guiar a população do sistema.

A maioria das técnicas evolucionárias envolvem algoritmos de otimização metaheurísticos, que são aplicados a problemas que não possuem um algoritmo de eficiência satisfatória ou quando tal problema não é de fácil simulação. Através das características encontradas na natureza, simuladas através de sistemas multi-agente distribuídos (DEA – Distributed Evolutionary Algorithms), é possível obter uma convergência para a função objetivo de sistemas dinâmicos não lineares, obtendo resultados satisfatórios. O objetivo principal de um sistema que usa essa categoria de algoritmos é aproveitar à computação paralela inerente a teoria, usando múltiplos agentes, para explorar um domínio em busca de um subconjunto que satisfaça a função objetivo. Exemplos de técnicas que usam computação evolucionária são:

  • algoritmos genéticos;
  • inteligência por enxame de partículas;
  • vida artificial;
  • algoritmos culturais;
  • programação evolucionária;
  • sistemas imunológicos artificiais.

A Computação evolucionária tem uma grande desvantagem que é o tempo usado para realização de simulações. Varias soluções para diminuir tal problema já foram propostas, porém ainda é alto o custo computacional para obtermos uma solução dependendo do problema estudado. Uma das soluções para o problema de desempenho foi o uso de computação distribuída em conjunto com tais algoritmos para melhorar a abrangência da exploração realizada no domínio do problema estudado e reduzir a carga computacional.

Uma das principais técnicas de computação evolucionária é o algoritmo genético que são inspirados nos conceitos da teoria de seleção natural das espécies proposta por Charles Darwin. Estes algoritmos são baseados nos processos genéticos dos organismos biológicos para procurar soluções ótimas ou sub-ótimas para um dado problema. Esse algoritmo codifica as possíveis soluções de um sistema numa estrutura chamada de “cromossomo”, composta por uma cadeia de símbolos. Tais cromossomos representam indivíduos que evoluem ao decorrer do tempo ao longo de gerações em busca de uma convergência para que apenas os mais aptos e adaptados ao ambiente sobrevivam. Estes mecanismos são similares aos descritos por Chales Darwin em seu livro “A origem das espécies” [1]. Emulando os processos descritos por Darwin, os algoritmos genéticos são capazes de “evoluir” para soluções de problemas reais.

Os indivíduos pertencentes a um sistema regido por um algoritmo genético são constantemente submetidos ao ciclo que envolve: avaliação, seleção, recombinação (crossover) e mutação. Para cada geração de indivíduos é aplicada as regras cabíveis para avaliação das suas condições reprodutivas baseadas em quão boa é a sua solução proposta. O sistema seguirá continuamente o ciclo mostrado na figura abaixo até conseguir uma solução para o problema.  Com essa expansão do sistema baseada nos indivíduos que conseguem um melhor desempenho, conseguimos fazer com que o algoritmo em um número finito de iterações convirja para uma solução satisfatória.

Ciclo evolutivo de um sistema baseado em algoritmo genético

Ciclo evolutivo de um sistema baseado em algoritmo genético

Referências:
[1]
The origin of species – Charles Darwin, Gramercy, 0517123207, http://www.amazon.com/Origin-Species-Charles-Darwin/dp/0517123207

Blog terapêutico!

August 21st, 2008 Marcos Álvares No comments

Humm … Escrever um Blog !?  Até tu Brutus ?

Quem acha que isso é um ato altruista, de propagação de conhecimentos ou coisa parecida, está enganado! A maioria das pessoas escrevem blogs por pura terapia, engenharia social ou auto-afirmação. A maneira mais rápida de conseguir fundamentos ou contradições para uma idéia é coloca-la a prova. Os loucos são feitos do acumulo de idéias sem fundamentos.

Tendo em vista todos esses benefícios sociais e mentais, descritos acima, resolvi expor meus estudos e reflexões.

Apresentação:

Meu nome é Marcos Álvares, nascido em 1985 e cidadão recifence. Tecnólogo metido a economista filósofo atletico e aluno meia boca de engenharia.

Atualmente trabalho com desenvolvimento de software voltado a segurança da informação na Tempest Security Intelligence [1]. Décimo período de engenharia da computação na Univesidade de Pernambuco [2]. Estudante independente de comportamentos sociais e sua modelagem computacional através de sistemas complexos [3]. Como diria o Coringa: ” I am an agent of chaos“, tento fazer literalmente isso: Caos !

Categories: Other Tags: , ,