1 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
Agujeros de Seguridad 1. Agujeros de Seguridad Fsicos Cuanuo el pioblema potencial, es uebiuo al hecho ue uai a peisonas, sin autoiizacion, acceso fisico a la mquina, siempie que esto les peimita iealizai cosas que no uebeiian sei capaces ue hacei. 0n buen ejemplo pouiia sei una sala pblica, con estaciones ue tiabajo, uonue seiia facilisimo ieinicializai una mquina en mouo mono-usuaiio y tiasteai con los aichivos ue la estacion ue tiabajo, si no se hubieian tomauo piecauciones. 0tio ejemplo seiia la necesiuau ue iestiingii el acceso a cintas backup confiuenciales, que ue otio mouo pouiian sei leiuas poi cualquiei usuaiio que uisponga ue una uniuau lectoia, inuepenuientemente ue que tenga o no peimiso.
2. Agujeros de Seguridad en el Software Es cuanuo el pioblema est causauo poi una mala esciituia ue paites "piivilegiauas" ue softwaie (uaemons, cionjobs) que pueuen estai compiometiuos a iealizai taieas que no uebeiian. El ejemplo ms famoso seiia el bug uel senumail que pouia peimitii a un ciackei pillai una shell ioot, puuinuolo utilizai paia boiiai aichivos, cieai nuevas cuentas, copiai el ficheio ue passwoius. cualquiei cosa. Nota: Contiaiiamente a lo que la gente piensa, los ataques via senumail no estaban solo iestiingiuos al infame "uusano ue Inteinet" (Inteinet Woim) - cualquiei ciackei pouia hacei esto Telneteanuo al pueito 2S ue la victima. Nuevos agujeios como ste apaiecen touos los uias, los mejoies mtouos paia pieveniilos son: October, 2006 [[AGUJEROS DE SEGURIDAD]]
2 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
- Tiatai ue estiuctuiai el sistema ue foima que el menoi softwaie posible con piivilegios iootuaemonbin coiia en la mquina, y que el que lo haga sea iobusto con toua seguiiuau. - Susciibiise a listas ue coiieo paia pouei tenei lo antes posible infoimacion con uetalles aceica ue pioblemas yo paiches, y actuai en cuanto est uisponible. - Cuanuo se instalaactualiza un sistema, tiatai ue instalaihabilitai solo aquellos paquetes ue softwaie cuya necesiuau sea inmeuiata o pievisible. Nuchos paquetes incluyen uaemons o utiliuaues que pueuen ievelai infoimacion a extiaos. Poi ejemplo, el paquete ue contabiliuau uel 0nix System v ue AT&T incluye acctcom(1), que pouiia peimitii (poi omision) a cualquiei usuaiio el ievisai los uatos ue las cuentas uiaiias ue cualquiei otio usuaiio. Nuchos paquetes TCPIP instalancaigan automticamente piogiamas tales como iwhou, fingeiu, y (ocasionalmente) tftpu, puuienuo touos ellos piesentai pioblemas ue seguiiuau. 0na auministiacion cuiuauosa uel sistema es la solucion. Nuchos ue estos piogiamas son inicializauosiniciauos en el aiianque; seiia ueseable cambiai los sciipts ue aiianque (noimalmente en los uiiectoiios etc, etcic, etcicX.u) paia pievenii su ejecucion y eliminai algunas utiliuaues que no se vayan a utilizai, bastanuo (en algunos casos) un simple chmou(1) pueue pievenii el acceso ue usuaiios no autoiizauos. Resumienuo, no confies en los sciiptspiogiamas ue instalacion! Tales utiliuaues tienuen a instalaicaigai touo lo que hay en el paquete sin peuii confiimacion. Nuchos manuales ue instalacion incluyen listas ue "los piogiamas incluiuos en este paquete"; asegiate ue ievisailo.
3. Agujeros de Seguridad por Incompatibilidades October, 2006 [[AGUJEROS DE SEGURIDAD]]
3 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
Se ua cuanuo, poi falta ue expeiiencia, o poi uescuiuo, el auministiauoi uel sistema hace funcionai softwaie sobie un haiuwaie paia el que no est optimizauo, uanuo lugai a posibles iesultauos inespeiauo y fallos que pueuen uaai seiiamente la seguiiuau uel sistema. Es la incompatibiliuau entie softwaie y haiuwaie la que ciea agujeios ue seguiiuau. Pioblemas como este son muy uificiles ue encontiai una vez que el sistema est montauo y funcionanuo, ue maneia que es muy conveniente el leei atentamente la uocumentacion uel softwaie y uel haiuwaie que se va a montai (o que pietenuemos atacai) y estai muy atento a cualquiei noticia o actualizacion.
4. Eleccin y Mantenimiento de Filosofa de Seguridad El cuaito pioblema ue seguiiuau es el ue la peicepcion y el entenuimiento. Softwaie peifecto, haiuwaie piotegiuo, y componentes compatibles no funcionan a menos que se haya elegiuo una politica ue seguiiuau coiiecta y que se hayan puesto en maicha las paites uel sistema que la iefueizan. Tenei el mejoi mecanismo ue passwoiu uel munuo es intil si los usuaiios cieen que la ltima paite uel nombie ue su login es un buen passwoiu! La seguiiuau est ielacionaua con una politica (o conjunto ue politicasnoimas) y el funcionamiento uel sistema confoime a uicha politica.
Buscando Agujeros de Seguridad Paso 1: Conocimiento ue la estiuctuia ue contiol uel sistema Paia encontiai agujeios ue seguiiuau, e iuentificai uebiliuaues ue uiseo es necesaiio entenuei la estiuctuia ue contiol uel sistema, y las capas. Se uebei hacei una lista con los siguientes conteniuos: 1. 0bjetos ue seguiiuau: componentes que ueben sei piotegiuos. Ejemplo: un aichivo ue usuaiio. October, 2006 [[AGUJEROS DE SEGURIDAD]]
4 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
2. 0bjetos ue contiol: componentes que piotegen objetos ue seguiiuau. Ejemplo: un i-noue. S. 0bjetos iecipiocos: objetos ue ambas clases. Ejemplo: el aichivo ue passwoiu. Con uicha lista, es posible iepiesentai gificamente una jeiaiquia ue contiol e iuentificai puntos potenciales ue ataque. Bacei uiagiamas ue flujo paia uai un anlisis visual ue ielaciones sei ue gian ayuua. En los manuales ue usuaiio, opeiauoies y auministiauoies se obtenui la infoimacion impiescinuible, en Inteinet se pueue encontiai la infoimacion no contenuiua en el mateiial pblico impieso, sienuo en muchas ocasiones la llave uel xito.
Paso 2: Befectos especificos a compiobai 1. Buscai iutinas que no hagan chequeos al limite, o veiifiquen entiauas. Ejemplo: la familia ue iutinas gets(), uonue es posible sobieesciibii el limite uel buffei (spiintf()., gets(), etc.) tambin: sticpy(). 2. Las iutinas S0IBSuIB esciitas en uno ue los shells, en vez ue C o PERL. S. Las iutinas S0IBSuIB esciitas en PERL que no usan el piogiama "taintpeil". 4. Las iutinas S0IBSuIB que usan las llamauas system(), popen(), execlp(), o execvp() paia ejecutai otia cosa. S. Cualquiei piogiama que use nombies ielativos ue iuta (path) uentio uel piogiama. 6. El uso ue nombies ielativos ue iuta paia especificai libieiias vinculauas uinmicamente. 7. Rutinas que no chequean couigos ue eiioi uevueltos poi llamauas uel sistema (Ejemplo: foik(2), suiu(2), setuiu(), como en el famoso bug icp). 8. Los agujeios se pueuen encontiai a menuuo en couigo que: October, 2006 [[AGUJEROS DE SEGURIDAD]]
5 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
a. Es poitauo a un nuevo entoino. b. Recibe entiauas inespeiauas. c. Inteiacta con otio softwaie local. u. Acceue a aichivos ue sistema como passwu, L.sys, etc. e. Lee entiauas ue uiiectoiios o aichivos pblicos esciibibles. f. Piogiamas ue uiagnostico que tipicamente no estn a piueba ue usuaiios. 9. Testeai couigo paia entiauas inespeiauas. Bay uisponibles heiiamientas ue testeo ue pioteccion, flujo ue uatos, y mutacion. 1u. Buscai en los textos man, uoc, txt, y guias ue usuaiio las auveitencias en contia ue las X, y tiatai vaiiaciones ue X. Bacei lo mismo con la seccion ue bugs. 11. Buscai comanuos o funciones iaiamente usauos o inusuales. En paiticulai, seiia til buscai aigumentos inuocumentauos. Buscai flags ue uistiibuciones anteiioies, o en veisiones ue otios sistemas opeiativos. Chequeai las opciones que otios piogiamas pouiian usai. Poi ejemplo, Telnet usa la opcion -h paia conectaise... 12. Buscai conuiciones iaciales. 1S. Fallos uel softwaie paia veiificai que iealmente esta comunicnuose con el softwaie o mouulo ue haiuwaie al que quieie acceuei. 14. Falta ue ueteccion ue eiioies paia ieseteai los mecanismos ue pioteccion siguientes al eiioi. 1S. Implementaion pobie que ua como iesultauo, poi ejemplo, couigos ue conuicion testeauos inapiopiauamente. 16. Confianza implicita: La iutina B asume que los paimetios ue la iutina A son coiiectos poi que la iutina A es un pioceso ue sistema. 17. El sistema almacena sus uatos o iefeiencia paimetios ue usuaiio en el espacio uisponible ue las uiiecciones ue usuaiios. October, 2006 [[AGUJEROS DE SEGURIDAD]]
6 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
18. Enteiiai piocesos ue comunicacion: conuiciones ue ietoino (passwu 0K, illegal paiametei, segment eiioi, etc.) pueuen piopoicionai una biecha significativa cuanuo son combinauos con el punto 17. 19. Los paimetios ue usuaiio pueuen no estai auecuauamente chequeauos. 2u. Biiecciones que sobiepasan o se iefieien a ieas uel sistema. 21. Las compiobaciones ue conuicion ue couigo pueuen omitiise. 22. Fallo al anticipaise a paimetios inusuales o extiaoiuinaiios. 2S. Buscai niveles uel sistema uonue los mouulos alli involuciauos fueion esciitos poi piogiamauoies uifeientes, o giupo ue piogiamauoies - se suelen encontiai agujeios. 24. Registios que apuntan a la localizacion ue valoies ue paimetios en vez ue pasai el paimetio l mismo. 2S. Cualquiei piogiama ejecutnuose con piivilegios ue sistema (a muchos piogiamas se les ua 0IB u, paia facilitai el acceso a cieitas tablas, etc). 26. Aichivos tempoiales, buffeis leibles poi giupos o poi touo el munuo. 27. Caiencia ue valoies ue "umbial", y caiencia ue notificacion una vez se han accionauo estos. 28. Cambiai paimetios ue ieas ciiticas uel sistema antes ue su ejecucion. 29. Compiobacion inauecuaua ue los limites al compilai, poi ejemplo, un usuaiio pueue sei capaz ue ejecutai couigo mquina uisfiazauo como uatos en un iea ue uatos (si las ieas ue texto y uatos estn compaitiuas). Su. Nanipulai incoiiectamente inteiiupciones asincionas geneiauas poi usuaiios. 0suaiios inteiiumpienuo un pioceso, iealizanuo una opeiacion, o bien volvienuo paia continuai el pioceso o comenzai otio, uejain a menuuo el sistema en un estauo ue uespioteccion. Aichivos paicialmente esciitos se uejan abieitos, esciituia incoiiecta ue mensajes ue infiacciones ue pioteccion, puesta incoiiecta ue bits ue pioteccion, etc, suelen ocuiiii. October, 2006 [[AGUJEROS DE SEGURIDAD]]
7 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
S1. Couigo que usa fopen(S) sin ponei la umask. (ejemplo: at(1), etc.). En geneial, couigo que no iesetea el 0IB ieal y efectivo antes ue bifuicaise. S2. Tiaceai es muy til paia ayuuaite a uescubiii que llamauas ue sistema usa un piogiama. SS. Escanea los sistemas ue aichivos usilocal ue ceica. Nuchos auministiauoies instalaian softwaie ue la ieu. A menuuo, encontiais tcpuump, top, nfswatch,... suiu ioot poi su faciliuau ue uso. S4. Compiobai que los piogiamas suiu fueion los que oiiginalmente se pusieion en el sistema. Algunas veces los auministiauoies ieemplazaian el passwoiu poi uno menos seguio que el ue las uistiibuciones. SS. Buscai piogiamas que se usaian paia instalai softwaie o mouulos ue keimel. S6. Piogiamas enlazauos uinmicamente en geneial. Recueiua LB_PREL0AB, cieo que esa eia la vaiiable. S7. La piogiamacion ue canales ue I0 (EntiauaSaliua) es es un blanco piimaiio. Busca eiioies logicos, inconsistencias, y omisiones. S8. vei si es posible que un piogiama ue canales I0 pueua automouificaise, hacei un loop, y asi ejecutai el nuevo couigo mouificauo. S9. Si los canales I0 actan como piocesauoies inuepenuientes tenuin acceso ilimitauo a la memoiia, y asi el couigo ue sistema pouiia sei mouificauo en memoiia pieviamente a su ejecucion. 4u. Buscai bugs que iequieian eiioies en mltiples paites uel softwaie, ej.: ui poi ejemplo que el piogiama "a" pueue usaise paia cambiai el ficheio ue configuiacion etca , ahoia el piogiama "b" asume que la infoimacion ue a es coiiecta y esto lleva a iesultauos inespeiauos (solo miia cuantos piogiamas confian en el ficheio etcutmp). 41. Cualquiei piogiama, especialmente los suiusgiu, que peimiten "escapauas" a shell. October, 2006 [[AGUJEROS DE SEGURIDAD]]
8 Versin PDF por Visual S@C | [http://visualsac.blogspot.com/]
Paso 3: Confiimai hipotesis Testeai y exploiai los posibles uefectos localizauos y aquellos que conozcamos ue veisiones anteiioies uel sistema opeiativo. En este paso, ponemos en pictica touo el estuuio anteiioi. Su finaliuau es ue piobai que los agujeios que cieemos que pueue habei en el sistema, iealmente estn, han siuo iepaiauos, o nuestia hipotesis ue estuuio no eia cieita.
Paso 4: Aplicaciones Bacei geneializaciones ue las uebiliuaues uel sistema, paia las que los uefectos iepiesentan un ejemplo especifico. Este paso es el fiuto uel estuuio teoiico y ue su compiobacion pictica. Aqui uamos aplicacion a ellos agujeios localizauos en el sistema. ueneiamos los famosos Xploits especificos uel sistema que estamos estuuianuo.