01.28.08

As criancinhas de hoje…

Publicado em Uncategorized tagged , , , , às 14:15:26 por João Pedro Pereira

A criancinha quer Playstation. A gente dá.
A criancinha quer estrangular o gato. A gente deixa.
A criancinha berra porque não quer comer a sopa. A gente elimina-a da ementa
e acaba tudo em festim de chocolate.
A criancinha quer bife e batatas fritas. Hambúrgueres muitos. Pizzas, umas
tantas. Coca-Colas, às litradas. A gente olha para o lado e ela incha.
A criancinha quer camisola Adidas e ténis Nike. A gente dá porque a criancinha tem tanto direito como os colegas da escola e é perigoso ser
diferente.
A criancinha quer ficar a ver televisão até tarde. A gente senta-a ao
nosso lado no sofá e passa-lhe o comando.
A criancinha desata num berreiro no restaurante. A gente faz de conta e o
berreiro continua.
Entretanto, a criancinha cresce. Faz-se projecto de homem ou mulher.
Desperta.
É então que a criancinha, já mais crescida, começa a pedir mesada,
semanada, diária. E gasta metade do orçamento familiar em saídas, roupa da moda, jantares e bares.
A criancinha já estuda. Às vezes passa de ano, outras nem por isso. Mas
não se pode pressioná-la porque ela já tem uma vida stressante, de convívio em convívio e de noitada em noitada.
A criancinha cresce a ver “Morangos com Açúcar”, cheia de pinta e tal, e
torna-se mais exigente com os papás. Agora, já não lhe basta que eles
estejam por perto. Convém que se comecem a chegar à frente na mota, no popó
e numas férias à maneira.
A criancinha, entregue aos seus desejos e sem referências, inicia o
processo de independência meramente informal. A rebeldia é de trazer por casa.
Responde torto aos papás, põe a avó em sentido, suja e não lava, come e
não limpa, desarruma e não arruma, as tarefas domésticas são «uma seca».
Um dia, na escola, o professor dá-lhe um berro, tenta em cinco minutos pôr
nos eixos a criancinha que os papás abandonaram à sua sorte, mimo e
umbiguismo. A criancinha, já crescidinha, fica traumatizada. Sente-se
vítima de violência verbal e etc e tal. Em casa, faz queixinhas, lamenta-se,
chora.
Os papás, arrepiados com a violência sobre as criancinhas de que a televisão
fala e na dúvida entre a conta de um eventual psiquiatra e o derreter do
ordenado em folias de hipermercado, correm para a escola e espetam duas
bofetadas bem dadas no professor «que não tem nada que se armar em
paizinho, pois quem sabe do meu filho sou eu».
A criancinha cresce. Cresce e cresce. Aos 30 anos, ainda será criancinha,
continuará a viver na casa dos papás, a levar a gorda fatia do salário
deles. Provavelmente, não terá um emprego. «Mas ao menos não anda para aí
a fazer porcarias».
Não é este um fiel retrato da realidade dos bairros sociais, das escolas
em zonas problemáticas, das famílias no fio da navalha? Pois não, bem sei.
Estou apenas a antecipar-me. Um dia destes, vão ser os paizinhos a ir
parar ao hospital com um pontapé e um murro das criancinhas no olho esquerdo. E então teremos muitos congressos e debates para nos entretermos .

Isto são os Paizinhos que se dizem Modernos.

É por isso que hoje em dia não há respeito por ninguém, em lado nenhum.

Vai ser este o Futuro da nova geração.

in Visão

01.13.08

Programar em JavaScript

Publicado em Programming tagged , , , , , , às 18:37:29 por João Pedro Pereira

Introdução

JavaScript é uma linguagem muito simples e de fácil aprendizagem.
O JavaScript tem uma sintaxe (forma de escrita) semelhante ao Java, C, C++, PHP.
Foi criada para ter uma utilização Web based por Brendan Eich da Netscape em 1995, como uma extensão para o browser Navigator v2.0, com o principal propósito de permitir uma interactividade superior à que se conseguia com o HTML e para atender principalmente às seguintes necessidades:
• Validação de formulários em client side;
• Iteração com a página. Assim, foi feita como uma linguagem de script.

Existem várias implementações de JavaScript, com ligeiras diferenças entre si: o standard definido pela EMCA, a implementação da Netscape e a implementação da Microsoft.

A principal característica do JavaScript é a forma como interage com o browser, podendo aceder a objectos. Assim, para uma boa programação em JavaScript é necessário conhecer o DOM (Document Object Model) de cada browser.
Devido aos browsers terem DOM diferentes é necessário conhecê-los especificamente, daí vem as diversas implementações do JavaScript.

Á sua união com o CSS chama-se de DHTML, assim usando o JavaScript é possível modificar dinamicamente os estilos das páginas.
A linguagem ActionScript da Macromedia baseia-se no standard do JavaScript criado pela ECMA.

Os recursos básicos para quem quer programar em JavaScript são um editor de texto simples para escrever o código e um browser para o testar.

