Explorando las vulnerabilidades de seguridad del Valor Sentinel en el motor Chrome V8
El valor centinela es un valor especial en algoritmos, que se utiliza comúnmente como condición de terminación en algoritmos de bucle o recursivos. En el código fuente de Chrome existen varios valores centinela, algunos de los cuales pueden provocar vulnerabilidades de seguridad. Este artículo discutirá cómo eludir el mecanismo de protección HardenProtect del motor Chrome V8 mediante la filtración de objetos Oddball no inicializados.
Valor centinela en V8
En el motor V8 se definen varios objetos nativos, que se disponen en la memoria de manera contigua. Si se filtraran objetos nativos que no deberían ser expuestos a JavaScript, podría llevar a la ejecución de cualquier código dentro del sandbox.
Eludir la protección HardenType
Al modificar la función nativa de V8, se puede filtrar el objeto Oddball no inicializado en JavaScript. Aprovechando este objeto filtrado, se pueden realizar operaciones de lectura y escritura relativamente arbitrarias, eludiendo así la protección HardenType.
El método de implementación específico es:
Modificar la función %TheHole() para que devuelva un objeto Uninitialized Oddball.
Construir un código JavaScript especial que, aprovechando la falta de verificación del método map de los arreglos en la función optimizada, calcule directamente el desplazamiento y devuelva los valores del arreglo.
A través de la confusión de tipos, lograr lectura y escritura arbitrarias
Aviso de riesgo de PatchGap
Este método de elusión no solo es aplicable a la última versión de V8, sino que también puede afectar a software que utiliza versiones anteriores de V8. Por ejemplo, Skype aún no ha solucionado esta vulnerabilidad. En la arquitectura x86, debido a la falta de compresión de direcciones, el rango de lectura y escritura arbitraria puede ser mayor.
Además, este nuevo método de elusión también podría reducir la dificultad de explotación de otras vulnerabilidades relacionadas, como Issue1314616 e Issue1216437.
Resumen y Reflexiones
En V8 también existen varios otros valores Sentinel, que pueden presentar igualmente riesgos de seguridad. Las direcciones de investigación futuras pueden incluir:
Explorar si otras filtraciones de Uninitialized Oddball también pueden lograr RCE en V8
Considerar agregar el valor Sentinel como variable en las pruebas de fuzzing para descubrir más posibles vectores de explotación.
Prestar atención a si este tipo de problemas se considerará formalmente como un problema de seguridad y evaluar su impacto en la reducción del ciclo completo de explotación de los hackers.
Independientemente de si este tipo de problemas se clasifican oficialmente como problemas de seguridad, pueden reducir significativamente el tiempo que los hackers tardan en aprovecharse por completo. Por lo tanto, es crucial prestar atención continua e investigar los problemas de seguridad relacionados con el valor de Sentinel.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
17 me gusta
Recompensa
17
6
Compartir
Comentar
0/400
AirdropSweaterFan
· 07-08 03:03
¿Otra vez el agujero de v8? El mes pasado solo se arregló un montón.
Ver originalesResponder0
HashBard
· 07-05 03:39
omg los sentinelas de v8 son como poesía... los rotos derraman todos los secretos fr fr
Ver originalesResponder0
RetiredMiner
· 07-05 03:38
Este bug lo podría escribir con los ojos cerrados.
Análisis y explotación de la vulnerabilidad de seguridad Sentinel Value del motor Chrome V8
Explorando las vulnerabilidades de seguridad del Valor Sentinel en el motor Chrome V8
El valor centinela es un valor especial en algoritmos, que se utiliza comúnmente como condición de terminación en algoritmos de bucle o recursivos. En el código fuente de Chrome existen varios valores centinela, algunos de los cuales pueden provocar vulnerabilidades de seguridad. Este artículo discutirá cómo eludir el mecanismo de protección HardenProtect del motor Chrome V8 mediante la filtración de objetos Oddball no inicializados.
Valor centinela en V8
En el motor V8 se definen varios objetos nativos, que se disponen en la memoria de manera contigua. Si se filtraran objetos nativos que no deberían ser expuestos a JavaScript, podría llevar a la ejecución de cualquier código dentro del sandbox.
Eludir la protección HardenType
Al modificar la función nativa de V8, se puede filtrar el objeto Oddball no inicializado en JavaScript. Aprovechando este objeto filtrado, se pueden realizar operaciones de lectura y escritura relativamente arbitrarias, eludiendo así la protección HardenType.
El método de implementación específico es:
Aviso de riesgo de PatchGap
Este método de elusión no solo es aplicable a la última versión de V8, sino que también puede afectar a software que utiliza versiones anteriores de V8. Por ejemplo, Skype aún no ha solucionado esta vulnerabilidad. En la arquitectura x86, debido a la falta de compresión de direcciones, el rango de lectura y escritura arbitraria puede ser mayor.
Además, este nuevo método de elusión también podría reducir la dificultad de explotación de otras vulnerabilidades relacionadas, como Issue1314616 e Issue1216437.
Resumen y Reflexiones
En V8 también existen varios otros valores Sentinel, que pueden presentar igualmente riesgos de seguridad. Las direcciones de investigación futuras pueden incluir:
Independientemente de si este tipo de problemas se clasifican oficialmente como problemas de seguridad, pueden reducir significativamente el tiempo que los hackers tardan en aprovecharse por completo. Por lo tanto, es crucial prestar atención continua e investigar los problemas de seguridad relacionados con el valor de Sentinel.