Autor Tópico: É possível criar um software perfeitamente seguro?  (Lida 1164 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Unknown

  • Conselheiros
  • Nível Máximo
  • *
  • Mensagens: 11.331
  • Sexo: Masculino
  • Sem humor para piada ruim, repetida ou previsível
É possível criar um software perfeitamente seguro?
« Online: 26 de Fevereiro de 2009, 17:12:21 »
Tendo em vista os diversos tópicos sobre informática, e como muitos deles têm algum comentário sobre a questão da segurança, resolvi criar esse tópico.

Citar
É possível criar um software perfeitamente seguro?

São Francisco - Roger Grimes, blogueiro da Infoworld, não acredita em software seguro – e diz que só vai acreditar quando a demanda por proteção vier dos usuários.

É possível criar um software que seja codificado tão bem que não tenha falhas de segurança? Sim, teoricamente, mas isso é muito improvável.

Esta questão surgiu de um conversa com Giorgio Maone, criador do NoScript, complemento do Firefox que bloqueia pragas como o clickjaking. Ele discordava da minha declaração de que add-nos possuem riscos de proteção próprios.

Depois de muitos e-mails, percebi algo. Giorgio e seus parceiros no NoScript não dizem que o programa não tem falhas, mas defendem que o bug encontrado pode ser corrigido muito rapidamente. Justo. A paixão com a qual Giorgio defendeu o tema me dá a entender que ele realmente se importa com a segurança em seu código. Infelizmente, isso não pode ser dito em relação à maioria das empresas de software.

É surpreendente o número de programadores que não sabe codificar com segurança. Eles não foram treinados para isso e também não se importam muito, já que não estão sendo pagos para isso. Conheci gente que codificava software de criptografia e não tinha ouvido falar sobre o ciclo de vida de desenvolvimento em segurança (SDL, da sigla em inglês), buffer overflows, etc. Chega a ser irônico.

Alguém consegue criar um código seguro? Sim. O professor doutor D.J. Bernstein, da Universidade de Illinois, Chicago, EUA, é o porta-voz da codificação segura. Seus produtos mais conhecidos, DJBDNS e qmail, estão entre os mais seguros que já existiram.

Dr. Bernstein oferece uma recompensa para quem encontrar um bug em seu código. Até agora, apenas um, uma falha obscura no qmail, foi encontrado e ela só poderia ser explorada caso um número improvável de circunstâncias acontecesse ao mesmo tempo.

O inimigo de segurança
Quando um software fica popular, ele ganha novas funcionalidades e é estruturado para tornar seu uso mais fácil. Isso significa maior complexidade. E complexidade é inimiga de segurança. O software ganha mais e mais tarefas, mas raramente alguém acompanha isso na codificação. O que era uma solução criada por uma pessoa torna-se um projeto com vários profissionais codificando. E isto muda tudo.

Exemplos não faltam. Quando o padrão de criptografia Pretty Good Privacy (PGP) foi criado por Phil Zimmerman e codificado apenas por Zimmerman, nenhum bug foi encontrado no código. Quando cresceu em popularidade e teve novas funções, quando um time passou a gerenciá-lo, um bug foi encontrado.

Ou veja o Adobe Acrobat Reader. Quando era apenas um leitor de documentos, quem poderia explorar falhas nele? Mas nasceram novas funções, como a capacidade de permitir scripting embarcado (o corredor da morte para vários produtos). O Adobe Acrobat 8.x, provavelmente a versão mais popular, tem 19 vulnerabilidades. Mais popular significa mais ataques.

E por qual motivo os fabricantes não param de adicionar novas funções e complexidade aos seus produtos? Estas novas funcionalidades são realmente necessárias? Nós pedimos por elas? Vejam, o primeiro processador de texto que eu usei, First Choice, já tinha tudo o que eu precisava com um menu com 10 opções.

Mas há um problema. Se o fabricante relaxa por um segundo e não aposta em um milhão de novas funcionalidades, o software se torna notícia antiga e é ultrapassado pela competição. Ou alguém ainda usa o Lotus 1-2-3?

Segurança contra vendas
Infelizmente, a maioria das pessoas não se preocupa com segurança. Eles estão preocupados apenas com as novidades - como o iPhone. Até a Black Hat, conferência de segurança em 2007, o pesquisador de segurança Charles Miller classificou o telefone da Apple como “uma mina de ouro para ataques”. Parece que o discurso direto dele não diminuiu as vendas de iPhone.

Vamos imaginar se o responsável por codificar o Adobe Acrobat, Internet Explorer ou qualquer outro programa desses fosse o DJ Bernstein, alguém que não se importa para prazos, apenas para segurança.

Isto, no entanto, seria terrível para o produto no geral. DJ Bernstein e seu time demorariam mais do que os consumidores estão dispostos para esperar ou ele seria mais caro do que os clientes estão dispostos a pagar. Um produto concorrente roubaria participação de mercado e não sobraria ninguém para usar o software superseguro.

Sobre a pergunta do título, se um software pode ser completamente seguro, eu já sabia a resposta. Sim, é possível criá-lo, mas ninguém iria comprar o programa. Algumas vezes, os consumidores não o querem nem de graça. Pergunte para as boas pessoas do OpenBSD, o sistema operacional mais seguro do planeta. Não é o mais fácil de usar, mas é seguro. Ou sobre o seguro qmail ou DJBDNS? Se eles são tão superiores e grátis, qual é o motivo de tão pouco uso? É um problema de marketing? Realmente?

Não, se trata da usabilidade ou das funções. Os produtos que as pessoas compram são os fáceis de instalar e usar, além deles terem funções que as versões mais seguras não possuem. É simples assim. A maior parte das pessoas não paga por segurança, pelo menos não no momento da compra.

A verdade é que segurança e novas funções batalharão entre si eternamente. Nós precisamos educar os clientes a esperarem por produtos mais seguros, já que as empresas ouvem os clientes quando eles têm demandas em comum. Mas espere sentado pelo produto perfeitamente seguro. Os fabricantes entendem melhor do mercado do que os profissionais de segurança.

http://computerworld.uol.com.br/seguranca/2009/02/19/e-possivel-criar-um-software-perfeitamente-seguro/

"That's what you like to do
To treat a man like a pig
And when I'm dead and gone
It's an award I've won"
(Russian Roulette - Accept)

Offline FxF

  • Nível Máximo
  • *
  • Mensagens: 5.720
  • Sexo: Masculino
  • Yohohoho!
Re: É possível criar um software perfeitamente seguro?
« Resposta #1 Online: 26 de Fevereiro de 2009, 17:20:51 »
Respondendo: não.

Uma das poucas coisas que podemos ter certeza no mundo é aquela frase: "tudo que um homem pode criar, outro pode destruir."

Offline Moro

  • Nível Máximo
  • *
  • Mensagens: 20.984
Re: É possível criar um software perfeitamente seguro?
« Resposta #2 Online: 26 de Fevereiro de 2009, 17:23:56 »
bueno, a priori o "Hello World"  também é um Software. Claro que isso é apenas um exemplo colocando um ponto extremo para facilitar a análise, mas também quer dizer que sim pode haver softwares seguros.

Os grande problemas com o software são as interfaces que ele tem com o mundo externo, o escopo que tenta atingir e sua complexidade. Creio que quanto mais desses pontos tem um SW, mas ele é sujeito a falha.
“If an ideology is peaceful, we will see its extremists and literalists as the most peaceful people on earth, that's called common sense.”

Faisal Saeed Al Mutar


"To claim that someone is not motivated by what they say is motivating them, means you know what motivates them better than they do."

Peter Boghossian

Sacred cows make the best hamburgers

I'm not convinced that faith can move mountains, but I've seen what it can do to skyscrapers."  --William Gascoyne

Offline uiliníli

  • Nível Máximo
  • *
  • Mensagens: 18.107
  • Sexo: Masculino
Re: É possível criar um software perfeitamente seguro?
« Resposta #3 Online: 26 de Fevereiro de 2009, 19:01:46 »
Respondendo: não.

Respondendo: sim.
Código: [Selecionar]
#include<iostream>
using namespace std;

int main(){
cout << "Hello world!" << endl;
return 0;
}

Offline FxF

  • Nível Máximo
  • *
  • Mensagens: 5.720
  • Sexo: Masculino
  • Yohohoho!
Re: É possível criar um software perfeitamente seguro?
« Resposta #4 Online: 26 de Fevereiro de 2009, 19:59:01 »
Interessante.

Offline Orbe

  • Nível 24
  • *
  • Mensagens: 1.009
  • Sexo: Masculino
  • ???
Re: É possível criar um software perfeitamente seguro?
« Resposta #5 Online: 26 de Fevereiro de 2009, 20:07:33 »
Respondendo: sim.
Código: [Selecionar]
#include<iostream>
using namespace std;

int main(){
cout << "Hello world!" << endl;
return 0;
}

Agora explica para o leigo (eu): O que é esse código? Por que é perfeitamente seguro? E qual a utilidade dele?
Se você se importasse não estaria discutindo e sim agindo...

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: É possível criar um software perfeitamente seguro?
« Resposta #6 Online: 26 de Fevereiro de 2009, 20:14:25 »
Ele imprime na tela o texto "Hello world!". Ele é seguro porque não faz nada. :P
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline Moro

  • Nível Máximo
  • *
  • Mensagens: 20.984
Re: É possível criar um software perfeitamente seguro?
« Resposta #7 Online: 26 de Fevereiro de 2009, 20:14:40 »
esse software só faz

Hello World... mas continua sendo um software.

O software da calculadora do Windows é plenamente seguro, é pequeno, mas continua sendo plenamente seguro e software, por definição. A questão está provavelmente mal formulada.
“If an ideology is peaceful, we will see its extremists and literalists as the most peaceful people on earth, that's called common sense.”

Faisal Saeed Al Mutar


"To claim that someone is not motivated by what they say is motivating them, means you know what motivates them better than they do."

Peter Boghossian

Sacred cows make the best hamburgers

I'm not convinced that faith can move mountains, but I've seen what it can do to skyscrapers."  --William Gascoyne

Offline Spitfire

  • Nível Máximo
  • *
  • Mensagens: 7.530
  • Sexo: Masculino
Re: É possível criar um software perfeitamente seguro?
« Resposta #8 Online: 26 de Fevereiro de 2009, 22:17:07 »
Um software só é seguro quando não for (nunca) instalado e a mídia estiver guardada dentro do Fort Knox...  ::)