O JavaScript é uma linguagem embebida no seio do HTML, é orientada a objectos e a eventos que acede do DOM do browser. É uma linguagem independente da plataforma onde corre. É uma linguagem que não é compilada e é interpretada pelo browser, baseando-se em objectos.

Potencialidades do JavaScript a ter em conta:
- gerar código HTML;
- reagir conforme as acções do visitante;
- gerar conteúdos dinâmicos;
- validar formulários;
- criar efeitos gráficos.

Vantagens da utilização do JavaScript:
- fácil aprendizagem;
- não exige recursos server side;
- é rápida por ser interpretada no browser;
- existem muitos recursos na Internet.

Desvantagens da utilização do JavaScript:
- o código pode ser facilmente copiado pois fica exposto;
- não é uma boa ferramenta para interagir com base de dados;
- é menos versátil que a sua parente Java.

Estrutura dos programas em JavaScript

O JavaScript é normalmente inserido em ficheiros HTML e é colocado dentro das marcas <script> </script>.
O código tem de estar ou entre as tags <head> </head> ou entre as tags <body> </body>.

Questões de Sintaxe

O JavaScript é sensível a maiúsculas e minúsculas, desta forma escrever ‘Nome’ e ‘nome’ não é a mesma coisa e vai ser lido como independentes uma da outra.
Os espaços não preenchidos são ignorados, por isso deixar espaçamento é apenas uma questão de entendimento pois o JavaScript não vai notar diferenças.
Todas as instruções JavaScript devem terminar com um ponto e vírgula (;).
É aconselhável desde o inicio a colocar comentários no código para o tornar de mais fácil leitura e edição, para inserir comentários pode escrever entre os delimitadores “/*” e “*/” ou então “//” e escrever até ao fim da linha, tenha em atenção que os comentários vão ser ignorados pelo JavaScript, por isso não convém colocar código dentro de um comentário pois este não será lido.
Se pretende que o script que estiver a desenvolver em JavaScript só seja apresentado na página caso o browser em questão esteja bem configurado e suporte JavaScript coloque o seu código dentro de “<!–” e “–>” como mostra o exemplo:

Código 1

GeSHi (javascript):

<html>
<head>
<title>Inserir código seguro</title>
</head>
<body>
<script type=”text/javascript”>
<!–
document.
write(“bla bla bla”) //escreve bla bla bla na página
–>
</script>
</body>
</html>


Ficheiros Externos

Quando é pretendido utilizar um código por várias páginas ou, por uma questão de organização, é possível e conveniente colocá-lo num ficheiro externo que deve seguir as seguintes regras:
1.a extensão do ficheiro tem de ser .js
2.deve ser invocado a partir de um ficheiro HTML com a seguinte forma <script src=”oTalExterno.js”></script>
3.dentro do ficheiro externo não se deve incluir a tag <script> nem a tag </script>
Desta forma um ficheiro externo deve ter esta formatação:

Código 2

GeSHi (javascript):

document.write(“bla bla bla”)

Tipos de dados


Existem várias possibilidades de tipos de dados em JavaScript entre eles destacam-se os numéricos, os lógicos, as strings, os null e os undefined. Os numéricos como o nome indica podem armazenar valores inteiros e com ponto flutuante e podem fazer parte de operações de aritemética como a soma, a subtracção, a multiplicação e a divisão. Os valores lógicos apenas podem armazenar dois valores o true (verdadeiro) e o false (falso). Os valores strings são cadeias de caracteres, o maior número que uma string pode conter depende do browser em questãoe os valores strings são delimitados por apóstrofe(‘) ou por aspas(“). Valores null são valores especiais, representa um objecto nulo, não deve ser confundido com uma variável não inicializada, pois o valor null existe e existe em memória. O valor undefined significa que a variável não foi criada, inicialmente todas as variáveis se encontram neste estado.

Modelo de Objectos do Documento

O DOM (Document Object Model) de uma página é uma representação hierárquica, em formato de árvore. Desta forma, a raíz é a janela do browser, daí ramifica-se em parágrafos, tabelas, formulários, entre outros.
O JavaScript premite aceder de uma forma dinâmica aos vários ramos, lendo-os e, se necessário, alterando os seus valores.
Existem vários standards dos DOM, o da W3C, o da Netscape e o do Internet Explorer. O DOM do Internet Explorer implementa as recomendações do W3C mas é mais vasto que este.

Eventos

O JavaScript é uma linguagem orientada principalmente a eventos e objectos. Os eventos podem ser produzidos de duas formas: pelo sistema ou pelo utilizador. Pelo sistema quando resultam do facto de carregar ou descarregar uma página, pelo utilizador na medida em que pode interagir com as suas acções, através de sobrepor o rato ou carregar num butão, estes são os exemplos mais comuns apesar de existirem muitos mais.

Elementos
HTML

Eventos suportados

Blur

Click

Change

Focus

Load

Mouseover

Select

Submit

Unload

Button

Checkbox

Document

Form

Link

Sim

Radio

Sim

Reset

Sim

Selection

Sim

Submit

Sim

Text

Sim

Sim

Textarea

Sim

Legenda:

