Software Security from a Specialist: Gary McGraw

I just listened to an excellent interview with Gary McGraw, a security guru, in the Software Engineering Radio, and I suggest software developers to hear it too.

Some points he touched:

  • Software security is about how to approach computer security if you are a developer or a software architect.
  • Security problems come from 2 points: (a) bad or buggy implementation as buffer overflows etc and (b) lack or poor architectural risk analysis. So even if you took a lot of care while writing the code you may have forgotten completely to authenticate users. This is a bad design (b) issue. Both problems — implementation and design — must be mitigated.
  • You can’t be 100% secure, but if you have considered security in the design and in the implementation of your software, you will be a lot better than simply shipping software without thinking about security.
  • Although people may have very good reasons to think that Open Source software is less secure than closed source because a cracker can see the code and find flaws, the bad guys actually use the binary version of a software to find the flaws, using low level debuggers, stack analyzers, decompilers and other kinds of things. Open Source software is not really in any worse shape that any other kind of software. He also says that Open Source software is not also better, from a security perspective. He does not believe in that theory that everybody is looking at the code and may find and fix bugs. Me neither.

I guess this is my last post of 2007 and I wish everybody a happy new year.

A Blogosfera

Um blog é um website qualquer cujo conteúdo é organizado como um diário (log, em inglês), ou seja, por datas e em ordem cronológica. O nome surgiu quando “web log” virou “weblog”, que em uma brincadeira se transformou em “we blog”, para enfim se popularizar em “blog”.

A cultura dos blogs tem um dicionário de jargões:

  • Post: um artigo ou publicação que pode conter texto, imagens, links, multimídia, etc. Um post tem um título, data e hora, é categorizado sob um ou mais assuntos como “vinhos”, “tecnologia”, “viagens”, “poesia”, etc., definidos pelo dono do blog. Usa geralmente linguagem mais direta e descontraída, e pode ser tão longo quanto um extenso artigo, ou conter somente poucas palavras. Um blog é uma seqüência de posts.
  • Comentário: visitantes do blog podem opinar sobre os posts, e esse é um lado muito importante da interatividade dos blogs.
  • Permalink: um link permanente, o endereço direto de um post específico.
  • Trackback e Pingback: um post que faz referência a outro post, até mesmo em outro blog.
  • Feed: há ferramentas que permitem ler vários blogs de forma centralizada, sem ter que visitá-los separadamente. O feed é uma versão mais pura do blog, contendo somente os últimos posts em formato XML (RSS ou ATOM), e serve para alimentar essas ferramentas. Podcasts nada mais são do que feeds contendo mídia, ao invés de só texto.

Blog é um nome mais atual para o que se costumava chamar de “home page”. A diferença é que antes da era dos blogs, uma pessoa que quisesse ter um website pessoal, tinha um enorme trabalho para publicar conteúdo de páginas, que geralmente eram estáticas, não interativas, e francamente, sem graça. Era um processo manual que exigia algum conhecimento técnico, e por isso eram geralmente os técnicos que publicavam conteúdo na web.

Com a padronização do conteúdo em ordem cronológica, em posts, surgiram uma série de ferramentas e serviços de blogging, sendo os mais conhecidos o WordPress, Blogger, LiveJournal e MovableType.

Eles facilitaram a publicação de textos, links, multimídia, de forma organizada e bonita, e a web ficou muito mais interessante. Se antigamente um escritor precisava ter influência com editoras para publicar trabalhos, hoje qualquer pessoa é um escritor em potencial. E, sim, os blogs revelaram inúmeros ótimos escritores — alguns viraram celebridades —, só porque agora eles tem acesso a uma plataforma de publicação independente e direta: a Internet.

Os “blogueiros” (bloggers, pessoas que possuem e escrevem em seus blogs) visitam e lêem outros blogs, fazem comentários, criam links e se referenciam, criando uma espécie de conversa distribuída.

