LABORATÓRIO DE PERÍCIA DIGITAL



Documentos relacionados
LABORATÓRIO DE PERÍCIA DIGITAL

LABORATÓRIO DE PERÍCIA DIGITAL

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Sumário. Introdução ao Universo Linux Parte I

Computação Instrumental

Desenvolvimento de Aplicativos com ASR para Android

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Caderno Digital Anglo Instalação

Revisão Aula Explique a MBR(Master Boot Record)

Segurança e privacidade na era da mobilidade: riscos e desafios. Aldo Albuquerque aldo@tempest.com.br

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Descrição geral do Android

Segurança em Dispositivos Móveis

Objetivo: Orientar sobre os procedimentos para estabelecer comunicação com o software de programação DriveMonitor

Auxiliar de instalação (Português Brasileiro) Primeiros passos

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Git e contribuição para projetos Open Source. Bruno Orlandi

Fundamentos da Computação Móvel

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

06/06/2013. O que é Software de Sistema? Sistema Operacional (SO) Tipos de Software de Sistema. Fatia de Mercado :: SO Desktop

CONDIÇÕES GERAIS DE ASSISTÊNCIA ASSISTÊNCIA HELP DESK P L A N O 1

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)

Introdução ao Git. Laboratório de Programação. Luísa Lima, Pedro Vasconcelos, DCC/FCUP. Março 2015

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

LABORATÓRIO DE PERÍCIA DIGITAL

DCC 003 Algoritmos e Estruturas de Dados I Tutorial de instalação do GCC e do TextPad

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

Desenvolvimento de um aplicativo básico usando o Google Android

Controle de Versão com GIT

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Manual de Utilização de Webcams no. Desenvolvimento de Aplicativos Java

Suporte Informática com 1 visita 12 meses

Programação para Android

Chien 2D Tutorial Básico

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

FundamentosemInformática

Apresentamos o KASPERSKY ENDPOINT SECURITY FOR BUSINESS

2 Configuração do Ambiente de Desenvolvimento

Aula Au 3 la 3 Windows-Internet

Manual Biblioteca Mackenzie

Computação II Orientação a Objetos

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Todos os direitos reservados.

Sistema Operacional LINUX

Introdução à Informática

App Inventor. uma breve introdução. Rui Campos. Mestrado em Eng. Computação e Instrumentação Médica. Sistemas de Computação Móvel

Circuito UNIFACS Semana SBC

Gerência de Redes de Computadores. 05 Gerência de Hospedeiros (Hosts)

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Como utilizar PuTTY para conexão SSH a um servidor linux

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Monitoramento Remoto Wi Fi Mod. CS9267

Sistemas Operacionais

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

Ricardo R. Lecheta. Novatec

Google Drive. Passos. Configurando o Google Drive

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Introdução ao Git. Introdução ao GIT. Anderson Moreira. Baseado nos slides disponíveis em http//free electrons.com

Kernel Linux. Trabalho Realizador Por: Tiago Conceição Nº Representação artística do núcleo Linux

Frameworks para criação de Web Apps para o Ensino Mobile

ipalestra Desenvolvendo para disposi0vos móveis. Gustavo Graña

Guia rápido do usuário

JADE Java Agent DEvelopment Framework

Padrões de configuração GIT

GERENCIAMENTO DE DISPOSITIVOS

Prof. Victor Halla. Unidade IV FUNDAMENTOS DE SISTEMAS

Sistemas Operacionais 1/66

Backdoors x Firewalls de Aplicação Praticando em Kernel do Linux

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Produção de aplicativo de catálogo de cursos da UTFPR para o sistema Android

Minicurso - Android Fábio Silva / João Paulo Ribeiro

Laboratório de Automação e Robótica (LAR)

O projeto Metasploit é um framework que foi criado em 2003 por HD Moore e é uma plataforma que permite a verificação do estado da segurança dos

Códigos Maliciosos. <Nome> <Instituição> < >

Manual de Instalação PIMSConnector em Linux

Portas Lógicas Básicas: Parte 2 Simulação Lógica

ESET Soluções de Segurança

Códigos Maliciosos. Prof. MSc. Edilberto Silva

Manual de Instalação PIMSConnector em Windows

4º Semestre. Aula 15 Serviços Internet (FTP)

Escola Adalgisa de Barros

Introdução à Programação de Computadores

