Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes...

81
Detecção de Intrusões Aplicação à detecção de fraude nos transportes públicos Gonçalo Manuel Mendes Duarte Gomes Ivo Dissertação para obtenção do Grau de Mestre em: Engenharia de Redes de Comunicações Júri Presidente: Professor Doutor Rui Jorge Morais Tomaz Valadas Orientador: Professor Doutor Alberto Manuel Ramos da Cunha Co-Orientador: Professor Doutor Carlos Nuno da Cruz Ribeiro Vogal: Professor Doutor Pável Pereira Calado Outubro 2009

Transcript of Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes...

Page 1: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

Detecção de Intrusões – Aplicação à detecção de

fraude nos transportes públicos

Gonçalo Manuel Mendes Duarte Gomes Ivo

Dissertação para obtenção do Grau de Mestre em:

Engenharia de Redes de Comunicações

Júri

Presidente: Professor Doutor Rui Jorge Morais Tomaz Valadas

Orientador: Professor Doutor Alberto Manuel Ramos da Cunha

Co-Orientador: Professor Doutor Carlos Nuno da Cruz Ribeiro

Vogal: Professor Doutor Pável Pereira Calado

Outubro 2009

Page 2: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 3: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

i

Agradecimentos A realização de um trabalho implica a entrega de quem o desenvolve, mas também a

ajuda de todos os que de uma forma mais ou menos (in)directa nele colaboram.

Ao longo desta jornada, muitos foram os que a tornaram possível.

Assim, começo por agradecer ao meu orientador Professor Doutor Alberto Cunha, por me

ter acompanhado ao longo da realização desta tese.

À Engenheira Ana Caçador que, devido à sua disponibilidade, experiência, vontade de

ajudar e sugestões, sempre pertinentes, foi mais que uma orientadora, a sua preciosa ajuda e

incentivo foram fundamentais na realização deste trabalho.

A todos os meus colegas na Link Consulting que, de uma maneira ou de outra me

apoiaram, em especial ao Engenheiro Tony Fiuza.

A todos os colegas que foram meus companheiros nesta jornada, pelo apoio, o querer, o

acreditar … pelas gargalhadas que amenizaram as longas horas de realização deste trabalho.

Por último, à minha família, sem a qual nunca poderia ter chegado até aqui,

nomeadamente aos meus pais, por todo o seu apoio e motivação.

Obrigado

Lisboa, Outubro 2009

Gonçalo Ivo

Page 4: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 5: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

iii

Aos meus pais

“A nossa vida é desperdiçada pelo pormenor... Simplifica, simplifica.”

Thoreau

Page 6: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 7: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

v

Resumo

Actualmente, o conceito de “fraude” tornou-se tão vulgar que ao seu grave significado

não é dada a devida consideração. Os transportes públicos não são excepção e nos locais

onde a sua utilização, e quiçá dependência, é mais elevada a fraude tende a aumentar. Assim

sendo, as operadoras de transportes públicos não podem ser permissivas para com estes

actos fraudulentos, encetando um combate feroz à fraude.

Este trabalho tem como focos principais a análise e compreensão da fraude a nível dos

transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma.

Para tal, realizou-se um estudo sobre tipos de fraude, relevantes para esta área, e métodos já

utilizados para contrariar actos fraudulentos. Como resultado deste estudo foi proposta uma

solução adaptativa para detecção e prevenção de fraude que combina alguns dos métodos

estudados, de forma a tirar vantagens de cada um deles na resolução deste problema.

Da solução proposta foi concebido um protótipo com o intuito de conseguir realizar

análises de fraude. Esse protótipo foi validado, tendo-se conseguido obter quantificações

objectivas de fraude e definir metodologias para efectuar análises de fraude.

Palavras-chave: Fraude, Prevenção, Detecção, Transacção, Redes Neuronais, Redes Bayseanas, Regra, Bilhética Electrónica

Page 8: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 9: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

vii

Abstract

Currently, the concept of "fraud" has become so common that its serious meaning is

repeatedly overlooked. Public transports are no exception and in places where its use, and

perhaps dependence, is higher the numbers of fraud tend to increase. Therefore, operators of

public transports can no longer be permissive to these fraudulent acts and are starting to

engage in fierce fraud combat.

This work main focuses is the analysis and understanding of fraud at the level of public

transports in order to enable its proper prevention and detection. To this end, we carried out a

study on types of fraud relevant to this area, and methods used to counter fraudulent. As a

result of this study was proposed an adaptive solution to detecting and preventing fraud that

combines some of the methods studied in order to take advantage of each one with this

problem.

Following the proposed solution was designed a prototype in order to be able to perform

fraud analysis. This prototype has been validated and is able to obtain objective measurements

of fraud and define methodologies for analysis of fraud.

Keywords: Fraud, Prevention, Detection, Transaction, Neural Networks, Bayesian Networks, Rule, Electronic Ticketing

Page 10: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 11: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

ix

Índice

Índice .................................................................................................................................................... ix

Índice de Figuras ................................................................................................................................... xi

Índice de Tabelas ................................................................................................................................. xii

Lista de Acrónimos .............................................................................................................................. xiii

1 Introdução ..................................................................................................................................... 1

1.1 Motivação e Enquadramento ....................................................................................................... 1

1.2 Contribuições da Dissertação ....................................................................................................... 1

1.3 Organização da Dissertação ......................................................................................................... 1

2 Fraude nos Transportes Públicos .................................................................................................... 3

2.1 Funcionamento dos Transportes Públicos .................................................................................... 3

2.2 Fraude nos Transportes Públicos .................................................................................................. 4

2.3 Impacto da Fraude nos Transportes Públicos ............................................................................... 5

2.4 Metodologia e Soluções ................................................................................................................ 6

2.5 Classificação dos Tipos de Fraude ................................................................................................. 6

3 Controlo de Fraude: Passado e Presente ........................................................................................ 9

3.1 Soluções Existentes: Transportes Públicos .................................................................................... 9

3.2 Soluções Existentes: Áreas Similares .......................................................................................... 10 3.2.1 Características da solução MNT .......................................................................................... 12 3.2.2 Características da solução FCT ............................................................................................ 12

3.3 Trabalhos Relevantes .................................................................................................................. 14

4 Controlo de Fraude: Solução Proposta ......................................................................................... 17

4.1 Motor de Regras ......................................................................................................................... 17

4.2 Modelo de Análise ...................................................................................................................... 19 4.2.1 Fases do Modelo de Análise ............................................................................................... 20

4.3 Configuração & Apresentação .................................................................................................... 21 4.3.1 Apresentação de Resultados .............................................................................................. 21 4.3.2 Configuração ....................................................................................................................... 22

5 Controlo de Fraude: Solução Desenvolvida .................................................................................. 25

5.1 Arquitectura dos Dados .............................................................................................................. 25

5.2 Componentes: Motor de Regras ................................................................................................. 27 5.2.1 Motor de Regras: Implementação das Regras .................................................................... 27

5.2.1.1 Implementação das Regras: Linguagem Motor de Regras ............................................. 29 5.2.1.2 Implementação das Regras: Mapeamento entre Tipos de Fraude e Regras .................. 31

5.2.2 Motor de Regras: Interpretação das Regras ....................................................................... 32 5.2.2.1 Interpretação das Regras: Fluxo de Processamento ...................................................... 32

Page 12: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

x

5.2.2.1.1 Interpretação das Regras: Tradução de LMR ........................................................... 33

5.3 Componentes: Configuração & Apresentação ............................................................................ 34 5.3.1 Configuração & Apresentação: Configuração ..................................................................... 34 5.3.2 Configuração & Apresentação: Apresentação .................................................................... 39

5.3.2.1 Apresentação: Consulta Global de Resultados ............................................................... 39 5.3.2.2 Apresentação: Consulta Detalhada de Resultados ......................................................... 40

5.3.2.2.1 Apresentação: Consulta dos Dados da Transacção .................................................. 42 5.3.2.2.2 Apresentação: Consulta dos Dados da Regra........................................................... 44 5.3.2.2.3 Apresentação: Consulta dos Dados do Bloco de Processamento ............................ 45

5.4 Validação da Solução .................................................................................................................. 47 5.4.1 Teste 1 – Cálculo do Tempo de Processamento Individual de cada Elemento .................. 48 5.4.2 Teste 2 – Cálculo do Tempo de Processamento Individual de cada Regra ......................... 50 5.4.3 Teste 3 – Análise de Fraude somente para Carregamentos ............................................... 50 5.4.4 Teste 4 – Análise de Fraude somente para Validações ...................................................... 54

6 Conclusões e Trabalho Futuro ...................................................................................................... 59

6.1 Conclusões .................................................................................................................................. 60

6.2 Trabalho Futuro .......................................................................................................................... 61

7 Referências .................................................................................................................................. 62

Anexos ................................................................................................................................................. 63

Page 13: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

xi

Índice de Figuras

Ilustração 1 - Exemplo de Rede Neuronal .................................................................................................. 11

Ilustração 2- Diagrama de Blocos de “Supervised Learning” [14] ...................................................... 15

Ilustração 3 - Fluxo base de operação da solução. ..................................................................................... 17

Ilustração 4 - Estrutura típica de uma Regra de Decisão ............................................................................ 19

Ilustração 5 - Exemplificação do MA .......................................................................................................... 20

Ilustração 6 - Alguns Fluxos de utilização do componente C&A ........................................................ 22

Ilustração 7 - Overview da Solução ............................................................................................................. 23

Ilustração 8 - Tabelas directamente relacionadas com o MR..................................................................... 25

Ilustração 9 - Tabelas utilizadas para guardar os resultados das análises e as configurações do sistema . 26

Ilustração 10 - Vista utilizada para apresentar os resultados globais das análises .................................... 26

Ilustração 11 - Fluxo do MR ........................................................................................................................ 32

Ilustração 12 - Funcionalidade “Gerir Constantes” .................................................................................... 34

Ilustração 14 - Funcionalidade “Seleccionar Regras” ................................................................................. 38

Ilustração 16 - Funcionalidade “Consulta Detalhada de Resultados” ........................................................ 41

Ilustração 19 – Funcionalidade “Consulta dos Dados da Regra” ................................................................ 45

Ilustração 20 – Funcionalidade “Consulta dos Dados do Bloco de Processamento” ................................. 46

Ilustração 21 – Carregamentos: Tempo de Processamento vs Dimensão da Amostra .............................. 51

Ilustração 22 – Carregamentos: Tempo de Registo vs Dimensão da Amostra .......................................... 52

Ilustração 23 – Carregamentos: Tempo de Processamento, de Registo e de Análise vs Dimensão da

Amostra ...................................................................................................................................................... 52

Ilustração 24 – Validações: Tempo de Processamento vs Dimensão da Amostra ..................................... 54

Page 14: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

xii

Ilustração 25 – Validações: Tempo de Registo vs Dimensão da Amostra .................................................. 55

Índice de Tabelas

Tabela 1 – Listagem de Fraudes conhecidas. ............................................................................................... 7

Tabela 2 - Redes Neuronais vs Redes Bayseanas ....................................................................................... 13

Tabela 3 - Constantes de Fraude ................................................................................................................ 37

Tabela 4 – Tempos de Processamento por Elemento ................................................................................ 49

Tabela 5 – Tempos de Processamento Calculados para cada Regra .......................................................... 49

Tabela 6 – Tempos de Processamento por Regra ...................................................................................... 50

Tabela 7 – Carregamentos: Tempos de Processamento, de Registo e de Análise ..................................... 51

Tabela 8 – Resultados de Fraude para Carregamentos .............................................................................. 53

Tabela 9 – Validações: Tempos de Processamento, de Registo e de Análise ............................................. 54

Tabela 10 – Resultados de Fraude para Validações ................................................................................... 56

Tabela 11 – Resultados de Fraude para Regras de Viagem I ...................................................................... 57

Tabela 12 – Resultados de Fraude para Regras de Viagem II ..................................................................... 58

Page 15: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

xiii

Lista de Acrónimos C&A Configuração & Apresentação FCT Fractals LMR Linguagem do Motor de Regras MNT Minotaur MR Motor de Regras RBs Redes Bayseanas RL Reinforcement learning RNs Redes Neuronais SL Supervised learning UL Unsupervised learning

Page 16: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 17: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

1

1 Introdução

1.1 Motivação e Enquadramento

“Acto de má-fé praticado com o objectivo de enganar ou prejudicar” [1] Esta é a definição

de fraude, conceito que se encontra de tal modo inserido na vida das pessoas que, por vezes,

passa totalmente despercebido. Fraude está sub-repticiamente presente em inúmeras

situações do nosso quotidiano, do simples acto de passar um cheque a operações bancárias

mais complexas ou mesmo na gestão de empresas. Não é, então, de estranhar que estes

actos fraudulentos afectem os transportes públicos, em especial nas grandes cidades, onde se

apresentem como um dos meios de transportes mais utilizados. Assim sendo, as operadoras

de transportes públicos tendem a implementar medidas de combate à fraude que vão deste

updates tecnológicos à criação/utilização de equipas e meios especializados para controlo de

fraude.

1.2 Contribuições da Dissertação

Nesta dissertação é feito um enquadramento detalhado da problemática da Fraude nos

Transportes Públicos, foram estudadas as soluções mais usadas para minimizar o impacto

deste fenómeno, quer nesta área quer em áreas semelhantes. Finda esta análise, a solução

proposta para um sistema de controlo de fraude levou ao desenvolvimento de um protótipo que

permite fazer uma abordagem à problemática da fraude nos transportes públicos. Através de

resultados obtidos na validação do protótipo foi possível efectuar quantificações objectivas de

fraude e definir metodologias para realizar análises de fraude.

1.3 Organização da Dissertação

Esta dissertação divide-se em 7 capítulos. Neste primeiro capítulo, “Introdução”,

apresenta-se a motivação e enquadramento deste trabalho, bem como a forma como se

encontra organizado. No capítulo segundo, “Fraude nos Transportes Públicos”, são

apresentados, de forma genérica, os processos de acesso e utilização dos transportes públicos

e a fraude a eles associada. No capítulo terceiro, “Controlo de Fraude: Passado e Presente”, é

apresentado o estudo realizado em relação às principais formas e soluções existentes para

realizar um controlo de fraude. O capítulo quarto, “Controlo de Fraude: Solução Proposta”,

descreve a solução proposta para um sistema de controlo de fraude aplicado aos transportes

públicos. No capítulo seguinte, “Controlo de Fraude: Solução Desenvolvida”, é apresentada a

solução desenvolvida, com base na solução proposta, e os testes de validação dessa solução.

Por fim, são apresentadas as conclusões deste trabalho e os temas para evolução do mesmo.

Page 18: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 19: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

3

2 Fraude nos Transportes Públicos

2.1 Funcionamento dos Transportes Públicos

Para conseguir perceber a problemática da fraude associada aos transportes públicos é

necessário, em primeiro lugar, entender o funcionamento dos transportes públicos nos dias de

hoje.

Nos transportes públicos verifica-se presentemente a tendência para a utilização de

bilhetes electrónicos. Essa tendência resulta no desaparecimento dos bilhetes em papel (títulos

de transporte) por substituição de novos títulos de transporte que sejam o mais prático possível

(bilhetes electrónicos). Se tomarmos por exemplo a cidade de Lisboa, a maioria da rede de

transportes é acedida através do cartão LisboaViva1. Este cartão é um suporte sem contacto

que permite o carregamento de títulos próprios de cada operador, multimodais e combinados

(estes envolvendo vários operadores). Assim, cada utilizador da rede de transportes pode

carregar uma determinada quantidade de contratos (correspondente a títulos de transportes)

cuja validade pode variar consoante o tipo de contrato. A título de exemplo, com este tipo de

soluções é possível um utilizador possuir um contrato com uma validade mensal para um

determinado troço de um operador e, caso deseje, ou seja necessário pode ter na sua posse

outro contrato, distinto, com outro operador, sendo que ambos os contratos residem no

suporte, o cartão comum (LisboaViva por exemplo).

Para que um cidadão possa utilizar um sistema de bilhética como o mencionado no

exemplo anterior as noções principais a reter são as seguintes:

Carregamentos – Corresponde ao acto de adquirir (pela primeira vez ou renovação) um

título de transporte que fica disponível no suporte estipulado (LisboaViva por exemplo).

Pode ser efectuado em vários locais, desde máquinas de venda automáticas, pontos

de vendas dos operadores, quiosques e até via ATM.

Entradas/Saídas – Corresponde ao acto de aceder (ou terminar o acesso) à rede do

operador de transportes. Por norma, o título de transporte é validado à entrada e/ou á

saída da rede.

O sistema aparenta ser deveras simples e cómodo, mas é necessário ter em atenção

que para que esta facilidade seja possível é necessária a existência de um sistema central que,

por norma, implementa sistemas de bilhética electrónica que incluem a gestão de clientes,

emissão e gestão de cartões, gestão de contratos, vendas/carregamentos e carregamentos

embarcados ou remotos, gestão e controlo de vendas e validação, gestão de segurança e

compensação de receitas, para operadores de transportes públicos de passageiros.2

Outra particularidade associada à bilhética electrónica é as inúmeras possibilidades de

utilização em áreas geograficamente dispersas, sem ligação ao servidor central do operador.

1 Mais informações em www.lisboaviva.pt ou www.otlis.com.pt 2 Características tipo de um sistema central, baseadas numa solução da Link Consulting SA – www.link.pt