asdfghj = objecto reage ap determinado evento

Evento

Manipulador

Blur

onblur

Click

onclick

Change

onchange

Focus

onfocus

Load

onload

Mouseover

onmouseover

Select

onselect

Submit

onsubmit

Unload

onunload

Eventos do Sistema

Um exemplo de resposta a eventos do sistema:

Código 3
GeSHi (javascript):

<html><head>
<script language=
“JavaScript”>
<!–
function entra(){
window.
alert(“Bem vindo, exemplo de uma reaccao a um evento do sistema”);
}
function sai(){
window.
alert(“Volte sempre”);
}
–>
</script></head>
<body
onload=“entra();” onunload=“sai;”>
<p>Texto escrito na página, bla bla bla</p>
</body></head>

No <head> definem-se duas instruções, a “entra()” e a “sai()”. Na priemeira função (function), “entra()”, faz surgir uma janela de aviso no centro do ecrã quando a página é carregada que mostra uma mensagem, “Bem vindo, exemplo de uma reaccao a um evento do sistema”. Na segunda função (function), “sai()”, faz surgir uma janela de aviso quando se sai da página com a mensagem “Volte sempre”.

As funções só são executadas no momento em que estas são invocadas, por isso as funções presentes no exemplo 3 só são executadas no onload do body e no onunload do body respecivamente.

Eventos de utilizador

Os eventos podem ser utilizados para interagir com o utilizador, desta forma só são invocados por acção deste, assim é possível tornar a página mais atractiva e modelada para cada utilizador pois não apresenta tudo mas só o que o utilizador pretende.

Código 4
GeSHi (javascript):

<head>

<script language=“Javascript”>
function skin1()
{
document.
bgColor=‘red’;
}
function skin2()
{
document.
bgColor=‘green’;
}
function skin3()
{
document.
bgColor=‘yellow’;
}
function skin4()
{
document.
bgColor=‘#FFFFCC’;
}

</script>

</head>
<body>

<form name=“cores”>
<input type=
“radio” name=“campo” onclick=“skin1();”>Fundo vermelho<br>
<input type=
“radio” name=“campo” onclick=“skin2();”>Fundo verde<br>
<input type=
“radio” name=“campo” onclick=“skin3();”>Fundo amarelo<br>
<input type=
“radio” name=“campo” onclick=“skin4();”>Fundo amarelo<br>
</form>

</body></html>

Neste exemplo o visitante da página pode escolher que cor quer dar ao background. No entanto se o utilizador sair da página a sua escolha será perdida.
Desta forma é mostrado uma forma de o JavaScript interagir com o visitante.

Variáveis

Variável é uma posição de memória onde é possível armazenar certas informações. As variáveis são representadas por nomes denominados identificadores que têm uma estrutura definida:

  1. Devem iniciar obrigatoriamente por uma letra ou pelo símbolo “$”;

  2. A partir daí além de letras, “$” pode conter dígitos(0 até 9).

De seguida vai ser mostrado um exemplo de manipulação de variáveis:

Código 5
GeSHi (javascript):

<html>
<body>
<script type=
“text/javascript”>
var mensagem=“Aqui escreve uma mensagem que aparecerá na página”; //define a variável mensagem e o seu conteúdo
document.
write(mensagem);
document.
write(“<p>”+mensagem+“</p>”);
<
/script></body></html>

Declaração de Variáveis

É possível declarar uma variável de duas formas mas só iremos abordar uma delas, a mais utilizada, que consiste em utilizar uma palavra reservada “var”.
Uma variável que não tenha sido inicializada, possui o valor de “undefined”, e tenha em atenção que o JavaScript é sensível a maiúsculas e minúsculas, ou seja, letras minúsculas e maiúsculas são diferentes, portanto, undefined e null devem ser escritos sempre em letra minúsculas.
Se uma variável é declarada apenas, com o comando “var”, o seu conteúdo é “undefined” ou NaN(
Not a Number), caso esteja num contexto numérico.

Declarar uma variável é muito simples, como poderá ver no exemplo seguinte (código 6).

Código 6
GeSHi (javascript):

var nome;
var idade;
var pais=“Portugal”;

Como pode observar no exemplo anterior declarar uma variável é bastante simples.

Tipos de Variáveis

Em JavaScript não é necessário indicar o tipo de variável com a qual se vai trabalhar devido às variáveis em JavaScript poderem armazenar diferentes tipos de dados.

Operadores

Os operadores actuam sobre uma ou mais variáveis de forma a produzir os resultados pretendidos. A linguagem de programação JavaScript possui muitos operadores de diversos tipos. Aqui iremos apenas abordar os aspectos mais básicos dos diversos tipos de operadores disponíveis.

Operadores Aritméticos

Os operadores aritméticos são utilizados para realizar operações matemáticas simples como a adição, a subtracção, a multiplicação, a divisão e o resto da divisão inteira existe também o da negação unária que não vai ser abordado. São também usados no incremento e decremento de uma unidade ou em operações relacionais como a igualdade, diferença, maior ou menor que, entre outros.

Operador Nome