A consolidação da cultura dos blogs fez surgir alguns serviços como Technorati, Truth Laid Bear, BlogBlogs, Ping-o-matic, Digg, dentre outros, que tem a habilidade de seguir a conversa. Mais ainda, eles conseguem medir a popularidade de um blog ou de um assunto, e mensurar sua vitalidade e popularidade na web. Usando extensamente idiomas XML como XHTML, RDF, RSS e ATOM, eles conseguem notificar um blog de que ele foi citado em outro blog, ajudando o primeiro a publicar automaticamente um pingback ou trackback, mostrando quem o citou e como.

A Blogosfera é o fenômeno sócio-cultural materializado nessa malha de interações digitais entre os blogs e seus autores. Pode ser comparada a Comunidade de Software Livre. Onde esta cria software de forma distribuída e de acesso livre e direto aos usuários finais, a Blogosfera trabalha com idéias em geral, poesia, fotografia, multimídia, notícias, de qualquer um que se disponha a escrever para qualquer um interessado em ler.

Como dizem Doc Searls e David Weinberger no artigo Mundo de Pontas (“World of Ends”), a Internet é uma grande esfera oca com a superfície formada por pontas interconectadas. Bem, nós somos as pontas e ela é oca porque não há nada no meio que limite a nossa interação. Essa metáfora explica como os bloggers ganharam voz ativa na sociedade livre da Internet, onde falam bem de quem gostam e denunciam quem ou o que não gostam. Sendo público e interativo, qualquer assunto verídico e bem conduzido tem potencial para virar uma bola de neve ao ponto de iniciar um escândalo político (exemplo), obrigar uma empresa a admitir que deve fazer um recall de produtos defeituosos, ou de dar informações muito precisas sobre a bomba que explodiu no bairro durante uma guerra (warblog).

O Software Livre, a Blogosfera e outros movimentos socioculturais que estão por vir são um resultado direto da benéfica massificação da Internet.

Empresas têm usado blogs como forma de se aproximarem de seus clientes. Sua linguagem descontraída, não-institucional e principalmente interativa derruba barreiras e potencializa comunidades. Bons blogs corporativos passaram a ser peça chave do ciclo de desenvolvimento de produtos, como plataforma de divulgação das próximas novidades e ponto de coleta direta de opiniões de usuários.

O que você está esperando para ingressar na Blogosfera ?

OOXML é Incompatível com Formatos Anteriores

É importante enfatizar que a Microsoft anda dizendo que o OOXML é bom e necessário porque garante compatibilidade com o formato anterior (.doc etc).

Isso é uma imprecisão grosseira que cai bem nos ouvidos de quem não é técnico ou quem não pára pra pensar o que isso significa.

Explico: O .doc e companhia são formatos binários (ilegivel aos olhos humanos), e o OOXML é um formato baseado em XML (texto puro comprimido). Só este fato faz com que seja impossível haver compatiblidade entre os dois formatos. Dessa perspectiva, OOXML é mais compatível com ODF do que com .doc e companhia.

O que sim pode ser compatível com .doc e OOXML ao mesmo tempo é a suite de escritório MS Office, um programa que lê e escreve esses formatos — e que pode fazer o mesmo com ODF. Mas a guerra toda é sobre os formatos e não sobre programas, certo !?.

OOXML — o formato — não é compatível com nada anterior a ele, e agradeceria se pessoas influentes (mas imprecisas) parassem de achar e dizer que é.

Adeus Lavrador, espero poder te reencontrar

O Lavrador de Café

Para lembrar o triste dia de hoje em que você, Lavrador de Café, um belíssimo Portinari, deixou o MASP para viver noutro lugar. É de ti que mais sentiremos falta.

Se cansou de ter o Trianon como vista do outro lado da avenida, espero então que encontre um cafezal sem fim para contemplar.

Como cantou Mercedes Sosa, na composição de Horacio Salinas:

Para Cándido Portinari la miel y el ron, y una guitarra de azúcar y una canción, y un corazón.

(imagem gentilmente roubada do blógue Ritual Café)

Complete a Ponte

Lotus SymphonyE parece que o pessoal de marketing aqui na IBM tem usado a imaginação para mostrar a linha de produtos de colaboração com o lúdico site Complete A Ponte. Fizeram também uns vídeos engraçadinhos.

