Archives for julho, 2008
Posted on jul 09, 2008 under Dicas Linux, Novidades |
Seguidamente falo aqui no blog sobre usar uma máquina virtual (VirtualBox), para fazer testes, experimentar um novo sistema operacional, perder o medo e instalar o gentoo. Hoje encontrei no br-linux um guia de instalação da VirtualBox vale a pena ler.
Contém imagens descrevendo todos os passos da instalação.
O guia de instalação encontra-se no blog tecnoclasta.
Assinem os feeds é de graça.:D
Posted on jul 08, 2008 under Dicas Linux, Segurança |
Foi descoberta uma vulnerabilidade no protocolo DNS, essa falha de projeto permite a execução de um ataque conhecido como DNS cache poisoning attacks, esse ataque faz que o servidor DNS seja envenenado com os dados de servidores não autoritativos. Após receber esses dados o servidor irá colocá-los em cache para aumentar o rendimento.
Este ataque quando é bem sucedido pode redirecionar o tráfego de internet e email. Por exemplo o atacante cria uma página falsa então quando um cliente for abrir a página o tráfego é redirecionado para a página falsa sobre controle do atacante.
Essa vulnerabilidade foi corrigida pelo BIND sendo necessário a instalação da versão Bind 9.5.0-P1
New bind9 packages fix cache poisoning neste link mostra como atualizar o bind no Debian, mas tem uma descrição completa dos passos a serem seguidos independente de distribuição para assegurar um bom update.
Verifique se a sua distro já possui atualização do servidor de DNS.
O DNSsec, talvez seja a solução para as vulnerabilidades do DNS. Assisti um palestra no FISL9 do registro.br achei muito interessante inclusive eles disponibilizam um tutorial sobre DNSsec
Referências:
Vulnerabilidade CERT VU#800113
Patches coming today for DNS vulnerability
Posted on jul 08, 2008 under Dicas Linux, Novidades |
Finalmente chegou o Gentoo 2008.0 trazendo bastante novidades e correções.
Suporte a hardware melhorado, melhoramento nos profiles, uso do Xfce ao invés do GNOME nos Lives CD.
LiveDVDs não estarão disponíveis para x86 ou amd64.
Pacotes
2.6.24 kernel melhorando o suporte a drivers
Portage 2.1.4.4
Xfce 4.4.2
gcc 4.1.2
glibc 2.6.1.
Experimente o gentoo é uma experiência e tanto a distro é muito estável, e com certeza se aprende bastante usando ela. Se está com medo de instalar utiliza a VirtualBox criando um computador virtual.
Notícia Completa
http://www.gentoo.org/news/20080706-release-2008.0.xml
Parabéns aos desenvolvedores.
Posted on jul 07, 2008 under Python, Sem categoria |
Usar recursão para desenvolver um algoritmo deixa o código mais elegante e simples de entender. Mas perdemos a elegância e a simplicidade quando o algoritmo tem que ser debugado ou interpretado para solucionar um bug. Então neste post mostrarei dois exemplos para substituir a recursão por uma estrutura de dados conhecida como pilha ou LIFO (Last In First Out).
O primeiro exemplo é o algoritmo para cálculo do fatorial desenvolvi um classe que calcula o fatorial recursivamente def fatorialRecursive(self, x): e não recursivo def fatorialSimulateRecursive(self, x): o qual calcula o fatorial usando uma pilha, com esse método conseguimos calcular o fatorial de !1000 já com o método recursivo recebemos a seguinte exceção RuntimeError: maximum recursion depth exceeded. Eis uma vantagem de usar uma pilha ao invés de usar recursão.
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# author: Marlon Petry
# Date: 2008/07/06
# Function: Remove Recursion with one Stack in python
#
class Stack:
def __init__(self):
self.stack = []
def push(self,object):
self.stack.append(object)
def pop(self):
if len(self.stack) == 0:
raise "Error", "stack is empty"
obj = self.stack[-1]
del self.stack[-1]
return obj
def isempty(self):
if len(self.stack) == 0:
return False
else:
return True
class CalculusFatorial:
stack = Stack()
def fatorialRecursive(self, x):
if x == 0:
return 1
else:
return (x * self.fatorialRecursive(x - 1))
def fatorialSimulateRecursive(self, x):
factorial = 1;
while x > 0:
self.stack.push(x)
x -= 1
while self.stack.isempty():
factorial *= self.stack.pop()
return factorial
calc = CalculusFatorial()
print calc.fatorialRecursive(950)
print "Não recursivo"
print calc.fatorialSimulateRecursive(950)
calc.show()
O segundo algoritmo é a Torre de Hanoi, muito mais complexo para remover a recursividade fiquei uns dois dias tentando resolver até que encontrei um artigo que descreve como remover a recursão http://obelix.ee.duth.gr/~apostolo/TowersOfHanoi/index.html#non-recursive. Então segui os passos descritos no artigo e consegui chegar a solução.
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# author: Marlon Petry
# Date: 2008/07/06
# Function: Tower Hanoi Remove Recursion with one Stack in python
#
import pdb
import sys
class Stack:
def __init__(self):
self.stack = []
def push(self,object):
self.stack.append(object)
def pop(self):
if len(self.stack) == 0:
raise "Error", "stack is empty"
obj = self.stack[-1]
del self.stack[-1]
return obj
def isempty(self):
if len(self.stack) == 0:
return False
else:
return True
class Hanoi:
stack = Stack()
def hanoi(self,disk,src,dst,temp,tipo):
if(disk == 1):
print "Disk %d Move da haste %d para haste %d tipo %d" % (disk,src,dst,tipo)
else:
#pdb.set_trace()
self.hanoi(disk - 1 , src, dst, temp,1)
print "Disk %d Move da haste %d para haste %d tipo %d" % (disk,src,temp,tipo)
#pdb.set_trace()
self.hanoi(disk - 1, dst, temp, src,2)
def hanoiNotRecursive(self,disk,src,dst,temp,tipo):
flag = -1;
while disk > 0:
self.stack.push((disk, src, dst, temp,1))
disk = disk -1
flag += 1
while flag >= 0:
disk,src,dst,temp,tipo = self.stack.pop()
flag -=1;
if disk == 1:
print "Disk %d Move da haste %d para haste %d tipo %d" % (disk,src,dst,tipo)
else:
print "Disk %d Move da haste %d para haste %d tipo %d" % (disk,src,temp,tipo)
disk -= 1
while disk > 0:
self.stack.push((disk, dst, temp, src,2))
disk = disk - 1
flag += 1
testeHanoi = Hanoi()
testeHanoi.hanoi(18,1,2,3,0)
print "Hanoi not recursive"
testeHanoi.hanoiNotRecursive(3,1,2,3,1)
Não cheguei a calcular o tempo de execução para ver se existe diferença talvez faça isso em um próximo post.
Estou participando do concurso Intel Moblin com o projeto Great Picture se achar interessante o projeto seu voto será muito bem vindo mais detalhes sobre o projeto aqui.
Posted on jul 07, 2008 under Python |
Neste post mostrarei como encontrar arquivos recursivamente com um script em Python, com todos sabem a linguagem Python é muito intuitiva para programar, ou seja, uma linguagem de alto nível.
O algoritmo utiliza uma classe em Python que usará a recursividade para listar o conteúdo de um diretório através do método def findRecursive(self,path):, onde o resultado será armazenado em uma lista, que poderá ser visualizada através do método def show(self):.
Bom chega de conversa e vamo mostrar o código.
Read the rest of this entry »
Posted on jul 05, 2008 under Segurança, Sem categoria |
As 5 maneiras para pegar vírus. Se você já fez alguma delas pode ter certeza que seu computador esta com vírus
1. Ir a sites porno
Geralmente esses sites abrem muitos pop-ups solicitam que instale o certificado de segurança. Cuidado pois se não pegar um vírus spyware com certeza irá pegar. Tem outros que pede para fazer uma conexão segura no tempo da internet discada e desconectava e discava para o exterior, imagina como ficava a conta de telefone.
2. Acessar sites Warez e Crack
Nestes sites é possível encontrar crack para quebrar programas, downloads de softwares completos e com certeza vírus, quem garante que o programa que você baixou não é um vírus.
3. Orkut, email, Msn
Quem nunca recebeu uma mensagem do tipo era você aqui.exe, te lembra dessa foto.exe, que flagra hein.scr, olha isso.pif. Essas mensagem são enviados por email, orkut, msn outras forma publiquei em um artigo anterior Pragas virtuais como se defender ?
3. Download por rede p2p
Exemplo você quer a música november rain do guns, manda pesquisar aparece em primeiro lugar novemberrain.exe você baixa e esta instalado o vírus. Sem mencionar que esses programas abrem várias portas tcp sendo um meio para invadir seu computador.
4. Download screensavers, toolbars, especialmente oferecida por pop-up
Todas as toolbars mesmo as legítimas como a do Google utiliza seu processador, então se instalar mais de uma com certeza sua navegação na internet ficará mais lenta, sendo que a grande maioria instala um monte de porcaria que é díficil de remover.
5. Download cursores animandos
Geralmente esses cursores trazem outros software junto com eles, como o whenU por exemplo é um software que monitora seus hábitos na internet e oferece propagandas não solicitadas.
Essas são as mais conhecidas. Faça um teste instale uma máquina virtual e execute todas ou algumas para ver se consegue se infectar com um vírus.
Boa Sorte.
Posted on jul 05, 2008 under Segurança |
Quem nunca pegou um vírus levante o mouse.
Os criadores de vírus de hoje não tem a intenção de danificar o hardware mais sim roubar informação, arquivos, senhas, usar o computador como zombi para atacar outras máquinas, e muito mais.
Os 10 vírus que mais infectaram computadores no mundo em Maio
Email-Worm.Win32.NetSky.q Trojan.generic 23.12
Email-Worm.Win32.NetSky.y Trojan.generic 9.70
Email-Worm.Win32.Scano.gen Trojan.generic 9.63
Email-Worm.Win32.Nyxem.e Trojan.generic 6.75
Email-Worm.Win32.NetSky.d Trojan.generic 6.27
Email-Worm.Win32.NetSky.x Trojan.generic 4.44
Email-Worm.Win32.NetSky.aa Trojan.generic 3.74
Email-Worm.Win32.NetSky.b Trojan.generic 3.26
Email-Worm.Win32.Bagle.gt Trojan.generic 2.75
Net-Worm.Win32.Mytob.u Worm.P2P.generic 2.60
Note que 9 començam com a descrição Email-Worm ou seja vírus enviados por email ou que contenham link para realizar o download do vírus.
Alguns cuidados no dia-a-dia para não sermos contaminados:
- Desconfie dos links em emails – Pois os servidores de email possuem antivírus integrados então os vírus são removidos antes de serem entregues na sua caixa de email. Então descobriram uma outra forma de contaminar agora eles enviam links para realizar o download do vírus.
- Emails do gênero veja as fotos que tiramos, te lembra desse dia, que flagra hein, seu nome está no SPC, etc…
- Coloque o mouse sobre um link dentro do email, irá aparecer na barra de status o endereço completo e se tiver um .exe não clique
- Existe vírus que pegam os nomes dos arquivos mais usados na lista de Documentos Recentes e criam um arquivo com o mesmo nome e mesmo ícone com a extensão .exe então cuidado não clique
- Bons hábitos de navegação na internet ajudam bastante
Mantenha sempre seu antivírus atualizado.
Descubra nesse post as cinco maneiras de pegar vírus
Posted on jul 03, 2008 under Dicas Linux, Tutoriais |
O gentoo possui um ótimo gerenciador de pacotes, diga-se de passagem foi um dos 5 motivos que me fez usa-lo. A idéia deste post é mostrar como gerenciar os pacotes instalados de forma simples.
Para gerenciar os pacotes os desenvolvedores do gentoo fizeram uma excelente ferramenta a Gentoolkit, com esta ferramenta conseguimos descobrir muita informação sobre os pacotes como por exemplo: tamanho do pacote instalado, integridade do pacote, descobrir a qual pacote um arquivo pertence, mostrar as dependências de um pacote, mostrar quais pacotes usam uma flag USE específica, calcular a dependência reversa, etc …
Existe um outro pacote que se chama portage-utils que também possui muitas ferramentas úteis para gerenciar pacotes o qual falarei em um próximo post.
Read the rest of this entry »
Posted on jul 02, 2008 under Dicas Linux, Novidades, Sem categoria |
Olá Pessoal
Estou participando do concurso da Intel que irá escolher os 10 melhores softwares que serão desenvolvidos para os MIDS Moblin com processador Atom.
O meu projeto é um software de edição de Fotos chamada Great Picture, pois os MIDS Moblin possuem câmera, gps, acesso a internet e muito mais. A idéia deste software é permitir a edição de uma fotografia onde poderá ser ajustado o brilho, contraste, gamma, cores, inserido um texto, colocado uma moldura pré-definida e também catalogar a fotografia colocando as coordenadas fornecidas pelo gps e enviar a fotografia por email.
Caso você tenha mais alguma idéia (new feature), para este software deixe um comentário se for interessante posso incluir no desenvolvimento.
No momento estou começando a montar o ambiente de desenvolvimento sendo que este ambiente é voltado para distribuições baseadas em debian e eu utilizo Gentoo como desktop então em breve irei disponibilizar um tutorial de como instalar o Moblin SDK no Gentoo.
Acharam interessante a idéia então vote no projeto Great Picture.
Para votar acesse o site http://br-linux.org/moblin/
Antes de votar é necessário realizar o cadastro http://moblin.ihvweb.com/index.php/registercontrol/index/1264/portuguese
Depois de realizar o cadastro clique em ver entradas e Clique em Gostei dentro do projeto Great Picture.
Desde já agradeço
E se tiver uma idéia legal para adicionar ao projeto deixe um comentário.
Posted on jul 01, 2008 under Sem categoria |
A um tempo atrás escrevi um post sobre sequestro de arquivos ? onde fala sobre um vírus que infecta o sistema operacional Windows e criptografa os arquivos. Após é solicitado que compre a chave de descriptografia para conseguir os arquivos novamente. Os cibercriminosos vendem a chave por $300.
O vírus é um arquivo Windows PE EXE que possui 8030 bytes de tamanho chamado GPcode.ak.
A kapersky recentemente desenvolveu uma ferramenta para auxiliar na remoção do vírus stopgpcode2.
No site http://www.viruslist.com possui uma descrição completa de como o vírus criptografa os arquivos, e como pode ser removido.
Para ficar longe dessas pragas crie uma máquina virtual rodando linux com a virtualbox download aqui da versão para Windows. Além de ser uma forma de aumentar sua segurança ao navegar na web é uma experiência e tanto usar uma máquina virtual.