Page 20: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

4

Continuando com o exemplo mencionado anteriormente, se por exemplo for realizada a

compra de um título de transporte via ATM (sem haver necessidade geográfica de ser realizada

em Lisboa) esse título fica imediatamente disponível, através do suporte (LisboaViva por

exemplo). Contudo, as transacções de carregamento associadas a esta aquisição não são

transmitidas de imediato para o sistema central, isto é, as transacções são efectuadas off-line e

são registadas no sistema central posteriormente (este registo não têm restrições temporais,

podendo portanto ser efectuado um dias ou uma semana após a realização da transacção). As

consequências negativas deste facto, as tecnologias que permitem a existência deste tipo de

sistemas nos transportes públicos e quais as suas vulnerabilidades que, por vezes, são

exploradas pelos utilizadores para cometer actos fraudulentos, são aprofundadas na secção

seguinte.

2.2 Fraude nos Transportes Públicos Com o elevado desenvolvimento dos transportes públicos crescem em simultâneo as

perdas provenientes da exploração das vulnerabilidades que as novas tecnologias introduzem

nos sistemas, assim como as já existentes, mas não colmatadas por estas tecnologias.

Destas novas tecnologias, existe uma que se pode considerar como a que acarretou

maior número de benefícios para os operadores de transportes, nomeadamente a redução da

fraude, quer por parte de passageiros quer de empregados funcionários, a redução dos atrasos

nas entradas para os transportes, a melhoria dos procedimentos monetários (por exemplo,

passou a existir uma maior facilidade de pagamento), a redução dos custos laborais e melhor

aproveitamento de recursos (por exemplo, menos empregados necessários menor número de

funcionários para realizar controlo de acessos que podem ver as suas funções reajustadas a

outras necessidades do operador) e uma maior flexibilidade na divisão de receitas. Essa

tecnologia é o SmartCard [2][3]. Dos benefícios mencionados, pretende-se destacar a redução

dos níveis de fraude, cujos números ainda continuam altos embora possam ser reduzidos. O

uso desta tecnologia não é 100% segura: os algoritmos criptográficos utilizados são facilmente

ultrapassados; se não forem tidos em consideração determinados padrões de uso dos cartões

utilizações atípicas podem passar despercebidas. Assim sendo podemos, desde já, diferenciar

dois problemas distintos: Falta de segurança no processamento3 de dados e Inexistência de

uma análise rigorosa e continuada dos mesmos. O primeiro problema está mais relacionado

com a tecnologia inerente aos SmartCards, com especial ênfase nos algoritmos criptográficos

utilizados pelos mesmos, e na troca segura de dados que circulam entre os diversos sistemas

da rede de transportes (por exemplo: garantir integridade e segurança das/nas transacções

que são enviadas para um sistema central), sendo que este trabalho não se debruça sobre

este problema.

O problema concreto abordado neste trabalho é a falta de análise rigorosa e

continuada dos dados provenientes dos sistemas presentes numa rede de transportes (mais

3 Processamento serve para referenciar todos os passos desde que os dados são gerados até ao momento em que são

armazenados no sistema central.

Page 21: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

5

concretamente das transacções) para que os resultados dessa análise possam ser utilizados

no combate à fraude existente neste meio. O facto de estas análises serem efectuadas sobre

dados armazenados no sistema central de um operador de transportes, mais concretamente as

transacções que são efectuadas off-line e posteriormente transmitidas para esse sistema,

indica que a fraude não pode ser combatida em tempo real, pois pode ainda não existir no

sistema central informação relevante para as análises a efectuar. Assim sendo, essa análise

não é nem em tempo real (Online), nem em tempo perto do real (Near-Online) mas sim

realizada sem qualquer conexão temporal à origem dos dados (Offline). Esta desconexão

temporal pode não possibilitar resposta em tempo útil a situações pontuais de fraude, mas

permite analisar situações frequentes e sempre que desejado.

2.3 Impacto da Fraude nos Transportes Públicos

Nos dias de hoje, na maioria dos sistemas centrais dos operadores de transportes,

onde são armazenadas todas, ou grande parte, das transacções realizadas na sua rede, não é

efectuado qualquer tipo de análise rigorosa e continuada das mesmas. Como tal, está a ser

desperdiçada informação preciosa que poderia e/ou deveria estar a ser utilizada para conseguir

combater as usurpações que existem actualmente, nomeadamente, ao nível das entradas e