+ Adição

- Subtracção

* Multiplicação

/ Divisão

% Resto da divisão

Exemplo de utilização.

Soma em JavaScript:

Código 7

GeSHi (javascript):

<html><head>

<script language=”Javascript”>

var x=1000;

var y=18;

soma=x+y;

</script>

</head><body>

<script language=”Javascript”>

document.write(soma);

</script></body></html>

Como é possível verificar no código é muito simples escrever uma pequena soma. O mesmo se verifica para as outras operações.

O JavaScript disponibiliza também operadores de incremento e decremento.

Operador Nome

++ Incremento

– Decremento

As instruções de incremento como a de a++ são de pós incremento e as instruções de incremento ++a são instruções de pré incremento. Quando são instruções de decremento verifica-se que quando a instrução é a– é de pós decremento e quando é –a é de pré decremento.

Operadores Relacionais

Os operadores relacionais como o próprio nome indicam operações de relações entre valores.

Operador    Nome
==     igual
!= diferente
>       maior
<      menor
>=      maior ou igual
<=       menor ou igual

Exemplo de utilização:

Código 8

GeSHi (javascript):

<html><head><script type=“text/javascript”>

var x = 1;

var y = 2;

var z = y;

function relaccionais(){

document.write (“<br /> Variável x = “ + x);

document.write (“<br /> Variável y = “ + y);

document.write (“<br /> Variável z = “ + z);

document.write (“<br />”);

w = x == y;

document.write (“<br /> y == z -> “ + w);

w = x != y;

document.write (“<br> y != z -> “ + w);

w = x >= y;

document.write (“<br> x >= y -> “ + w);

w = x < y;

document.write (“<br> x < y -> “ + w);}

</script></head><body><script type=“text/javascript”>

relaccionais();</script></body></html>

Com estes operadores é possível fazer operações para determinar se os valores são iguais, diferentes, maiores ou menores, entre outros

Operadores Lógicos

Os operadores lógicos existentes em na linguagem JavaScript são:

Operador    Nome
!   Navegação
&& Conjunção
||       Disjunção

Estes operadores são os operadores que manipulam valores lógicos.
A disjunção inclusiva só resulta num valor false quando os dois operadores são false. Caso contrário devolve true.
A conjunção só pode resultar num valor true quando ambos os valores forem true.
A negação resulta no valor contrário do operador.

Operadores bit a bit

Operadores bit a bit disponíveis em JavaScript.

Operador    Nome
x&y       Conjunção
x|y       Disjunção inclusiva
x^y       Disjunção exclusiva
-x       Negação lógica
x<<y       Deslocamento à esquerda
x>>y       Deslocamento à direita
x<<<y    Deslocamento lógico à direita

Operadores de cadeias

Ao contrário dos outros operadores apenas existe um operador de cadeias que servem para concatenar cadeias (strings).


Operador   Nome
+       Concatenação

O operador + acrescenta uma cadeia no fim da outra.

Funções

Uma função é uma sequência de instruções que constitui uma entidade coerente e que pode ser invocada a partir de qualquer ponto do programa escrito em JavaScript. O programador pode criar as suas próprias funções que são na maioria das vezes são escritas no cabeçalho do ficheiro e são invocadas posteriormente quando necessário.
Portanto, podemos ver uma função como uma série de instruções que englobamos dentro do mesmo processo. As funções utilizam-se constantemente, não só as que escreve como também as que já estão definidas no sistema, como as parseInt (que é uma string), parseFloat (string) ou NaN (que é um valor), pois todas as linguagens de programação têm funções para realizar processos habituais. As funções servem para quando existe uma acção que seja necessária em diversos locais da página/site/programa usar assim apenas é necessário enunciá-la uma vez.

Para definir uma função é obrigatório utilizar certos padrões:

function nomedafuncao (){
instruções da função
…}

depois é apenas necessário dar as instruções certas à função de forma a actuar da forma pretendida. Depois para invocar a função é apenas necessário colocar o nome da função seguido de ().

Instruções condicionais

Instrução if e else

If como o próprio termo em Inglês indica significa se assim sendo esta instrução serve para realizar scripts que dependam de uma condição. Desta forma apenas se se verificar uma certa condição. Esta instrução pode ter uma pequena variante/consequência que é o else, o else se estiver no código é utilizado de forma a que se a condição if for falsa, o código contido dentro da instrução else é executado, caso a condição if for verdadeira o código dentro do else não tem qualquer efeito. Á que reparar que a instrução if tem de vir sempre primeiramente e só depois a instrução else, a instrução if não necessita de ter uma else e a instrução else necessita que exista uma instrução if previamente.

Instrução switch

No JavaScript existe uma outra instrução de condição a instrução switch.

Formato switch:

Switch (expressão){

case valorx:

instruçãox;

break;

case valory:

instruçãoy;

break;}

Passando a explicar o comportamento do controlo switch: Se o valor da expressão coincidir com o valorx executa-se a instruçãox, no entanto se o valor da expressão for igual ao valory, executa-se a instruçãoy.

Instruções Iterativas

