10000 GitHub - kakanetwork/Kyrios: šŸ‘¾ Plataforma web para detecção automatizada de malwares em APKs Android.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

kakanetwork/Kyrios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 

History

74 Commits
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

šŸ“Œ KYRIOS - Plataforma de AnĆ”lise Automatizada de Malwares em APK's Android


šŸ—ŗ Tabela de conteĆŗdos


šŸ“ˆ Diagrama

3 840


āœ’ļø Detalhes do Projeto

šŸ” Resumo da Proposta

O projeto visa desenvolver uma plataforma web para anÔlise de programas maliciosos em arquivos APK (Android Application Package). Diversos estudos mostram um crescente número de vítimas alvo desses programas maliciosos, que teve um grande aumento após o período da pandemia do coronavírus (2020), com milhares de vítimas diÔrias dessas aplicações, reforçando a necessidade crítica dessa iniciativa. A proposta do projeto visa integrar diversas plataformas de anÔlise jÔ existentes com outras tecnologias embutidas, como, por exemplo, a API VirusTotal, implementação das Yara Rules, novas funcionalidades e tecnologias no processo de anÔlise.

A nossa plataforma se destaca pela centralização e agilidade no acesso às informações sobre programas maliciosos, assim como a utilização de processos para anÔlise dinâmica e estÔtica dos arquivos em questão. Ao contrÔrio dos métodos atuais, que são lentos, manuais e pouco intuitivos, onde a grande maioria possui apenas anÔlises do tipo estÔticas, oferecemos uma solução robusta e eficiente. Profissionais técnicos poderão obter rapidamente informações centralizadas, sem a necessidade de utilizar múltiplas ferramentas. Além disso, a plataforma é aberta para contribuições (open source), permitindo que especialistas contribuam com novas técnicas e ferramentas de anÔlise.