saídas de sistemas quer fechados (p.ex.: o metropolitano onde temos acesso controlado à

entrada e à saída por meio de postos de validação4) quer abertos (p.ex.: nos autocarros onde

não exista obrigatoriedade de realizar validações 62[4].

A falta de análise, anteriormente identificada como o problema a resolver, faz com que

não sejam determinados padrões entre as acções fraudulentas de determinados indivíduos e

as características de utilização desses mesmos indivíduos, ou mesmo entre acções

fraudulentas similares.

Por exemplo, se certas transacções com um elevado valor associado, que se desvia

dos padrões de comportamento normais, ocorrem sempre no mesmo dia, à mesma hora e com

origem no mesmo local, estes indicadores comuns deveriam ser tidos em consideração para

prevenir e idealmente impedir que acções semelhantes ocorram. Uma situação real que pode

ser aplicada ao exemplo anterior poderá ser o facto de um empregado passar a carregar

propositadamente mais viagens a um conhecido, sempre no mesmo dia do mês.

Conclui-se portanto que os operadores têm possibilidade de diminuir as perdas

financeiras derivadas de actos fraudulentos bastando para isso adoptar uma postura mais pro-

activa na análise de informação que já está na sua posse.

4 Postos de validação são os dispositivos colocados à entrada e/ou saída de um sistema de transportes (p.ex.:

metropolitano, autocarros, comboios) para registar as viagens dos passageiros.

Page 22: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

6

2.4 Metodologia e Soluções

Sempre existiram, e irão existir, formas de combater este mal da sociedade, podendo

as mesmas ser categorizadas como de prevenção ou de detecção de fraude.

Na prevenção de fraude enquadram-se as medidas que são efectuadas para impedir

alguém de a cometer. Por norma esta prevenção é feita através da obrigatoriedade do

cumprimento de determinadas regras que definem o uso correcto de um dado sistema. No que

respeita à detecção de fraude, esta só tem lugar após a sua ocorrência. É através da busca de

comportamentos anormais, disruptivos ou não autorizados em/de determinados sistemas que

se tenta isolar casos possivelmente fraudulentos. Embora estas noções representem modos

distintos de “atacar” a fraude, usualmente, aparecem em conjunto no combate à mesma, de

forma a obter os melhores resultados possíveis. Como primeira etapa é comum que sejam

estipuladas (tomadas em consideração) medidas específicas para prevenir a ocorrência de

fraude, e somente quando existem casos que estas medidas não conseguem combater

correctamente, entra em acção a fase de detecção, que deverá isolar estes acontecimentos

díspares dos padrões normais de funcionamento dos sistemas. Num sistema ideal pode ainda

existir uma terceira fase onde, após análise rigorosa da informação proveniente da segunda

fase, isto é, aquando da percepção de determinados padrões de fraude, se devem retirar inputs

a ser usados na fase inicial (prevenção). É ainda importante referir que tanto a prevenção como

a detecção de fraude costumam ser feitas quer por equipas especializadas, que tendem a ser

demasiado dispendiosas e quiçá insuficientes para a processar e analisar a elevada

quantidade de dados existentes numa operadora de transportes, quer por sistemas

automatizados (maioritariamente programas de computadores concebidos especificamente

para efeitos de prevenção e detecção de fraude). Não é de estranhar que, nos dias de hoje e

no futuro, as equipas de prevenção e detecção de fraude, pelo menos nesta área de aplicação,

tendam a ser substituídas pelas máquinas. Porém, essa substituição não deverá ocorrer na

totalidade visto existirem situações que somente pessoas qualificadas conseguem detectar.

2.5 Classificação dos Tipos de Fraude

Os principais tipos de fraude, nos transportes públicos, encontram-se descritos na tabela

seguinte, Tabela 1. Estes são os tipos de fraude que a solução proposta visa combater.

Contudo, a complexidade de alguns desses tipos pode dificultar bastante essa tarefa, sendo

por isso plausível que somente alguns destes tipos sejam realmente abordados.

Tipos de Fraude Características

Skimming "Viagens" simultâneas

"Viagens" seguidas com tempos inexequíveis

Tempo de "Viagem" inexequível

Page 23: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

7

Validação e carregamento de um cartão desconhecido

Cartão não registado no sistema é utilizado nas máquinas de carregamento

Cartão não registado no sistema é utilizado nos postos de validação

Validação e carregamento de um cartão inválido

Carregamento de Cartão que apresenta dados diferentes dos registados na BD central

Carregamento Cartão presente em Lista Negra5

Validação de Cartão que apresenta dados diferentes dos registados na BD central

Validação Cartão presente em Lista Negra

Validação de um contrato6 ou perfil desconhecido

Cartão carregado com contrato desconhecido

Cartão com perfil desconhecido

Validação de Cartão com contrato desconhecido

Certificados7 errados Certificados presentes no cartão e nas transacções a ele associadas são desconhecidos

Carregamentos e Validações com equipamentos desconhecidos

Contratos não foram carregados no cartão por um equipamento de um operador conhecido

Cartões não foram validados por um equipamento de um operador conhecido

Sequência de uso de um cartão de forma pouco comum

Entradas consecutivas

Saídas consecutivas

Pares entrada saída consecutivos

Evolução não usual dos contadores Valores dos contadores decrescem

Valores dos contadores crescem demasiado para a sua evolução habitual

Utilização diária não usual de um cartão

Mudança abrupta nos padrões diários de utilização do cartão

Utilização não usual de um cartão num determinado período ou região

Mudança abrupta nos padrões de utilização do cartão em determinados períodos ou regiões

Roubo Mudanças repentinas de hábitos de utilização (carregamentos, zonas de carregamentos, zonas de

utilização)

Utilização de cartão identificado como roubado

Empregados Irregularidades no funcionamento dos postos de validação

Irregularidades na contabilidade

Tabela 1 – Listagem de Fraudes conhecidas.

5 Representa grupos de cartões que deixaram de ser válidos no sistema (p.ex. foram reportados como roubados). 6 São os indicadores do número de contratos “vendidos” pelo SAM (Security Access Module) presente numa

máquina de vendas e/ou os indicadores do nº de validações efectuadas pelo SAM presente uma máquina de

validação 7 Meios e/ou formas de comprovar a autenticidade. (p.ex. Veririfcar se a máquina responsável pela venda de um certo

contrato é fidedigna).

Page 24: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 25: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

9

3 Controlo de Fraude: Passado e Presente

Nesta secção vão ser apresentados algumas das soluções e trabalhos mais relevantes

para a resolução do problema identificado anteriormente. Estas soluções e trabalhos vão ser

apresentados nas subsecções 3.1 e 3.2, respectivamente.

3.1 Soluções Existentes: Transportes Públicos

Nos dias de hoje o problema de fraude, como foi anteriormente referido, não é algo

novo e a cada vez maior consciencialização deste facto por parte das entidades afectadas,

neste caso os operadores de transportes, leva a uma aposta por parte das mesmas em

sistemas denominados anti-fraude.

Destes sistemas anti-fraude aquele que mais se destaca, no ramo dos transportes

públicos, é o “Fraud Detector” da Spirtech [5], que tem como principais características:

- Gestão de uma base de dados central com todos os cartões, bilhetes e últimas

transacções;

- Análise automática de transacções;

- Verificação de assinaturas criptográficas;

- Geração de alertas aquando da suspeita de fraude (e-mail, RSS);

- Análise interactiva com os dados, no caso de existir suspeita de fraude;

- Envio de resultados e/ou relatórios para sistemas de detecção de fraude de outros

operadores, caso existam;

- Arquivo de registos (logs) de todas as operações realizadas;

- Garantia de uma administração remota e segura através de browser web;

Esta solução tem como pontos fortes o facto de conseguir ultrapassar os dois principais

problemas de fraude nos transportes públicos, descritos na secção anterior deste documento,

conseguindo realizar uma verificação criptográfica em simultâneo com uma boa análise de

dados (Consegue combater a totalidade dos tipos de fraude presentes na Tabela 1). Uma

lacuna nesta análise é a não percepção de como é feita efectivamente a detecção da fraude,

isto é, quais os métodos utilizados ou em que métodos esta solução se baseia, contudo é

aceitável que tal não seja revelado visto que esse pode ser o factor diferenciador em relação a

outras possíveis soluções. Para colmatar essa lacuna e visto não terem sido encontradas

outras soluções de relevo na área da detecção de fraude nos transportes públicos, efectuou-se

uma pesquisa de soluções numa área com funcionamento semelhante, os cartões de crédito.

Page 26: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

10

3.2 Soluções Existentes: Áreas Similares

A decisão de estudar soluções de detecção de fraude em áreas similares à dos

transportes públicos, mais concretamente relacionadas com cartões de crédito, deve-se

principalmente ao modo similar de funcionamento entre os cartões de crédito e a tecnologia

mais predominante nos transportes, os SmartCards. Se tivermos ainda em consideração que a

detecção de fraude nesta área se encontra mais desenvolvida (o número de soluções

existentes é de tal maneira elevado e diferenciado que qualificá-las de forma objectiva para

uma comparação conjunta se torna extremamente complexo) e que a associação entre os

cartões de crédito e os operadores de transportes é cada vez mais uma realidade (por

exemplo, cartões bancários com zonas / áreas para utilização em transportes públicos, compra

de títulos de transportes através de Multibanco, utilização de cartões bancários para

pagamento de viagens ocasionais, etc.) esta análise começa a fazer cada vez mais sentido.

Dos sistemas analisados os mais relevantes foram:

- “Minotaur” da empresa Neural Technologies(MNT) [6][7];

- “Fractals” da empresa Alaric (FCT) [8][9];

A razão pela qual estas duas soluções foram as escolhidas prende-se com o facto de

apresentarem abordagens distintas, que se encontram comprovadas, para o mesmo problema.

Embora ambas as soluções tenham em comum a utilização de um motor de regras como

primeira fase de prevenção de fraude, a forma como a detecção vai ser feita é o factor

distintivo. A solução MNT realiza detecção de fraude através de Redes Neuronais (RNs) e

enquanto que a solução FCT utiliza Redes Bayseanas (RBs). As principais características

destas soluções vão ser apresentadas nas subsecções 3.2.1 e 3.2.2, respectivamente.

Antes de se apresentarem as principais características destas soluções há

necessidade de se fazer uma contextualização em relação às RNs e às RBs de forma a poder-

se compreender na totalidade o seu funcionamento. Mais tarde, na subsecção seguinte, alguns

dos trabalhos apresentados vão explorar mais aprofundadamente estas definições.

Tendo como base o funcionamento das redes neuronais biológicas, grupos de

neurónios interligados, foram criados modelos matemáticos ou computacionais que são

denominados de redes neuronais (RNs) artificiais [10][10]. Uma das principais características

das RNs é o reconhecimento de padrões proporcionado pela troca de informação realizada

pelos vários membros da rede (neurónios). Através de um processamento estatístico as RNs

conseguem inferir sobre a probabilidade de determinadas suposições, em relação aos dados

analisados. Assim, podemos ver as RNs como um modelo probabilístico que associa

probabilidades a padrões. O modo habitual de funcionamento das RNs consiste na geração de

outputs através do processamento de inputs, ou seja, existem dois extremos da rede, entrada e

saída, e pele meio existe uma rede complexa de “neurónios escondidos” que vão marcando os

Page 27: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

11

inputs à medida que os processam, no final os outputs são gerados de acordo com as

marcações que os inputs sofreram. A Ilustração 1 é um exemplo simples de RNs.

Ilustração 1 - Exemplo de Rede Neuronal8

Um dos factores de maior interesse neste método é o facto de os “neurónios

escondidos” de marcação serem dotados de aprendizagem, isto é, alteram a sua forma de

marcar inputs consoante as suas acções passadas ou conhecimento adquirido dos seus

vizinhos. Os possíveis meios de aprendizagem por parte dos RNs vão ser apresentados com

mais pormenor na subsecção seguinte.

Em relação às RBs estas funcionam de forma semelhante às RNs só que os nós

equivalentes aos “neurónios escondidos” têm uma probabilidade associada, logo é mais fácil

saber a razão pela qual um determinado input originou um determinado output [11][12].Quando

aplicamos RBs na resolução do problema da fraude nos transportes públicos, pretendemos

descobrir a probabilidade de fraude dadas determinadas provas. Todavia, através de uma

análise histórica dos dados vai-se apenas conseguir determinar a probabilidade de uma dada

prova dado o facto que esta representa fraude. De acordo com Bayes, devem usar-se

probabilidades a priori para calcular a probabilidade posterior desejada (Este processo chama-

se inferência probabilística). Na fórmula 1 está representada esta forma de abordar o problema,

segundo Bayes, através de uma expressão de probabilidade condicional.

Fórm.1. Teorema de Bayes (contexto de fraude e provas)

À semelhança das RNs, as RBs são dotadas de aprendizagem, que consiste numa

actualização das probabilidades associadas a cada nó, mas, tal como dito anteriormente, este

tema será abordado com maior detalhe na subsecção seguinte, onde também vão ser

apresentados exemplos práticos de RBs.

De seguida, são enumeradas as principais características das soluções MNT e FCT e

vai ser realizada uma abordagem crítica das mesmas. Por fim, nesta subsecção é apresentado

um estudo comparativo de RNs e RBs.

8 Ilustração retirada de http://en.wikipedia.org/wiki/Artificial_neural_network em 03-01-2009

Page 28: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

12

3.2.1 Características da solução MNT

As principais características da solução MNT são as seguintes:

- O uso de três técnicas distintas de detecção de fraude que podem ser aplicadas a

qualquer tipo de eventos ou dados do cliente; A maioria dos sistemas usa apenas

motores de regras e controlos de threshold de fraude, mas esta solução utiliza mais

duas técnicas (que podem ser vistas como um todo), para melhorar assim taxas de

sucesso e os rácios de falsos positivos, que são os modelos neuronais

comportamentais e análises preditivas neuronais;

- A capacidade de aceitar e analisar dados provenientes de qualquer sistema que

pertença a empresa;

- Não existe nenhuma restrição teórica ao número de regras que se podem aplicar;

- A solução pode ser adquirida por um preço associado ao desempenho da mesma.

Podemos, então, caracterizar como factor distintivo desta solução o uso de variadas

técnicas de detecção de fraude. Um outro ponto diferenciador desta solução é a forma como

ela pode ser comercializada, pelo facto do preço de aquisição estar associado à sua taxa de

sucesso e colocando, assim, alguma segurança nos compradores visto funcionar como

comprovativo de qualidade da solução. Um ponto negativo desta solução, ou pelo menos dos

dados fornecidos sobre ela, é o facto de se basear demasiado na prevenção e na detecção da

fraude, tal como acontecia na solução da Spirtech, que embora se saiba ser realizada por uso

de RN's, não é revelada pormenorizadamente.

3.2.2 Características da solução FCT

As principais características da solução FCT são as seguintes:

- O facto de ser uma framework unificada (ver figura 1 dos Anexos), capaz de detectar

qualquer tipo de fraude no âmbito dos cartões de crédito;

- Um sistema de regras poderoso que possibilita uma rápida e eficaz criação e

avaliação de regras;

- Uma detecção contínua que se optimiza através de estratégias que se adaptam e

optimizam automaticamente;

- Possibilidade de receber alertas provenientes de outras aplicações anti-fraude;

- Pode operar quer em tempo real, quer em tempo quase real ou offline;

- Possibilita uma personalização de estratégias de detecção específicas de padrões de

fraude e utilização.

Sobre esta solução, um dos seus pontos fortes é o facto de funcionar não como um

simples produto mas como uma framework unificada que possibilita a integração de variadas

funcionalidades (regras, alarmes, processamento de inputs de outros sistemas de fraude, etc.).

Page 29: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

13

Outro factor interessante é os diferentes modos de operação (tempo real, quase real (near-

offline) e offline) que conferem a flexibilidade e adaptabilidade desejável para este tipo de

sistemas. Mais uma vez esta solução peca pela pouca informação revelada em relação ao

método de prevenção utilizado (RBs).Contudo, para mostrar que a sua solução FCT era, de

facto, melhor que aquelas que usam RNs, a empresa Alaric apresentou um estudo comparativo

entre o uso de RNs e RBs [13].

Na Tabela 2 são apresentadas as principais diferenças entre as RNs e RBs, do ponto de vista

da empresa Alaric.

Redes Neuronais Redes Bayseanas

Transparência dos

valores de percentagem

de fraude retornados

Não é imediatamente

perceptível o porquê de

determinados valores de

percentagem de fraude

terem sido retornados

È extremamente

perceptível o porquê de

determinados valores de

percentagem de fraude

terem sido retornados

Tamanho dos blocos de

informação a analisar

Somente para tamanhos

elevados se conseguem

treinar adequadamente

Funcionam quer para

tamanhos pequenos,

médios ou grandes,

embora idealmente para os

pequenos e médios.

Tempo de treino

Processo demorado e

possivelmente dispendioso

porque toda a rede tem de

ser actualizada

Processo rápido e pouco

dispendioso

Adaptabilidade

É complicado realizar

updates em tempo real

pois estes têm de ser

propagados por toda a

rede, para que seja

realizado um treino global

É fácil fazer updates em

tempo real, sendo o

modelo automaticamente

reajustado sem que tenha

de existir um treino global

Tabela 2 - Redes Neuronais vs Redes Bayseanas

É importante salientar que, embora na Tabela 2 seja referido que as RN's são

denotadas negativamente, em especial nos tempos de treino elevados, e, portanto, mais

Page 30: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

14

dispendiosos, isso não quer dizer que estas não sejam igualmente eficazes e eficientes na

prevenção de fraude.

Como já foi referido anteriormente o assunto da aprendizagem quer das RNs quer das

RBs vai ser apresentado detalhadamente na subsecção seguinte, bem como outras

características e exemplos destes métodos.

3.3 Trabalhos Relevantes

Nesta subsecção vão ser apresentados alguns trabalhos que, após a análise -crítica

realizada inicialmente a soluções existentes para prevenir e detectar fraude, se revelaram

extremamente importantes para melhor compreender estas soluções, em especial os métodos

de detecção (RNs e RBs) por elas utilizados. Deste modo, o trabalho de maior relevo foi uma

tese de mestrado [14] onde são apresentadas várias técnicas que podem ser usadas para

combater fraude, centrando-se nas RNs e RBs e nas suas características de aprendizagem.

Nesse trabalho são apresentados os três paradigmas de aprendizagem associados a estes

métodos, sendo eles: “Unsupervised learning” (UL), “Reinforcement learning” (RL) e

“Supervised learning” (SL). É desde já importante referir que estes paradigmas se aplicam a

qualquer um dos métodos em questão, podendo a sua aplicabilidade estar dependente dos

algoritmos utilizados.

O paradigma UL [15] é caracterizado por, através da recepção dos dados (inputs) e de

uma função de custo, tentar minimizar (ou por vezes maximizar) essa função de custo. Esta

função de custo pode ser qualquer função que relacione os inputs e os outputs da rede. Ela

deve ser independente da tarefa desempenhada pelo modelo e das presunções efectuadas a

priori (as propriedades implícitas do modelo, os seus parâmetros e as variáveis observadas).

Um exemplo deste paradigma é o seguinte:

- Dados: ;

- Modelo: f( ) = (onde é uma constante) ;

- Função de custo: .

A minimização do custo irá resultar num valor de que será igual à média dos dados.

A função de custo presente neste exemplo é relativamente simples, porém se o modelo

apresentado fosse um modelo estatístico, essa função já poderia depender da probabilidade a

posteriori do modelo dado os seus dados. Quando se trata de UL, não existem quaisquer pistas

sobre o(s) output(s) correcto(s).

Resta dizer, sobre este paradigma, que é aplicável a problemas gerais de estimativas

que envolvam aplicações de/com clustering e estimativas de distribuições, compressões e

filtragens estatísticas.

Por norma, quando se fala de RL [16][17] os dados, ao contrário do paradigma anterior,

não são fornecidos, sendo gerados em instantes temporais variados por meio de uma

interacção entre um agente e o meio envolvente do modelo. Num dado instante de tempo (t), o

agente executa uma determinada acção (yt) e o meio envolvente gera uma observação (xt) e

Page 31: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

15

um custo instantâneo (ct), de acordo com uma qualquer dinâmica (geralmente desconhecida).

Depois, o objectivo será descobrir uma política/padrão para seleccionar acções de forma a

minimizar uma medida do custo a longo prazo, ou seja, o custo acumulado esperado. Neste

paradigma, o meio envolvente é tipicamente formulado como um estado processo de decisão

de Markov finito [18], e os algoritmos de RL para este contexto estão relacionados às técnicas

de programação dinâmicas. As probabilidades de transição de estado e as probabilidades de

recompensa no processo de decisão de Markov finito são tipicamente estocásticas mas

estacionárias ao longo do problema.

As principais aplicações deste paradigma são o controlo de robôs, telecomunicações,

jogos (xadrez).

O último paradigma apresentado é o SL [19]. Este caracteriza-se por proporcionar uma

aprendizagem através de uma função determinada com a ajuda de dados de treino. Esses

dados de treino são compostos por pares de inputs (geralmente vectores – conjuntos de

múltiplas variáveis) e dos outputs desejados. Por sua vez, a função resultante deste processo

de aprendizagem pode ser um valor contínuo (quando se trata de uma modelo de análise

regressiva) ou pode servir para prever uma qualquer classificação para os inputs (Pensando no

problema abordado neste trabalho seria a classificação dum acto como fraudulento ou não).

Para que um sistema, que se reja pelo paradigma SL, o faça correctamente, tem de ser capaz

de prever as funções para quaisquer dados, após um período inicial onde recebe e processa os

dados de treino. Tal objectivo só é alcançável se, através de quaisquer dados processados, for

possível fazer uma generalização que permita inferir sobre situações não previstas até ao

momento.

Um bom exemplo de um método que siga este paradigma é uma RN que use o

algoritmo de propagação inversa, também denominado de propagação do erro (Ilustração 2).

Ilustração 2- Diagrama de Blocos de “Supervised Learning” [14]

Supondo que tanto o “professor” como a RN estão expostos a um vector de treino (que

descreve o estado do meio envolvente) e que o “professor” tem conhecimento prévio dos

resultados esperados (Do ponto vista de um sistema de detecção de fraude, o “professor” seria

Page 32: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

16

um operador deste sistema, tendo assim conhecimento de quais as situações fraudulentas e

aquelas que não o são – excepção para casos novos de fraude e que portanto são

desconhecidos para o operador) podemos dizer que essa resposta esperada será a acção

óptima resultante como output da RN. Os parâmetros da rede (“neurónios escondidos”), que

qualificam os inputs para gerar os outputs, vão ser reajustados pela combinação de influências

do vector de treino e do sinal de erro. O sinal de erro corresponde à diferença entre a resposta

desejada (output ideal) e a resposta actual (output actual) da RN. Este processo de

aprendizagem é realizado iterativamente, passo a passo, tendo como um dos objectivos finais

a substituição do “professor” pela própria RN, ou seja, a RN ficará dotada de auto

aprendizagem [20].

No geral, todas as situações onde tanto os inputs como os outputs de um componente

podem ser facilmente percebidos pode ser denominada de SL.

Para concluir, no trabalho referido [14], as ideias apresentadas anteriormente de que as

RBs podem ser usadas para combater a fraude, em especial quando a quantidade de dados é

reduzida, e que as RNs possuem tempos de aprendizagem lentos, mas que quando

correctamente treinadas apresentam taxas de sucesso (falsos positivos vs fraude efectiva) e

tempos de processamento extremamente bons, são aqui realçadas.

Page 33: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

17

4 Controlo de Fraude: Solução Proposta

Como já foi mencionado, uma solução completa que vise solucionar o problema global

de fraude deve reger-se por três ciclos base:

(1) Prevenção,

(2) Detecção,

(3) Aprendizagem.

Assim sendo, a solução proposta neste trabalho tem estas três fases representadas em 2

componentes, tendo depois um outro componente, que podemos dizer como final, de

apresentação de resultados. Nas subsecções seguintes vão ser explicados cada um dos

componentes em pormenor, bem como os passos necessários para que o processo de

prevenção e detecção de fraude ocorra com os resultados expectáveis.

4.1 Motor de Regras

O primeiro componente da solução proposta, responsável pela etapa de prevenção de

fraude, é denominado por Motor de Regras (MR). Este vai ser o responsável por filtrar, numa

etapa inicial, os possíveis actos fraudulentos.

Ele é composto por um conjunto de regras que se encontram adaptadas à realidade do

tipo de fraude que se pretende prevenir. Para essa adaptação, foi necessário um esforço inicial

de identificação dos tipos de fraude conhecidos nos transportes públicos e quais as suas

características distintivas, sendo que na tabela 1, anteriormente apresentada, se encontram os

resultados desse esforço. Com base neste quadro devem ser criadas as regras iniciais do

sistema, estando assim completa a fase inicial de prevenção. No entanto, estas regras estão

sujeitas a mudanças (adaptabilidade), visto a solução proposta ter uma fase de aprendizagem

onde são gerados novos inputs para essas regras de acordo com os outputs da componente

de análise (descrita em pormenor na subsecção seguinte). Por outro lado, estas mudanças

podem advir de uma reajustamento de regras e/ou criação de novas regras por parte dos

utilizadores da solução através do componente denominado apresentação de resultados. Esta

adaptabilidade corresponde às acções 3 e 5 da Ilustração 3, onde está representado o fluxo

base de operação da solução.

Ilustração 3 - Fluxo base de operação da solução.

Page 34: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

18

Possíveis cenários de como este componente vai funcionar na realidade são apresentados

de seguida:

Cenário 1:

- Uma ou mais transacções entram no sistema;

- São processadas as regras definidas (No momento de entrada da transacção estas

regras podem ser as inicias do sistema, já terem sofrido modificações ou serem novas

regras);

- O resultado das regras vai ser transmitido para o componente de análise.

Cenário 2:

- Transacções que já tenham sido marcadas como <indefinidas>9 reentram no

processo de prevenção de fraude caso este tenha sofrido alterações (alteração nas

regras usadas na classificação inicial dessas transacções);

- São processadas as regras definidas (diferentes das inicialmente utilizadas para

marcar estas transacções);

- O resultado das regras vai ser transmitido ao componente de análise.

Cenário 3:

- Sempre que haja modificação de regras que tenham sido utilizadas para quantificar

transacções no estado <não fraude> essas transacções reentram no processo de

prevenção de fraude;

- São processadas as regras associadas a esta transacção;

- O resultado das regras vai ser transmitido ao componente de análise.

Uma outra particularidade deste componente é a atribuição de graus de prioridade às

regras. Vão existir as chamadas regras críticas (com maior prioridade) as quais por si só,

quando violadas, representam situações fraudulentas. Depois, temos outro conjunto de regras

de prioridade normal que vão gerar os inputs normais para o componente seguinte. Outra

característica importante de cada uma das regras é o registo, somente para efeitos estatísticos

e de apresentação de resultados, do número de transacções que violaram uma determinada

regra e foram consideradas como fraudulentas ou não. O operador poderá querer verificar a

aplicabilidade da regra através da verificação do número de transacções que violaram uma

determinada regra mas que, no final do processo de prevenção e detecção, não foram

consideradas fraudulentas.

Na Ilustração 4, é apresentada uma estrutura típica das regras aqui descritas.

Podemos verificar a presença de campos que representam a regra, o seu nível de prioridade e

as contagens anteriormente referidas.

9 Na subsecção seguinte são explicados detalhadamente os valores resultantes do Modelo de Análise

Page 35: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

19

Ilustração 4 - Estrutura típica de uma Regra de Decisão

Este será o componente responsável pelo primeiro passo desta solução, gerando os

inputs necessários para que o segundo componente consiga quantificar a fraude.

4.2 Modelo de Análise

O segundo componente da solução proposta é o Modelo de Análise (MA), sendo este o

componente responsável pela detecção de fraude.

Com o uso de RNs e RBs, através de um faseamento do modo de operação deste

componente e, considerando os inputs provenientes do primeiro componente (regras), vai ser

atribuído um “nível de fraude” à transacção em questão. Este “nível de fraude” corresponde a

um de três possíveis valores: <fraude>, <não fraude> e <indefinido>. Os dois primeiros são os

mais óbvios correspondendo, respectivamente, a situações em que as transacções são

classificadas como fraudulentas, ou porque houve uma regra crítica na qual estas foram

identificadas ou porque foi detectado um novo padrão de fraude pelo MA, e situações em que

as transacções respeitam o funcionamento considerado normal do sistema. Por fim, uma

transacção será classificada como <indefinido> quando, durante a segunda fase do modo de

operação deste componente, explicada em detalhe na seguinte subsecção, os resultados do

MA através de RNs e de RBs diferir, ou seja, quando a transacção for marcada como <fraude>

e <não fraude> em simultâneo. É ainda importante referir que, tal como foi referido na secção

3.1, os outputs provenientes quer das RNs quer dos RBs são probabilidades de fraude, sendo

depois ajustadas a estes estados, de acordo com um valor mínimo de probabilidade da

transacção ser fraudulenta, denominado threshold de fraude. Sempre que uma transacção,

terminado o processo de detecção de fraude, apresente uma probabilidade associada superior

a este threshold, ela vai ser qualificada como <fraude> antes de ser transferida como resultado

para o componente seguinte. Na Ilustração 5 está representada uma exemplificação do

componente aqui descrito. Nela mostra-se que os seus inputs são influenciados pelo

componente MR e que os seus outputs são transferidos para o componente “Configuração &

Apresentação” (C&A). Para que os inputs originem os outputs, estes vão ter de ser

quantificados probabilisticamente ao logo de toda a rede e no final, de acordo com o valor de

threshold de fraude, escolher o estado da transacção.

Page 36: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

20

Ilustração 5 - Exemplificação do MA

Foi anteriormente referido que a solução iria utilizar quer RNs quer RBs neste

componente e que tal ia ser conseguido através de um faseamento do seu modo de operação.

Na subsecção seguinte essa informação é aprofundada.

4.2.1 Fases do Modelo de Análise

Do estudo realizado e apresentado no capítulo anterior, concluiu-se que optar ou por

RNs ou por RBs e ignorar por completo o outro modo de análise seria um grande erro. Como

tal, a solução aqui proposta, mais concretamente o componente descrito nesta secção, foi

pensada de forma a combinar o uso de RNs e RBs para conseguir, assim, maximizar a

detecção de fraude.

Vimos anteriormente que RNs seriam ideais para detectar fraude em sistemas com

uma enorme quantidade de dados, ou seja, um sistema central de um operador de transportes

já em completo e prolongado funcionamento (quando as transacções diárias estiverem na

ordem das dezenas de milhar) Então se este componente tivesse como base somente RNs nos

primeiros tempos de funcionamento não estaríamos a realizar um combate à fraude correcto ou

mesmo real. Para colmatar esta falha o uso das RBs pode ser considerado como obrigatório.

Assim sendo, optou-se por separar o funcionamento deste componente em 3 fases distintas:

arranque do sistema, migração e estabilização. A cada uma destas fases corresponde a

utilização de um método de análise diferente, à excepção da fase intermédia onde os dois

métodos vão ser utilizados em simultâneo. No arranque do sistema, como o volume de dados

ainda vai ser de tal forma pequeno que não se justificava o uso de RNs, vão ser usadas RBs

para inferir sobre fraude. Na segunda fase, quando o volume de dados atingir um determinado

limite, as RNs vão ser activadas passando a funcionar em simultâneo com as RBs, devendo

esta operação em simultâneo durar o tempo necessário para uma correcta aprendizagem por

parte das RNs. Na fase final somente as RNs se vão encontrar em funcionamento, ou, caso o

operador deseje, a fase intermédia ou mesmo a inicial pode ser retomada.

Page 37: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

21

Quando uma transacção for quantificada pelo componente aqui descrito, vai ser

transferida para o componente C&A responsável, em parte, pela apresentação do resultado da

quantificação aqui realizada. Na secção seguinte descreve-se este componente.

4.3 Configuração & Apresentação

O “último” componente da solução apresentada é aquele que torna todo o processo de

prevenção e detecção de fraude visível e acessível aos operadores. É através deste

componente que vai ser possível consultar os resultados da quantificação de fraude realizada

pelos outros dois componentes, decidindo o que fazer com eles. Essa decisão pode passar

pela refutação de resultados, isto é, quem tem a última decisão sobre se uma transacção é

fraudulenta ou não são os operadores podendo contradizer a quantificação gerada pelo

segundo componente (MA). Outra opção de decisão é o reajustamento do primeiro

componente (MR), ou seja, alterar regras existentes, ou a introdução de novas regras. Estas

duas principais funcionalidades são descritas mais detalhadamente nas subsecções seguintes.

4.3.1 Apresentação de Resultados

Esta funcionalidade vai ser uma das mais importantes de toda a solução visto ser

através dela que os operadores podem visualizar os resultados da prevenção e detecção de

fraude. Como tal, ela vai, através de uma interface web, apresentar uma lista com informação

resumida de transacções que foram quantificadas como fraudulentas, ou aceder a esta lista

após uma primeira visualização de gráficos relativos à fraude, dando depois a possibilidade de

decidir o que realizar com as mesmas. Algumas das acções disponíveis vão ser:

1 - Visualizar Detalhes, aqui podem ser consultadas as regras que a transacção violou,

a percentagem de fraude que lhe foi atribuída, entre outros aspectos;

1.1 – Realiza Nova Análise, possibilidade de realizar uma análise “instantânea” a uma

transacção, tendo em conta as regras que se encontram activas;

2 - Refutar a quantificação, possibilidade de alterar o estado da transacção de <fraude>

para <não fraude>;

3 - Gerar alertas, possibilidade de enviar alertas (emails, sms, etc.) para as pessoas

designadas no sistema como responsáveis de fraude;

4 - Verificar Regras, possibilidade de visualizar quais as regras que a transacção em

causa violou;

4.1 – Seleccionar Regras, possibilidade de alterar as regras anteriormente

seleccionadas;

5 - Gráficos de Fraude, possibilidade de visualizar gráficos que reúnem informação

variada sobre transacções fraudulentas e não fraudulentas.

Page 38: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

22

Na Ilustração 6 estão representadas, nalguns fluxos de utilização, as acções anteriormente

descritas.

Ilustração 6 - Alguns Fluxos de utilização do componente C&A

Caso uma transacção viole um determinado limite de regras passa a ser considerada

como extremamente fraudulenta e os alertas mencionados anteriormente são gerados

automaticamente. A funcionalidade de “Seleccionar Regras” mencionada atrás vai ser descrita

com maior detalhe na subsecção seguinte.

4.3.2 Configuração

Esta funcionalidade vai permitir aos operadores consultarem as regras que estão a ser

usadas, definirem o nível dessas regras, criarem novas regras ou modificarem as já existentes,

configurando assim o sistema.

Através de uma interface web, os operadores podem pesquisar quais as regras que

estão a ser utilizadas no seu sistema de prevenção de fraude. De seguida podem proceder a

alterações dessas regras, modificando qualquer um dos seus constituintes (Ilustração 4). Uma

outra opção é a criação de regras novas, devendo nessa altura ser escolhido o nível de

prioridade a atribuir à regra, a sua prioridade e outras características.

Com a descrição deste componente e das suas funcionalidades, termina a descrição da

solução apresentada. Resta apenas dizer que esta solução tem como finalidade a integração

num módulo de Segurança e Fraude já existente que irá complementar as funcionalidades

desta solução (em especial a análise criptográfica de transacções, assinaturas digitais e

certificados, e os problemas que dai resultam) originando essa junção um novo módulo, mais

completo. Para finalizar esta secção é apresentada na Ilustração 7 aquele que se pode

denominar de overview da solução proposta.

Page 39: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

23

Ilustração 7 - Overview da Solução

Page 40: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para
Page 41: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

25

5 Controlo de Fraude: Solução Desenvolvida

Tendo em conta a complexidade da solução proposta, juntamente com a janela

temporal existente para a realização deste trabalho, optou-se por uma implementação e

optimização parcial dessa solução de modo a que os resultados obtidos e a validação fossem o

mais confiáveis possíveis. Assim sendo, dos três componentes propostos foram somente

implementados, validados e optimizados os componentes MR e C&A, ficando para trabalho

futuro o componente MA. Contudo, durante o desenvolvimento da solução a forma como esta

tinha sido inicialmente descrita foi algo alterada. Ao longo deste capítulo vão ser detalhadas as

alterações efectuadas à solução proposta em simultâneo com a forma adoptada para a

implementação e funcionamento dos vários componentes.

5.1 Arquitectura dos Dados

O modelo de dados que foi desenvolvido para poder realizar a implementação

respectiva a este trabalho é apresentado nas figuras seguintes.

Ilustração 8 - Tabelas directamente relacionadas com o MR

Page 42: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

26

Ilustração 9 - Tabelas utilizadas para guardar os resultados das análises e as configurações do sistema

Ilustração 10 - Vista utilizada para apresentar os resultados globais das análises

As tabelas apresentadas servem para modelar as regras necessárias para o correcto

funcionamento do componente MR (Ilustração 8), para guardar os resultados da análise de

fraude e os valores de variáveis utilizadas durante essa análise ou durante a apresentação

desses resultados (Ilustração 9) e para obter as informações gerias dos resultados das

análises efectuadas (Ilustração 10). Ao longo da discrição dos vários componentes, nas

secções seguintes deste capítulo, estas tabelas vão ser referenciadas e a sua utilização vai ser

explicada em detalhe.

Page 43: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

27

5.2 Componentes: Motor de Regras

Este componente, MR, vai ser o principal responsável pela detecção de fraude. Vai ser

através dele que, numa primeira fase, se vão classificar as transacções analisadas de acordo

com o seu grau de sub-repção. Aquando do término da sua acção, em relação a uma

determinada transacção, esta vai ser classificada com um dos possíveis estados de fraude

identificados anteriormente onde na solução proposta inicialmente, nem sempre se quantificava

fraude neste componente, sendo isso agora um requisito essencial. Esta classificação das

transacções como fraudulentas ou não fraudulentas após o término da acção deste

componente foi uma das alterações efectuadas em relação à solução proposta. Para conseguir

realizar a sua função este componente baseia-se na interpretação de um conjunto de regras

definidas numa linguagem própria, parametrizadas no componente C&A e aplicadas às

transacções em análise.

O principal pilar deste componente é o conjunto de regras, que servem para identificar

situações fraudulentas, e a sua interpretação face a uma determinada transacção. Nesta

secção vão ser apresentadas essas regras, mais concretamente a forma como estas foram

implementadas seguido da sua interpretação para análise de fraude.

5.2.1 Motor de Regras: Implementação das Regras

O conceito de regra é representado no modelo de dados pelas tabelas presentes na

Ilustração 8. Ai estão presentes as várias tabelas que definem ou se relacionam directamente

com uma regra. Essas tabelas são as seguintes:

RULE_TYPES, Esta tabela contém os possíveis tipos aos quais uma regra pode

pertencer, sendo que as possibilidades são as seguintes:

o Tipo 1- Regra para Validações;

o Tipo 2- Regra para Carregamentos;

o Tipo 3- Regra para Validações e Carregamentos;

RULE_LEVELS, Esta tabela contém os possíveis níveis de prioridade que podem ser

atribuídos a uma regra, sendo que as possibilidades são as seguintes:

o Low – Nível mais baixo; Representado pelo número um;

o Normal – Nível intermédio; Representado pelo número dois;

o High – Segundo nível mais prioritário; Representado pelo número três;

o Critic – Nível mais prioritário; Representado pelo número quatro;

RULE_ELEMENTS, Esta tabela contém os vários elementos que podem ser usados

pela Linguagem do Motor de Regras (LMR), descrita na próxima subsecção, para

definir uma regra. Um elemento é definido por uma query sql, pela enumeração dos

argumentos utilizados nessa query, pela enumeração dos elementos de retorno dessa

Page 44: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

28

query, pelo tipo de regra onde esse elemento pode ser aplicado e por um nome

descritivo do elemento.

RULES, Esta tabela contém as várias regras que parameterizadas para utilização pelo

MR. Cada regra é identificada pelo seu nome, definida através da LMR, tem uma

prioridade associada (valores possíveis presentes na tabela RULE_LEVELS), esta

associada a um tipo de regra (valores possíveis presentes na tabela RULE_TYPES) e

pode estar activa individualmente, activa como parte de um grupo de regras ou

inactiva.

RULE_GROUPS, Esta tabela contém os grupos aos quais uma regra pode pertencer.

O intuito dos grupos de regras é para que se possam realizar análises mais

sistemáticas e menos pesadas, seleccionando amostras que coincidam melhor com o

tipo de regras em questão. Este matching deve ser feito não só para melhorar os

tempos de processamento mas também para que os resultados obtidos sejam os mais

fidedignos possíveis. Os grupos definidos para esta implementação foram os

seguintes:

o Card Rules – Grupo ao qual devem pertencer todas as regras que validem

informações referentes aos cartões, meio de suporte, utilizados nas

transacções em análise;

o Contract or Profile Rules – Grupo ao qual devem pertencer todas as regras

que validem informações referentes aos contratos ou perfis, utilizados nas

transacções em análise;

o Operator Rules – Grupo ao qual devem pertencer todas as regras que validem

informações referentes aos operadores, presentes transacções em análise;

o Trip Rules – Grupo ao qual devem pertencer todas as regras que validem

informações referentes a viagens e modos de utilização, referentes às

transacções em análise;

o No Group – Grupo ao qual devem pertencer todas as regras que não reúnam

condições necessárias par pertencer aos demais grupos;

RULE_TO_RULE_GROUPS, Nesta tabela são realizadas as associações entre as

várias regras e o grupo de regras a que pertencem. Para tal é necessário o

identificador da regra, o identificador do grupo, o tipo de regra e um campo que indica

se a relação se encontra activa ou inactiva (se deve ser usada durante o

processamento de regras de grupo ou não).

De seguida vai ser descrita em pormenor a LMR, vão ser apresentados exemplos da

implementação de algumas das regras usadas na implementação e por fim será apresentado o

Page 45: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

29

mapeamento entre as regras implementadas e os tipos de regras identificados na fase inicial

deste trabalho (Tabela 1).

5.2.1.1 Implementação das Regras: Linguagem Motor de Regras

A definição de uma regra através da LMR deve seguir um formato específico, podendo

somente ser utilizados determinados elementos. Os elementos que podem ser utilizados para

definir uma regra são os seguintes:

Elementos registados na tabela RULE_ELEMENTS, cujo modo de utilização via

LMR vai ser detalhado numa fase posterior;

Outras Regras, através da simbologia R(id), onde id corresponde ao

identificador da regra referenciada;

Constantes, através da simbologia C(nome), onde nome corresponde ao nome

da constante cujo valor se pretende utilizar;

Distâncias entre Paragens, através da simbologia SD(paragem1|paragem2),

onde paragem1 corresponde ao identificador da paragem de origem e

paragem2 corresponde ao identificador da paragem de destino;

Operadores aritméticos, comparativos, de atribuição e lógicos que podem ser

utilizados da seguinte forma:

o +, Representa o operador aritmético de adição;

o -, Representa o operador aritmético de subtracção;

o *, Representa o operador aritmético de multiplicação;

o /, Representa o operador aritmético de divisão;

o <, Representa o operador comparativo “menor que”;

o >, Representa o operador comparativo “maior que”;

o <=, Representa o operador comparativo “menor ou igual que”;;

o >=, Representa o operador comparativo “maior ou igual que”;;

o <>, Representa o operador comparativo “diferente que”;

o ==, Representa o operador comparativo “igual a”;

o =, Representa o operador de atribuição;

o &&, Representa o operador lógico AND (e);

o ||, Representa o operador lógico OR (ou);

Números;

Valores booleanos, que devem ser representados da seguinte forma:

o true – para o valor booleano Verdadeiro;

o false – para o valor booleano Falso;

Estes elementos devem ser utilizados para construir uma expressão a avaliar e as

respectivas acções caso o resultado dessa avaliação seja verdadeiro ou falso. Para tal, a

estrutura base de uma regra tem de ser “ [expressão] TRUE acção FALSE acção ”, onde

Page 46: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

30

expressão pode ser uma qualquer combinação dos elementos referidos anteriormente, desde

que o resultado dessa combinação seja um valor booleano e acção pode ser uma qualquer

combinação dos elementos referidos anteriormente. É importante referir que a expressão deve

estar sempre delimitada por parêntesis rectos, vulgos [ e ], e que pode ser constituída por

conjuntos de expressões, desde que cada uma delas também se encontre delimitada por

parêntesis rectos. Uma expressão composta poderia ser definida da seguinte forma:

[[expressão] operador [expressão]].

Como já tinha sido referido anteriormente, alguns dos possíveis elementos usados pela

LMR para a definição de uma regra são os elementos registados na tabela RULE_ELEMENTS.

Esses elementos podem ser utilizados na definição de uma regra através das seguintes

formas:

Rule Element (re) – Significa que o(s) objecto(s) de retorno da query correspondente

ao elemento definido na tabela RULE_ELEMENTS tabela vão ser utilizados no

processamento da regra sem qualquer alteração; Isto é, se o objecto retornado for um

número é processado como um número, se o objecto for um nome é processado como

texto, entre outros;

Rule Information (ri) – Significa que o retorno da query correspondente ao elemento

definido na tabela RULE_ELEMENTS tabela vai ser manipulado de forma a devolver

somente true (caso seja retornado algum objecto) ou false (caso não seja retornado

qualquer valor);

Rule Date (rd) – Significa que o retorno da query correspondente ao elemento definido

na tabela RULE_ELEMENTS tabela vai ser manipulado de forma a devolver o valor de

uma data em milissegundos;

A forma como estes elementos são utilizados na LMR é a seguinte:

re(objectId,elementId;arg1;arg

N-1;arg

N) (usando um Rule Element para exemplo, sendo que é

exactamente igual para os outros elementos identificados anteriormente). Onde objectId

corresponde ao identificador do objecto de retorno que se deseja utilizar, elementId

corresponde ao identificador do elemento a utilizar (vulgo, identificador da tabela

RULE_ELEMENTS), e os valores de arg1 a arg

N correspondem aos argumentos necessários para

a query do elemento em questão. Para melhor compreender esta situação apresenta-se de

seguida o seguinte exemplo onde o elemento em questão se encontra registado na tabela

RULE_ELEMENTS como apresentado na tabela seguinte.

RULE_ELEMENT_ID RULE_ELEMENT_DISPLAY_NAME RULE_ELEMENT_QUERY

1 Elemento de Exemplo 1 select nome, data_nascimento

from cliente where cliente_id = ?

RULE_ELEMENT_ARGUMENTS RULE_ELEMENT_PROPERTIES RULE_TYPE_ID ACTIVE

client_id nome;data_nascimento 4 1

Page 47: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

31

Assim, se quisermos utilizar este elemento na definição de uma regra. Tal pode ser feito

nas seguintes formas:

re(1,1;clientId), esta utilização do elemento corresponde à obtenção do nome do

cliente identificado com o valor clientId;

re(2,1;clientId), esta utilização do elemento corresponde à obtenção da data de

nascimento do cliente identificado com o valor clientId;

ri(1,1;clientId), esta utilização do elemento corresponde à verificação da existência (na

base de dados) do nome do cliente identificado com o valor clientId, sendo retornado

true caso exista e false caso contrário;

ri(2,1;clientId), esta utilização do elemento corresponde à verificação da existência (na

base de dados) da data de nascimento do cliente identificado com o valor clientId,

sendo retornado true caso exista e false caso contrário;

rd(2,1;clientId), esta utilização do elemento corresponde à obtenção em milissegundos

da data de nascimento do cliente identificado com o valor clientId;

5.2.1.2 Implementação das Regras: Mapeamento entre Tipos de Fraude e Regras

Das situações típicas de fraude identificadas no inicio deste trabalho (Tabela 1)

somente algumas é possível combater com o componente MR. Para casos mais complexos,

como por exemplo alteração de padrões de utilização de um cartão (que poderia significar

roubo do mesmo) seria necessário o componente MA, que não foi implementado por razões

anteriormente explicadas. Assim sendo, na Tabela 1, em Anexo, é possível consultar as regras

que foram implementas para combater cada tipo de fraude. Ainda nesse Anexo, a tabela 2

corresponde à lista de todos os elementos da tabela RULE_ELEMENTS utilizados na

implementação e avaliação da mesma.

Somente a título elucidativo é de seguida apresentada a tradução de uma regra,

definida via LMR, para linguagem corrente. A regra escolhida foi a Regra 5 ("Validation -

Check Card Type Exsts") que se apresenta definida da seguinte forma:

[ri(4:1;re(8:3;system_item)) && ri(5:1;re(8:4;system_item))] TRUE false FALSE true

Se analisarmos os seus componentes individualmente o resultado é o seguinte:

ri(4:1;re(8:3;system_item)), Verificar se o modelo de cartão presente na validação

existe no sistema central, usando para isso o modelo de cartão presente na validação;

o re(8:3;system_item), Retorna o modelo de cartão presente na validação;

ri(5:1;re(8:4;system_item)), Verificar se o tipo de cartão presente na validação existe

no sistema central, usando para isso o tipo de cartão presente na validação;

o re(8:4;system_item), Retorna o tipo de cartão presente na validação;

&&, Representa o operador lógico AND (e);

Page 48: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

32

false, Valor booleano falso, que é traduzido pelo MR como “não fraude” (mais

detalhes na secção seguinte);

true, Valor booleano verdadeiro, que é traduzido pelo MR como “fraude” (mais

detalhes na secção seguinte);

Traduzindo a regra para linguagem corrente obtemos a seguinte frase:

“Se o modelo de cartão presente na validação existir no sistema central e se o tipo de

cartão presente na validação existir no sistema central então não é fraude, caso contrário é

fraude”.

Findo este exemplo, na secção seguinte vai ser explicada a forma como o MR faz a

tradução das regras, aplicando-as a uma determinada transacção.

5.2.2 Motor de Regras: Interpretação das Regras

Tendo em conta que as análises de fraude devem ser feitas com alguma periodicidade

a utilização de um serviço periódico, mas cuja periodicidade pudesse ser facilmente alterável,

foi a solução encontrada para dar inicio ao processo de análise de fraude. Assim sendo, na

subsecção seguinte é apresentado o fluxo que se inicia ciclicamente aquando da chamada

desse serviço.

5.2.2.1 Interpretação das Regras: Fluxo de Processamento

Na (Ilustração 11) é apresentado um diagrama descritivo de todo o fluxo de

processamento associado ao MR.

Serviço

Existem

Regras?

Selecção Regras

Activas

Selecção Amostra de Dados

Nova Amostra

de Dados

Amostras

Independentes

?

Primeira

Amostra

?

Nova Amostra

de Dados

Amostra de

Dados Anterior

Sim Sim

Não Não

Sim

Não

Ilustração 11 - Fluxo do MR

Page 49: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

33

O serviço que inicia o processo de análise tem uma periodicidade diária cujo tempo

inicial pode ser alterado sempre que se despoletar o início10 da análise de fraude.

Sempre que este serviço despoleta o início do processo de análise fá-lo através de

chamadas individuais, para cada tipo de regra existente (enumeradas em 5.2.1), de uma

função que tem como intuito verificar que regras estão activas, consoante o tipo de regra

fornecido, e caso haja regras activas nesse momento seleccionar a amostra de dados que

deve ser processada. Finda essa selecção, o próximo passo será a realização de uma análise

sintáctica de cada uma das regras activas, aplicada à amostra de dados seleccionada. É

importante referir que a selecção da amostra pode ser controlada de acordo com o tipo de

regra que se está analisar, sendo que tal efeito é conseguido através da manipulação de

algumas constantes configuradas no outro componente da solução implementada (a descrição

dessas constantes encontra-se em 5.3). Esse processamento efectivo passa pela tradução da

LMR que define cada uma das regras, aplicada à amostra seleccionada, Na subsecção

seguinte são apresentadas algumas particularidades da análise sintáctica a que são

submetidas as regras, aplicadas à amostra de dados seleccionada

5.2.2.1.1 Interpretação das Regras: Tradução de LMR

Como já foi referido nas secções 5.2.1.1 e 5.2.1.2 a LMR e o seu processamento são

os pilares do componente MR. Contudo resta dizer que nem sempre é realizado uma tradução

da LMR pois a utilização de um uma cache, por parte do MR, permite utilizar traduções antigas.

Isto é, se um dado elemento for usado múltiplas vezes na mesma regra ou em regras que

sejam processadas durante o mesmo fluxo de processamento, a tradução deste elemento só é

efectuada uma primeira vez, sendo depois guardado o valor correspondente a essa tradução

numa cache, cuja duração corresponde à duração de todo o fluxo de processamento, e usado

esse valor para traduções posteriores desse elemento.

O seguinte exemplo tende a exemplificar a situação aqui apresentada:

Regra: re(1:1:clientId) > re(2:1:clientId; re(1:1:clientId)) TRUE true FALSE false

Inicialmente será traduzido o elemento re(1:1:clientId), da forma descrita em 5.2.1, e

guardado o resultado dessa tradução na cache do MR. De seguida seria traduzido o

elemento > como sendo o operador comparativo “maior que”. Depois, para a tradução

do elemento re(2:1:clientId; re(1:1:clientId)) deveria ser novamente traduzido o

elemento re(1:1:clientId) contudo, como já tinha sido anteriormente traduzido e

guardado em cache o valor dessa tradução é esse o valor a ser utilizado. Assim, reduz-

se o tempo de processamento pois a consulta de cache é mais rápida que a tradução

de normal de um elemento11.

10 Ver no Anexo B a secção “Forçar início da Análise de Fraude” 11 Ver no capítulo 5.3 os testes que comprovam estas afirmações

Page 50: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

34

5.3 Componentes: Configuração & Apresentação

O componente C&A representa todas as configurações necessárias para realizar

correctamente uma análise de fraude, assim como consultar os resultados provenientes dessa,

ou de outras, análises. Para tal, na solução desenvolvida, este componente é reflectido numa

interface web12 que possibilita a consulta e manipulação de todo o tipo de configurações e

resultados relacionados com a solução para controlo de fraude.

Nesta secção vai ser descrita essa interface, sendo separadas as funcionalidades que

correspondem à parte de configuração das funcionalidades unicamente relacionadas com os

resultados das análises.

5.3.1 Configuração & Apresentação: Configuração

As possibilidades de configuração da solução proposta variam desde o tamanho das

amostras de dados a analisar, à quantidade de regras a utilizar nas análises, ao tipo de análise

que se vai realizar, à prioridade das regras a utilizar nas análises, entre outros. A forma,

simples, como se podem configurar todos estes parâmetros é através da funcionalidade “Gerir

Contantes”.

Ilustração 12 - Funcionalidade “Gerir Constantes”

Nesta funcionalidade é apresentado, para consulta (apresentado na Ilustração 12) e,

caso se deseje, alteração, o conjunto de todas as constantes que servem para

configurar/parametrizar o sistema de controlo de fraude implementado. Essas constantes, a

sua descrição e os seus possíveis valores são apresentados na Tabela 3.

12 Definição disponível em http://en.wikipedia.org/wiki/Web_interface a 03-01-2009

Page 51: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

35

Constantes Descrição Valores Possíveis

FRAUD_PAGE_SIZE

Esta constante define o nº de resultados de

análises que aparecem por cada página

resultante da funcionalidade “Consultar

Resultados de Fraude” (5.3.2.2)

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

É recomendado o uso de

valores entre 10 e 30 por

questões visuais

RULE_ITEMS_NR

Esta constante define o nº de regras

associadas a cada transacção que devem

ser apresentadas na página resultante da

funcionalidade “Consultar Dados da

Transacção” (5.3.2.2.1)

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

É recomendado o uso de

valores entre 1 e 10 por

questões visuais

INDEPENDENT_BLOCKS

Esta constante define a utilização, ou não,

de amostras distintas para cada grupo de

regras que se encontre activo aquando de

uma análise de fraude. Caso o seu valor

seja true serão usadas amostras distintas

para cada grupo de regras, e caso contrário

(com o valor false) a mesma amostra é

usada para todos os grupos e regras

Pode tomar os valores

booleanos: true e false

TX_TO_PROCESS

Esta constante define o nº de transacções a

serem processadas durante cada análise. A

sua utilização depende do valor configurado

para a constante INDEPENDENT_BLOCKS.

Somente quando essa constante tiver o

valor true é que o valor desta constante tem

influência na análise de fraude

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

Os valores recomendados

variam consoante o tipo de

análise pretendida. Na

secção de validação da

solução são apresentadas

algumas possibilidades.

CARD_TXS_BLOCKS

Esta constante define o nº de transacções a

serem processadas, aplicadas ao grupo de

regras “Card Rules” (5.2.1), durante cada

análise. A sua utilização depende do valor

configurado para a constante

INDEPENDENT_BLOCKS. Somente quando

essa constante tiver o valor false é que o

valor desta constante tem influência na

análise de fraude

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

Os valores recomendados

variam consoante o tipo de

análise pretendida. Na

secção de validação da

solução são apresentadas

algumas possibilidades.

Page 52: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

36

CONTRACT_TXS_BLOCKS

Esta constante define o nº de transacções a

serem processadas, aplicadas ao grupo de

regras “Contract or Profile Rules” (5.2.1),

durante cada análise. A sua utilização

depende do valor configurado para a

constante INDEPENDENT_BLOCKS. Somente

quando essa constante tiver o valor false é

que o valor desta constante tem influência

na análise de fraude

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

Os valores recomendados

variam consoante o tipo de

análise pretendida. Na

secção de validação da

solução são apresentadas

algumas possibilidades.

ENTITY_TXS_BLOCKS

Esta constante define o nº de transacções a

serem processadas, aplicadas ao grupo de

regras “Operator Rules” (5.2.1), durante

cada análise. A sua utilização depende do

valor configurado para a constante

INDEPENDENT_BLOCKS. Somente quando

essa constante tiver o valor false é que o

valor desta constante tem influência na

análise de fraude

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

Os valores recomendados

variam consoante o tipo de

análise pretendida. Na

secção de validação da

solução são apresentadas

algumas possibilidades.

TRIP_TXS_BLOCKS

Esta constante define o nº de transacções a

serem processadas, aplicadas ao grupo de

regras “Trip Rules” (5.2.1), durante cada

análise. A sua utilização depende do valor

configurado para a constante

INDEPENDENT_BLOCKS. Somente quando

essa constante tiver o valor false é que o

valor desta constante tem influência na

análise de fraude

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

Os valores recomendados

variam consoante o tipo de

análise pretendida. Na

secção de validação da

solução são apresentadas

algumas possibilidades.

CHECK_BY_RULE_LEVEL

Esta constante define a análise, ou não, de

amostras somente aplicadas a regras com

uma determinada prioridade das regras.

Caso o seu valor seja true somente serão

utilizadas na análise regras activas cuja

prioridade seja igual à definida pela

constante RULE_LEVEL, e caso contrário

(com o valor false) quaisquer regras activas

serão utilizadas na análise

Pode tomar os valores

booleanos: true e false

Page 53: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

37

RULE_LEVEL

Esta constante define o nível de prioridade

das regras a utilizar durante cada análise. A

sua utilização depende do valor configurado

para a constante CHECK_BY_RULE_LEVEL.

Somente quando essa constante tiver o

valor true é que o valor desta constante tem

influência na análise de fraude

Pode tomar valores

numéricos, inteiros entre 1 e

4

Esses valores correspondem

aos níveis de prioridade

presentes na tabela

RULE_LEVELS (5.2.1)

MINIMUM_ENTRANCES_TIME

Esta constante define o tempo mínimo (em

milissegundos) entre entradas simultâneas

na mesma estação

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”.

É recomendado o uso de

valores que se adaptem à

realidade da rede de

transportes em análise

MINIMUM_EXITS_TIME

Esta constante define o tempo mínimo (em

milissegundos) entre saídas simultâneas na

mesma estação

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”.

É recomendado o uso de

valores que se adaptem à

realidade da rede de

transportes em análise

MINIMUM_TRIP_TIME

Esta constante define o tempo mínimo (em

milissegundos) entre uma entrada e uma

saída (ou vice-versa) simultâneas na mesma

estação

Pode tomar valores

numéricos, inteiros entre 1 e

“mais infinito”

É recomendado o uso de

valores que se adaptem à

realidade da rede de

transportes em análise

Tabela 3 - Constantes de Fraude

Ainda relativamente à funcionalidade “Gerir Constantes”, foi referido que esta permitia a

alteração dos valores de cada constante. Essa alteração é efectuada através do ícone que

conduz o utilizador para um novo ecrã (Ilustração 13) onde é identificada a constante que se

vai alterar, e um local onde deve ser colocado o novo valor a atribuir à constante. É importante

referir que nesta implementação não são validados os valores que cada utilizador atribui ás

constantes, sendo por isso da inteira responsabilidade do mesmo a introdução de valores que

não correspondam aos permitidos (ver Tabela 3), podendo levar a um funcionamento

incorrecto de todo o sistema de controlo de fraude.

Page 54: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

38

Ilustração 13 – Finalizar Configurar Constante

Outra parametrização possível é relativa às regras a utilizar em cada análise. Para tal é

possível seleccionar quais regras ou quais grupos de regras devem ser utilizados numa

determinada análise. Essa selecção é feita através da funcionalidade “Seleccionar Regras”.

Através de simples checkboxes o utilizador consegue seleccionar grupos de regras,

e/ou regras individualmente, para serem usadas nas análises subsequentes. De forma a tornar

mais fácil a escolha ou detrimento de uma determinada regra, é possível, através da

funcionalidade “Consulta dos Dados da Regra” (5.3.2.2.2), acedida via ícone , consultar os

dados referentes a cada uma das regras. A Ilustração 14 representa esta funcionalidade.

Ilustração 14 - Funcionalidade “Seleccionar Regras”

Page 55: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

39

5.3.2 Configuração & Apresentação: Apresentação

Relativamente à apresentação de resultados, através do componente C&A, é possível

consultar de variadas formas os resultados das análises de fraude realizadas pela solução de

controlo de fraude. Essas formas baseiam-se em funcionalidades deste componente e são as

seguintes:

Consulta Global de Resultados;

Consulta Detalhada de Resultados;

Nas seguintes sub-secções cada uma destas formas vai ser apresentada

detalhadamente.

5.3.2.1 Apresentação: Consulta Global de Resultados

Esta funcionalidade permite obter informações globais relativas às análises de fraude

efectuadas pelo sistema. Essa informação é compilada num tabela extraída via ficheiro Excel

que pode depois ser facilmente utilizada como “tabela pivot” para obter gráficos e outras

manipulações relevantes dos resultados. Um bom exemplo de como realizar essa acção são os

testes de validação desta solução (1.1), onde a maioria assenta em informação obtida através

desta funcionalidade e posteriormente manipulada como indicado. Ainda em relação à

manipulação à posteriori dos dados obtidos via esta funcionalidade, são apresentadas ao longo

dos testes e nas conclusões deste trabalho sugestões quanto a possíveis formas de manipular

os dados resultantes da análise de fraude.

A Ilustração 15 mostra um exemplo da tabela resultante do uso da funcionalidade aqui

descrita.

Block SizeLoading Time

(miliseconds)

Loading

Time

(minutes)

Processing

Time

(miliseconds)

Processing Time

(minutes)

Total Time

(miliseconds)

Total Time

(minutes)# Fraud

# Not

Fraud# Erros # Rules Rules

1 0 0 2453 0,040883333 2453 0,040883333 0 3 0 3 1-Loading - Check Card Exists;2-Loading - Check Card Type Exsts;3-Loading - Check Card Used while in BlackList

1 0 0 703 0,011716667 703 0,011716667 0 1 0 1 10-Validation - Check Operator Exists

1 0 0 703 0,011716667 703 0,011716667 0 1 0 1 8-Validation - Check Ticket Exists

1 16 0,000266667 2125 0,035416667 2141 0,035683333 0 3 0 3 4-Validation - Check Card Exists;5-Validation - Check Card Type Exsts;6-Validation - Check Card Used while in BlackList

1 0 0 812 0,013533333 812 0,013533333 0 1 0 1 9-Loading - Check Operator Exists

1 0 0 750 0,0125 750 0,0125 0 1 0 1 7-Loading - Check Ticket Exists

5 0 0 3563 0,059383333 3563 0,059383333 0 5 0 1 10-Validation - Check Operator Exists

5 0 0 3531 0,05885 3531 0,05885 0 5 0 1 8-Validation - Check Ticket Exists

5 0 0 3750 0,0625 3750 0,0625 0 5 0 1 9-Loading - Check Operator Exists

5 0 0 3922 0,065366667 3922 0,065366667 0 5 0 1 7-Loading - Check Ticket Exists

5 94 0,001566667 11688 0,1948 11782 0,196366667 0 15 0 3 4-Validation - Check Card Exists;5-Validation - Check Card Type Exsts;6-Validation - Check Card Used while in BlackList

5 79 0,001316667 16250 0,270833333 16329 0,27215 0 15 0 3 1-Loading - Check Card Exists;2-Loading - Check Card Type Exsts;3-Loading - Check Card Used while in BlackList

50 0 0 36704 0,611733333 36704 0,611733333 0 50 0 1 9-Loading - Check Operator Exists

50 0 0 36157 0,602616667 36157 0,602616667 0 50 0 1 8-Validation - Check Ticket Exists

50 0 0 36501 0,60835 36501 0,60835 0 50 0 1 10-Validation - Check Operator Exists

50 63 0,00105 109096 1,818266667 109159 1,819316667 0 150 0 3 4-Validation - Check Card Exists;5-Validation - Check Card Type Exsts;6-Validation - Check Card Used while in BlackList

50 0 0 36110 0,601833333 36110 0,601833333 0 50 0 1 7-Loading - Check Ticket Exists

50 156 0,0026 113018 1,883633333 113174 1,886233333 0 150 0 3 1-Loading - Check Card Exists;2-Loading - Check Card Type Exsts;3-Loading - Check Card Used while in BlackList

100 0 0 70970 1,182833333 70970 1,182833333 0 100 0 1 7-Loading - Check Ticket Exists

100 0 0 72096 1,2016 72096 1,2016 0 100 0 1 9-Loading - Check Operator Exists

100 0 0 75407 1,256783333 75407 1,256783333 0 100 0 1 8-Validation - Check Ticket Exists

Ilustração 15 - Funcionalidade “Consulta Global de Resultados”

É possível constatar que os campos extraídos desta análise são os seguintes:

Tamanho do Bloco de Processamento – Corresponde à dimensão da amostra

que foi processada;

Tempo de carregamento da amostra, em milissegundos;

Page 56: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

40

Tempo de carregamento da amostra, em minutos;

Tempo de processamento da amostra, em milissegundos;

Tempo de processamento da amostra, em minutos;

Tempo total de análise, em milissegundos – Corresponde à soma dos tempos de

carregamento e de processamento da amostra, em milissegundos

Tempo total de análise, em minutos – Corresponde à soma dos tempos de

carregamento e de processamento da amostra, em minutos;

Número de Casos Fraudulentos detectados, na amostra em causa;

Número de Casos Não Fraudulentos detectados, na amostra em causa;

Número de Erros de processamento ocorridos, na amostra em causa;

Número de Regras utilizadas na análise da amostra em causa;

Regras utilizadas na análise da amostra em causa.

5.3.2.2 Apresentação: Consulta Detalhada de Resultados

Esta funcionalidade permite obter informações detalhadas relativas às análises de fraude

efectuadas pelo sistema. Essa informação é apresentada transacção a transacção, sendo a

pesquisa da mesma realizada através da conjugação de um ou mais filtros de procura. Os

factores que podem ser utilizados para seleccionar os detalhes a consultar são os seguintes:

Transacção – Identificador da transacção da qual se pretende consultar o

detalhe dos resultados; Este filtro deve ser usado quando, por exemplo, se

efectuou uma análise específica a uma ou mais transacções e queremos

consultar directamente o resultado para essa(s) transacção(ões).

Regra – Identificador da regra da qual se pretende consultar o detalhe dos

resultados; Este filtro deve ser usado quando, por exemplo, se efectuou uma

análise específica com uma determinada regra e queremos consultar

directamente os seus resultados.

Bloco de Processamento – Identificador do bloco de processamento, vulgo

conjunto de dados de uma análise concreta, do qual se pretende consultar o

detalhe dos resultados.

Estado – Representa os possíveis estados atribuídos a uma transacção, em

relação a uma regra, no término de uma análise; Permite seleccionar, por

exemplo, todas as transacções que foram consideradas fraudulentas; Se, por

exemplo, combinado com um identificador de uma regra poderia possibilitar a

consulta de todas as transacções que foram classificadas como fraudulentas em

relação à regra em questão.

Datas de Processamento – Representa o intervalo de datas nas quais foram

efectuadas as análises cujos resultados se vão consultar. Possibilita, por

exemplo, consultar os resultados de todas as análises realizadas durante um

determinado dia, semana ou mês do ano.

Page 57: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

41

Datas de Transacções – Representa o intervalo de datas das transacções

analisadas13. Possibilita, por exemplo, consultar os resultados de todas as

análises realizadas a transacções de um determinado dia, semana ou mês do

ano.

Resultados por página – Representa o nº de resultados que vão ser

apresentados por cada página, sendo o seu valor inicial o correspondente ao

definido na constante “FRAUD_PAGE_SIZE” (Tabela 3).

Na Ilustração 16 é apresentada a funcionalidade aqui descrita.

Ilustração 16 - Funcionalidade “Consulta Detalhada de Resultados”

Finda a selecção dos filtros de procura, e realizada a mesma, os resultados são

apresentados (Ilustração 17) em forma de tabela e com os seguintes campos:

Estado – Representa o estado atribuído à transacção, em relação a uma regra, no término da análise à transacção em causa;

Transacção – Identificador da transacção analisada;

Nr da Regra – Identificador da regra usada na análise à transacção em causa;

Tempo de Processamento – Representa o tempo de processamento para

análise à transacção em causa;

Nr da Bloco de Processamento – Identificador do Bloco de Processamento ao

qual pertence a análise em causa;

Data de Processamento – Representa a data na qual foi efectuada a análise à

transacção em causa;

13 “Data da transacção” refere-se à data em que uma determinada transacção foi realizada e não a data em que esta foi

registada no sistema central

Page 58: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

42

Ilustração 17 – Resultados da funcionalidade “Consulta Global de Resultados”

Adicionalmente, é possível aceder a outro tipo de detalhes, através do ícone , que

são os seguintes:

Consulta dos Dados da Transacção;

Consulta dos Dados da Regra;

Consulta dos Dados do Bloco de Processamento14;

5.3.2.2.1 Apresentação: Consulta dos Dados da Transacção

Esta funcionalidade permite aceder aos detalhes de uma determinada transacção. Esses

detalhes são apresentados em duas secções distintas:

Dados Genéricos – São apresentados o identificador da transacção em questão, a

data e tipo da transacção e o estado global que lhe é atribuído tendo em consideração

os resultados apresentados na secção “Informação das Regras”. Os estados globais

possíveis são:

o Possível Fraude – Se todos os resultados da secção “Informação das Regras”

estiverem no estado Fraude;

o Possível Não Fraude – Se todos os resultados da secção “Informação das

Regras” estiverem no estado Não Fraude;

14 Bloco de Processamento – Refere-se ao conjunto de transacções analisadas durante uma análise de fraude.

Page 59: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

43

o Resultados Não Conclusivos – Se os resultados da secção “Informação das

Regras” apresentarem valores distintos (Por exemplo, duas Fraudes e uma

Não Fraude);

o Não Foi Processada Correctamente – Se todos os resultados da secção

“Informação das Regras” estiverem no estado Não Processada;

Informação das Regras – São apresentados os resultados da análise em relação a

cada uma das regras que foram aplicadas à transacção em questão. A informação

apresentada é a seguinte:

o Estado – Representa o estado atribuído à transacção, em relação a uma regra,

no término da análise à transacção em causa;

o Razão do Estado – Representa a razão que levou ao estado atribuído;

o Nome da Regra – Representa a nome da regra usada na análise;

o Tempo de Processamento – Representa o tempo processamento para análise

à transacção em causa;

o Bloco de Processamento – Identificador do bloco de processamento ao qual

pertence a análise em causa;

o Há ainda a possibilidade de consultar detalhes específicos da Regra ou Bloco

de Processamento em causa. Esses detalhes podem ser acedidos,

respectivamente, através das seguintes funcionalidades:

Consulta dos Dados da Regra;

Consulta dos Dados do Bloco de Processamento;

Nesta funcionalidade é ainda possível realizar uma análise de fraude somente para a

transacção em análise, sendo utilizadas as regras que estejam activas no sistema no momento

desse pedido. Para proceder a essa análise basta utilizar o botão “Processar”,

.

A Ilustração 18 representa a funcionalidade aqui descrita:

Page 60: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

44

Ilustração 18 – Funcionalidade “Consulta dos Dados da Transacção”

5.3.2.2.2 Apresentação: Consulta dos Dados da Regra

Esta funcionalidade permite aceder aos detalhes de uma determinada regra. Esses

detalhes são apresentados em duas secções distintas:

Dados Genéricos – É apresentada a informação genérica referente à regra em

questão. A informação apresentada é a seguinte:

o Nr da Regra – É o identificador da regra;

o Nome da Regra

o Activa Individualmente – Indica se a regra está activa, ou não, individualmente;

o Activa como Grupo – Indica se a regra está activa, ou não, como parte de um

grupo de regras

o Tipo de Regra

o Grupo – É o identificador do grupo de regras ao qual a regra pertence;

o Prioridade – É o Nível de Prioridade associado à Regra ;

o Regra em LMR – É a definição da regra na Linguagem do Motor de Regras

(LMR);

Resultados de Fraude – São apresentados os resultados da análise de fraude em

relação à regra em questão. A informação apresentada é a seguinte:

o Número de Fraude – Apresenta o total de transacções que ficaram no estado

“Fraude” após analisadas pela regra em questão;

Page 61: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

45

o “Número de Não Fraude – Apresenta o total de transacções que ficaram no

estado “Não Fraude” após analisadas pela Regra em questão;

o Número de Não Processadas – Apresenta o total de transacções que ficaram

no estado “Não Processada” após analisadas pela regra em questão;

o Há ainda a possibilidade de consultar os resultados específicos para cada um

dos valores apresentados nesta secção. Essa consulta é realizada através do

ícone , que conduz o utilizador aos resultados da funcionalidade “Consulta

Detalhada de Resultados” (5.3.2.2) com o identificador da regra em questão

utilizado como filtro na pesquisa.

A Ilustração 19 representa a funcionalidade aqui descrita:

Ilustração 19 – Funcionalidade “Consulta dos Dados da Regra”

5.3.2.2.3 Apresentação: Consulta dos Dados do Bloco de Processamento

Esta funcionalidade permite aceder aos detalhes de um determinado bloco de

processamento. Esses detalhes são apresentados em duas secções distintas:

Dados Genéricos – É apresentada a informação genérica referente ao bloco de

processamento em questão. A informação apresentada é a seguinte:

o Nr Bloco de Processamento – É o identificador do bloco de processamento;

o Nr de Transacções – É o tamanho do bloco do processamento, isto é, o

conjunto de transacções que foram analisadas;

Page 62: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

46

o Nr de Regras – É o indicador no número de regras que foram utilizadas para

analisar as regras constituintes do bloco de processamento em questão;

o Tempo de Carregamento – Representa o tempo carregamento da amostra de

dados, isto é, o tempo que demora a colocar em memória os identificadores

das transacções constituintes do bloco de processamento em causa;

o Tempo de Processamento – Representa o tempo processamento para análise

do bloco de processamento em causa;

Resultados de Fraude – São apresentados os resultados da análise de fraude em

relação ao bloco de processamento em questão. A informação apresentada é a

seguinte:

o Número de Fraude – Apresenta o total de transacções, pertencentes ao bloco

em causa, que ficaram no estado “Fraude”;

o “Número de Não Fraude – Apresenta o total de transacções, pertencentes ao

bloco em causa, que ficaram no estado “Não Fraude”;

o Há ainda a possibilidade de consultar os resultados específicos para cada um

dos valores apresentados nesta secção. Essa consulta é realizada através do

ícone , que conduz o utilizador aos resultados da funcionalidade “Consulta

Detalhada de Resultados” (5.3.2.2) com o identificador do bloco de

processamento em questão utilizado como filtro na pesquisa.

A Ilustração 20 representa a funcionalidade aqui descrita:

Ilustração 20 – Funcionalidade “Consulta dos Dados do Bloco de Processamento”

Page 63: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

47

5.4 Validação da Solução

A solução anteriormente descrita foi validada através da realização de um conjunto de

testes, aplicados a um conjunto de dados de operadores de transportes. Nalguns desses testes

foram realizadas múltiplas medições, derivadas da manipulação de componentes da solução

proposta, mais concretamente as constantes de fraude descritas em 5.3.1. Esta análise

minuciosa é de extrema importância pois, num contexto de utilização real de uma solução de

controlo de fraude, o volume de dados a analisar será, normalmente, bastante elevado.

Para uma correcta percepção e análise dos resultados obtidos é necessário ter em

conta as seguintes definições:

Tempo de processamento em cache – Corresponde ao tempo que demora a

processar um elemento que já se encontre em cache. Não depende do número de

argumentos desse elemento. Após várias medições chegou-se à conclusão que o

tempo de processamento para um elemento que é 0 (zero) milissegundos.

Tempo mínimo de processamento – Corresponde ao menor tempo possível para

cada um dos elementos de uma regra, ou seja, quando o tempo de processamento do

elemento não é demasiadamente influenciado pelo processamento dos elementos do

argumento. Estas situações são expectáveis quando a maioria dos argumentos de um

determinado elemento já se encontrar em cache, sendo por isso o seu tempo de

processamento muito reduzido.

Tempo máximo de processamento – Corresponde ao maior tempo possível para

cada um dos elementos de uma regra, ou seja, quando nenhum dos argumentos de um

elemento não se encontra em cache.

Tempo médio de processamento – Corresponde ao tempo médio de processamento,

expectável, para cada um dos elementos de uma regra. Este tempo é calculado

através da média de todos os tempos de processamento.

Tempo de registo de resultados – Corresponde ao tempo que demora, em média, a

registar o resultado da análise de uma regra aplicada a uma transacção. Após várias

medições verificou-se que, nas condições proporcionadas pelo ambiente de testes,

este tempo é em média 963 (novecentos e sessenta e três) milissegundos.15

É importante referir que o ambiente de testes utilizado foi o seguinte:

Máquina de Desenvolvimento, onde Solução Desenvolvida foi concebida e executada:

o Intel® Pentium® Core 2 Duo - 3.40 GHz

o 4 GB RAM

o Microsoft Windows XP Professional – Service Pack 3

Máquina com a Base de Dados, utilizada pela Solução Desenvolvida e partilhada por

outras aplicações:

15 Média calculada após medições de tempo de registo de resultados para aproximadamente cinquenta mil transacções

Page 64: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

48

o Intel® Pentium® 4 - 2.66 GHz

o 1GB RAM

o Microsoft Windows Server 2000 – Service Pack 4

Os testes realizados são apresentados separadamente nas seguintes subsecções, sendo

eles os seguintes:

Cálculo do Tempo de Processamento Individual de cada Elemento

Cálculo do Tempo de Processamento Individual de cada Regra

Análise de Fraude somente para Carregamentos

Análise de Fraude somente para Validações

É ainda fundamental referir que alguns dos valores obtidos podem sofrer influências por

parte de uma variável que não foi totalmente estudada ao longo deste trabalho. Essa variável é

a base de dados, e a ligação à mesma, com a qual a solução desenvolvida comunicava.

Embora os testes tenham sido realizados em horas de menor sobrecarga, na utilização da

base de dados, por vezes existiam picos de actividade que afectavam os tempos de

processamento das regras, bem como, de forma mais drástica, os tempos de registo dos

resultados. O capítulo final é novamente abordado este tema, sendo sugeridas algumas

metodologias para evitar situações similares às aqui mencionadas.

5.4.1 Teste 1 – Cálculo do Tempo de Processamento Individual de cada Elemento

O primeiro teste consistiu na medição dos tempos de processamento menos

significativos de cada uma das regras, isto é, os tempos de processamento individuais dos

elementos de uma regra. Após consolidar os resultados obtidos foram inferidos os tempos

expectáveis para cada uma das regras definidas no MR.

Numa primeira fase deste teste realizou-se um levantamento de todos os elementos

utilizados nas regras pré-configuradas. De seguida, foram medidos os tempos de

processamento para cada um desses elementos, sendo que o número de medições realizado

neste teste foi de aproximadamente mil medições. Esse levantamento, respectivo

escalonamento por quantidade de argumentos e tempos de processamento encontram-se na

seguinte tabela:

Page 65: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

49

Elementos Tempos Mínimo de Elementos

(MILISSEGUNDOS)

Tempos Máximo de Elementos

(MILISSEGUNDOS)

ri(7:1;re(6:1;re(1:1;system_item);re(1:2;system_item)); re(1:8;system_item);re(1:8;system_item))

39 837

ri(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item)) 31 714

ri(9:1;re(1:9;system_item);re(1:10;system_item)) ri(11:1;re(1:3;system_item);re(1:4;system_item)) ri(11:1;re(1:3;system_item);re(1:4;system_item)) re(6:X;re(1:1;system_item);re(1:2;system_item)) ri(9:1;re(8:9;system_item);re(8:10;system_item))

25 313

ri(10:1;re(1:11;system_item)) ri(3:1;re(1:2;system_item)) ri(4:1;re(1:3;system_item)) ri(2:1;re(1:1;system_item) ri(5:1;re(1:4;system_item))

22 230

re(8:X;system_item) re(1:X;system_item) 20 224

Tabela 4 – Tempos de Processamento por Elemento

Na segunda fase deste teste foram determinados os tempos de processamento

esperados para cada uma das regras pré-configuradas na solução desenvolvida. Nesses

cálculos foram sempre utilizados os tempos mínimos de processamento para cada um dos

elementos, calculados na primeira fase deste teste. Os tempos determinados encontram-se

resumidos na Tabela 5:

Regra Tempos de

Regras

1-Loading - Check Card Exists 69

2-Loading - Check Card Type Exsts 44

3-Loading - Check Card Used while in BlackList 39

4-Validation - Check Card Exists 69

5-Validation - Check Card Type Exsts 44

6-Validation - Check Card Used while in BlackList 39

7-Loading - Check Ticket Exists 25

8-Validation - Check Ticket Exists 25

9-Loading - Check Operator Exists 22

10-Validation - Check Operator Exists 22

11-Trip Rule One (Skimming) 81

12-Trip Rule Two (Wrong Usage) 31

Tabela 5 – Tempos de Processamento Calculados para cada Regra

Page 66: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

50

5.4.2 Teste 2 – Cálculo do Tempo de Processamento Individual de cada Regra

O segundo teste consistiu na medição dos tempos de processamento de cada uma das

regras. Foram realizadas aproximadamente mil medições e após consolidar os resultados

obtidos foi realizada uma comparação com os tempos inferidos no primeiro teste. Na tabela

seguinte encontram-se enumerados os resultados obtidos neste teste.

Regra Tempos de

Regras

1-Loading - Check Card Exists 31

2-Loading - Check Card Type Exsts 16

3-Loading - Check Card Used while in BlackList 47

4-Validation - Check Card Exists 15

5-Validation - Check Card Type Exsts 15

6-Validation - Check Card Used while in BlackList 47

7-Loading - Check Ticket Exists 16

8-Validation - Check Ticket Exists 16

9-Loading - Check Operator Exists 15

10-Validation - Check Operator Exists 15

11-Trip Rule One (Skimming) 16

12-Trip Rule Two (Wrong Usage) 16

Tabela 6 – Tempos de Processamento por Regra

Por comparação com os valores inferidos no primeiro teste (Tabela 5) pode-se concluir

que os valores aqui estão obtidos são inferiores aos valores expectáveis. Tal discrepância de

valores pode ser explicada com o facto de neste teste os elementos não serem testados

individualmente mas com uma sequência lógica (a das regras). Assim, as possibilidades de um

elemento já existir em cache aquando do seu parsing é muitíssimo mais elevada do que no

teste anterior. E, como os tempos de processamento em cache são nulos, o tempo global de

processamento de uma regra vai ser sempre inferior a um tempo calculado utilizando valores

calculados individualmente.

5.4.3 Teste 3 – Análise de Fraude somente para Carregamentos

O terceiro teste consistiu na realização de múltiplas análises de fraude, para

carregamentos. O facto de estas análises de fraude terem sido somente efectuadas para

carregamentos significa que as únicas regras activas aquando da realização do teste foram

todas as regras destinadas aos carregamentos (mapeamento das regras presente na Tabela 1,

Page 67: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

51

em Anexo), numa totalidade de cinco regras. É ainda importante referir que era sempre usada

a mesma amostra para todos as regras (ver constantes de fraude na Tabela 3).

O objectivo deste teste era retirar informações relativas ao tempo de processamento,

tempo de registo de resultados, tempo global de análise da amostra bem como analisar os

resultados respeitantes à quantificação de fraude nas amostras seleccionadas.

Assim sendo, na Tabela 7 são apresentados os valores registados para os tempos de

processamento, de registo de resultados e os tempos globais de análise de fraude, consoante

as dimensões da amostra.

Amostra Tempo de

Processamento (milissegundos)

Tempo de Registo

(milissegundos)

Tempo de Análise

(milissegundos)

1 80 4910 4990

10 705 78050 78755

50 3280 234410 237690

100 5335 470755 476090

500 22420 2727515 2749935

1000 46955 5100415 5147370

5000 203830 25651170 25855000

10000 372085 51560350 51932435

50000 1633289,79 247945025,2 249578315

100000 2766451,975 505963681,3 508730133,3

Tabela 7 – Carregamentos: Tempos de Processamento, de Registo e de Análise

Nos gráficos seguintes é apresentada individualmente a evolução dos tempos de

processamento (Ilustração 21) e dos tempos de registo de resultados (Ilustração 22) e, por fim,

na Ilustração 23 é apresentada uma sobreposição dos gráficos anteriores mais a adição do

tempo global de fraude (resultante da soma entre o tempo de processamento e o tempo de

registo de resultados).

Ilustração 21 – Carregamentos: Tempo de Processamento vs Dimensão da Amostra

Page 68: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

52

Ilustração 22 – Carregamentos: Tempo de Registo vs Dimensão da Amostra

Ilustração 23 – Carregamentos: Tempo de Processamento, de Registo e de Análise vs Dimensão da

Amostra

Pela análise da Ilustração 21 e da Ilustração 22 podemos concluir que tanto o tempo de

processamento como o tempo de registo de resultados são lineares, em relação ao tamanho da

amostra (número de transacções a analisar). Analisando os resultados mostrados na Ilustração

23 e na Tabela 7 podemos facilmente concluir que o tempo de processamento é praticamente

irrelevante face ao tempo de registo de resultados. Logo, tendo em conta que o tempo de

registo de resultados é fortemente influenciado pela base de dados utilizada, é plausível afirmar

que com outras condições de teste estes tempos iriam melhorar significativamente.

Em relação aos resultados de fraude, apresentados na Tabela 8, pode-se constatar

que nas cerca de 170000 (cento e sessenta mil) transacções analisadas somente quatro foram

consideradas como fraudulentas, com as regras utilizadas.

As classificações de transacções de carregamento como fraudulentas foram

efectuadas aquando da violação da regra número 6, isto é, quando os cartões foram

carregados enquanto se encontravam colocados em lista negra.

Page 69: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

53

Tabela 8 – Resultados de Fraude para Carregamentos

Amostra Regra #

Fraude # Não

Fraude Amostra Regra

# Fraude

# Não Fraude

1

1-Loading - Check Card Exists 0 1 1000

1-Loading - Check Card Exists 0 1000

1

2-Loading - Check Card Type Exsts 0 1 1000

2-Loading - Check Card Type Exsts 0 1000

1

3-Loading - Check Card Used while in

BlackList 0 1 1000

3-Loading - Check Card Used while in

BlackList 0 1000

1

7-Loading - Check Ticket Exists 0 1 1000

7-Loading - Check Ticket Exists 0 1000

1

9-Loading - Check Operator Exists 0 1 1000

9-Loading - Check Operator Exists 0 1000

10

1-Loading - Check Card Exists 0 10 5000

1-Loading - Check Card Exists 0 5000

10

2-Loading - Check Card Type Exsts 0 10 5000

2-Loading - Check Card Type Exsts 0 5000

10

3-Loading - Check Card Used while in

BlackList 0 10 5000

3-Loading - Check Card Used while in

BlackList 0 5000

10

7-Loading - Check Ticket Exists 0 10 5000

7-Loading - Check Ticket Exists 0 5000

10

9-Loading - Check Operator Exists 0 10 5000

9-Loading - Check Operator Exists 0 5000

50

1-Loading - Check Card Exists 0 50 10000

1-Loading - Check Card Exists 0 10000

50

2-Loading - Check Card Type Exsts 0 50 10000

2-Loading - Check Card Type Exsts 0 10000

50

3-Loading - Check Card Used while in

BlackList 0 50 10000

3-Loading - Check Card Used while in

BlackList 4 10000

50

7-Loading - Check Ticket Exists 0 50 10000

7-Loading - Check Ticket Exists 0 10000

50

9-Loading - Check Operator Exists 0 50 10000

9-Loading - Check Operator Exists 0 10000

100

1-Loading - Check Card Exists 0 100 50000

1-Loading - Check Card Exists 0 50000

100

2-Loading - Check Card Type Exsts 0 100 50000

2-Loading - Check Card Type Exsts 0 50000

100

3-Loading - Check Card Used while in

BlackList 0 100 50000

3-Loading - Check Card Used while in

BlackList 0 50000

100

7-Loading - Check Ticket Exists 0 100 50000

7-Loading - Check Ticket Exists 0 50000

100

9-Loading - Check Operator Exists 0 100 50000

9-Loading - Check Operator Exists 0 50000

500

1-Loading - Check Card Exists 0 500 100000

1-Loading - Check Card Exists 0 100000

500

2-Loading - Check Card Type Exsts 0 500 100000

2-Loading - Check Card Type Exsts 0 100000

500

3-Loading - Check Card Used while in

BlackList 0 500 100000

3-Loading - Check Card Used while in

BlackList 0 100000

500

7-Loading - Check Ticket Exists 0 500 100000

7-Loading - Check Ticket Exists 0 100000

500

9-Loading - Check Operator Exists 0 500 100000

9-Loading - Check Operator Exists 0 100000

Page 70: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

54

5.4.4 Teste 4 – Análise de Fraude somente para Validações

O quarto, e último, teste consistiu na realização de múltiplas análises de fraude, para

validações. Este teste apresenta duas fases distintas sendo que na primeira fase se realizam

medições idênticas às realizadas no teste anterior (5.4.3) e estando seleccionadas todas regras

de validações (à excepção das regras de viagem, regras 12 e 13 - regras presentes na Tabela

1, em Anexo), numa totalidade de cinco regras. Na segunda fase foram seleccionadas

amostras específicas de dados que correspondiam à selecção de transacções de cartões com

mais do que dez validações num dia.

Assim sendo, na Tabela 9 são apresentados os valores registados para os tempos de

processamento, de registo de resultados e os tempos globais de análise de fraude, consoante

as dimensões da amostra.

Amostra Tempo de

Processamento (milissegundos)

Tempo de Registo

(milissegundos)

Tempo de Análise

(milissegundos)

1 84 5401 5485

10 741 85855 86596

50 3444 257851 261295

100 5602 517830,5 523432,5

500 23541 3000266,5 3023807,5

1000 49303 5610456,5 5659759,5

5000 214022 28216287 28430309

10000 390689 56716385 57107074

50000 1714954 272739527,7 274454481,7

100000 2904775 556560049,4 559464824,4

Tabela 9 – Validações: Tempos de Processamento, de Registo e de Análise

Nos gráficos seguintes é apresentada individualmente a evolução dos tempos de

processamento (Ilustração 24) e dos tempos de registo de resultados (Ilustração 25Ilustração

22) e, por fim, na Ilustração 26 é apresentada uma sobreposição dos gráficos anteriores mais a

adição do tempo global de fraude (resultante da soma entre o tempo de processamento e o

tempo de registo de resultados).

Ilustração 24 – Validações: Tempo de Processamento vs Dimensão da Amostra

Page 71: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

55

Ilustração 25 – Validações: Tempo de Registo vs Dimensão da Amostra

Ilustração 26 – Validações: Tempo de Processamento, de Registo e de Análise vs Dimensão da

Amostra

Pela análise dos gráficos presentes na Ilustração 24, na Ilustração 25 e na Ilustração 26 e dos

valores da Tabela 10, podemos retirar as mesmas conclusões que no teste anterior, ou seja,

que o tempo de processamento como o tempo de registo de resultados são lineares, em

relação ao tamanho da amostra (número de transacções a analisar) e que o tempo de

processamento é praticamente irrelevante face ao tempo de registo de resultados.

Em relação aos resultados de fraude, apresentados na Tabela 10, pode-se constatar que nas

cerca de 170000 (cento e sessenta mil) transacções analisadas não foi detectada qualquer

fraude com as regras utilizadas.

Page 72: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

56

Amostra Regra #

Fraude # Não

Fraude Amostra Regra

# Fraude

# Não Fraude

1 4-Validation - Check

Card Exists 0 1 1000 4-Validation - Check

Card Exists 0 1000

1 5-Validation - Check

Card Type Exsts 0 1 1000 5-Validation - Check

Card Type Exsts 0 1000

1

6-Validation - Check Card Used while in

BlackList 0 1 1000

6-Validation - Check Card Used while in

BlackList 0 1000

1 8-Validation - Check

Ticket Exists 0 1 1000 8-Validation - Check

Ticket Exists 0 1000

1 10-Validation - Check

Operator Exists 0 1 1000 10-Validation - Check

Operator Exists 0 1000

10 4-Validation - Check

Card Exists 0 10 5000 4-Validation - Check

Card Exists 0 5000

10 5-Validation - Check

Card Type Exsts 0 10 5000 5-Validation - Check

Card Type Exsts 0 5000

10

6-Validation - Check Card Used while in

BlackList 0 10 5000

6-Validation - Check Card Used while in

BlackList 0 5000

10 8-Validation - Check

Ticket Exists 0 10 5000 8-Validation - Check

Ticket Exists 0 5000

10 10-Validation - Check

Operator Exists 0 10 5000 10-Validation - Check

Operator Exists 0 5000

50 4-Validation - Check

Card Exists 0 50 10000 4-Validation - Check

Card Exists 0 10000

50 5-Validation - Check

Card Type Exsts 0 50 10000 5-Validation - Check

Card Type Exsts 0 10000

50

6-Validation - Check Card Used while in

BlackList 0 50 10000

6-Validation - Check Card Used while in

BlackList 0 10000

50 8-Validation - Check

Ticket Exists 0 50 10000 8-Validation - Check

Ticket Exists 0 10000

50 10-Validation - Check

Operator Exists 0 50 10000 10-Validation - Check

Operator Exists 0 10000

100 4-Validation - Check

Card Exists 0 100 50000 4-Validation - Check

Card Exists 0 50000

100 5-Validation - Check

Card Type Exsts 0 100 50000 5-Validation - Check

Card Type Exsts 0 50000

100

6-Validation - Check Card Used while in

BlackList 0 100 50000

6-Validation - Check Card Used while in

BlackList 0 50000

100 8-Validation - Check

Ticket Exists 0 100 50000 8-Validation - Check

Ticket Exists 0 50000

100 10-Validation - Check

Operator Exists 0 100 50000 10-Validation - Check

Operator Exists 0 50000

500 4-Validation - Check

Card Exists 0 500 100000 4-Validation - Check

Card Exists 0 100000

500 5-Validation - Check

Card Type Exsts 0 500 100000 5-Validation - Check

Card Type Exsts 0 100000

500

6-Validation - Check Card Used while in

BlackList 0 500 100000

6-Validation - Check Card Used while in

BlackList 0 100000

500 8-Validation - Check

Ticket Exists 0 500 100000 8-Validation - Check

Ticket Exists 0 100000

500 10-Validation - Check

Operator Exists 0 500 100000 10-Validation - Check

Operator Exists 0 100000

Tabela 10 – Resultados de Fraude para Validações

Page 73: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

57

Para a segunda fase deste teste foram seleccionadas duas amostras de dados,

pertencentes a dias distintos, que foram as seguintes:

447 Transacções que correspondiam a cartões que tivessem mais do que quinze

validações no mesmo dia.

364 Transacções que correspondiam a cartões que tivessem mais do que dez

validações no mesmo dia.

Estas transacções de validação foram analisadas com o intuito de detectar situações

fraudulentas do tipo de skimming e sequências de uso de um cartão de forma pouco comum.

Os resultados obtidos nessas análises encontram-se na Tabela 11, apresentada de seguida.

Amostra Regra #

Fraude # Não

Fraude Amostra Regra #

Fraude

# Não Fraude

447 11-Trip Rule One

(Skimming) 275 172 364 11-Trip Rule One

(Skimming) 126 238

447 12-Trip Rule Two (Wrong Usage) 304 143 364

12-Trip Rule Two (Wrong Usage) 135 229

Tabela 11 – Resultados de Fraude para Regras de Viagem I

Nestes resultados podemos concluir que em ambas as amostras foram detectadas várias

transacções fraudulentas. Quando se aprofundou o porquê de tamanha quantidade de fraude

detectada verificou-se que a primeira amostra seleccionada correspondia a cartões de

trabalhadores do operador de transporte que, por norma, estão a auxiliar pessoas que tenham

alguma dificuldade ou problema a aceder à rede de transportes através da passagem pelas

gates. Nestes casos é “normal” que sejam detectadas múltiplas entradas e múltiplas saídas, ou

mesmo entradas e saída consecutivas para o mesmo cartão. Já a segunda amostra

apresentava dados semelhantes aos da primeira mas também um conjunto elevado de

transacções pertencentes a utilizadores normais da rede de transportes, daí os resultados de

fraude já não serem tão elevados nesta amostra.

Um factor muito importante para a obtenção destas classificações foi os valores utilizados para

servir de base para a medição do tempo esperado de uma viagem entre duas estações, do

operador ao qual os dados pertencem. Esses valores de viagens encontram-se mapeados na

tabela STOPS_DISTANCE, 5.1 acima, que foi preenchida com valores reais retirados do simulador

de viagens do operador de transportes em questão. Há ainda outra constante da qual

dependeram os resultados dessa análise que é a constante que define o tempo mínimo que

deve durar uma viagem na mesma estação do operador. Essa constante denomina-se

MINIMUM_TRIP_TIME (Tabela 3) e o valor usado para obter estes resultados foi de 30000 (trinta

mil) milissegundos. Para clarificar melhor o efeito que a alteração desta constante pode ter

numa análise de fraude realizou-se uma alteração da mesma para 15000 (quinze mil)

milissegundos e repetiram-se as medições anteriormente efectuadas (Tabela 12).

Page 74: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

58

Amostra Regra #

Fraude # Não

Fraude Amostra Regra #

Fraude

# Não Fraude

447 11-Trip Rule One

(Skimming) 110 337 364 11-Trip Rule One

(Skimming) 50 314

447 12-Trip Rule Two (Wrong Usage) 122 325 364

12-Trip Rule Two (Wrong Usage) 54 310

Tabela 12 – Resultados de Fraude para Regras de Viagem II

Nestes novos resultados pode-se observar que os números de fraude diminuíram

significativamente, em aproximadamente 40%. Destas duas últimas experiências é plausível

afirmar que uma correcta afinação das constantes que influenciam a análise de fraude é

essencial para conseguir obter resultados o mais ajustados possível a cada situação.

Page 75: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

59

6 Conclusões e Trabalho Futuro

Como inicialmente referido, fraude existe e irá sempre existir, sendo, portanto, necessário

um combate eficiente da mesma. Esses meios anti-fraude podem ser variados, dependendo

das situações a que se aplicam.

Através do estudo realizado, tanto a nível das soluções para combater o problema

identificado a nível dos transportes públicos, como depois mais tarde em áreas semelhantes,

cartões de crédito, conseguiu-se identificar uma metodologia padrão para prevenir e detectar

fraude. Essa metodologia reside numa etapa inicial de prevenção onde se usam regras de

prevenção de fraude. Numa fase posterior, é aplicado um método de análise às transacções

donde vai resultar uma afirmação sobre o facto de a transacção em análise representar um

acto fraudulento ou não. Das regras de decisão, ficámos a saber que, por norma, resultam do

conhecimento prévio do sistema (ou de quem gere o sistema), devendo, por isso, ser

configuradas de acordo com as situações a detectar. Em relação ao método de análise,

verificou-se a utilização usual de um de dois métodos, Redes Neuronais ou Redes Bayseanas.

Em relação a estes métodos verificou-se que a escolha da sua utilização poderia residir no

facto de um dos sistemas (RBs) ser utilizado, nomeadamente, para quantidades de dados

relativamente reduzidas (ordem dos milhares de transacções), enquanto que o outro (RNs)

será o ideal para quantidades de dados mais elevados (acima das dezenas de milhar). Outro

factor distintivo, que influencia a escolha do método de análise a utilizar, é o tempo de

aprendizagem do método. Foram apresentados os vários paradigmas de aprendizagem

existentes neste tipo de análise, e em qual/quais destes paradigmas se enquadra cada um dos

métodos anteriormente referidos. Constatou-se que as RNs apresentam tempos de

aprendizagem superiores às RBs, visto na primeira essa aprendizagem ser, geralmente,

realizada por meio de um algoritmo de propagação do erro e, como tal, as alterações têm de

ser propagadas à totalidade da rede. Por outro lado, as RBs apresentam tempos de

aprendizagem relativamente mais rápidos, pois a aprendizagem pode ser realizada

individualmente (por exemplo com recurso a processos de decisão markovianos), não

havendo, assim, necessidade de esperar que toda a rede tenha sido actualizada.

Com base neste estudo projectou-se uma solução que, de forma eficaz, seja responsável

pela redução da fraude nos transportes públicos. Essa solução deverá ser composta por um

motor de regras, responsável pela etapa de prevenção de fraude, um componente de análise,

onde os métodos estudados são aplicados conjuntamente para uma detecção ideal de fraude,

e por um componente que permite ao utilizador aceder aos resultados da prevenção e

detecção de fraude assim como configurar o sistema. Tendo em conta a dimensão da solução

proposta e considerando o tempo disponível para conceder um protótipo o MA não foi

implementado e, para conseguir obter quantificações de fraude, o MR sofreu algumas

alterações mas, apesar disso, foi desenvolvida uma solução capaz de realizar análises de

fraude.

Page 76: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

60

Essa solução foi validada (5.4) através da realização de análises de fraude a dados reais

de operadores de transportes e dos resultados provenientes dessa validação foi possível retirar

algumas conclusões essenciais para este trabalho, bem como algumas indicações sobre o

trabalho futuro a desenvolver.

6.1 Conclusões

Dos testes realizados (5.4) como forma de validação da solução podemos elencar as

seguintes conclusões:

O tempo global de análise de fraude é mais influenciado pelo tempo de registo de

resultados do que pelo tempo de processamento. Podemos então concluir que com uma

melhor configuração de testes, a nível da base de dados e na ligação à mesma, é plausível

esperar melhorias significativas no tempo de registo de resultados e consequentemente

melhorias no tempo global de análise de fraude. É importante salientar que estas conclusões

só dizem respeito aos tipos de fraude testados durante o processo de validação, pelo que não

é correcto assumir o mesmo comportamento para todos os tipos de fraude.

O tempo global de análise de fraude é linearmente proporcional ao tamanho da

amostra analisada e ao número de regras utilizadas. Podemos concluir que devido aos tempos

demasiado elevados para analisar amostra de grande dimensão16 é aconselhada a realização

de análises a amostras mais reduzidas e mais significativas.

Isto é, devem ser realizadas análises periódicas e sobre dados sobre os quais já exista

alguma suspeita de fraude. Por exemplo, se há mais de vinte validações no mesmo dia para o

mesmo cartão, essas validações (dados) são suspeitas de fraude.

A escolha das regras a analisar também será um factor importante a ter em

consideração nessas análises devendo por isso serem somente seleccionadas regras que

aparentem ser as mais relevantes para a análise em questão.

A dimensão de amostra aconselhada para cinco regras é de dez mil transacções, visto

ser espectável que com uma melhor configuração, nomeadamente uma melhor máquina e

acesso de base de dados, uma análise deste género deve ser inferior a 7 horas, possibilitando

assim a realização de análises sem afectar em demasia os sistemas centrais dos operadores.

Tendo em consideração todos os aspectos até agora mencionados nestas conclusões, é

pertinente referir que idealmente as análises de fraude devem ser realizadas num período de

menos sobrecarga do sistema e, se possível, o mais isoladas do sistema central dos

operadores quanto possível.

Uma correcta manipulação das constantes de fraude é essencial para obter resultados

plausíveis.

16 Por grande dimensão consideram-se amostras superiores a cem mil transacções.

Page 77: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

61

É de extrema importância relembrar que sempre que os resultados de fraude, para uma

transacção em particular, causem dúvidas no responsável de fraude que os vai validar este

deve repetir as análises através da funcionalidade “Processar”, descrita na secção 5.3.2.2.1.

Esta funcionalidade é de elevada relevância no controlo de falsos positivos.

6.2 Trabalho Futuro

Embora deste trabalho tenham resultado contributos importantes que possibilitam uma

melhor compressão da problemática da fraude nos transportes públicos e a respectiva acção

correctiva, há ainda alguns aspectos a serem desenvolvidos no futuro. Esses

desenvolvimentos futuros são os seguintes:

Melhorar o componente C&A nos seguintes pontos:

o Possibilitar a criação a elementos de regras;

o Possibilitar a edição de regras;

o Possibilitar a criação de regras;

o Criar alarmes de fraude;

o Criar gráficos de fraude automaticamente.

Permitir o agendamento de análises de fraude. O protótipo desenvolvido iniciava

diariamente análises contudo seria interessante poder planear análises com

antecedência. Um exemplo deste planeamento seria agendar para o início da

semana uma análise a um determinado número de transacções e com um grupo

específico de regras e durante o fim-de-semana seleccionar “automaticamente”

mais regras e analisar um número diferente de transacções.

Implementar o componente MA e procurar um funcionamento do mesmo em

sintonia com o MR.

Integrar a solução desenvolvida num sistema central de um operador de

transportes e ajustar as regras à realidade desse operador.

Page 78: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

62

7 Referências

[1] Porto Editora (Agosto de 2008), “Dicionário Editora da Língua Portuguesa 2009 –

Acordo Ortográfico”, ISBN-13: 978-972-0-01423-8. [2] Konstantinos Markantonakis, Keith Mayes, "Smart Card Technology in the Public

Transport Industry”, Secure Magazine - The Silicon Trust Report, Fevereiro de 2004.

[3] Noreen McDonald, "Multipurpose Smart Cards in Transportation: Benefits and Barriers

to Use", 8 de Dezembro de 2000.

[4] Gloger, Marcus. “Check In - Be Out, a breakthrough in electronic ticketing with

automatic passenger detection during the trip.” In: UITP World Congress, 56th. Junho,

2005, Roma. Public Transport 2020 Making the Connection People –Environment –

Business.

[5] Spirtech, “Fraud Detector – Ticketing System Supervision”, 2006.

[6] Neural Technologies, “Minotaur™ Fraud Management”.

[7] Neural Technologies, “Minotaur™ FMS Unique Benefits”.

[8] Alaric, “Fractals, Adaptive Solutions to Hi-tech Financial Crime”, 2007.

[9] Alaric, “Fractals, Adaptive Classification Engine”, 2007.

[10] Christopher M. Bishop, “Neural Networks, ACM Comput Surv” 28(1): 73-75, 1996.R.

Brause, T.Langsdorf, M. Hepp, “Neural Data Mining for Credit Card Fraud Detection”,

1999.

[11] I. Ben-Gal, “Bayesian Networks”, 2007.

[12] Zoubin Ghahramani, “Learning Dynamic Bayesian Networks”, Outubro de 1997.

[13] Alaric, ”Card Fraud Detection, Comparison of detection technologies”,2007 .

[14] S. Maes, K. Tuyls, B. Vanschoenwinkel “Machine Learning Techniques for Fraud

Detection”, 2000.

[15] Jaime Carbonell ,”Artificial Intelligence -- 15-381 Unsupervised Machine Learning

Methods”, 4 de Abril de 2000.

[16] Fu Wai-Tat, John R. Anderson, "From Recurrent Choice to Skill Learning: A

Reinforcement-Learning Model", 2006.

[17] Richard S. Sutton, Andrew G. Barto, “Reinforcement Learning: An Introduction”, MIT

Press, Cambridge, Massachusetts, 1998.

[18] C. Derman, “Finite State Markov Decision Process”, Academic Press, New York, 1970.

[19] S. B. Kotsiantis, “Supervised Machine Learning: A Review of Classification

Techniques”, 16 de Julho de 2007.

[20] Sykes, A.O. "An Introduction to Regression Analysis", Outubro 1993.

Page 79: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

63

Anexos Tabela 1 – Mapeamento dos Tipos de Fraude ao Modelo de Regras

Tipos de Fraude Características Modelo de Regras

Skimming

"Viagens" simultâneas Regra 11 "Trip Rule One (Skimming)" [ri(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item))] TRUE R(14) FALSE false

Regra 14 "Regra Auxiliar para Tempos de Viagens"

[[rd(8:8;system_item) - rd(8:8;re(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item)))] < SD(re(8:13;system_item)|re(8:13;re(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item))))] TRUE

