Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2013
• ¿Cómo se debería implementar de controles de seguridad a nivel de
desarrollo? Brinda un ejemplo.
Controlar un sistema es parte fundamental para garantizar un mejoramiento continuo
del mismo. Los procesos de desarrollo no deberían ser ajenos a esta filosofía. Por esta
razón vamos a ver algunos controles que deberían tenerse en cuenta para que una
aplicación garantice la integridad y disponibilidad de la información y además se
pueda mejorar progresivamente.
Hace poco publicábamos lo que muchos saben pero pocos aplican sobre desarrollo
seguro, donde mencionamos aquellos aspectos a nivel general para lograr un desarrollo
seguro y los beneficios para la empresa que pueden traer estos cambios.
En particular, para aquellos que están directamente relacionados con el desarrollo
la responsabilidad es mayor pues finalmente son quienes atienden los requerimientos
e implementan las soluciones.
Por esta razón es recomendable tener en cuenta algunos controles en sus desarrollos
para prevenir escenarios de falla posibles como el Coss Site Scripting (XSS),
las inyecciones de código, la ejecución de códigos maliciosos y el Cross Site
Request Forgery. Recordemos que OWASP publica un Top 10 de
vulnerabilidades donde presentan los riesgos más críticos de aplicaciones web, junto
con la forma de prevenirlos.
Los controles implementados dentro de los desarrollos deben asegurar la entrada, el
procesamiento y la salida de información de forma que se cumpla con los niveles de
confidencialidad, integridad y disponibilidad.
Por lo tanto, deben implementarse controles preventivos diseñados para evitar la
entrada de datos no autorizados o no válidos, controles de detección ayudan a
identificar los sucesos no autorizadas o no válidos y los controles correctivos
para ayudar en la recuperación de los sucesos no deseados.
Controles preventivos
Estos controles deben enfocarse en que la información ingresada sea precisa, y por lo
tanto aquello que se registre en el sistema sea adecuado. Dentro de estos controles se
pueden tener validaciones matemáticas a los dígitos ingresados, comprobar la
integridad de los campos, verificar que no exista duplicidad en los datos,
establecer rangos de validación e incluso comprobar que los valores de los campos
sean razonables de acuerdo a un criterio predefinido.
Controles de detección
Este tipo de controles que se aplican sobre el procesamiento de la información aseguran
que las operaciones se hagan con la exactitud requerida y además los registros que se
hagan sobre bases de datos u otros sistemas sean consistentes. Operaciones como la
combinación de archivos, la modificación de datos, actualización de bases de datos o
mantenimientos de sistemas son operaciones sensibles que deberían tener este tipo de
controles.
Estas actividades de control pueden incluir la verificación de ejecución de procesos,
que durante de la ejecución si se presentan errores quede algún informe que pueda
ser revisado junto con un registro de las operaciones realizadas sobre los
diferentes sistemas. Además, debería hacerse una copia de respaldo periódica y
sobre todo cuando se ejecuten las tareas más sensibles.
Controles correctivos
Los controles de la información en la salida de la aplicación pueden resultar muy útiles
para mantener la integridad de los datos. Lo interesante de este tipo de controles es
que pueden integrarse con los controles preventivos de otra aplicación.
aplicación.
las pruebas.
Lo más importante es que en la definición de estos controles tanto los usuarios finales,
fases iniciales del proyecto, para lograr que sean los adecuados y faciliten la
1. Adquisición
En esta fase se obtienen copias de la información que se sospecha que puede estar
vinculada con algún incidente. De este modo, hay que evitar modificar cualquier tipo de
dato utilizando siempre copias bite a bite con las herramientas y dispositivos
adecuados. Cabe aclarar este tipo de copia es imprescindible, debido a que nos dejara
recuperar archivos borrados o particiones ocultas, arrojando como resultado una imagen
de igual tamaño al disco estudiado.
Rotulando con fecha y hora acompañado del uso horario, las muestras deberán ser
aisladas en recipientes que no permitan el deterioro ni el contacto con el medio. En
muchos casos, esta etapa es complementada con el uso de fotografías con el objetivo
de plasmar el estado de los equipos y sus componentes electrónicos.
La adquisición de muestras debe respetar una regla fundamental que está ligada a
la volatilidad de las muestras, por lo que se deberán recolectar en el orden de la más
volátil en primera instancia a la menos, sobre el final. A modo de ejemplo, podríamos
indicar que primero deberíamos recolectar datos relevantes a la memoria, contenidos
del caché y como último paso recolectar el contenido de documentos o información que
esté disponible en el soporte de almacenamiento.
Como ya sabemos las RFC son un conjunto de documentos que sirven de referencia
para estandarizaciones, normalizaciones en comunicaciones y tecnología. De esta
forma consultando la RFC 3227, podremos relevar con mayor profundidad todo lo que
compete a esta etapa.
2. Preservación
En muchos casos deberemos utilizar las técnicas de Hashes para identificar de forma
unívoca determinados archivos que podrían ser de gran utilidad para la investigación.
3. Análisis
Además, es muy importante tener en claro qué es lo que estamos buscando, debido a
que esto dará un enfoque más preciso a la hora de ir a buscar pruebas. Sin embargo,
el estudio de la línea de tiempo (timeline), logs de accesos y una descarga de la
memora RAM será muy útil para la mayoría de las pericias.
4. Documentación
Si bien esta es una etapa final, recomendamos ir documentando todas las acciones, en
lo posible, a medida que vayan ocurriendo. Aquí ya debemos tener claro por nuestro
análisis qué fue lo sucedido, e intentar poner énfasis en cuestiones críticas y
relevantes a la causa. Debemos citar y adjuntar toda la información obtenida,
estableciendo una relación lógica entre las pruebas obtenidas y las tareas realizadas,
asegurando la repetibilidad de la investigación.
5. Presentación
Un segundo informe llamado “Informe Técnico” es una exposición que nos detalla en
mayor grado y precisión todo el análisis realizado, resaltando técnicas y resultados
encontrados, poniendo énfasis en modo de observación y dejando de lado las opiniones
personales.
Conclusiones
A la hora de auditar un incidente de seguridad, hay que tener muy en claro su naturaleza,
ser meticulosos, estructurados, muy claros en las observaciones y detallar con la mayor
precisión posible.