Offline Spitfire

  • Nível Máximo
  • *
  • Mensagens: 7.530
  • Sexo: Masculino
Re: É possível criar um software perfeitamente seguro?
« Resposta #9 Online: 26 de Fevereiro de 2009, 22:21:42 »
esse software só faz

Hello World... mas continua sendo um software.

O software da calculadora do Windows é plenamente seguro, é pequeno, mas continua sendo plenamente seguro e software, por definição. A questão está provavelmente mal formulada.


1- Abra a calculadora do Windows;
2- Mude-a para científica (menu View ou Ver);
3- Digite o número 185266394;
4- pressione F5

 :histeria:

Claro que isto não é uma falha na segurança... não, ao menos, para mim... mas tente imaginar isto sob a ótica de um carola.  :hihi:

Nível de segurança é relativo...  :wink:

Offline Moro

  • Nível Máximo
  • *
  • Mensagens: 20.984
Re: É possível criar um software perfeitamente seguro?
« Resposta #10 Online: 26 de Fevereiro de 2009, 22:37:15 »
puts, não aconteceu nada
“If an ideology is peaceful, we will see its extremists and literalists as the most peaceful people on earth, that's called common sense.”

Faisal Saeed Al Mutar


"To claim that someone is not motivated by what they say is motivating them, means you know what motivates them better than they do."