Um dos produtos mais em voga que está lá é o Lotus Symphony, suite de escritório gratuita, compatível com o formato aberto ODF, os proprietários do MS Office (.doc, .xls, .ppt) e também com o formato do antigo Lotus Smart Suite (.lwp, .prz, .123, .wk4). Ou seja, o Symphony pode ser usado para converter tudo isso para o moderno ODF.

Mas há outras coisas lá também como o Lotus Connections que traz para o ambiente corporativo o que há de mais atual na Web 2.0, como Wikis, Blogs, tagging e comunidades e redes sociais (a la Orkut). E claro não poderiam ficar de fora o Lotus Domino, servidor de workgroup mais popular do mundo, e outros.

Visite e complete a ponte !

Anarchy at ISO

The fundamental question, lack of tangible answer and the probable consequences

This is a translation for a blog post by Jomar Silva, head of the ODF Alliance Chapter Brazil.

In the coming days I’ll celebrate (or regret) one year working with OpenXML in ISO, and I must admit that the more time goes by I’m more far of finding a plausible answer to the most fundamental (and forgotten) question: “Why two standards ?”

The claim of proponents is the legacy support, which is not technically proven in more than 6 thousand pages of specification. It is also not proven the claim that the OpenXML fulfills the specific users needs… Did any of them read the specification of ODF (ISO / IEC 26300)?

The commercial reasons for the existence of this second standard is more than obvious and have been widely commented worldwide, but doesn’t it work as a warning that something is going wrong? Does the initiatives of international standardization are just moved by commercial interests of six guys and the argument that standardization helps to reduce artificial barriers to free trade is nothing more than cheap and utopian ideology?

Would the ISO 9000 be what it is for Quality worldwide if its opponents had proposed and made whatever was needed to ensure many different standards of quality, addressing different user needs? Will ISO accept in the coming years a proposal for more flexible quality standard, which is compatible with the legacy of disorganization that some companies still have today? Does the lack of ability of a small company to have and maintain decently a quality system based on the ISO 9000 configures “specific users needs” and therefore demand a new international standard?

Let us move to environmental issues? Do small and medium businesses have conditions and structure to maintain an ISO 14000 certificate correctly? Do the allegations of China on emissions of carbon (by the way, supported by USA position) configures the existence of the specific user needs in order to prepare a new environmental standard?

The precedent that OpenXML brought to international standardization, in my point of view, is the worst possible because based on the existence of two standards for editable documents, or at least the ability to mobilize the world and spend huge amounts of money in this discussion, will not allow the JTC1, the ISO, IEC and anyone else to refuse the discussions of new rules or alternatives standards for any economic sector. This really worries me, because all the efforts of standardization achieved in recent decades can go up in the garbage can in a short time and the worst is that everyone seems not to see it is happening. Want to see an example of the mess… I give one of the bests…

The PDF format is an ISO standard, the PDF/A which is the ISO 19005-1:2005, published in October 2005. It was developed based on a subset of the specification PDF 1.4 of Adobe. Several countries and organizations around the world have already adopted this standard as the default for non-editable documents.

Microsoft has released Windows Vista along with a new standard for non-editable electronic documents, called XPS (XML Paper Specification), which uses the same packaging concepts of OpenXML (OpenPackaging Convention) to represent non-editable documents. Who guess where XPS is standardized as another “Open Standard” wins a gift… ECMA… A lot of creativity is not needed to understand that this standard will also be submitted to ISO through a FasTrack in the coming months, just following the OpenXML opened path to that.

Adobe has realized this and has already expressed itself. A press release from the company itself, from January of this year already announced the delivery of version 1.7 of the standard to ISO. This proposal has followed their natural path and this week the vote of the standard in ISO has finished. According to the expectation of a blog from Adobe, published yesterday, the standard was adopted. My personal opinion is that this approval is very important, because now PDF becomes a full international standard, not a subset as was the PDF/A.

So I warn all involved and concerned to allocate a part of their budget for 2008 to discuss the FasTrack of XPS, because I think it will be inevitable.

I wonder what will be the other standards that will be run over (or who tries to trample) within ISO. How much money will be spend in this decade to learn this lesson?