Após a anÔli![3 840](https://github.com/user-attachments/assets/4ece046c-a527-4112-9978-584cb63a5ec7) se, os APKs processados serão armazenados em um banco de dados dedicado, transformando-se em uma valiosa fonte de consulta e tornando-se mais um diferencial da plataforma. Essa base de dados estarÔ acessível através da plataforma web, proporcionando um recurso contínuo e expansível para futuras consultas e anÔlises de segurança mais detalhadas.

A entrega final do MVP (Minimum Viable Product) visa fornecer uma plataforma estÔvel, intuitiva e altamente disponível, com diversas ferramentas e serviços integrados. O MVP também serÔ escalÔvel, permitindo a adição de novas funcionalidades e a avaliação contínua de programas maliciosos.

O projeto estÔ profundamente conectado com disciplinas de Redes de Computadores, especialmente Programação para Redes, aplicando conceitos de programação para sockets, uso de APIs (Application Programming Interface), acesso a bancos de dados e criação de um webservice próprio. A plataforma serÔ estruturada e configurada em um ambiente Linux (Orange Pi 1.0.2 Bookworm, Debian based), utilizando os servidores web Nginx e Gunicorn, a linguagem Python, o framework Django, banco de dados PostgreSQL, e Dockers para anÔlises mais avançadas. Além disso, serão implementadas outras tecnologias para garantir alta performance e segurança, assegurando um ambiente robusto e confiÔvel para os usuÔrios.

šŸ” Introdução

A segurança de rede, em síntese, refere-se tanto à proteção contra o uso malicioso de informações, quanto à preservação da autenticidade e da confiabilidade de dados. Além disso, visa mitigar ameaças para manter a disponibilidade e a integridade. No entanto, evidencia-se o surgimento de Malwares, softwares feitos com a intenção de ameaçar um sistema e/ou seus usuÔrios. Segundo Gandotra, Bansal e Sofat (2014), o Malware representa uma das ameaças mais difíceis enfrentadas pela Tecnologia da Informação atualmente, e aproximadamente 47% das organizações sofreram incidentes de segurança nos últimos anos.

Nesse contexto, este projeto visa facilitar o acesso das pessoas a informações sobre malwares, integrando ferramentas e técnicas que auxiliarão na anÔlise e triagem de softwares que comprometem a estabilidade de serviços e a confidencialidade de usuÔrios. Dessa forma, busca-se alcançar um ambiente mais confiÔvel e seguro para os utilizadores de plataformas com sistema operacional Android.

De acordo com a pesquisa realizada por Djeena, Bouridane, Rubab e Marou (2023), evidencia-se uma era de guerra cibernética, na qual a espionagem virtual é uma prÔtica altamente ativa nas plataformas Android. Além disso, constata-se que cerca de 50% dos novos malwares são variantes de outros jÔ existentes. Portanto, torna-se imprescindível adotar estratégias de proteção contra essas ameaças para mitigÔ-las. A partir dessas considerações, busca-se demonstrar o desenvolvimento de meios para tal objetivo.

šŸ“„ Justificativa

Nos últimos anos, as ameaças à cibersegurança têm crescido exponencialmente, destacando a relevância deste projeto para enfrentar a proliferação de malware na era digital. Além disso, ao enfatizar a importância da educação e conscientização sobre segurança virtual, auxilia na proteção e preservação da integridade do ciberespaço.

A produção deste projeto tem como os principais diferenciais:
  1. Automatização de Processos Manuais na AnÔlise: A automação é essencial para aumentar a eficiência na proteção contra programas mal-intencionados, proporcionando mais autonomia e agilidade no processo de anÔlise.
  2. Integração de Serviços: A centralização de diversos serviços e APIs facilita o acesso a vÔrias técnicas e ferramentas jÔ existentes na comunidade de cibersegurança.
  3. Melhoria e Atualizações Contínuas: Implementação de um ciclo de feedback contínuo para aprimorar constantemente as técnicas de detecção e resposta a incidentes, com atualizações e inclusão de novas ferramentas.
  4. AnÔlises EstÔticas e Dinâmicas: Oferece a capacidade de realizar tanto anÔlises estÔticas quanto dinâmicas. Enquanto muitas plataformas se limitam às anÔlises estÔticas, a nossa utiliza Docker para executar anÔlises dinâmicas, proporcionando uma visão mais aprofundada sobre o comportamento dos arquivos.
  5. Plataforma Web Intuitiva: Desenvolvemos uma interface web intuitiva que facilita a interação e operação da plataforma, melhorando a experiência do usuÔrio.
  6. Histórico e Registro de AnÔlises: Um diferencial significativo é a capacidade de cadastrar uma conta de usuÔrio, permitindo o acompanhamento de todas as anÔlises realizadas, com detalhamentos e relatórios completos. Isso proporciona um controle detalhado sobre as anÔlises e facilita a gestão de dados e resultados.

O desenvolvimento deste projeto integra os conteúdos das seguintes disciplinas do Projeto Pedagógico do Curso (PPC) de Tecnologia em Redes de Computadores:
  1. Programação para Redes
    • Acesso a Banco de Dados:
      • ConexĆ£o e Consulta ao Banco de Dados: Estabelecimento de conexƵes e execução de consultas para recuperação de dados.
    • WebServices:
      • Desenvolvimento de Objetos e Classes: Criação de componentes reutilizĆ”veis para facilitar a integração de serviƧos e clareza do código fonte.
      • Integração com o Banco de Dados: Utilização de dados armazenados em bancos de dados (Logins e Dados de AnĆ”lises) em nossa plataforma web.
    • Geração de Scripts:
      • Geração de Scripts para Automatização da AnĆ”lise: Desenvolvimento de scripts para automatizar as anĆ”lises estĆ”ticas realizada no arquivo.
  2. Administração de Sistemas Abertos
    • Administração de ServiƧos de Rede:
      • Preparação e administração dos serviƧos de redes para suportar a demanda, conexƵes e garantir a sua estabilidade/disponibilidade.
    • Servidor Web (HTTP): Utilizado na criação de um servidor web por meio do Nginx para hospedar o projeto e fornecer acesso aos usuĆ”rios.
    • Servidor de Acesso Remoto Seguro (SSH): Preparado o ambiente de acesso remoto ao servidor, onde os serviƧos estĆ£o sendo executados, com todas as etapas de seguranƧa necessĆ”ria, para garantir a sua integridade.

Este projeto integrador visa permitir que demonstremos nossos conhecimentos em prƔticas seguras no campo de Redes de Computadores, contribuindo para o impacto positivo na seguranƧa cibernƩtica e social.

šŸŽÆ Objetivo Geral e Objetivos EspecĆ­ficos

Este projeto tem como objetivos gerais:
  1. Criação e implementação dos serviços de redes e infraestrutura interna
    • Configurar o ambiente Linux com a devida seguranƧa (SSH, UsuĆ”rios, PermissƵes)
    • Configuração dos servidores web (Nginx e Gunicorn com WSGI)
    • Configurar os ServiƧos de DNS e domĆ­nios
    • Ajustar os serviƧos de Banco de dados e ajuste das credenciais
  2. Criação e integração do Front-end da plataforma web:
    • Implementar a interface grĆ”fica da plataforma (HTML, CSS, Bootstrap)
    • Desenvolver a integração com a parte do Back-End e realizar testes.
    • Adaptação e melhorias constantes na interface conforme feedback.
  3. Criação e integração do Back-office com Django
    • Desenvolver funƧƵes para a administração centralizada de ServiƧos e Ferramentas
    • Implementar a integração e comunicação com Banco de dados
    • Realizar testes de carga e usabilidade das funƧƵes implementadas
  4. Criação de funções para anÔlises estÔticas
    • Implementar a criação de regras Yara e seus testes em arquivos APK
    • Implementação de Scripts em Python para detecção de padrƵes em arquivos APK
    • Automatização das ferramentas e funƧƵes, bem como os testes de carga e execução.
  5. Criação de ambiente para AnÔlises Dinâmicas
    • Configurar ambiente de mĆ”quinas virtuais e Dockers para realizar anĆ”lises de execução de APKs
    • Automatização dos processos de execução de scripts de anĆ”lise em APKs
    • Retornar os dados de forma centralizada para a plataforma web, integrando todos os processos.
  6. Realizar a integração de Front, Back e APIs
    • Integração da parte do Front-end com o Back-office da Plataforma
    • Implementar comunicação eficiente com APIs externas (como o VirusTotal)
    • Garantir a comunicação eficiente entre todas as partes da aplicação.

šŸ“… Planejamento de Sprints

SPRINT 1 - DATA (01/08/2024)

1.1 - Configurar o ambiente Linux com a devida seguranƧa
2.1 - Configurar o framework Django para o desenvolvimento
2.2 - Integrar e conectar o Django aos serviƧos de redes necessƔrios

SPRINT 2 - DATA (08/08/2024)

1.2 - Configuração dos servidores web
1.3 - Configurar os ServiƧos de DNS e domƭnios
1.4 - Criação do Banco de dados e Configuração BÔsica

SPRINT 3 - DATA (15/08/2024)

2.3 - Realizar a pré-integração/validação do backend com o frontend para envio de dados
1.4 - Ajustar os serviƧos de Banco de dados e ajuste das credenciais

SPRINT 4 - DATA (22/08/2024)

3.1 - Desenvolver a Estrutura de todo HTML, Layouts e estilos Bootstrap
4.1 - Configurar ambientes Docker para execução de anÔlises dinâmicas

SPRINT 5 - DATA (29/08/2024)

Implementar mƩtodos para a anƔlise estƔtica de arquivos APK
Validação de Login com Email e Banco de Dados devlopment Extra feature
Agregar API do VirusTotal ao projeto

SPRINT 6 - DATA (05/09/2024)

Agregar AnÔlise Dinâmica
6.1 - Testar e validar a integração entre as diferentes camadas da aplicação
6.2 - Realização de uma massa de testes com Malwares reais e analisar os resultados fornecidos pela plataforma
6.3 - Finalizar a documentação da plataforma

Finalizando o SPRINT 6 - DIA 05/09/2024 - COM MVP PRONTO

šŸ“š Documentação

Documentação de todas as ferramentas e tecnologias utilizadas no projeto:

[Dcumentação](https://github.com/kakanetwork/Kyrios/blob/main/Doc_Kyrios.pdf))

šŸ“š ReferĆŖncias BibliogrĆ”ficas

As referências bibliogrÔficas a seguir são os estudos e trabalhos acadêmicos que embasaram a proposta deste projeto, fornecendo a fundamentação teórica necessÔria para a sua concepção e desenvolvimento:

  1. Djeena, B., Bouridane, A., Rubab, S., & Marou, F. (2023). Threats and Countermeasures in Mobile Ad Hoc Networks: A Review. Journal of Network and Computer Applications.
  2. Gandotra, E., Bansal, D., & Sofat, S. (2014). Malware analysis and classification: A survey. Journal of Information Security.


šŸ† Pitch Deck - Entenda nosso Projeto

PitckDeck-Kyrios.mp4

⛳ Features

  • Configurar o ambiente linux
  • Configurar o ambiente do Django para desenvolvimento
  • Iniciar as possibilidades de emular android (testing)
  • Configuração dos Servidores Web
  • Configuração do DNS e DomĆ­nio
  • Criação do Banco de dados e Configuração BĆ”sica
  • Validação do Backend para enviar os dados
  • Protótipo da AnĆ”lise DinĆ¢mica
  • Desenvolver a estrutura do Frontend
  • Integrar novas ferramentas para anĆ”lise
  • Implementação de mĆ©todos para AnĆ”lises EstĆ”ticas
  • Testar e Validar a plataforma
  • Realizar a documentação da Plataforma

šŸ“ LicenƧa

Esse projeto estĆ” licenciado sob a licenƧa do MIT LICENSE - veja o arquivo de LICENƇA para mais detalhes.


šŸ‘€ Mais informaƧƵes

Para mais informações sobre o projeto presente neste repositório ou para sugerir alterações e correções, entre em contato pelo Github ou Email.

Co-Fundador: kalvin.klein@escolar.ifrn.edu.br.
Co-Fundador: jose.bezerra1@escolar.ifrn.edu.br.
Orientador: galileu.batista@escolar.ifrn.edu.br.


Feito por: kakanetwork e JoJoseB
Orientado por: Galileu Batista

About

šŸ‘¾ Plataforma web para detecção automatizada de malwares em APKs Android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •  
0