Na linguagem de programação JavaScript apenas existem três instruções iterativas, o ciclo while, o do-while, e o ciclo for.

O ciclo while

Este ciclo utiliza-se quando é necessário repetir um número indefinido de vezes a execução de umas sentenças, sempre que se cumpra uma condição. É mais fácil de se entender que o ciclo for porque somente se indica a condição que tem que se cumprir para que se realize uma repetição.

while (condição){
sentenças do ciclo;
}

O ciclo do-while

Utiliza-se geralmente quando não sabemos quantas vezes haverá de se executar o ciclo, assim como acontece com ciclo while, com a diferença de que sabemos ao certo que o ciclo pelo menos executar-se-á pelo menos uma vez.

do {
sentenças do ciclo;
} while (condição)

O ciclo for

O ciclo for utiliza-se para repetir mais instruções num determinado número de vezes. Entre todos os ciclos o for costuma ser utilizado quando sabemos ao certo o número de vezes que queremos que seja executada a sentença.

for (iniciação;condição;actualização) {
sentenças a executar;
}

O funcionamento do ciclo for é o seguinte: a expressão de inicialização é executada uma vez antes da primeira iteração; a condição é testada antes de cada iteração do ciclo e se for verdadeira executa a instrução do ciclo, se for falsa termina o ciclo.

A instrução executada no ciclo for pode ser substituída por diversas instruções.

Instrução break e continue

A instrução break interrompe um ciclo. Interromper um ciclo significa sair dele e deixá-lo todo como está de forma a continuar com o fluxo do programa imediatamente.

A instrução continue interrompe o ciclo passando assim para a iteração seguinte.

Programação orientada a objectos

O JavaScript dispõe de um conjunto de objectos predefinidos. Os objectos têm atributos (variáveis) e métodos (funções). A sintaxe para a utilização de objectos, métodos e atributos em JavaScript é muito simples:

objecto.atributo

objecto.metodo()

Alguns objectos são criados automaticamente pelo browser, outros têm de ser criados obrigatoriamente pelo programador.

obj = new Object();

Vectores

Um vector é uma estrutura de dados com diversos elementos do mesmo tipo, em relação à qual, através de um índice, se pode designar cada um dos seus elementos.

Os elementos de um vector podem também ser vectores, dando origem a uma estrutura muito complexa.

Phishing

Publicado em Security tagged , , , , , , às 18:29:15 por João Pedro Pereira

Phishing é um tipo de fraude electrónica que tem se desenvolvido muito nos últimos anos, visto que a Internet a cada dia que passa tem mais utilizadores e mais serviços, bem como cada vez mais pessoas tratam dos seus assuntos financeiros pela Internet.

Este tipo de fraude electrónica é projectada de forma a tentar enganar pessoas de formar a “roubar” informações a quem é vítima dele.

É uma das principais preocupações ao nível da segurança informática e baseia-se no envio de um e-mail fraudulento com o objectivo de obter códigos de acesso (nomes de utilizador e senhas) e dados financeiros.

No início desta prática um ataque de phishing consistia em um indivíduo, com intenções menos correctas, enviava um e-mail que parecia vir de um banco, ou de serviços on-line como o eBay ou o Amazon, utilizando pretextos falsos mas muito convincentes onde até o design é “igual” ao da empresa pela qual está a fazer-se passar. Normalmente este e-mail diz que precisa confirmar alguns detalhes sobre o utilizador e muitas vezes ameaça o fecho da mesma caso a vitima não responda à solicitação que lhe é feita no e-mail. O e-mail contém um caminho (link) para a suposta página do banco ou serviço em questão onde lhe é pedida determinada informação nomeadamente o nome de utilizador e palavra chave no caso dos serviços on-line, e no caso de serviços financeiros informações relativas ao cartão de crédito.

Porém isto foi só o inicio do phishing pois nos últimos tempos têm surgido cada vez formas mais apuradas, melhoradas e sofisticadas de phishing sendo que as situações mais recentes envolvam o envio de um e-mail que ao invés de conter links que direccionam para um formulário onde é requerida informação confidencial, os links direccionam para páginas que contêm programas maliciosos, que se auto – – instalam no computador da vitima.

Estes programas pertencem muitas vezes à classe dos keyloggers e podem registar a sequência de teclas pressionadas, actividades realizadas com o rato ou até mesmo imagens do écran. Estes programas, depois de recolhida a informação, enviam-na pela Internet, quando disponível para um site controlado pelo autor da fraude, que pode fazer uso dessas informações confidenciais que não lhe dizem respeito.

 

A história do Phishing

A palavra “Phishing” deriva da analogia da palavra “Phish” (em inglês) pois esta técnica consiste na “pesca” de informações, por parte de pessoas mal intencionadas, num “mar” de utilizadores da Internet, ou seja em muitos utilizadores da Internet alguns são apanhados nestes esquemas tal e qual como no mar os peixes são apanhados.

O nome foi utilizado pela primeira vez em 1996 quando hackers roubaram informações de contas do AOL.