true FALSE false

"Viagens" seguidas com tempos inexequíveis

Tempo de "Viagem" inexequível

Validação e carregamento de

um cartão desconhecido

Cartão não registado no sistema é utilizado nas

máquinas de carregamento

Regra 1 "Loading - Check Card Exists" [[ri(2:1;re(1:1;system_item)) && ri(3:1;re(1:2;system_item))] || [ri(11:1;re(1:3;system_item);re(1:4;system_item))]]

TRUE false FALSE true

Cartão não registado no sistema é utilizado nos

postos de validação

Regra 4 "Validation - Check Card Exists" [[ri(2:1;re(8:1;system_item)) && ri(3:1;re(8:2;system_item))] || [ri(11:1;re(8:3;system_item);re(8:4;system_item))]]

TRUE false FALSE true

Validação e carregamento de um cartão inválido

Carregamento de Cartão que apresenta dados

diferentes dos registados na BD central

Regra 2 "Loading - Check Card Type Exsts" [ri(4:1;re(1:3;system_item)) && ri(5:1;re(1:4;system_item))] TRUE false FALSE true

Carregamento Cartão presente em LN

Regra 3 "Loading - Check Card Used while in BlackList" [ri(7:1;re(6:1;re(1:1;system_item);re(1:2;system_item));re(1:8;system_item);re(1:8;system_item))]

