¿Puedo hacer mis propias extensiones de kernel en El Capitán?

4

Recientemente he escuchado que una característica llamada rootless Eso va a estar en El Capitán. Esto significa que las carpetas como /System no puede ser modificado por el usuario root y solo se puede instalar kext firmado (extensiones de kernel) en la computadora.

No lo he pensado antes, pero ahora me gustaría hacer mis propias extensiones de kext. El único problema es que no soy un desarrollador pagado, por lo que no puedo firmar mis extensiones de kext.

¿Cuando me actualice a El Capitan, podré crear kexts por mi cuenta e instalarlos en mi sistema mientras puedo arrancar mi computadora y no tengo que unirme al Programa de Desarrolladores de Apple de $ 99 / año?

iProgram
fuente
-1 por ahora: las restricciones en kext firmado necesitan una cita y ¿qué está tratando de hacer realmente? ¿Se trata de cómo pretende distribuir un kext o simplemente putz con extensiones en su plataforma de desarrollo o texto?
bmike

Respuestas:

3

Rootless puede ser completamente deshabilitado en OS X El Capitan (aunque no en iOS, por razones obvias). Por lo tanto, si no le importa renunciar a los beneficios ostensibles que proporciona, esencialmente puede volver al modelo de seguridad de Yosemite, es decir, se pueden usar kexts sin firmar, pero requiere preparación para hacerlo.

Es posible que no pueda desactivarse en futuras versiones del sistema operativo, pero por ahora se puede desactivar.

tubedogg
fuente
1
Así que simplemente lo deshabilito usando el comando sudo nvram boot-args="rootless=0";sudo reboot? ¿Esto comprometería mi seguridad o no? ¿Qué tan necesaria es esta característica sin raíz?
iProgram
No se trata de si deshabilitar Rootless comprende la seguridad de manera directa; Es si las compensaciones valen la pena. Si no abre archivos adjuntos o enlaces de correo electrónico desconocidos, no visite sitios web que probablemente intenten instalar malware, solo descargue e instale software de confianza, etc., es posible que no lo afecte. Es otra capa de seguridad que cada usuario tiene que decidir por sí mismo si es necesario en su conjunto particular de circunstancias.
tubedogg
1
-1 No está claro si rootless será opcional, ni en El Capitán ni en ninguna de las siguientes versiones.
Chris Harrington
Hay una entrada en el menú de Utilidades cuando se inicia en la Recuperación (según entiendo) que le permite deshabilitarla. Ars Tiene una captura de pantalla del diálogo. De acuerdo, no hay promesas de que no será obligatorio en el futuro, pero se puede desactivar en El Capitán.
tubedogg
1
Seamos claros: es opcional solo en una versión preliminar no pública. Nunca se han comprometido con esta solución. No tienen ningún incentivo para permitir kexts sin firmar; De hecho, solo tienen un incentivo negativo.
Chris Harrington
2

Reinicie su máquina en modo de recuperación: sostener cmd+r

Luego lanza el terminal y desactiva la Estado de protección de integridad del sistema ingresando la siguiente línea de comando:

$ csrutil disable

Esta es una configuración no admitida, es probable que se rompa en el futuro y deje su máquina en un estado desconocido.

Pero tu kext sin firmar se cargará

Vaseltior
fuente
Debe leer "deshabilitar", en lugar de "deshabilitar".
Redarm
0

Su computadora siempre podrá iniciar con o sin kexts sin firmar (bueno, es decir, asumiendo que no proporcionan alguna función crítica de arranque como un controlador SATA para su disco de arranque). Si tu computadora seguirá siendo útil después de arrancar sin un kext sin firmar, por supuesto, depende de la naturaleza de la extensión.

En la WWDC 2013, hubo Una presentación sobre el desarrollo de kext. eso fue muy explícito: la firma es compatible y sin marcar en 10.8, marcada pero no aplicada en 10.9, y obligatoria "en el futuro".

La firma requiere una identidad de desarrollador, y una identidad de desarrollador requiere una membresía activa del Programa de desarrolladores de Apple.

Entonces, en respuesta a su pregunta: No, no podrá desarrollar y cargar kexts en las próximas versiones de OS X sin ser un miembro de ADP.

Apple tiene una sección en su sitio web para desarrolladores Dedicado a temas de firma de código.

Chris Harrington
fuente
Entonces, ¿quieres decir que no tiene sentido que yo aprenda a hacer kexts entonces? ¿Podré arrancar en modo de usuario único y eliminar el kext si no puedo usar mi computadora ya que aún puede arrancar?
iProgram
No diría que no tiene sentido. Por $ 99 al año, podría recuperar fácilmente sus costos en términos de mayor productividad o un producto comercializable.
Chris Harrington
En cuanto a si podría iniciarse en el modo de usuario único, diría que probablemente no sea necesario a menos que algo sobre su kext esté rompiendo su Mac. Pero para responder literalmente a tu pregunta, sí; cuando construye un kext, debe especificar qué tan "crítico" es su kext, y solo ciertos niveles de "crítico" se cargan en el modo de usuario único.
Chris Harrington
Supongamos que no es tan mal costo. Entrené (si hice mis cálculos correctamente) si publiqué una aplicación hoy y cobré $ 0.99 por ella y obtuve 1 descarga por día, habría recuperado mis $ 99 antes del 21 de septiembre. No está mal en realidad. El único problema es que no soy muy creativo. Tal vez podría copiar algunas ideas y editarlas, ya que hay un montón de imitaciones en la App Store. ¿Estaría bien hacer eso? También con xCode 7 ahora puedes probar tu aplicación sin ser un desarrollador. ¡Esta sería una buena manera de probar!
iProgram
@iProgram La prueba de su aplicación nunca requirió una cuenta de desarrollador en Mac, las restricciones se aplicaron solo para iOS
LaX