ESET NOD32 Antivirus 4 para Linux Desktop. Guia de Inicialização Rápida

AS CONSULTORIA & TREINAMENTOS. Pacote VIP. Linux Básico Linux Intermediário Samba 4 Firewall pfsense

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Transcrição:

PÓS-GRADUAÇÃO LATO SENSU EM PERÍCIA DIGITAL LABORATÓRIO DE PERÍCIA DIGITAL PROFESSOR: DIEGO AJUKAS

ANÁLISE DE DISPOSITIVOS MÓVEIS ANÁLISE DE MEMÓRIA E DE MALWARE Extração de Memória no Android Análise de Malware em Android Malware em ios?

EXTRAÇÃO DE MEMÓRIA NO ANDROID Etapas: Preparação do ambiente Criação do Dispositivo Virtual de Android (Opicional) Baixar Código Fonte do Android Compilação Cruzada Carregar o LiME LKM no Android e fazer o dump de Memória Criar um profile pro volatility

PREPARAÇÃO DO AMBIENTE Download do Android SDK e NDK: Android SDK: http://developer.android.com/sdk/index.html Android NDK: http://developer.android.com/tools/sdk/ndk/index.html E descompactar: ~/android-sdk ~/android-ndk Inicializar o ambiente de build (Opcional): http://source.android.com/source/initializing.html Download do código fonte: http://source.android.com/source/downloading.html Criar o sistema (Opcional): http://source.android.com/source/building.html

CRIAÇÃO DO DISPOSITIVO VIRTUAL DE ANDROID (OPICIONAL)

BAIXAR CÓDIGO FONTE DO ANDROID Pode se baixar o código fonte do fabricante específico (modelo específico) ou baixar o código específico para o emulador de Android se for realizar apenas testes (Conhecido como Goldfish): $ git clone https://android.googlesource.com/kernel/goldfish.git ~/android-source Cloning into '/Users/Michael/android-source'... remote: Total 2442118 (delta 2048282), reused 2442118 (delta 2048282) Receiving objects: 100% (2442118/2442118), 501.84 MiB 395 KiB/s, done. Resolving deltas: 100% (2048284/2048284), done. $ cd ~/android-source/ $ git branch -a * master remotes/origin/head -> origin/master remotes/origin/android-goldfish-2.6.29 remotes/origin/android-goldfish-3.4 remotes/origin/linux-goldfish-3.0-wip remotes/origin/master $ git checkout -t remotes/origin/android-goldfish-2.6.29 -b goldfish Checking out files: 100% (26821/26821), done. Branch goldfish set up to track remote branch android-goldfish-2.6.29 from origin. Switched to a new branch 'goldfish