TRUE true FALSE false

Validação de Cartão que apresenta dados

diferentes dos registados na BD central

Regra 5 "Validation - Check Card Type Exsts" [ri(4:1;re(8:3;system_item)) && ri(5:1;re(8:4;system_item))] TRUE false FALSE true

Validação Cartão presente em LN

Regra 6 "Validation - Check Card Used while in BlackList" [ri(7:1;re(6:1;re(8:1;system_item);re(8:2;system_item));re(8:8;system_item);re(8:8;system_item))]

TRUE true FALSE false

Page 80: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

64

Validação de um contrato ou perfil

desconhecido

Cartão carregado com contrato desconhecido

Regra 7 "Loading - Check Ticket Exists" [ri(9:1;re(1:9;system_item);re(1:10;system_item))] TRUE false FALSE true

Cartão com perfil desconhecido

Validação de Cartão com contrato desconhecido

Regra 8 "Validation - Check Ticket Exists" [ri(9:1;re(8:9;system_item);re(8:10;system_item))] TRUE false FALSE true

Carregamentos e Validações com equipamentos desconhecidos

Contratos não foram carregados no cartão por um equipamento de um

operador conhecido

Regra 9 "Loading - Check Operator Exists" [ri(10:1;re(1:11;system_item))] TRUE false FALSE true

