Zoom pour Mac 4.6.9 , qui adresse failles de sécurité effrayantes , supprime le droit disable-library-validation .
Avec la même version, Snap Camera, une application de webcam virtuelle, a cessé de fonctionner .
Je ne connais pas les API particulières que vous utilisez pour créer une webcam virtuelle, mais il semble que cela implique des plugins CoreMediaIO
:
Création d'une webcam virtuelle pour OS X
> otool -L /Library/CoreMediaIO/Plug-Ins/DAL/SnapCamera.plugin/Contents/MacOS/SnapCamera
/Library/CoreMediaIO/Plug-Ins/DAL/SnapCamera.plugin/Contents/MacOS/SnapCamera:
libSnapCamera.dylib (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1452.23.0)
/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1452.23.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
Par curiosité, j'ai essayé quelques autres webcams virtuelles - Iriun Webcam et EpocCam –- et elles se comportent de la même manière. Les deux ont des plugins CoreMediaIO, et aucun ne fonctionne avec Zoom récent.
Les trois caméras virtuelles fonctionnent dans Microsoft Teams, qui a le droit:
> codesign -d --entitlements :- /Applications/Microsoft\ Teams.app/ |grep valid
Executable=/Applications/Microsoft Teams.app/Contents/MacOS/Teams
<key>com.Apple.security.cs.disable-library-validation</key>
Ils fonctionnent également dans Google Chrome (sur cette page de test )). Il semble qu'au moins un des helpers de Chrome ait le droit:
codesign -d --entitlements :- /Applications/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Versions/81.0.4044.92/Helpers/Google\ Chrome\ Helper\ \(Plugin\).app
Executable=/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/81.0.4044.92/Helpers/Google Chrome Helper (Plugin).app/Contents/MacOS/Google Chrome Helper (Plugin)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.Apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.Apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>
J'ai également remarqué que le plugin apparaît dans Activity Monitor Open Files and Ports pour quelques processus appartenant à Teams et Chrome. (/Library/CoreMediaIO/Plug-Ins/DAL/SnapCamera.plugin/Contents/MacOS/SnapCamera
)
Comment fonctionnent les plugins CoreMedia Virtual Webcam et entrent-ils en conflit avec la validation de la bibliothèque? (par exemple, charger une bibliothèque dans le processus d'utilisation de la caméra d'une manière qui n'est plus autorisée)
N'est-il plus possible de créer des webcams virtuelles sur MacOS sans se heurter à Hardened Runtime?
Mise à jour 4/19: Zoom's changelog pour 4.6.10 dit maintenant "Zoom a temporairement supprimé le support de la caméra virtuelle." . Ce sera intéressant de voir si/comment ils le réactivent. (peut-être limiter le droit à un processus d'aide qui n'est utilisé qu'en cas de besoin?)
J'ai eu le même problème avec Microsoft Skype pour MacOS (8.61.0.95) sur Catalina 10.15.5
J'ai pu résoudre ce problème en allant à
cd /Applications/Skype.app/Contents/Frameworks
puis en supprimant les signatures pour all les parties .app de Skype, c'est-à-dire.
codesign --remove-signature Skype\ Helper.app
codesign --remove-signature Skype\ Helper\ \(GPU\).app
codesign --remove-signature Skype\ Helper\ \(Plugin\).app
codesign --remove-signature Skype\ Helper\ \(Renderer\).app
Ensuite, redémarrez Skype.
Maintenant, dans les paramètres, lorsque vous sélectionnez la caméra, vous devriez voir apparaître CamTwist et CamTwist (2VUY).
Un correctif similaire fonctionne avec le zoom:
codesign --remove-signature /Applications/zoom.us.app\