Peter Boghossian

Sacred cows make the best hamburgers

I'm not convinced that faith can move mountains, but I've seen what it can do to skyscrapers."  --William Gascoyne

Offline gogorongon

  • Nível 30
  • *
  • Mensagens: 1.834
  • Sexo: Masculino
  • Não.
Re: É possível criar um software perfeitamente seguro?
« Resposta #11 Online: 26 de Fevereiro de 2009, 23:06:37 »
Respondendo: sim.
Código: [Selecionar]
#include<iostream>
using namespace std;

int main(){
cout << "Hello world!" << endl;
return 0;
}
Nem isso. É possível compilar um arquivo vazio (isso mesmo, com zero bytes) em C. Ele vira apenas um executável que entra e sai da memória sem executar nenhuma instrução.

Offline HFC

  • Nível 30
  • *
  • Mensagens: 1.619
  • Sexo: Masculino
Re: É possível criar um software perfeitamente seguro?
« Resposta #12 Online: 26 de Fevereiro de 2009, 23:15:45 »
Agnóstico, vc perdeu uma boa foda ... :D
Mars ain't the kind of place
To raise your kids
In fact, it's cold as hell

Offline HFC

  • Nível 30
  • *
  • Mensagens: 1.619
  • Sexo: Masculino
Re: É possível criar um software perfeitamente seguro?
« Resposta #13 Online: 26 de Fevereiro de 2009, 23:19:57 »
Respondendo: sim.
Código: [Selecionar]
#include<iostream>
using namespace std;

