强制执行全局Flash Player安全性和隐私设置

尝试消除问题的工具

Ghacks的常客知道可以从设置管理器配置Adobe Reader 在Macromedia网站上。系统管理员和安全专家已经解决了设置管理器在线可用性的两个问题。攻击者可以例如使用假证书来更改设置。另一个问题是不可能为系统的所有用户进行更改。

可以全局配置Adobe Flash Player是一个秘密。想要这样做的管理员和用户需要创建文件mms.cfg。该文件需要存储在以下目录中,以供Flash Player访问:

  • Windows:%Windir% System32 Macromed Flash
  • Macintosh:/库/应用程序支持/ Macromedia
  • Linux:/ etc / adobe /

配置文件支持以下参数:

  • AllowUserLocalTrust 使您可以防止用户将本地文件系统上的任何文件指定为受信任的文件。
  • AssetCacheSize 使您可以指定Flash Player用于存储常见Flash组件的本地存储量的硬限制(以MB为单位)。
  • 自动更新禁用 使您可以防止Flash Player自动检查和安装更新的版本。
  • 自动更新间隔 使您可以指定检查Flash Player更新版本的频率。
  • AVHardwareDisable 使您可以防止SWF文件访问网络摄像头或麦克风。
  • DisableDeviceFontEnumeration 使您可以防止显示有关已安装字体的信息。
  • DisableNetworkAndFilesystemInHostApp 使您可以阻止任何形式的网络或文件系统访问。
  • 禁用产品下载 使您可以防止下载由Adobe数字签名和交付的本机代码应用程序。
  • 禁用套接字 使您可以启用或禁用Socket.connect()和XMLSocket.connect()方法的使用。
  • EnableSocketsTo 使您可以创建允许套接字连接的服务器白名单。
  • EnforceLocalSecurityInActiveXHostApp 使您可以为指定的应用程序实施本地安全规则。
  • FileDownloadDisable 可让您阻止ActionScript FileReference API执行文件下载。
  • FileUploadDisable 使您可以防止ActionScript FileReference API执行文件上传。
  • 全屏禁用 使您可以禁用通过浏览器插件播放的SWF文件以全屏模式显示。
  • 传统域名匹配 使您可以指定为Flash Player 6和更早版本生成的SWF文件是否可以执行在Flash Player的较新版本中受到限制的操作。
  • LocalFileLegacyAction 让您指定Flash Player如何确定是否执行最初为Flash Player 7及更早版本生成的某些本地SWF文件。
  • LocalFileReadDisable 使您可以防止本地SWF文件对本地硬盘驱动器上的文件具有读取权限。
  • LocalStorageLimit 使您可以对Flash Player(用于每个域)用于持久共享对象的本地存储量指定硬限制。
  • 覆盖GPU验证 覆盖对实现GPU合成所需的要求的验证。
  • 产品禁用 创建不允许用户安装或启动的ProductManager应用程序列表。
  • RTMFPP2P禁用 指定当为peerID指定值时,NetStream构造函数如何连接到服务器,peerID是传递给构造函数的第二个参数。
  • RTMFPTURNProxy 除了正常的UDP套接字外,还允许Flash Player通过指定的TURN服务器建立RTMFP连接。
  • 第三方存储 使您可以指定第三方SWF文件是否可以读取和写入本地持久性共享对象。

大多数选项可以设置为0 = false或1 = true。一个基本示例是命令AVHardwareDisable = 1,该命令阻止SWF文件访问网络摄像头和麦克风。值0允许用户在“设置管理器”中配置设置。

隐私参数:

AVHardwareDisable = [0,1]
DisableDeviceFontEnumeration = [0,1]

定义SWF文件是否可以从计算机系统中提取已安装字体的列表。将其设置为1表示他们不能这样做,而将0表示可以返回信息。

用户界面参数:

FullScreenDisable = [0,1]

定义SWF文件是否可以全屏模式显示。值为1可以防止这种情况,而值为0则可以阻止它。

数据加载和存储选项:

LocalFileReadDisable = [0,1]

值为1会阻止本地SWF文件对本地硬盘驱动器上的文件具有读取权限,这意味着本地SWF文件无法运行。远程SWF无法上传或下载文件。

FileDownloadDisable = [0,1]

将该参数设置为1将禁用文件下载,而将0允许。

FileUploadDisable = [0,1]

与FileDownloadDisable相同,区别在于它阻止或允许文件上传。

LocalStorageLimit = [1,2,3,4,5,6]

这设置了Flash Player可以为每个域分配的本地存储限制。 (1 =无存储空间,2 = 10KB,3 = 100KB,4 = 1MB,5 = 10MB,6 =无限制)

ThirdPartyStorage = [0,1]

如果将此值设置为1,则第三方SWF文件(那些源于与当前域不同的域)可以读取和写入本地持久性共享对象。如果将此值设置为0,则第三方SWF文件无法读取或写入本地持久共享对象。

AssetCacheSize = [0,兆字节数]