Em 1996, contas hackeadas começaram a ser chamadas de “phish”, devido às contas serem como peixe pois delas eram feitas pescas de informações. E em 1997 a palavra “phish” começou a ser usada entre a comunidade informática como uma forma de fraude electrónica. A palavra “phish” também já foi atribuída a “crackins” de aplicações e jogos.

A primeira referência a esta palavra nos meios de comunicação data de 16 de Março de 1997 pela vice presidente de uma companhia de integridade dos dados pessoais online na Florida.

A palavra nos tempos correntes não só engloba a obtenção de detalhes de contas, como também inclui o acesso a todo e qualquer acesso a informações pessoais e financeiras.

Uma técnica que inicialmente consistia em “truques” para fazer com que os utilizadores respondessem a um e-mail para obter dados de acesso a contas de utilizador e dados de contas bancários. Hoje em dia expandiu-se para websites que podem conter Cavalos de Tróia (trojan), keylogger’s, capturadores de ecrã, spyware’s, entre outros.

P
ara complementar os “phisher’s” criaram outros serviços atractivos como sites muito similares, aos sites dos quais pretendem receber a informação do utilizador, com uma formatação, imagem, conteúdo, estilos, e texto quase idênticas à do site original, ou serviços de trabalho fácil em que supostamente será muito bem remunerado.

Como prevenir?

Para prevenir ser vítima desta fraude existem várias medidas em que deve apostar. Vamos de seguida fazer uma breve referência a algumas das medidas cruciais para se manter seguro.

1) Instale Software para se proteger

- É necessário ter sempre um Antivírus e uma boa Firewall no nosso computador para fazer “frente” às “pragas” informáticas que o nosso computador fica em risco de receber caso esteja ligado a outros computadores.

2) Mantenha-se actualizado

- Descarregue regularmente actualizações de segurança e patches para o seu sistema operativo e para os seus softwares de segurança. Pois as empresas de segurança publicam actualizações e patches para eliminar as vulnerabilidades descobertas no seu software. Muitas vezes são descobertos os chamados bugs nos programas que permitem a pessoas mal intencionadas, às quais a nossa sociedade chama de hacker, ataquem o computador que tem essa vulnerabilidade. Antes que ocorra a maioria desses ataques, as empresas e vendedores de software criam patches gratuitos para os seus programas que publicam nas respectivas páginas na Internet, para que o utilizador do software da empresa possa descarregar.

3) Pense sempre antes de executar

- Mesmo os utilizadores da Internet mais experientes podem ser facilmente enganados se não tiverem atenção ao que fazem no seu computador e ás informações que fornecem. Se receber um e-mail aparentemente amigável de um estranho, ou de uma empresa a pedir-lhe que actualize os seus dados pessoais, apague-o de imediato! Os alvos mais frequentes do Phishing são os utilizadores de PayPal, eBay, Amazon, e os clientes de bancos. No entanto que fique saliente que ninguém está livre de ser um alvo de Phishing.

4) Informações confidenciais

- Nunca dê informações financeiras ou outras informações pessoais que o identifiquem ou outro tipo de dados como a idade que tem (aqui também se incluem os sites que perguntam se é maior ou menor do que uma certa idade) para aceder ou assinar páginas que não lhe sejam familiares ou de empresas com boa reputação.

5) Passos a tomar antes de enviar qualquer informação

- Estranhar toda a comunicação vinda de entidades que lhe peçam informação sensível e pessoal como por exemplo bancos.

- Estranhar qualquer e-mail ou site que lhe peça informação pessoal.

- Verificar o código fonte da mensagem, analisar o remetente, os endereços IP, o código que está por trás das ligações.

- Antes de enviar qualquer informação sua faça questão de confirmar com a instituição via telefone, fax ou pessoalmente a veracidade da comunicação.

6) Verifique sempre se os sites usam criptografia

Existem diferentes maneiras de saber se um site é seguro. Primeiro, antes de inserir qualquer informação pessoal, verifique se o site usa criptografia para transmitir informações pessoais. No Internet Explorer bem como no Mozilla Firefox pode fazer isso se verificar se existe o ícone amarelo de cadeado amarelo na barra de status situada na parte inferior do navegador. Esse símbolo significa que o site usa criptografia para proteger as informações pessoais importantes inseridas. Clique duas vezes no ícone de cadeado para exibir o certificado de segurança do site. O nome após Issued to deve corresponder ao nome do site em que pensa estar. Se o nome for diferente, poderá estar num site falsificado. No entanto caso não tenha certeza de que um certificado é legítimo, não insira informações pessoais e saia do site.

Cuidados a ter quando recebe um e-mail

1) Verifique o remetente

- Desconfie de e-mail’s que não tenham um remetente conhecido e não acredite em ofertas milagrosas.

2) Não baixe e nem execute arquivos não solicitados

- Cavalos de Tróia e Keyloggers são “não solicitados”. Se alguém conhecido enviar um arquivo que você não pediu, verifique com a pessoa se ela realmente enviou o arquivo, e pergunte qual o conteúdo desse. Evite ao máximo executar programas que lhe sejam enviados por e-mail que contenham extensões como estas: .exe, .cmd, .com, .bat, .dll, entre outras.

