草庐IT

内核安全

全部标签

c# - 如何安全地实现从 Windows 服务到公共(public) WebApi 的 Multi-Tenancy 访问

我正在尝试弄清楚如何实现可配置为在Multi-Tenancy场景中与我们的WebApi对话的Windows服务(headless)。我能找到的最接近的例子是张贴在这里的那个CallingwebAPIsinadaemonorlong-runningprocess.这个示例的问题是没有显示您将如何处理Multi-Tenancy场景。如果您对每个租户使用相同的AppKey,如果有人决定在应用程序中搜索ClientID和AppKey,就不可能冒充另一个租户吗?似乎解决这个问题的一种方法是为加入我们服务的每个租户生成一个新的AppKey。当客户安装服务时,需要将此AppKey作为配置参数提供给W

java - 如何在 Windows 中安全地存储临时文件,尤其是在安全入侵防护应用程序阻止 TEMP 目录的情况下

过去很多应用程序都在Temp/Tmp目录下存放临时文件;系统的或用户特定的。最近我们有许多企业用户由于病毒扫描工具或主机入侵防御工具和政策不允许使用这些位置而阻止使用临时目录。我认为这里的恐惧是多个应用程序可以从该位置读取和写入,因此流氓应用程序可能会对另一个应用程序或其临时存储的数据产生负面影响。这似乎是一种正确且更安全的运作方式,所以我不能要求人们开始允许增加风险。我的问题是如何/在哪里(物理上)安全地存储用户特定的、应用程序特定的临时文件。是否应该期望每个应用程序自己管理它,或者是否有一些我不知道的新应用程序和用户沙盒临时数据存储功能?具体来说,我专注于使用.NET4.0+、C#

windows - 为什么 CUDA 内核不在 VS 2013 中使用 CUDA 9.0 启动

我在Windows(GeForceGT720M)上写了一个基于CUDA的并行程序。我已经安装了CUDA9.0工具包和VisualStudio2013。一切正常,但是当我编译代码并运行它时,输出是错误的。程序是:#include#include"cuda_runtime.h"#include"device_launch_parameters.h"__global__voidsquare(float*d_out,float*d_in){intidx=threadIdx.x;floatf=d_in[idx];d_out[idx]=50;}intmain(intargc,char**argv)

windows - 内核模式转换

如果我理解正确,系统空间中的内存地址只能从内核模式访问。这是否意味着当执行映射到系统空间的组件时,处理器必须切换到内核模式?例如:虚拟内存管理器是一个经常使用的组件,映射在系统空间中。每当VMM在用户进程的上下文中运行时(假设它转换了地址),处理器是否必须切换到内核模式?谢谢,苏雷什。 最佳答案 通常,涉及2个部分。MMU(内存管理单元)是一个硬件组件,负责从虚拟地址到物理地址的转换。以及操作系统VM子系统。操作系统部分需要在特权模式(也称为内核模式)下运行,并将根据用户空间的需要设置/更改MMU中的映射。例如要请求更多(虚拟)内存

windows - 如何使用 Windows 安全描述符来阻止执行其他应用程序?

在我最近关于使用CreateDesktop()API调用创建新桌面并在其中执行我自己的应用程序并防止其他应用程序在我的桌面中执行的问题中,有人指出我使用安全描述符!这里有人可以告诉我该怎么做吗?提前致谢! 最佳答案 所有命名对象,包括您创建的桌面,都有一个安全描述符。安全描述符描述每个对象的所有者和组SID(安全标识符)及其ACL(访问控制列表)。创建对象的函数使用它来控制谁有权访问该对象。CreateDesktop()函数有一个可选参数,它是指向SECURITY_ATTRIBUTES对象的指针。SECURITY_ATTRIBUTE

c# - ServiceController 关闭 IIS 安全访问

我正在使用ServiceController类从C#程序集远程关闭IIS。我想知道我需要通过网络执行此操作的最低级别的权限是什么,在我当前的测试中我使用的是Administrator并且它工作正常,但是当我迁移到Production时我将使用AD组并且需要提供它是正确的安全级别吗?//MakeacalltoIIStoshutdowntheservice.ServiceControllersc=newServiceController(serviceName,serverName);//Canwestoptheserviceif(sc.CanStop){//Stopitsc.Stop()

windows - 以编程方式发现 "guest only"共享/安全模型

在现代Windows上,默认配置是以这样一种方式完成的:如果我以本地用户身份登录网络,我实际上只会以访客身份进行身份验证(有关此行为的更多详细信息,请参阅http://technet.microsoft.com/en-us/library/cc786449(WS.10).aspx)当我的程序试图通过DCOM访问此类服务器上的WMI时,我只是收到“拒绝访问”错误,大概是因为不允许guest用户连接到WMI。我想将此错误与其他类型的访问被拒绝错误区分开来,例如密码错误或用户名不存在,以便我可以向用户解释他们需要什么来解决问题。所以我的问题是,我该怎么做才能检测到这样的服务器。我在想,如果有

.net - 是否可以使用 WCF 与 Windows 内核模式软件进行通信?

WCF支持一些互操作性绑定(bind)。这些绑定(bind)是否允许与内核模式sw通信?AFAIK内核模式sw可以在LocalSystem安全上下文中打开命名管道。这些命名管道是否可与WCF互操作? 最佳答案 是的,您应该能够使用WCF中的命名管道绑定(bind)与内核模式软件进行通信。虽然有可能,但绝对不会容易。创建WCF服务以通过命名管道和使用者提供数据并不困难。WCF中的消息框架是您遇到障碍的地方。您的客户必须正确构建所有内容,以便WCF可以理解您要调用的内容。如果您真的想试一试,这里有一个详细说明所有内容的链接(我链接到最后

windows - 对于超过 32 个内核的系统,如何替换 SetProcessAffinityMask()/GetProcessAffinityMask()?

SetProcessAffinityMask()function接受DWORD掩码,因此它不能在超过32个处理器的系统上正确使用。看起来像SetThreadGroupAffinity()旨在以某种方式解决问题,但我找不到任何有用的代码示例来说明其用法?对于超过32个处理器的系统,如何使用SetProcessAffinityMask()/GetProcessAffinityMask()调整我的程序?有代码示例吗? 最佳答案 首先SetProcessAffinityMask()接受DWORD_PTR。由于32位版本的操作系统不支持>32

windows - 驱动程序安装过程中 Windows 安全对话框中的信息从何而来?

我们目前正在开发基于Jungo的WinDriver(不是真正重要的部分)框架的Windows设备驱动程序。我们有VeriSign证书,签名过程或驱动程序功能没有问题。但是,在安装测试期间(在Windows7上),我们看到一些关于Windows安全对话框的奇怪行为,该对话框要求在驱动程序安装期间进行安装确认。在该对话框中似乎显示了3个字段(ASCII引用):+----------------------------------------------------------------------+|WindowsSecurity|+---------------------------