此值指定Flash Player用于存储常见Flash组件的本地存储量的硬限制(以MB为单位)。如果mms.cfg文件中未包含此选项,则设置管理器允许用户指定是否允许组件存储。但是,用户无法指定要使用多少本地存储空间。默认限制为20 MB。

更新选项:

AutoUpdateDisable = [0.1]

如果设置为1,Flash Player将禁用自动更新。这样可以防止Flash Player定期检查更新版本。如果设置为1,则忽略以下参数。

AutoUpdateInterval = [天数]

定义Flash Player检查新版本的间隔。默认值为30天。

DisableProductDownload = [0,1]

如果将此值设置为0(默认值),则Flash Player可以安装由Adobe进行数字签名和交付的本机代码应用程序。 Adobe使用此功能通过开发人员启动的Express Install流程交付Flash Player更新,并交付Adobe Acrobat Connect屏幕共享功能。如果将此值设置为1,则会禁用这些功能。

ProductDisabled =应用程序名称

T仅当DisableProductDownload的值为0或mms.cfg文件中不存在此选项时,此选项才有效。它会创建不允许用户安装或启动的ProductManager应用程序列表。

安全选项:

LegacyDomainMatching = [0,1]

此设置控制是否允许为Flash Player 6和更早版本生成的SWF文件执行在Flash Player的较新版本中受到限制的操作。

LocalFileLegacyAction = [0,1]

此设置控制Flash Player如何确定是否执行最初为Flash Player 7和更早版本生成的某些本地SWF文件。

AllowUserLocalTrust = [0,1]

使用此设置,可以防止用户将本地文件系统上的任何文件指定为受信任的文件(即,将它们放置在本地受信任的沙箱中)。此设置适用于为任何版本的Flash发布的SWF文件。

EnforceLocalSecurityInActiveXHostApp =可执行文件名

默认情况下,只要ActiveX控件在非浏览器主机应用程序中运行,就会禁用本地安全性。在极少数情况下,这会引起问题,您可以使用此设置为指定的应用程序强制实施本地安全规则。您可以通过为每个应用程序输入一个单独的EnforceLocalSecurityInActiveXHostApp条目来为多个应用程序实施本地安全性。

DisableNetworkAndFilesystemInHostApp =可执行文件名

此选项类似于EnforceLocalSecurityInActiveXHostApp,但适用于插件以及ActiveX控件,并施加了更严格的安全控件。在指定的应用程序中运行插件或ActiveX控件时,就好像已指定了HTML参数allowNetworking ='none'一样。也就是说,将不允许任何形式的网络或文件系统访问,并且在Flash Player中运行的SWF将无法加载任何其他媒体或与任何服务器进行通信而运行。您可以通过输入单独的内容来为多个应用程序实施本地安全性

套接字连接选项

DisableSockets = [0,1]

此选项启用或禁用Socket.connect()和
XMLSocket.connect()方法。如果您没有在mms.cfg文件中包含此选项,或者如果其值设置为0,则允许与任何服务器建立套接字连接。如果将此值设置为1,则不允许套接字连接。但是,如果要禁用部分而不是全部套接字连接,请将此值设置为1,然后使用EnableSocketsTo指定可以建立套接字连接的一台或多台服务器。

EnableSocketsto = [主机名,IP地址]

仅当DisableSockets的值为1时此选项才有效。它会创建允许套接字连接的服务器白名单。与大多数其他mms.cfg选项不同,您可以根据您的环境使用任意多次。请注意,指定的服务器是建立套接字连接的目标服务器。它们不是从中提供连接的SWF文件的原始服务器。

GPU合成:

OverrideGPUValidation = [0,1]

GPU合成功能由视频卡的驱动程序版本控制。如果卡和驱动程序的组合与实现合成所需的要求不匹配,请将OverrideGPUValidation设置为1以覆盖对驱动程序要求的验证。例如,您可能希望在特定的测试套件中启用GPU合成,即使测试机中的视频驱动程序不符合合成要求。此设置将覆盖驱动程序版本选通,但仍会检查VRAM要求。

RTMFP选项:

RTMFPP2PDisable = [0,1]

此选项指定当为peerID指定值时,NetStream构造函数如何连接到服务器,peerID是传递给构造函数的第二个参数。如果RTMFPP2PDisable的值为0或mms.cfg文件中不存在该值,则可以使用对等(P2P)连接。如果此值为1,则将忽略为peerID指定的任何值,并断开P2P连接

RTMFPTURNProxy = TURN代理服务器的URL

如果存在此选项,则Flash Player除了正常的UDP套接字外,还将尝试通过指定的TURN服务器建立RTMFP连接。 TURN服务器对于通过防火墙传输RTMFP网络流量很有用,否则防火墙会阻止UDP数据包。

附加信息:

Flash Player 10.0管理指南
Adobe Flash Player 10管理指南网站。
mms配置示例
中间人的最新漏洞[德语]

config是一个基本的示例文件,它禁用更新检查,硬件和字体枚举。 (感谢Hubert发送小费)。