Cartões não foram validados por um

equipamento de um operador conhecido

Regra 10 "Validation - Check Operator Exists" [ri(10:1;re(8:11;system_item))] TRUE false FALSE true

Sequência de uso de um cartão de

forma pouco comum

Entradas consecutivas

Regra 12 "Trip Rule Two (Wrong Usage)" [[re(8:12;system_item) == 1] && [re(8:12;re(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item))) == 4]]

TRUE R(14) FALSE R(13)

Regra 13 "Trip Rule (Wrong Usage) Aux I" [[re(8:12;system_item) == 4] && [re(8:12;re(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item))) == 1]]

TRUE R(14) FALSE true

Regra 14 " Regra Auxiliar para Tempos de Viagens" [[rd(8:8;system_item) - rd(8:8;re(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item)))] <

SD(re(8:13;system_item)|re(8:13;re(13:1;re(8:1;system_item);re(8:2;system_item);re(8:8;system_item))))] TRUE true FALSE false

Saídas consecutivas

Pares entrada saída consecutivos

Page 81: Detecção de Intrusões Aplicação à detecção de fraude nos transportes … · transportes públicos de forma a possibilitar uma correcta prevenção e detecção da mesma. Para

65

Tabela 2 –Elementos presentes na tabela RULE_ELEMENTS

