190 likes | 367 Views
Xavier Almolda Cardona Joan Blanch Llorca. Seguretat a internet: Cavalls de Troia. Què és un cavall de troia?. És un programa que treballa contra un usuari, aproximadament com un virus, i és contingut en un programa aparentment legítim.
E N D
Xavier Almolda Cardona Joan Blanch Llorca Seguretat a internet:Cavalls de Troia
Què és un cavall de troia? • És un programa que treballa contra un usuari, aproximadament com un virus, i és contingut en un programa aparentment legítim. • Els troians només afecten equips connectats a altres equips, ja sigui per mitjà d’internet o d’una LAN. • És invisible a l’usuari que és atacat. • La major part de troians són RATs (Remote Administration Tools). • Tenir un troià al sistema és inofensiu, executar-los causa el problema, i a partir d’aquest moment es vulnerable a atacs.
Com infecta un troià?(1) • S’anomenen cavalls de troia perquè el codi del troià entra al nostre sistema amagat dins de programes aparentment inofensius. • La infecció per un troià sol estar associada a arxius descarregats d’internet, rebuts per e-mail i arxius rebuts per programes de missatgeria instantània.
Com infecta un troià?(2) • Perquè un troià tingui èxit en la seva missió, sigui quina sigui, ha d’aconseguir executar-se al nostre sistema sense ser detectat. • Existeixen “binders” d’arxius que fusionen 2 executables en un de sol. Es sol utilitzar aquesta tècnica per fusionar el servidor del troià i un programa qualsevol. Després es fa arribar aquest arxiu a l’usuari que es vol atacar. La infecció comença quan s’executa l’arxiu. • Alguns troians, com la majoria de virus, s’ajunten automàticament als executables del sistema infectat. Programa aparentment inofensiu amb el codi del servidor Servidor del troià Programa inofensiu Binder
Com infecta un troià?(3) • És important remarcar que un troià només podrà efectuar la seva missió si executem el codi d’aquest en el nostre sistema. • El simple fet de tenir guardat en disc un arxiu infectat amb un troià no implica que aquest pugui actuar.
Com funcionen? (1) El funcionament de la majoria de troians es basa en l’aqruitectura client/servidor. SERVIDOR CLIENT socket() socket() bind() connect() listen() accept() El servidor fa binding usant un port que serà conegut per al client El client ha de coneixer l’adreça IP del servidor que vol atacar read() write() write() read()
Com funcionen? (2) • En el nostre sistema s’està executant un servidor. Des d’una màquina remota un usuari executa el client que es conecta al nostre servidor. • El servidor, per ser un procés del nostre sistema, té tots els privilegis de l’usuari que l’ha iniciat, encara que ho hagi fet involuntàriament.
Esquema de funcionament 1. Arriba un arxiu infectat pel troià al ordinador A A INTERNET 2. L’ordinador A executa l’arxiu infectat A INTERNET LAN B 4. Qualsevol ordinador que disposi del client i tingui connexió amb A pot realitzar un atac 3. El servidor del troià s’està executant en l’ordinador A i és susceptible de ser atacat
Efectes perjudicials(1) • L’atac per mitjà d’un troià pot provocar diferents efectes, depenent del tipus de troià i de les intencions de l’atacant: • Control del nostre ordinador: • Moviment del ratolí • Obrir CD • Creació/eliminació de processos • Missatges • Tancar sessió,reiniciar/apagar equip • … • Extracció de dades: • Passwords • Actuant com a servidor de FTP • … • Efectes destructius: • Eliminació d’arxius • Alteració de dades • … • …
Com detectar un cavall de Troia • Usant un scanner de ports i comprovar que no tenim ports “sospitosos” oberts. • Usant una firewall que permeti connexions només a través de ports coneguts. • ATENCIO! Hi ha troians que deshabiliten les firewalls més populars. • Tots els antivirus detecten un gran nombre de troians
Com funciona un scanner de ports? • Hi ha diversos tipus de scanners de ports: • TCP connect scanning: És el més usat. Intenta un connect a una IP i ports determinats. Si es realitza l’accept el port està obert. • TCP SYN scanning: S’envia un paquet SYN com si s’iniciés una connexió. Si ens torna un SYN ACK el port està obert i s’envia un RST per finalitzar-la. Si es rep un RST el port està tancat. • TCP FIN scanning: Semblant al TCP SYN però enviant paquets FIN. Si el port està tancat es rep un RST, si està obert no es rep res. No funciona en sistemes Microsoft perquè envien RST independentment de l’estat del port. • … • Amb un scanner de ports i una llista de ports per identificar els ports oberts, podem realitzar atacs a màquines remotes i protegir millor la nostra màquina.
Com detectar un troià: (1) Scanner de ports local • Resultat del scanner de ports sobre el nostre PC abans d’executar el troià. • El mateix scanner al mateix PC un cop executat el servidor del troià netbus.
Com detectar un troià: (2) Firewall En aquest moment no hi ha cap conexió activa en el nostre PC
Com detectar un troià: (2) Firewall Connexions en escolta del servidor, que està executant-se
Com detectar un troià: (2) Firewall Les connexions del servidor encara en escolta, i un client connectat.
Com detectar un troià: (3) Antivirus • Imatges del antivirus detectant l’execució del codi del troià • Evita que el codi perjudicial es comenci a executar • En alguns casos permet reparar l’arxiu infectat eliminant el codi del troià
Com detectar un troià: Ventatges/inconvenients dels diferents mètodes
Bibliografia • Documents de www.astalavista.com • Documentació adjunta amb els troians usats: - NetBus 1.53 - SubSeven - Delta Source v0.5 BETA - Frenzy Beta 0.1.0