Cómo determinar que la auditoría está en ejecución La auditoría está habilitada de forma predeterminada. Si cree que la auditoría no se ha inhabilitado, pero no se envían registros de auditoría al complemento activo, utilice el procedimiento siguiente para aislar el problema. Antes de comenzar Para modificar un archivo de sistema, debe estar en la función raíz. Para configurar la auditoría, debe asignársele el perfil de derechos de configuración de auditoría. Utilice cualquiera de los métodos siguientes: Compruebe la condición de auditoría actual. El siguiente listado indica que la auditoría no se está ejecutando: La siguiente lista indica que se está ejecutando la auditoría: Compruebe que el servicio de auditoría se está ejecutando. El siguiente listado indica que la auditoría no se está ejecutando: La siguiente lista indica que el servicio de auditoría se está ejecutando: Si el servicio de auditoría no se está ejecutando, habilítelo. Para obtener más información sobre el procedimiento, consulte Cómo habilitar el servicio de auditoría. Si no hay ningún plugin activo, active uno. Si ha creado una clase de auditoría personalizada, compruebe que ha asignado eventos a la clase. Por ejemplo, la siguiente lista de banderas contiene la clase pf, que el software de Oracle Solaris no entregó: Para obtener una descripción de la creación de la clase pf, consulte Cómo agregar una clase de auditoría. Compruebe que la clase está definida en el archivo auditclass. La clase de auditoría debe ser definida, y su máscara debe ser única. Reemplace una máscara que no sea única. Si la clase no está definida, defínala. De lo contrario, ejecute el comando auditconfig - setflags con valores válidos para restablecer los indicadores actuales. Compruebe que se han asignado eventos a la clase. Utilice uno de los métodos siguientes: Si no se asignan eventos a la clase, asigne los eventos apropiados a esta clase. El script de auditwarn envía mensajes de alerta al alias de correo electrónico de auditwarn. En ausencia de un alias configurado correctamente, los mensajes se envían a la cuenta raíz. Revise los archivos de registro para el servicio de auditoría. La salida del comando svcs - s auditd muestra la ruta completa a los registros de auditoría que produce el servicio de auditoría. Para ver un ejemplo, vea el listado en Step1601. Revise los archivos de registro del sistema. La secuencia de comandos auditwarn escribe mensajes daemon. alert en el archivo / var / log / syslog. El archivo / var / adm / messages puede contener información. Cómo disminuir el volumen de los registros de auditoría producidos Después de determinar qué eventos deben ser auditados en su sitio, utilice las siguientes sugerencias para crear archivos de auditoría manejables. Antes de comenzar Para preseleccionar clases de auditoría y establecer una directiva de auditoría, debe asignársele el perfil de derechos de configuración de auditoría. Para modificar archivos de sistema y asignar indicadores de auditoría a usuarios, funciones y perfiles de derechos, debe estar en la función raíz. Utilice la directiva de auditoría predeterminada. Específicamente, evite agregar eventos y testigos de auditoría a la pista de auditoría. Las siguientes políticas aumentan el tamaño de la pista de auditoría. Arge policy 8211 Agrega variables de entorno a los eventos de auditoría execv. Argv policy 8211 Agrega parámetros de comando a execv eventos de auditoría. Política pública 8211 Si se están auditando eventos de archivo, agrega un evento al rastro de auditoría cada vez que un evento auditable sucede a un objeto público. Las clases de archivo incluyen fa. Fc Fd. Fm. Fr Fw Y cl. Para la definición de un archivo público, vea Terminología y conceptos de auditoría. Path policy 8211 Agrega un token de ruta de acceso para auditar eventos que incluyen un token de ruta de acceso opcional. Directiva de grupo 8211 Agrega un token de grupo para auditar eventos que incluyen un token de grupos nuevos opcional. Seq 8211 Agrega un token de secuencia a cada evento de auditoría. Política de ruta 8211 Agrega un token de remolque a cada evento de auditoría. Windatadown policy 8211 En un sistema que está configurado con Trusted Extensions, agrega eventos cuando la información en una ventana etiquetada se desactiva. Política windataup 8211 En un sistema que está configurado con Trusted Extensions, agrega eventos cuando se actualiza la información en una ventana etiquetada. Zonename policy 8211 Agrega el nombre de la zona a cada evento de auditoría. Si la zona global es la única zona configurada, agrega la zona de cadena, global a cada evento de auditoría. El siguiente registro de auditoría muestra el uso del comando ls. La clase ex se está auditando y la política predeterminada está en uso: El siguiente es el mismo registro cuando se activan todas las políticas: Utilice el complemento auditsyslog para enviar algunos eventos de auditoría a syslog. Y no envíe esos eventos de auditoría al plugin auditbinfile o auditremote. Esta estrategia sólo funciona si no se le requiere mantener registros binarios de los eventos de auditoría que envía a los registros de syslog. Establezca menos indicadores de auditoría en todo el sistema y audite a usuarios individuales. Reduzca la cantidad de auditoría para todos los usuarios al reducir el número de clases de auditoría que se auditan en todo el sistema. Utilice la palabra clave auditflags para el roladd. Rolemod. Useradd. Y usermod para auditar eventos para usuarios y roles específicos. Para ejemplos, vea Ejemplo16028-18 y la página de manual usermod (1M). Utilice las propiedades alwaysaudit y neveraudit del comando profiles para auditar eventos para perfiles de derechos específicos. Para obtener más información, consulte la página de manual de perfiles (1). Nota - Al igual que otros atributos de seguridad, los indicadores de auditoría se ven afectados por el orden de búsqueda. Para obtener más información, consulte Orden de búsqueda de atributos de seguridad asignados. Cree su propia clase de auditoría personalizada. Puede crear clases de auditoría en su sitio. En estas clases, ponga sólo los eventos de auditoría que necesita supervisar. Para ver el procedimiento, consulte Cómo agregar una clase de auditoría. Precaución: si modifica asignaciones de clases de auditoría existentes, es posible que sus modificaciones se mantengan al actualizar a una versión más reciente del SO de Oracle Solaris. Sin embargo, la versión más reciente del archivo de Oracle Solaris podría incluir cambios que debe incorporar manualmente en la instalación. Revise cuidadosamente los registros de instalación. Para obtener más información, consulte la descripción de preserverenamenew en la página de manual pkg (5). Cómo auditar todos los comandos de los usuarios Como parte de la política de seguridad del sitio, algunos sitios requieren registros de auditoría de todos los comandos que son ejecutados por la cuenta raíz y las funciones administrativas. Algunos sitios pueden requerir registros de auditoría de todos los comandos de todos los usuarios. Además, los sitios pueden requerir que se registren los argumentos de comando y el entorno. Antes de comenzar Para preseleccionar clases de auditoría y establecer una directiva de auditoría, debe asignársele el perfil de derechos de configuración de auditoría. Para asignar indicadores de auditoría a usuarios, funciones y perfiles de derechos, debe estar en la función raíz. Conviértase en un administrador con los atributos de seguridad requeridos. La clase ex audita todas las llamadas a las funciones exec () y execve (). La clase lo audita los inicios de sesión, los logouts y los bloqueos de pantalla. La siguiente salida lista todos los eventos de las clases ex y lo. Para auditar estas clases para funciones administrativas, modifique los atributos de seguridad de las funciones. En el ejemplo siguiente, root es un rol. El sitio ha creado tres funciones, sysadm. Auditadm. Y netadm. Todos los roles son auditados para el éxito y el fracaso de los eventos en las clases ex y lo. Para auditar estas clases para todos los usuarios, establezca los indicadores del sistema. El resultado es similar al siguiente: El token execargs registra los argumentos del comando: El token execenv registra el entorno de comandos: Cómo encontrar registros de auditoría de los cambios en archivos específicos Si su objetivo es registrar las escrituras de archivos en un número limitado de archivos, Como / etc / passwd y los archivos en el directorio / etc / default, utilice el comando auditreduce para localizar los archivos. Antes de comenzar Debe asignársele el perfil de derechos de configuración de auditoría para utilizar el mandato auditconfig. Se le debe asignar el perfil de derechos de revisión de auditoría para utilizar el mandato auditreduce. Para asignar indicadores de auditoría a usuarios y funciones, debe estar en la función raíz. Conviértase en un administrador con los atributos de seguridad requeridos. La adición de la clase a los indicadores de auditoría de un usuario o función genera menos registros que la adición de la clase a la máscara de preselección de auditoría de todo el sistema. Realice uno de los pasos siguientes: Agregue la clase fw a roles específicos. Agregue la clase fw a los indicadores del sistema. O bien, auditar archivos de archivo exitosos. Los éxitos de auditoría generan menos registros que los fracasos y éxitos de auditoría. Realice uno de los pasos siguientes: Agregue el indicador fw a roles específicos. Agregue el indicador fw a los indicadores del sistema. Si las banderas de todo el sistema están auditando para obtener éxito y para errores, establezca excepciones para usuarios y funciones específicos. Los indicadores del sistema siguen sin cambios, pero la máscara de preselección para estos cuatro roles se cambia. Para encontrar los registros de auditoría de archivos específicos, utilice el mandato auditreduce. El comando auditreduce busca el rastro de auditoría para todas las instancias del argumento del archivo. El comando crea un archivo binario con el sufijo filechg que contiene todos los registros que incluyen las rutas de los archivos de interés. Consulte la página de manual auditreduce (1M) para obtener la sintaxis de la opción - o file pathname. Cómo actualizar la máscara de preselección de usuarios conectados Quiere que los usuarios que ya han iniciado sesión para que se auditen los cambios en la máscara de preselección de auditoría de todo el sistema. Antes de comenzar Debe asignarse el perfil de derechos de configuración de auditoría. Para finalizar las sesiones de usuario, debe asignarse el perfil de derechos de Gestión de procesos. Conviértase en un administrador con los atributos de seguridad requeridos. Actualice la máscara de preselección de usuarios que ya están conectados. Tiene dos opciones. Puede finalizar las sesiones existentes o utilizar el mandato auditconfig para actualizar las máscaras de preselección. Finalizar las sesiones existentes de los usuarios. Los usuarios pueden cerrar la sesión y volver a iniciar sesión. O, en una función asignada al perfil de derechos de Gestión de procesos, puede finalizar manualmente las sesiones activas. Las nuevas sesiones heredarán la nueva máscara de preselección. Sin embargo, la terminación de los usuarios podría ser poco práctico. Cambia dinámicamente cada máscara de preselección de usuarios registrada. En un rol que incluye el perfil de derechos de configuración de auditoría, asuma que cambió la máscara de preselección de auditoría de todo el sistema de lo a lo, ex. Enumere los usuarios regulares que están conectados y sus ID de proceso. Para una comparación posterior, muestre la máscara de preselección de cada usuario. Modifique la máscara de preselección de usuario. Compruebe que la máscara de preselección para el usuario ha cambiado. Por ejemplo, compruebe un proceso que existía antes de cambiar la máscara. Cómo evitar la auditoría de eventos específicos Para fines de mantenimiento, a veces un sitio quiere evitar que los eventos sean auditados. Antes de comenzar Debes estar en el rol raíz. Cambie la clase del evento a la clase no. Por ejemplo, los eventos 26 y 27 pertenecen a la clase pm. Cambie estos eventos a la clase no. Si la clase pm está siendo auditada, las sesiones existentes auditarán los eventos 26 y 27. Para evitar que estos eventos sean auditados, debe actualizar las máscaras de preselección de usuarios siguiendo las instrucciones de Cómo actualizar la máscara de preselección de usuarios registrados. Precaución: no comente eventos en el archivo auditevent. Este archivo es utilizado por el comando praudit para leer archivos de auditoría binarios. Los archivos de auditoría archivados pueden contener eventos que se enumeran en el archivo. Cómo limitar el tamaño de los archivos de auditoría binaria Los archivos de auditoría binarios crecen sin límite. Para facilitar el archivado y la búsqueda, es posible que desee limitar el tamaño. También puede crear archivos binarios más pequeños del archivo original. Antes de comenzar Debe asignarse el perfil de derechos de configuración de auditoría para establecer el atributo pfsize. Se le debe asignar el perfil de derechos de revisión de auditoría para utilizar el mandato auditreduce. Conviértase en un administrador con los atributos de seguridad requeridos. Utilice el atributo pfsize para limitar el tamaño de los archivos de auditoría binaria individuales. Para obtener una descripción del atributo pfsize, consulte la sección OBJECT ATTRIBUTES de la página de manual auditbinfile (5). Utilice el comando auditreduce para seleccionar registros y escribir esos registros en un archivo más pequeño para un análisis posterior. Las opciones auditreduce - lowercase encuentran registros específicos. Las opciones auditreduce - Mayúsculas escriben sus selecciones en un archivo. Para obtener más información, consulte la página de manual auditreduce (1M). Cómo comprimir archivos de auditoría en un sistema de archivos dedicado Los archivos de auditoría pueden crecer mucho. Puede establecer un límite superior al tamaño de un archivo, como se muestra en Example16028-14. En este procedimiento, utiliza compresión para reducir el tamaño. Antes de comenzar Debe asignársele los perfiles de derechos de administración de sistema de archivos ZFS y de administración de almacenamiento de ZFS. Este último perfil le permite crear agrupaciones de almacenamiento. Conviértase en un administrador con los atributos de seguridad requeridos. Dedicar un sistema de archivos ZFS para los archivos de auditoría. Comprimir el grupo de almacenamiento de ZFS mediante una de las siguientes opciones. Con ambas opciones, el sistema de archivos de auditoría se comprime. Después de actualizar el servicio de auditoría, se muestra la relación de compresión. Para establecer la compresión, utilice el comando zfs set compressionon dataset. En los siguientes ejemplos, el pool de auditoría de ZFS auditp / auditf es el conjunto de datos. Utilice el algoritmo de compresión predeterminado. Utilice un algoritmo de compresión más alto. El algoritmo de compresión gzip-9 da como resultado archivos que ocupan un tercio menos de espacio que el algoritmo de compresión predeterminado, lzjb. Para obtener más información, consulte el Capítulo 6, Administración de sistemas de archivos Oracle Solaris ZFS, en Administración de Oracle Solaris: Sistemas de archivos ZFS. Cómo auditar los inicios de sesión de otros sistemas operativos El sistema operativo Oracle Solaris puede auditar todos los inicios de sesión, independientemente del origen. Antes de comenzar Debe asignarse el perfil de derechos de configuración de auditoría. Conviértase en un administrador con los atributos de seguridad requeridos. Auditoría de la clase lo para eventos atribuibles y eventos no atribuibles. Esta clase audita los inicios de sesión, los logouts y los bloqueos de pantalla. Estas clases se auditan de forma predeterminada. Si se han cambiado los valores, agregue el indicador lo. Nota - Para auditar los inicios de sesión ssh, su sistema debe ejecutar el daemon ssh de Oracle Solaris. Este daemon se modifica para el servicio de auditoría en un sistema Oracle Solaris. Para obtener más información, consulte Secure Shell y el proyecto OpenSSH. Cómo auditar transferencias de archivos FTP y SFTP El servicio FTP crea registros de sus transferencias de archivos. El servicio SFTP, que se ejecuta bajo el protocolo ssh, puede ser auditado preselectando la clase de auditoría ft. Los accesos a ambos servicios pueden ser auditados. Antes de comenzar Debe asignarse el perfil de derechos de configuración de auditoría. Conviértase en un administrador con los atributos de seguridad requeridos. Para registrar comandos y transferencias de archivos del servicio FTP, consulte la página de manual proftpd (8). Para conocer las opciones de registro disponibles, lea la sección 8220Logging Capabilities8221. En particular, las órdenes de registro y las opciones de transferencia de registros pueden proporcionar registros útiles. Para registrar el acceso sftp y las transferencias de archivos, audite la clase ft. La clase ft incluye las siguientes transacciones SFTP: Para registrar el acceso al servidor FTP, audite la clase lo. Como indica el siguiente resultado, el inicio de sesión en y desde el demonio ftpd genera registros de auditoría. Copyright 169 2002, 2012, Oracle y / o sus afiliados. Todos los derechos reservados. Avisos legalesLa calculadora proporcionada con 010 Editor es una calculadora de expresión completa que utiliza una sintaxis similar a C. La calculadora se puede cargar haciendo clic en la Calculadora Herramientas gt. O pulse F8. Introduzca los valores en la calculadora haciendo clic en los botones en la parte inferior de la calculadora o escribiendo en el teclado. Tenga en cuenta que se pueden introducir muchas letras, números y símbolos comunes haciendo clic en los botones de la calculadora, pero algunas de las funciones avanzadas de la calculadora sólo son accesibles escribiendo comandos en el teclado. Haga clic en el botón Retroceso para eliminar el carácter a la izquierda de la posición actual del cursor o pulse el botón Borrar para eliminar toda la información de la calculadora. Al hacer clic en el botón Copiar copia el último resultado en el portapapeles de Windows y al hacer clic en el botón Ejecutar se evaluará la expresión actual y se mostrará el resultado en la ventana de la calculadora. Expresiones Para evaluar expresiones simples, ingrese una expresión en la calculadora sin punto y coma () al final de la línea. Tenga en cuenta que al introducir números hexadecimales, coloque una h después del número (por ejemplo, 2Fh). Debido a que la calculadora utiliza la sintaxis C, asegúrese de colocar un 0 antes de cualquier número hexadecimal que comience con una letra (por ejemplo, debe utilizar 0FFh en lugar de sólo FFh). Haga clic en el botón Ejecutar o presione F8 de nuevo para mostrar los resultados en la calculadora. Por ejemplo: mostrará el resultado 67072 10600h. Si se incluye un punto y coma al final de la línea, la expresión se trata como un programa C y para mostrar resultados se debe usar la palabra clave return. Por ejemplo: Se admiten todos los operadores estándar de C, incluyendo, -,, /,, amp,,, ltlt, gtgt. Paréntesis, etc. Se soportan los formatos de número decimal, hexadecimal, octal y binario. Por ejemplo: Para obtener más información sobre expresiones, consulte Conceptos básicos y expresiones de secuencias de comandos. Variables Las variables también se pueden declarar y utilizar en la calculadora mediante la sintaxis C. Por ejemplo: Una variable declarada en la calculadora se mostrará en la pestaña Variables del Inspector. Las cadenas y arrays también son compatibles. Consulte Tipos de datos para obtener una lista completa de tipos de datos compatibles. Funciones El Editor 010 incluye una serie de funciones para operaciones matemáticas, edición de archivos, edición de cadenas e interacción con la interfaz. La mayoría de las funciones son similares a sus contrapartes C pero tienen una primera letra mayúscula. La función Printf es compatible y puede utilizarse para mostrar texto en la ficha Salida del panel Salida. Por ejemplo: Cargar un binario - CLE y angr Proyectos angraposs componente de carga binaria es CLE, que significa CLE Cargas Todo. CLE es responsable de tomar un binario (y cualquier biblioteca de la que depende) y presentarlo al resto de angr de una manera que sea fácil de trabajar. El objetivo principal de CLEaposs es cargar los binarios de una manera robusta, es decir, de la misma manera que el cargador real (por ejemplo GNU LD en el caso de binarios ELF) los cargaría. Esto significa que CLE puede ignorar alguna información que pueda estar presente en los binarios, porque tal información puede ser despojada, corrompida voluntaria o involuntariamente, etc. No es raro en el mundo incrustado ver estas cosas sucediendo. Angr, a su vez, engloba esto en una clase Project. Una clase Project es la entidad que representa su binario. Gran parte de su interacción con angr lo atravesará. Para cargar un binario con angr (letaposs say quot / bin / truequot), haría lo siguiente: Después de esto, b es angraposs representación de su binario (el quotmainquot binario), junto con las bibliotecas de las que depende. Hay varias cosas básicas que puedes hacer aquí sin tener más conocimientos del resto de la plataforma: CLE expone la información de binarioaposs a través de la clase Loader. El cargador CLE (cle. Loader) representa un conglomerado completo de objetos binarios CLE cargado, cargado y mapeado en un único espacio de memoria. Cada objeto binario es cargado por un backend de cargador que puede manejar su tipo de archivo (una subclase de cle. Backend). Por ejemplo, cle. ELF se utiliza para cargar binarios ELF. CLE se puede interconectar de la siguiente manera: También es posible interactuar directamente con objetos binarios individuales: Loading dependencies Por defecto, CLE intentará cargar todas las dependencias del binario principal (por ejemplo, libc. so.6, ld-linux. so .2, etc.), a menos que los valores de autoloadlibs estén establecidos en False en las opciones de carga. Al cargar bibliotecas, si no puede encontrar una de ellas, ignorará silenciosamente el error y marcará todas las dependencias de esa biblioteca como no resueltas. Si lo desea, puede cambiar este comportamiento. Opciones de carga Las opciones de carga se pueden pasar al proyecto (que a su vez lo pasará a CLE). CLE espera un dict como un conjunto de parámetros. Los parámetros que deben aplicarse a las bibliotecas que no son el binario de destino se deben pasar a través del parámetro libopts de la siguiente forma: Opciones válidas Las siguientes opciones se aplican por objeto y anulan la detección automática de CLEaposs. Pueden ser aplicados a través de aposmainoptsapos o aposliboptsapos. Ejemplo con múltiples opciones para el mismo binario: Backends CLE tiene actualmente backends para cargar estáticamente archivos ELF, PE, CGC y ELF core dump, así como cargar binarios con IDA y cargar archivos en un espacio de direcciones plano. CLE detectará automáticamente el backend correcto para usar en la mayoría de todos los casos, por lo que shouldnapost necesidad de especificar que el backend youaposre a menos que youaposre haciendo algunas cosas bastante extraño. Puede especificar el backend para un binario incluyendo una clave en su diccionario de opciones. Si necesita forzar la arquitectura de un cierto binario en lugar de que se detecte automáticamente, puede especificarlo con la clave customarch. La clave doesnapost necesidad de coincidir con cualquier lista de arcos angr identificará qué arquitectura quiere decir dado casi cualquier identificador común para cualquier arco soportado. Ahora que ha cargado un binario, la información interesante sobre el binario ahora es accesible en b. loader. mainbin. Por ejemplo, las dependencias de biblioteca compartida, la lista de bibliotecas importadas, memoria, símbolos y otros. Haga un uso intensivo de la terminación de pestañas de IPythonaposs para ver las funciones y opciones disponibles aquí. Ahora itaposs tiempo para mirar el IR apoyo Misc Importaciones Lo siguiente es específico de ELF. En la mayoría de las arquitecturas, las importaciones, es decir, los símbolos que hacen referencia a funciones o nombres globales que están fuera del binario (en bibliotecas compartidas) aparecen en la tabla de símbolos, la mayoría de las veces con una dirección indefinida (0). En algunas arquitecturas como MIPS, contiene la dirección del stub functionPoss PLT (que reside en el segmento de texto). Si está buscando la dirección de la entrada GOT relacionada con un símbolo específico (que reside en el segmento de datos), eche un vistazo a jmprel. Es un dict (symbol-gt GOT addr): Si usted está después de una entrada PLT o GOT depende de la arquitectura. Las cosas específicas de la arquitectura se definen en una clase en el repositorio de Archinfo. La forma en que tratamos las direcciones absolutas de funciones dependiendo de la arquitectura se define en esta clase, en la propiedad gotsectionname. Para más detalles acerca de la carga de ELF y los detalles específicos de la arquitectura, compruebe el documento de formato ejecutable y vinculable, así como los suplementos de ABI para cada arquitectura (MIPS, PPC64, AMD64) .. Análisis simbólico: resúmenes de funciones Por defecto, A las funciones librariesapos mediante el uso de resúmenes simbólicos denominados SimProcedures (estos son resúmenes de cómo las funciones afectan al estado). Cuando no se dispone de dicho resumen para una función determinada: si autoloadlibs es True (es el valor predeterminado), entonces se ejecuta la función de biblioteca real. Esto puede o no ser lo que desea, dependiendo de la función real. Por ejemplo, algunas de las funciones de libcaposs son extremadamente complejas de analizar y probablemente causarán una explosión del número de estados para la ruta que intenta ejecutarlas. Si autoloadlibs es False. Entonces las funciones externas no están resueltas, y el proyecto los resolverá a un procedimiento genérico quotstubquot llamado ReturnUnconstrained. Hace lo que su nombre dice: devuelve valores sin restricciones. Si usesimprocedures (este es un parámetro para angr. Project, no cle. Loader) es False (es True por defecto), entonces no SimProcedures además de ReturnUnconstrained será utilizado. Puede especificar símbolos específicos para excluir la sustitución de SimProcedures por los parámetros de angr. Project. Excludesimprocedureslist y excludesimproceduresfunc. Mira el código de angr. Project. usesimprocedures para el algoritmo exacto. Resultados coincidentes Ningún resultado coincidente
No comments:
Post a Comment