Os problemas de Phishing

1) Factores de engenharia social

Ataques de Phishing consistem na sua totalidade em conhecimentos técnicos e na engenharia social. Na maioria dos casos o “Phisher” tenta persuadir a vitima a executar uma serie de acções que lhe vai permitir a ter acesso a informações confidenciais da vitima.

As técnicas que obtêm mais sucesso são iniciados por e-mail pois convencem a vitima a fornecer dados confidenciais.

2) Envio de Mensagens

2.1 E-mail e Spam

Os ataques mais comuns são iniciados com um e-mail e consistem no envio de um e-mail falso utilizando a identidade de entidades de prestígio consideradas confiáveis, tais como sites de entretenimento, empresas financeiras, lojas, órgãos governamentais, entre outros. Estes e-mail estão muito bem camuflados pois apresentam-se configurados similarmente aos e-mail enviados oficialmente pelas instituições, com formatação iguais, imagens iguais, tipo de serviços os mesmos, e links idênticos.

Geralmente, as mensagens são enviadas para milhões de endereços de e-mail que foram previamente recolhidos na Internet ou então foram compradas listas com milhões de e-mails activos, e com conhecimentos de SMTP estas técnicas são comuns aos Spammers. A entrega do e-mail normalmente é feita por computadores que estão sob o controle de pessoas mal intencionadas nos quais são incluídos servidores mal configurados e computadores com uma conexão de banda larga infectados com Cavalos de Tróia, mais conhecidos por trojan, que foram desenvolvidos para permitir o envio de e-mail em enormes quantidade, o chamado Spam. No entanto todos os outros tipos de máquinas ligadas à Internet não estão livres de serem usados.

Uma técnica popular é o roubo de identidade via e-mail. Pessoas mal intencionadas enviam e-mail tentando persuadir os receptores a fornecer dados pessoais, tais como nome completo, morada e código postal, nome de familiares, número do bilhete de identidade, números de contas bancárias, entre outros. Quando obtidos esses dados podem ser utilizados para qualquer fim.

A identidade usada nessas mensagens geralmente é a mesma referida acima.

No corpo da mensagem normalmente existem links que apontam para sites falsos, normalmente muito parecidos com os sites verdadeiros, onde existem formulários que a vítima é quase forcada a preencher com as informações solicitadas. O conteúdo preenchido no formulário é enviado para quem está a desenvolver esse projecto.

A maneira de persuadir a vitima é semelhante à do roubo de identidade, no entanto o e-mail contém links que apontam para sites que contém programas que, se instalados, podem permitir a captura de informações. A instalação é, na maior parte dos casos, feita pela vítima.

Pode existir uma possibilidade, ainda que pequena, da instalação automática desses programas apenas pela leitura da mensagem, mas isso depende de uma combinação de muitos factores e de um grau um pouco mais elevado de programação que não vamos abordar aqui.

O Phishing via e-mail não vem apenas com a identidade de entidades prestigiadas. Pois são também usados diversos tipos de assuntos de forma a criar curiosidade fazendo desta maneira com que o receptor da mensagem entre no local onde não deve. Um detalhe ao qual o utilizador deve prestar a máxima atenção são aos erros de gramática e de ortografia que essas mensagens geralmente apresentam.

Técnicas usadas nos e-mails:

  • Visual similar à correspondência oficial;

  • Os links utilizados são muito parecidos com os links oficiais, com poucas alterações;

  • A base do HTML é usada para fazer com que os links sejam camuflados;

  • Anexos que contém programas maliciosos;

2.2 Envio de mensagem baseado na Internet

Um método também muito popular é através de Web sites com código malicioso. Sites estes que são na maior parte das vezes administrados pelo “Phisher” ou então têm conteúdo que lhe pertencem.

Técnicas baseadas na Internet incluem:

  • Links camuflados tal como no envio de e-mail;

  • Banners ou outro tipo de conteúdo que levam para o site do “Phisher”

  • O uso de erros no sistema do utilizador para poderem aceder ao seu computador, instalar software malicioso ou prepara-lo para receber outros ataques;

  • O uso de pop-us ou frames para mostrar a mensagem do “Phisher” camuflando seu código;

Pharming

Publicado em Security tagged , , , , , às 17:22:19 por João Pedro Pereira

Introdução

 

Nunca o computador foi utilizado para armazenar tanta informação e tantos dados pessoais como agora. E não é necessário ser-se muito conhecedor para conseguir retirar essas informações de um computador se este não estiver bem protegido. Hoje em dia, com a crescente utilização da Internet para quase tudo, é necessário ter o conhecimento sobre o que lhe pode acontecer se for alvo de um ataque por parte de alguém mal intencionado. Existem inúmeros esquemas on-line nos quais os menos prevenidos podem ser apanhados. Neste artigo vamos falar um pouco de Pharming, uma técnica que deriva do Phishing e que é complementar desta segunda…

 

1. O que é?