What makes me more disappointed is to see that all these things can put ISO in a delicate position in the international standardization scene. The mess ISO is letting to happen in its own rules may cause that to be an ISO standard or a John Doe’s standard will have same value (at least to IT industry). I think this whole mess threatens the reputation that this entity has, which for me has always been synonymous with seriousness and responsibility.

The existence of unique standards, built through community is what today allows me to access the internet and write this article and that allows you to read it here from anywhere, using any browser and any operating system. This is what allows us to buy any CD with music and to use in any CD player (from $50 thousand to $1.00). This is the world created by international standards but looks like its not good for everybody.

Commodity market competition is for serious companies, competent and committed with the differentiation to their customers… It is not for anyone, regardless of their size or achievements in the past…

To relieve a little bit the post, in the last weekend I decided to play my acoustic guitar and ended up playing a song that reminded me a lot about all that I wrote here. I think it encouraged me to write this article.

The song is “Anarchy in UK” by the Sex Pistols and when I played in the weekend, just switched the UK to ISO and things made sense… Perhaps this is the answer to the question that doesn’t have an answer…

The part that I found most interesting is:

Anarchy at the ISO
It’s coming sometime and maybe.
I give a wrong time, stop a traffic line.
Your future dream is a shopping scheme.

That is what they want… Anarchy at ISO!

ODF versus OOXML: Liberdade de Escolha

No blog de segurança do Fernando Cima, no Technet da Microsoft, está rolando uma discussão muito interessante sobre ODF x OOXML. Ele (e a Microsoft) tem insistido em um ponto que faz parecer que OOXML é algo necessário para dar liberdade de escolha:

Nenhum formato atende a todos os cenários de uso — nem o Open XML certamente — e por isso liberdade de escolha é a melhor saída. Este é o ponto filosófico mais amplo que você parece ignorar.

Liberdade de escolha se dá no nível dos produtos e não no dos formatos.

Um único formato padrão deve ser adotado para eliminar falta de interoperabilidade. Se ao longo do tempo surgem novas necessidades que o formato não suporta, a sociedade trata de melhorá-lo. E para isso o processo que mantém o formato deve ser aberto. A sociedade não faria isso — não era muito natural — a 15 anos atrás na alvorada da Internet, mas hoje é a prática corrente.

Então para a liberdade de escolha que eu e ele (conforme a citação) queremos, é necessário o seguinte:

  • Um único formato padrão que obrigatoriamente evolui abertamente. Caso do ODF e que não é o caso do OOXML (porque o OOXML é e sempre será a documentação do que já foi implementado de forma fechada no MS Office).
  • Multitude de ferramentas que suportam, geram e consomem este formato. Caso do ODF, OpenOffice.org, BrOffice.org, Symphony, Abiword, GNumeric, KOffice, Corel Office, etc etc etc; e que não é o caso do OOXML e MS Office.

Claro que alguém pode escolher formatos não-padrão-aberto e suas ferramentas proprietárias por alguma razão técnica ou psicológica não resolvida. Isso também é liberdade. Mas em 2007 já somos bem grandinhos para saber que a longo prazo isso vai lhe trazer falta de interoperabilidade, amarrações comerciais e preços inflexiveis por conseqüência.

O LSD de Tim Maia na Flips

Um dos livros mais divertidos que lí é o Noites Tropicais de Nelson Motta que conta vários lados-B da história da MPB desde a década da Bossa Nova, mais ou menos.

Um dos mais deliciosos é o trecho abaixo, sobre Tim Maia.

Fiquei feliz em ganhar o livro de presente de aniversário este ano. Já tinha lido-o, mas numa cópia emprestada. E é um livro que preciso ter para consultas randômicas, como essa história do Tim Maia.

Noites Tropicais

Tim foi a Londres e se esbaldou. Fumou, cheirou, bebeu, viajou de ácido, ouviu música, brigou com a mulher — tudo muito — e voltou para o Brasil com 200 doses de LSD para distribuir aos amigos. Assim que chegou foi à [gravadora] Philips, que ele chamava de “Flips”, onde visitou diversos departamentos, começando pelos que considerava muito caretas, como contabilidade e jurídico, onde cumprimentava o titular e repetia o mesmo discurso, com voz pausada e amistosa:

“Isto aqui é um LSD, que vai abrir sua cabeça, melhorar a sua vida, fazer de você uma pessoa feliz. É muito simples: não tem contra-indicações, não provoca dependência e só faz bem. Toma-se assim.”

Jogava um ácido na boca e deixava um outro na mesa do funcionário atônito. Como era um dos maiores vendedores de discos da companhia, todo mundo achou graça.[…] E Tim voltou para casa viajandão, dirigindo seu jipe e certo de que tinha salvado a alma da “Flips”.

Um barato, e recomendo a leitura.

BrOffice Chega ao Varejo

Ia a um grande hipermercado na região da avenida Pacaembú em São Paulo quando me deparei com essa loja de Internet no estacionamento. A palavra “compatíveis” me chamou a atenção.

BrOffice em Cybercafés

Entrei para perguntar.

  • — Companheiro, o que é esse Word compatível ?
  • — Ah, é um programa aí que é compati…
  • — Tá, mas qual é o nome desse programa?
  • — É um que chama BrOffice.
  • — Muito obrigado. Tchau.

Se um cybercafé — que ganha a vida só com esse tipo de serviço — pode ser independente o suficiente a ponto de usar somente BrOffice, qualquer um também pode.

Você, usuário de alguma suite de escritório paga, te desafio a usar BrOffice.org, Symphony, Lotus Notes 8 ou qualquer outra suite baseada no OpenOffice.org por duas semanas e ver como se sai.

Microsoft Does Not Own OOXML

This is a reply to David Nielsen’s “OOXML and Microsoft” post. Since comments are closed there, I am writing here.

David, there is nothing wrong in Microsoft opening such an important spec. We should welcome this step. But there are several things that we should take care here:

  1. There is already an approved, open, internationally standardized spec for office documents: ODF. So OOXML can be another spec, but can’t be another standard spec for the same purpose. The standardization push is not welcome. It is simply too late, amongst other issues.
  2. Microsoft opened their spec not because they wanted, but because they needed to, after ODF acceptance as the ISO standard. If Microsoft will be successful in its anti-ODF campaign, they won’t need this openness status any more and I bet OOXML v2 will be closed.
  3. Microsoft does not own the spec. OOXML is Ecma’s document. What MS Office implements is a something that is today compatible with Ecma’s OOXML. But Microsoft already announced they can’t wait for ECMA to add new releases. In fact, there is no guarantee that something like MS Office 14 file format will be open or integrated into ECMA’s OOXML spec. This is an excerpt from Microsoft’s Brian Jones blog and shows how Microsoft does not own OOXML:

    To your last point, it’s hard for Microsoft to commit to what comes out of Ecma in the coming years, because we don’t know what direction they will take the formats. We’ll of course stay active and propose changes based on where we want to go with Office 14. At the end of the day though, the other Ecma members could decide to take the spec in a completely different direction.

  4. Microsoft is trying to fool everybody saying that OOXML is different from ODF. ODF is “a standard for office documents” while OOXML claims to be “a standard for office documents and compatibility with legacy office file formats”, just to not have a 100% overlap. But the “compatibility” part makes no sense because OOXML is textual XML and the legacy formats are binary. OOXML and legacy .doc, .xls, .ppt may have similar organization or structure but is impossible to be “compatible”. But even if OOXML wants to have a relation with legacy, the spec is incomplete and does not provide a mapping like “this OOXML tag is related to that stream of binary bytes in the legacy format”. In the National Bodies meetings to discuss OOXML standardization we proposed to include this mapping (then legacy .doc would become a truly open spec), or remove the compatibility statement from the spec title. If removed, OOXML would still be a beautiful spec, but could not be accepted as an ISO standards because of its full overlapping with ODF.
  5. OOXML reinvents the wheel and has many obscure parts. As a specification, currently OOXML doesn’t have a quality grade to be a standard.

Mandando Ver no Pilates

Acabei de voltar de uma super aula de Pilates !

Não iria fazer vocês, caros leitores, perderem tempo em ler um post sobre isso, se Pilates não fosse algo realmente sensacional.

Uma aula de Pilates