Identificador do Elemento

Query SQL do Elemento

1

select CARD_SERIAL_NR,CARD_NR,CARD_DATA_MODEL_ID,CARD_PHYSICAL_TYPE_ID,

TICK_RELO_DATE,TICK_RELO_MACH_CODE,TICK_RELO_NUMB_DAILY, TRANSACTION_DATE,TICK_CODE,TICK_OPER_CODE,LOAD_OPER from

transactions_rl where TRANSACTION_ID = ?

2 select SERIAL_NR from CARDS where SERIAL_NR = ?

3

select CARD_NUMB_ISSU_ENVI_APPL_ISSU||LPAD(CARD_NUMB_ISSU_CARD_NR,9,'0')

from cards where CARD_NUMB_ISSU_ENVI_APPL_ISSU||LPAD(CARD_NUMB_ISSU_CARD_NR,9,'0') =

?

4 select CARD_MODEL_TYPE_ID from CARD_MODEL_TYPES where

CARD_MODEL_TYPE_ID = ?

5 select CARD_TECK_TYPE_ID from CARD_TECK_TYPES where

CARD_TECK_TYPE_ID = ?

6 select CARD_ID from CARDS where SERIAL_NR = ? and

CARD_NUMB_ISSU_ENVI_APPL_ISSU||LPAD(CARD_NUMB_ISSU_CARD_NR,9,'0') = ?