O Pharming é uma variante mais sofisticada de Phishing que explora vulnerabilidades dos browsers, dos sistemas operativos e dos servidores de DNS (Domain Name System) para conseguir conduzir os utilizadores a sites fictícios com o objectivo de obter os códigos de acesso.
Todos os sites da Internet podem ser acedidos através de um identificador único, conhecido por “endereço IP”, que os permite localizar. O endereço IP é constituído por quatro números, de 0 a 255, separados por pontos, como por exemplo “127.0.0.1”. Como os endereços IP são mais difíceis de memorizar para o cérebro humano que tem mais “capacidades” quando se trata de memorizar nomes, existe o “nome de domínio”, que é mais fácil de memorizar (por exemplo, o
www.portugal-a-programar.org é muito mais fácil de decorar que “195.22.25.172”). Sempre que introduzimos o nome de domínio num browser, é traduzido para um IP permitindo deste modo aceder ao site pretendido. Se existir algum erro na tradução do “nome de domínio” para “endereço de IP” e esse erro tiver origem em alguém com intenções maliciosas podemos considerar que existe um ataque de Pharming baseado nas alterações de DNS’s.

2. O ataque

2.1 Ataque nos servidores DNS

Alguns softwares usados em servidores DNS possuem falhas de segurança, programação ou má configuração, que permitem “envenenar” a memória temporária (cache) do sistema atacado. Assim o intruso consegue aceder ao servidor e alterar certas configurações atribuindo “nomes de domínio” a IP’s que não lhes deveriam corresponder e que são controlados pelo intruso. Assim, num ataque específico, o endereço IP associado ao domínio portugal-a-programar.org, por exemplo, poderia ser mudado de 195.22.25.172 para 209.85.129.99 num servidor DNS atacado e consequentemente quando se introduzisse no browser www.portugal-a-programar.org este seria redireccionado para a página portuguesa do Google.

Neste ataque, um servidor de nomes (servidor DNS) é comprometido, de tal forma que as requisições de acesso a um site feitas pelos utilizadores deste servidor sejam redireccionadas para outro endereço, sob controlo dos intrusos.
Este tipo de ataques também pode ser feito remotamente ou por meio de programas maliciosos como cavalos-de-tróia, alterando um ficheiro presente nos computadores de utilizadores finais, chamado “hosts”. Este ficheiro, encontrado na maioria das versões do Windows e outros sistemas operativos, inclui uma lista de nomes de sites associados a determinados endereços electrónicos. Se estes endereços forem alterados, o computador do utilizador poderá direccioná-lo para um falso site sempre que o nome de um site legítimo presente na lista for digitado no browser.

2.2 Ataque aos utilizadores

Este tipo de ataque dá-se no computador da vítima fazendo modificações nos ficheiros hosts.
Ao contrário dos ataques nos servidores DNS estes apenas afectam a máquina que infectam e é necessário o utilizador clicar em alguma ligação ou instalar algum programa.
Pode haver desde a instalação de spyware’s para propaganda e publicidade, à imitação perfeita de um site bancário que tem por objectivo roubar os dados da vítima (aqui entra a junção do Pharming com o Phishing).

3 Medidas de protecção

Instale um antivírus, mantenha-o activo e actualizado.
Mantenha as aplicações instaladas no seu computador actualizadas, nomeadamente o sistema operativo e o seu browser.
Utilize uma firewall para controlar e verificar a comunicação do computador com a Internet.
Em caso de dúvida da veracidade de uma página ou e-mail, contacte a entidade mas não utilize os contactos existentes no e-mail ou página.

 

 

Conclusão

 

Depois de lido este artigo estará certamente mais informado e mais ciente do que pode acontecer, de como ser burlado on-line, mas isto é apenas uma gota no oceano da segurança porque o mundo das burlas on-line é imensamente vasta e não é possível abordá-las todas em conjunto. No entanto, o Pharming é uma das técnicas de burla on-line mais usada em todo o Mundo por isso é bom que fique de alerta de forma a não cair em erros desnecessários.

[Análise] Linguagens Web

Publicado em Reviews tagged , , , , , , , , , , , , , , , às 17:15:17 por João Pedro Pereira

Titulo: Linguagens Web

Autores: Alexandre Pereira e Carlos Poupa
Edições Sílabo
Formato: 17 x 24 cm
Páginas: 440
Ano: 2004

Apoio on-line: http://linguagens.mediateca.info/

Linguagens Web” é um livro de iniciação à programação orientada à Web que reúne todas as principais linguagens de programação utilizadas na Internet, de forma concisa e de fácil entendimento.

As linguagens abordadas são:

HTML, CSS, JavaScript, ASP, ASP.NET (VB.NET e C#), PHP e Java

Fala um pouco sobre cada linguagem onde é abordada a sua estrutura, a sua sintaxe, sua formatação e como a utilizar correctamente.

Esta obra é aconselhada a qualquer programador no entanto é excelente para programadores que se estejam a iniciar pois utiliza uma linguagem clara e de fácil entendimento com exemplos explicados para uma mais rápida e eficiente aprendizagem.

Nota: Esta obra tem um sítio onde fornece apoio on-line.