Quando perguntei para a minha namorada qua ktsu era esse negócio de Pilates, ela explicou da forma mais sucinta e precisa possível: é um tipo de yoga ocidental.

Eu sou o maior sedentário de todo o universo conhecido, mas depois de treinar quase desleixadamente por uns poucos meses, sinto me mais forte, fisicamente equilibrado, mais fino, mais forte, mais conciente do meu corpo e com mais vontade da fazer mais.

Funciona assim: faço uma aula por semana, com um professor dedicado para mim e isso me dá deireito a mais uma aula de match, que é grupal, com outros tipos de equipamentos. Então acabam sendo +/- duas aulas por semana.

O foco do Pilates é nos músculos ditos mais importantes do corpo: a barriga e as costas. Se você não os tem, não tem nada.

Pilates tem a ver com cair fichas. Cada professor tem um estilo próprio, foca em pontos sutilmente diferentes e lá vai mais uma ficha caindo. As vezes, parado no meio do corredor e conversando com alguém no trabalho, a simples posição parada, de pé, faz cair outra ficha porque agora meus músculos tem outros estímulos. Essas fichas tem a ver com posições que cansam menos, com músculos que nem sabia que tinha, etc.

Para os sedentários é no mínimo mentalmente muito interessante, e altamente recomendável. Por um sedentário assumido e incorrigível. Bem, quase incorrigível.

Creating OpenSearch plugins for Browsers

I just came across a Mozilla::Developer page that teaches how to let visitors on a site easily add that site’s search function into their browsers as a plugin.

If you are reading this in my blog and you select your browser’s search tool, this is what you’ll see:

OpenSearch option in browser’s tool

You’ll get the option to permanently add my blog’s search function to your browser. If you select it, you’ll have this:

OpenSearch option added to browser’s tool

To make it, I followed the instructions on the first link and created my OpenSearch description file. Look! Technorati, Microsoft, and many others have OpenSearch-enabled websites.

Zeroconf your Network

I remember the days when I was configuring DNS and DHCP for a small home network with only 2 or 3 computers.

This is not needed anymore since the invention of Zeroconf. As Wikipedia says, “is a set of techniques that automatically create a usable IP network without configuration or special servers. This allows inexpert users to connect computers, networked printers, and other items together and expect them to work automatically.”

Zeroconf got my attention when I installed Ubuntu Linux in one of my home PCs and it automatically started to show hostnames instead of IPs of my other home computers on the same DNS-less network. On my other Fedora Linux hosts, I had to manually install the avahi-tools and nss-mdns packages and I got the same functionality — as described in the Fedora Post-Installations Configurations.

Still without a local DNS server, each host can be pinged, SSHed, browsed, SMBed, etc using the hostname.local model, not the their IP anymore. So the machine with hostname floripa broadcasts itself as floripa.local. The same happens for all machines.

But I still missed this functionality when using my laptop booted on Windows. This OS was unable to understand the Zeroronf broadcasts until I installed the Apple implementation for Windows called Bonjour that can be downloaded from here.

To have a better, visual understanding of what Zeroconf can do for you, the Avahi website (Zeroconf implementation on Linux) provides a series of screenshots of regular applications discovering services in the LAN. Most notable is Konqueror — KDE’s file manager — using the zeroconf:/ URL to browse LAN services.

Now I finally know that my home doesn’t need things like Bind/DNS anymore.

Worshiping Joyce in Rio

Some time ago, my New Yorker cousin came to visit Brazil and I wanted to make sure she was leaving with her iPod full of brazilian specialities. A few weeks later we exchanged this conversation by e-mail.

  • “Im listening to music you sent me while writing (I really like Joyce!…although right now im listening to Paulo Bellinati)” — she said
  • Joyce is a godess. I worship her every time I need a good something-between-samba-and-bossa-nova in my ears.”— in my reply

Joyce’s voice singing Bossa-Nova is probably what gets closer to the true spirit of Rio de Janeiro city.

Ipanema beach, Rio de Janeiro

Enough talking. This is some of her works. While listening, close your eyes and imagine a calm sunday walk in Ipanema beach.

(pictures link to the location they where found)