7

select system_item_id from list_items where list_item_type_id = 1 and list_item_state_id = 1 and list_id = 1 and system_item_id = ?

and to_char(validity_start_date, 'YYYY-MM-DD HH24:MI:SS') <= ? and ? <= to_char(validity_end_date, 'YYYY-MM-DD HH24:MI:SS')

8

select CARD_SERIAL_NR,CARD_NR,CARD_DATA_MODEL_ID,CARD_PHYSICAL_TYPE_ID,

TICK_RELO_DATE,TICK_RELO_MACH_CODE,TICK_RELO_NUMB_DAILY, VALIDATION_DATE,TICK_CODE,TICK_OPER_CODE,EVENT_OPER, VALIDATION_TYPE_ID,STOP_INDEX_CODE from validations_rl where

VALIDATION_ID = ?

9 select ticket_id from tickets where tick_code = ? and tick_oper_code = ?

10 select entity_id from entities where entity_code = ?

11 select card_type_id from card_types where CARD_MODEL_TYPE_ID = ? and

CARD_TECK_TYPE_ID = ? and card_type_id in (2,4,5)

13 select validation_id from (select validation_id from validations_rl where card_serial_nr = ? and card_nr = ? and to_char(validation_date, 'YYYY-MM-DD HH24:MI:SS') < ? ORDER

BY validation_date DESC) where rownum = 1