COMPILAÇÃO CRUZADA Etapas: Crosscompile do kernel; e Download e crosscompile do LiME; Alterar o Makefile adicionando as linhas: KDIR_GOLDFISH := ~/android-source CCPATH := ~/android-ndk/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86/bin E substituir as linhas: $(MAKE) -C /lib/modules/$(kver)/build M=$(PWD) modules strip --strip-unneeded lime.ko mv lime.ko lime-$(kver).ko Pelas linhas: $(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linux-androideabi- -C $(KDIR_GOLDFISH) EXTRA_CFLAGS=-fno-pic M=$(PWD) modules mv lime.ko lime-goldfish.ko

CARREGAR O LIME LKM NO ANDROID E FAZER O DUMP DE MEMÓRIA Basta usar o adb: $ cd ~/android-sdk/sdk/platform-tools/ $./adb push ~/lime-forensics/src/lime-goldfish.ko /sdcard/lime.ko Para o dump podemos fazer via sdcard ou remoto: $ adb shell root@android:/ # insmod /sdcard/lime.ko "path=/sdcard/lime.dump format=lime" root@android:/ # ls -al /sdcard/lime.dump ----rwxr-x system Ou sdcard_rw 872415264 2013-02-25 16:48 lime.dump $ adb forward tcp:4444 tcp:4444 $ adb shell root@android:/ # insmod /sdcard/lime.ko path=tcp:4444 format=lime E no computador: $ nc localhost 4444 > lime.dump

CRIAR UM PROFILE PRO VOLATILITY Crosscompile do volatility: Alterar o Makefile: $ svn checkout https://volatility.googlecode.com/svn/trunk/ ~/android-volatility $ cd ~/android-volatility/tools/linux obj-m += module.o KDIR := ~/android-source CCPATH := ~/android-ndk/toolchains/arm-linux-androideabi- 4.7/prebuilt/darwin-x86/bin DWARFDUMP := /usr/bin/dwarfdump -include version.mk all: dwarf dwarf: module.c $(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linuxandroideabi- -C $(KDIR) CONFIG_DEBUG_INFO=y M=$(PWD) modules $(DWARFDUMP) -di module.ko > module.dwarf

CRIAR UM PROFILE PRO VOLATILITY Criar vtypes: $ make $ head module.dwarf.debug_info <0><0x0+0xb><DW_TAG_compile_unit> DW_AT_producer<GNU C 4.7> DW_AT_language<DW_LANG_C89> DW_AT_name<~/volatility_android/tools/linux/module.c> DW_AT_comp_dir<~/android-source> DW_AT_stmt_list<0x00000000> <1><0x1d><DW_TAG_base_type> DW_AT_byte_size<0x00000004> DW_AT_encoding<DW_ATE_unsigned> DW_AT_name<long unsigned int> <1><0x24><DW_TAG_pointer_type> DW_AT_byte_size<0x00000004> DW_AT_type<<0x0000002a>> Fazer o Profile: $ zip ~/android-volatility/volatility/plugins/overlays/linux/golfish- 2.6.29.zip module.dwarf ~/android-source/system.map adding: module.dwarf (deflated 90%) adding: Users/Michael/android-source/System.map (deflated 73%)

EXAMINAR A MEMÓRIA Processos em execução; Acesso a dados protegidos (lockscreen) /system/gesture.key Dados que não vão ao disco: /app-cache/com.android.browser/cache/webviewcache Etc.

ANÁLISE DE MALWARE EM ANDROID Ferramentas Engenharia reversa Exemplos

FERRAMENTAS ONLINE Sites de antivírus de desktop virustotal.com metascan-online.com Sites específicos: https://apkscan.nviso.be/ http://anubis.iseclab.org/ OFFLINE Androtools http://www.nyxbone.com/malware/android_tools.html

ENGENHARIA REVERSA apk = zip + xmls AndroidManifest.xml Permissões e outras informações relevantes http://developer.android.com/reference/android/manifest.permission.html Usar outras ferramentas de engenharia reversa similares ao Java: Decompilação

EXEMPLOS FakeBank.apk ZITMo.apk

MALWARE EM IOS? Jailbreak Vulnerabilidades Outros ataques

JAILBREAK Processo de jailbreak elimina uma série de restrições em equipamentos com ios, permitindo modificar algumas configurações e instalar aplicações fora da App Store. Libera funções desconhecida para muitos usuários que podem ser exploradas por atacantes/malwares: Ex: ssh

VULNERABILIDADES Distribuição de vulnerabilidades identificadas nos SO em 2014 Sistema Operacional # total de vulnerabilidades # de vulnerabilidades altas # de vulnerabilidades médias # de vulnerabilidades baixas Apple Mac OS X 147 64 67 16 Apple ios 127 32 72 23 Linux Kernel 119 24 74 21 Windows 68 47 20 1 Android 6 4 1 1 Fonte: http://www.gfi.com/blog/most-vulnerable-operating-systems-and-applications-in-2014/

VULNERABILIDADES Distribuição por Sistema Operacional (Desktop) Mac OS X 7,72% Linux 1,74% Outros 0,31% Windows 90,23% Windows Mac OS X Linux Outros Fonte: https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0

VULNERABILIDADES Fonte: http://www.asymco.com/2015/04/14/personal-computer/

VULNERABILIDADES Comparação: https://www.cvedetails.com/product/15556/apple-iphone- Os.html?vendor_id=49 https://www.cvedetails.com/product/17153/microsoft- Windows-7.html?vendor_id=26 VS Mesmo vale para Android: https://www.cvedetails.com/product/19997/google-android.html?vendor_id=1224

MALWARE EM IOS? XcodeGhost (set/15) Plataforma de desenvolvimento Xcode modificada para injetar código malicioso nos aplicativos de ios no momento da compilação.

PÓS-GRADUAÇÃO LATO SENSU EM PERÍCIA DIGITAL LABORATÓRIO DE PERÍCIA DIGITAL PROFESSOR: DIEGO AJUKAS