<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>codigo-inseguro &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/codigo-inseguro/</link>
	<description>Feed of posts on WordPress.com tagged "codigo-inseguro"</description>
	<pubDate>Tue, 08 Dec 2009 05:16:25 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Os formatadores de strings da Granja do Solar  ]]></title>
<link>http://sechop.wordpress.com/2007/11/05/os-formatadores-de-strings-da-granja-do-solar/</link>
<pubDate>Thu, 08 Nov 2007 21:31:04 +0000</pubDate>
<dc:creator>techberto</dc:creator>
<guid>http://sechop.wordpress.com/2007/11/05/os-formatadores-de-strings-da-granja-do-solar/</guid>
<description><![CDATA[Recentemente fiz uma revisão de código onde encontrei sprintf, gets, strcat e strcpy para todos os c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Recentemente fiz uma revisão de código onde encontrei <font color="#800000">sprintf</font>, <font color="#800000">gets</font>, <font color="#800000">strcat</font> e <font color="#800000">strcpy</font> para todos os cantos, além de outros pecados mortais. Descontando os detalhes não tão óbvios, sobre strings, com várias fontes bibliográficas (inclusive em português), não acreditei na quantidade de código inseguro que encontrei num software comercial.</p>
<p style="text-align:center;"><img src="https://www.securecoding.cert.org/confluence/download/attachments/2426/kurios119.jpg" border="0" /></p>
<p>Como expressa o Sutter,  &#8220;francamente, você já deveria estar utilizando  <strong><font color="#003300">snprintf</font></strong> mesmo antes dele ter tornado-se padrão&#8221; em &#8220;os formatadores de strings da Granja do Solar&#8221; capítulo do livro Exceptional C++ Style (que traduzido para o pt-br virou Programação avançada em C++) do Herb Sutter, onde de uma forma divertida ele cita George Orwell:</p>
<p>&#8220;Todos os animais são iguais, mas alguns são mais iguais do que outros&#8221;</p>
<p><!--more-->Com bom humor e com qualidade, tópicos tratados nestes capítulos também podem ser encontrados nos livros Secure Code in C and C++ do Robert Seacord (CERT &#8211; SEI Series), no Escrevendo Código Seguro do LeBlank e do Michael Howard, também no Secure Programming for C and C++ do Matt Messier e do John Viega e são alguns dos 19 pecados mortais do 19 deadly sins of software security também do Michael Howard, David LeBlanc e do John Viega.</p>
<p>Porquê estou comentando isto? e não é só isto, afinal em vários artigos estas recomendações básicas são encontradas. Historicamente, até bugs non sense e incompreendidos são resolvidos quando a boa prática é empregada.</p>
<p>Como há sempre muito mais do mesmo, pra quem realmente programa em C++ e não leu os <a href="http://www.gotw.ca/publications/index.htm" target="_blank">livros do Sutter</a> [1] recomendo-os, pois além de dicas de codificação segura há dicas para melhorar a perfomance, diminuir armadilhas entre outras, depois o livro do <a href="http://www.cert.org/books/secure-coding/" target="_blank">Seacord</a> [2] que apesar do repeteco, é específico e trata de alguns detalhes ausentes na obra do Sutter.</p>
<p>Para todos, recomendo o <a href="http://blogs.msdn.com/michael_howard/archive/2005/07/11/437875.aspx" target="_blank">19 Deadly Sins of Software Security</a>  [3] e para quem está mais interessado numa leitura bem densa entrem de cabeça no &#8220;<a href="http://www.amazon.com/gp/product/0321444426?ie=UTF8&#38;tag=taossa-20&#38;linkCode=as2&#38;camp=1789&#38;creative=9325&#38;creativeASIN=0321444426" target="_blank">The Art of Software Security Assesment</a>&#8221; [4] do Mark Dowd, Johan Mcdonald e do Justin Schuh.</p>
<p>No site  <a href="http://www.codigoseguro.com.br">http://www.codigoseguro.com.br</a>  há seção de <a href="http://www.codigoseguro.com.br/CodigoSeguro/principal.asp?secao=livros" target="_blank">livros</a> [5] que vários livros que eu poderia recomendar, mais alguns livros que desconheço, além de vários artigos interessantes para doses homeopáticas.</p>
<p>Para quem quiser uma palhinha, leiam:                                                                              <a href="https://www.securecoding.cert.org/confluence/display/seccode/Top+10+Secure+Coding+Practices" target="_blank">Top 10 Secure Coding Practices</a> [6] de onde eu tirei esta imagem que eventualmente me vem na cabeça quando encontro certas construções peculiares.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Os formatadores de strings da Granja do Solar]]></title>
<link>http://techberto.wordpress.com/2007/11/07/os-formatadores-de-strings-da-granja-do-solar/</link>
<pubDate>Thu, 08 Nov 2007 00:15:42 +0000</pubDate>
<dc:creator>techberto</dc:creator>
<guid>http://techberto.wordpress.com/2007/11/07/os-formatadores-de-strings-da-granja-do-solar/</guid>
<description><![CDATA[Recentemente fiz uma revisão de código onde encontrei sprintf, gets, strcat e strcpy para todos os c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><img src="https://www.securecoding.cert.org/confluence/download/attachments/2426/kurios119.jpg" border="0" /></p>
<p> Recentemente fiz uma revisão de código onde encontrei <font color="#800000">sprintf</font>, <font color="#800000">gets</font>, <font color="#800000">strcat</font> e <font color="#800000">strcpy</font> para todos os cantos, além de outros pecados mortais. Não houve como não lembrar dos  capítulos &#8220;os formatadores de strings da Granja Solar&#8221; do livro Exceptional C++ Style (que traduzido para o pt-br virou Programação Avançada em C++) do Herb Sutter, onde de uma forma divertida ele cita George Orwell:</p>
<p class="entry">&#160;</p>
<p class="snap_preview">“Todos os animais são iguais, mas alguns são mais iguais do que outros”</p>
<p>Descontando os detalhes não tão óbvios, sobre strings, com várias fontes bibliográficas (inclusive em português) não acreditei na quantidade de código inseguro que encontrei num software comercial, mas é como diz o <span class="description">Jeff Atwood</span>  do <a href="http://www.codinghorror.com/blog/" target="_blank">Coding Horror</a> [1] para encontrar código inseguro, basta procurar!</p>
<p><!--more-->Mas sobre strings, como expressa o Sutter,  “francamente, você já deveria estar utilizando  <strong><font color="#003300">snprintf</font></strong> mesmo antes dele ter tornado-se padrão” pois  historicamente até bugs non sense e incompreendidos são resolvidos quando a boa prática  é empregada.</p>
<p>Como há sempre muito mais do mesmo, pra quem realmente programa em C++ e não leu os <a href="http://www.gotw.ca/publications/index.htm" target="_blank">livros do Sutter</a> [1] recomendo-os, pois além de dicas de codificação segura há dicas para melhorar a perfomance, diminuir armadilhas entre outras, depois o livro do <a href="http://www.cert.org/books/secure-coding/" target="_blank">Seacord</a> [2] que apesar do repeteco, é específico e trata de alguns detalhes ausentes na obra do Sutter.</p>
<p>Para todos, recomendo o <a href="http://blogs.msdn.com/michael_howard/archive/2005/07/11/437875.aspx" target="_blank">19 Deadly Sins of Software Security</a>  [3] que li recentemente e é muito útil e interessante, porém para quem deseja uma leitura mais densa entrem de cabeça no “<a href="http://www.amazon.com/gp/product/0321444426?ie=UTF8&#38;tag=taossa-20&#38;linkCode=as2&#38;camp=1789&#38;creative=9325&#38;creativeASIN=0321444426" target="_blank">The Art of Software Security Assesment</a>” [4] do Mark Dowd, Johan Mcdonald e do Justin Schuh.<br />
No site  <a href="http://www.codigoseguro.com.br/">http://www.codigoseguro.com.br</a>  há uma seção de <a href="http://www.codigoseguro.com.br/CodigoSeguro/principal.asp?secao=livros" target="_blank">livros</a> [5] que contém varias obras que eu poderia recomendar, mais alguns livros que desconheço, além de vários artigos interessantes para doses homeopáticas, há sempre muito mais do mesmo, mas são as pequenas novidades que muitas vezes fixam conceitos que já deveriam estar enraizados em nossa mente.<br />
Para quem quiser uma palhinha, leiam:                                                                              <a href="https://www.securecoding.cert.org/confluence/display/seccode/Top+10+Secure+Coding+Practices" target="_blank">Top 10 Secure Coding Practices</a> [6] de onde eu tirei esta imagem que eventualmente me vem na cabeça quando encontro certas construções peculiares.</p>
<p align="left">&#160;</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
