草庐IT

内核安全

全部标签

c++ - 在多个线程之间安全地共享一个结构

在Windows/C++下,如果我有一个结构:structListItem{ListItem*next;ListItem*prev;...}连同在主进程和几个动态加载的DLL中运行的多个线程,并且所有这些线程都需要共享上述结构,我如何阻止它们互相踩踏?像这样的东西:ListItem*list=...Alist->next=...B我应该在A和B处放置什么以防止一次运行list->next=...的线程不超过一个? 最佳答案 主要有两种方式。一种可能是最简单的方法是简单地向每个线程发送它自己的数据结构拷贝。这样您就不必使用同步来保护数

c# - 安全地将密码从 C# 传输到 Java 应用程序

我有一个C#应用程序,它调用许多java应用程序,其中一些应用程序使用SSH进行各种操作。目前,我从java命令行应用程序中收到许多弹出框,要求输入密码。我想知道您是否对我如何在C#中输入密码然后安全地将其传递给Java应用程序有任何具体建议。目前,我使用带有许多命令行参数的shellexec调用java应用程序。我唯一能想到的是以某种方式在C#中加密密码,然后在Java中解密。但我怀疑他们不共享一个共同的解密过程,或者如果他们共享我也必须在程序之间传递key......有什么建议吗?大卫 最佳答案 我认为加密是一个很好的解决方案。

windows - 将我的角色服务包存储在 Azure blob 存储中有多安全?

Azure管理门户允许从之前上传到Azureblob存储的服务包部署服务。这看起来非常方便,但有点偏执-如果某些第三方访问blob存储并检索构成我的角色的可执行文件怎么办?在Azureblob存储中存储角色服务包的安全性如何?如果有的话,还有什么更好的选择? 最佳答案 有一些攻击向量可以进入blob存储,而您可以控制所有这些向量,因此由您来确保访问的安全。具体来说:将您的主要和次要key保护到存储帐户。丢失这些key会危及存储帐户。默认情况下,对blob存储的所有访问都必须经过身份验证。保护订阅的所有管理证书(私钥)。管理证书持有者

内核函数可以有不同的虚拟地址吗

这更像是一个知识问题,而不是实际实现。我想知道系统启动后是否有任何内核函数可以具有不同的虚拟地址。我对可执行文件编译的理解是为其二进制文件分配虚拟地址,但虚拟地址到物理地址是在运行时由操作系统完成的。(分页。我知道那东西。所以,不需要2解释)但是对于内核函数,每次重新启动系统时我都会看到它们具有不同的虚拟地址。1、内核函数在地址范围内是如何映射的?2.能否在运行时将它们映射到不同的虚拟地址。(不知道怎么可能)3.dll的地址映射是怎样的?它们是在编译时被赋予虚拟地址还是在运行时被赋予相对地址?(我认为这就是它完成的方式。)4.有什么方法可以找到是否有任何内核虚拟地址被固定到物理内存。谢

c++ - 在调用仿函数时删除它是否安全?

假设我有以下代码:typedefstd::functionfunc_type;voidsome_func(){//Irrelevantstuffhere.Mighttakesometime...}DWORDWINAPIthread_proc(LPVOIDlpParameter){func_type&func=*static_cast(lpParameter);func();return0;}intmain(){HANDLEhandle;{std::functionmy_func(some_func);handle=::CreateThread(NULL,0,&thread_proc,&

c++ - 惰性初始化缓存...如何使其成为线程安全的?

这就是我所拥有的:Windows服务C#多线程服务使用读写锁(一次多次读取,写入会阻塞其他读/写线程)一个简单的、自写的数据库C++足够小以适合内存足够大,不想在启动时加载它(例如10GB)读取性能非常重要写作不太重要树状结构树节点中的信息存储在文件中为了更快的性能,文件仅在第一次使用和缓存时加载延迟初始化以加快数据库启动速度由于数据库会非常频繁地访问这些节点信息(每秒几千次),而且我不经常写,所以我想使用某种双重检查锁定模式。我知道这里有很多关于双重检查锁定模式的问题,但似乎有很多不同的意见,所以我不知道什么是最适合我的情况。你会用我的设置做什么?这是一个例子:一棵有100万个节点的

HarmonyOS系统中内核实现MQTT协议开发的方法

   大家好,今天主要来聊一聊,如何使用鸿蒙开始实现MQTT协议开发的方法 第一:MQTT基本原理  在MQTT协议通讯中,有两个最为重要的角色。它们分别是服务端和客户端。首先我们来初步了解一下它们。MQTT服务端MQTT服务端通常是一台服务器。它是MQTT信息传输的枢纽,负责将MQTT客户端发送来的信息传递给MQTT客户端。MQTT服务端还负责管理MQTT客户端。确保客户端之间的通讯顺畅,保证MQTT消息得以正确接收和准确投递。MQTT客户端MQTT客户端可以向服务端发布信息,也可以从服务端收取信息。我们把客户端发送信息的行为成为“发布”信息。而客户端要想从服务端收取信息,则首先要向服务端“

奇安信-源代码安全缺陷问题解决记录:路径遍历、API误用、配置文件明文

目录输入验证-路径遍历API误用-不安全的框架绑定密码管理-配置文件中的明文密码jasypt冲突依然报明文缺陷null引用总结输入验证-路径遍历pom.xml:引入commons-iodependency>groupId>commons-iogroupId>artifactId>commons-ioartifactId>version>2.4version>dependency>代码替换Filefile=newFile(logpath);FileInputStreamlogfile=newFileInputStream(file);替换为importorg.apache.commons.io.

c++ - 如何改进我的代码以生成安全的随机数?

我正在尝试找出生成安全随机数(例如python中的secrets)的最佳方法或库。我正在使用代码块在Windows10上工作。到目前为止我已经这样做了:#include#include#includeusingnamespacestd;intmain(){srand((unsigned)time(0));inti;i=(rand()%6)+1;cout我正在尝试从python中复制与secrets相同的函数来生成安全的随机数。 最佳答案 std::rand()不提供足够的保证用于加密应用程序(又名安全随机数):Therearenog

安全远程服务器上的 php LDAP 绑定(bind) Windows 失败

我试图在Windowsphp本地测试环境中的安全连接中查询远程LDAP服务器。我想我必须正确授予访问权限,因为我可以使用LDAP浏览器应用程序并且可以很好地连接到远程服务器。另外,如果我执行'telnetremoteserverurl.com636',那么命令提示符中会显示一个空白屏幕,所以我至少正在连接。但是在我下面的.php代码中,我在绑定(bind)时遇到错误:“PHP警告:ldap_bind():无法绑定(bind)到服务器:无法在线联系LDAP服务器...”相同的代码适用于Linux服务器。我认为我的本地php环境中缺少某种用于安全LDAP连接的LDAP库?无论如何,这是代码