Rust日报2022-09-09 攻击 Firecracker
攻击 Firecracker
来自 Grapl 的博客文章。在 Grapl,我们相信为了构建最好的防御系统,我们需要深入了解攻击者的行为。作为该目标的一部分,我们正在投资于进攻性安全研究。随时关注我们的博客,了解有关高风险漏洞、利用和高级威胁策略的新研究。
这篇博客文章介绍了如何攻击 Firecracker 中的漏洞,Firecracker 是一种用 Rust 编程语言编写的开源微型虚拟机 (microVM) 监视器。它是为在 AWS Lambda 中使用而开发的,这是一种无服务器软件即服务 (SaaS) 应用程序托管服务。Firecracker 也用于 AWS 的类似 Fargate 服务,该服务提供了一种运行容器的方法,而无需管理服务器以进行容器编排。由于多租户引入的风险,Firecracker 在设计时具有安全意识。
更多请看原文:https://www.graplsecurity.com/post/attacking-firecracker
由 tokio 运行时引起的奇怪的内存泄漏
这是 Reddit 上的一个讨论,发起者在代码中代码偶尔会在内存中删除并创建巨大的对象,并且发现它会有泄漏内存的现象。作者设法创建了一个具有类似内存问题的简单程序,如下:
-
use std::sync::Arc;
-
use std::time::Duration;
-
use tokio::sync::Mutex;
-
-
pub struct Object {
-
pub a: Vec<u32>,
-
pub b: Vec<u32>,
-
pub c: u32,
-
pub d: u32,
-
pub e: u32,
-
pub f: Option<u128>
-
}
-
-
#[allow(unused)]
-
pub struct ObjectHolder {
-
objects: Vec<Arc<Object>>
-
}
-
-
impl ObjectHolder {
-
pub fn new() -> ObjectHolder {
-
let mut res = vec![];
-
for _ in 0..10_000_000 {
-
res.push(Arc::new(Object {
-
a: vec![12123, 123123, 12123, 12124, 1231512],
-
b: vec![12423, 234, 2342],
-
c: 423423,
-
d: 123123,
-
e: 12312,
-
f: Some(392932)
-
}))
-
}
-
return ObjectHolder {
-
objects: res
-
}
-
}
-
}
-
-
pub struct Main {
-
holder: Arc<Mutex<ObjectHolder>>
-
}
-
-
impl Main {
-
pub fn new() -> Arc<Main> {
-
return Arc::new(Main {
-
holder: Arc::new(Mutex::new(ObjectHolder::new()))
-
})
-
}
-
-
pub async fn build_objects(&self) {
-
let mut holder = self.holder.lock().await;
-
*holder = ObjectHolder::new();
-
println!("BUILT NEW OBJECTS");
-
}
-
}
-
-
#[tokio::main]
-
async fn main() {
-
-
let main = Main::new();
-
-
let cnt_iter = 100;
-
-
tokio::spawn(async move {
-
for _ in 0..cnt_iter {
-
println!("STARTIGN NEW CYCLE");
-
main.build_objects().await;
-
-
(0..100).for_each(|_| {
-
tokio::spawn(async move {
-
return Some(0)
-
});
-
});
-
-
println!("WAITING 10 SECONDS");
-
tokio::time::sleep(Duration::from_secs(10)).await;
-
}
-
}).await.unwrap();
-
}
参与讨论请看:https://www.reddit.com/r/rust/comments/x9bq8k/bizarre_memory_leak_caused_by_tokio_runtime/
serde-numpy 项目
serde-numpy 是一个用于将 JSON 直接反序列化为 numpy 数组的库,主要使用 rust 实现。
项目地址:https://github.com/wnorcbrown/serde-numpy
From 日报小组 @Jancd
社区学习交流平台订阅:
-
Rust.cc论坛: 支持rss
-
微信公众号:Rust语言学习交流
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhifagb
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22