int main(){
cout << "Hello world!" << endl;
return 0;
}

Agora explica para o leigo (eu): O que é esse código? Por que é perfeitamente seguro? E qual a utilidade dele?

O código fonte escreve "Hello world!" e muda de linha. Compilado ele vira alvo ...  quem disse que o cout é seguro toda a vida ???
Mars ain't the kind of place
To raise your kids
In fact, it's cold as hell

Offline biscoito1r

  • Nível 30
  • *
  • Mensagens: 1.740
  • 笑顔
Re: É possível criar um software perfeitamente seguro?
« Resposta #14 Online: 26 de Fevereiro de 2009, 23:23:23 »

Respondendo: sim.
Código: [Selecionar]
#include<iostream>
using namespace std;

int main(){
cout << "Hello world!" << endl;
return 0;
}

isso não é seguro pq tem bufferoverun :P. Acho que pôgrama seguro não tem mas sistema seguro já são outros 500, vc não ve o xbox 360 que até hoje não conseguiram hackear 100% ( eu disse 100% ) e tem o PS3 tmb

Citar
Agora explica para o leigo (eu): O que é esse código? Por que é perfeitamente seguro? E qual a utilidade dele?

esse foi o primeiro programa de computador a ser feito, nesse caso ele esta escrito em C++ ( que é a única língua que já estudei :( ) se eu não me engano o primeiro código foi escrito na base dos binários, ou será que naquela época já existia pelo menos assembly  :?: ah não lembro mais
« Última modificação: 26 de Fevereiro de 2009, 23:27:11 por biscoito1r »
Be ashamed to die until you have won some victory for humanity

Offline Moro

  • Nível Máximo
  • *
  • Mensagens: 20.984
Re: É possível criar um software perfeitamente seguro?
« Resposta #15 Online: 26 de Fevereiro de 2009, 23:33:41 »
assembly pode ser em binário, hexa ou utilizando-se os mneumônicos. Existe uma relação unívoca entre eles.

Continuo não vendo problema nesse hello world.  O tamanho do buffer por ser uma constante ponteiro para char está correto e definido em tempo de compilação, não precisa de malloc por exemplo.
“If an ideology is peaceful, we will see its extremists and literalists as the most peaceful people on earth, that's called common sense.”

Faisal Saeed Al Mutar


"To claim that someone is not motivated by what they say is motivating them, means you know what motivates them better than they do."

Peter Boghossian

Sacred cows make the best hamburgers

I'm not convinced that faith can move mountains, but I've seen what it can do to skyscrapers."  --William Gascoyne

Offline Moro

  • Nível Máximo
  • *
  • Mensagens: 20.984
Re: É possível criar um software perfeitamente seguro?
« Resposta #16 Online: 26 de Fevereiro de 2009, 23:34:05 »
Agnóstico, vc perdeu uma boa foda ... :D

perdi duas então, porque continuo não sacando
“If an ideology is peaceful, we will see its extremists and literalists as the most peaceful people on earth, that's called common sense.”

Faisal Saeed Al Mutar


"To claim that someone is not motivated by what they say is motivating them, means you know what motivates them better than they do."

Peter Boghossian

Sacred cows make the best hamburgers

I'm not convinced that faith can move mountains, but I've seen what it can do to skyscrapers."  --William Gascoyne

Offline HFC

  • Nível 30
  • *
  • Mensagens: 1.619
  • Sexo: Masculino
Re: É possível criar um software perfeitamente seguro?
« Resposta #17 Online: 26 de Fevereiro de 2009, 23:39:36 »
B0AF0DA de hexa para decimal ... Faça a conversão (amém  irmão!)...
Mars ain't the kind of place
To raise your kids
In fact, it's cold as hell

Offline Moro

  • Nível Máximo
  • *
  • Mensagens: 20.984
Re: É possível criar um software perfeitamente seguro?
« Resposta #18 Online: 26 de Fevereiro de 2009, 23:52:41 »
hahaha.....   
“If an ideology is peaceful, we will see its extremists and literalists as the most peaceful people on earth, that's called common sense.”

Faisal Saeed Al Mutar


"To claim that someone is not motivated by what they say is motivating them, means you know what motivates them better than they do."

Peter Boghossian

Sacred cows make the best hamburgers

I'm not convinced that faith can move mountains, but I've seen what it can do to skyscrapers."  --William Gascoyne

Offline Fernando Silva

  • Conselheiros
  • Nível Máximo
  • *
  • Mensagens: 7.505
Re: É possível criar um software perfeitamente seguro?
« Resposta #19 Online: 27 de Fevereiro de 2009, 11:29:48 »
O software da calculadora do Windows é plenamente seguro, é pequeno, mas continua sendo plenamente seguro e software, por definição. A questão está provavelmente mal formulada.
Não necessariamente. Alguém pode descobrir um meio de rodar a calculadora através de um vírus ou comando remoto e provocar um estouro de memória que abra caminho para uma invasão mais completa.

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: É possível criar um software perfeitamente seguro?
« Resposta #20 Online: 27 de Fevereiro de 2009, 16:20:55 »
Na teoria poderiam fazer isso com o hello world também, não?
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline gogorongon

  • Nível 30
  • *
  • Mensagens: 1.834
  • Sexo: Masculino
  • Não.
Re: É possível criar um software perfeitamente seguro?
« Resposta #21 Online: 27 de Fevereiro de 2009, 20:34:34 »
A pergunta é, seguro contra o quê? Se for pra ser seguro contra absolutamente tudo, é preciso em primeiro lugar ter um sistema operacional igualmente seguro. E como o sistema operacional é um software, basta ele pra responder a questão.

Isso sem querer entrar no mérito do BIOS, já que o BIOS é um firmware e não um software.

Offline biscoito1r

  • Nível 30
  • *
  • Mensagens: 1.740
  • 笑顔
Re: É possível criar um software perfeitamente seguro?
« Resposta #22 Online: 27 de Fevereiro de 2009, 23:31:32 »
assembly pode ser em binário, hexa ou utilizando-se os mneumônicos. Existe uma relação unívoca entre eles.

Continuo não vendo problema nesse hello world.  O tamanho do buffer por ser uma constante ponteiro para char está correto e definido em tempo de compilação, não precisa de malloc por exemplo.

don't you love tech babble ?
Be ashamed to die until you have won some victory for humanity

Offline GMGall

  • Nível 21
  • *
  • Mensagens: 731
  • Sexo: Masculino
  • Se precisarem entrar em contato, usem o e-mail.
Re: É possível criar um software perfeitamente seguro?
« Resposta #23 Online: 01 de Março de 2009, 02:40:47 »
Um programa que imprime "Hello world" não é necessariamente simples...

 

Do NOT follow this link or you will be banned from the site!