首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不联网不插U盘就安全了?黑客能用声波攻击你的硬盘

使用声波来破坏机械硬盘操作的概念并不是一个新的想法,这个研究可能有近十年的历史了。...今年早些时候,阿根廷的一位研究人员演示了他是如何通过播放 130Hz 的音调使机械硬盘暂时停止响应操作系统的命令。...新的研究显示了机械硬盘声学攻击的实用性 近日,美国普林斯顿大学和普渡大学的科学家发表了新的研究成果,他们在先前的研究成果的基础上进行了进一步的扩展,并提供了额外的实际测试结果。...攻击者需要特别注意的是,设备前不能有操作人员,因为这些攻击是在人耳的可听范围内,被攻击者可以调查声波的来源,和本地设备的发生故障联系起来。...DVR 必须重启,但录像片段已经永 攻击电脑 第二个实验是针对的是台式电脑,研究人员从 25 厘米的距离向机箱的气流开口播放 9.1kHz 频率的声波。

1.9K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编程学习不“瞎忙”,8张图测试你的努力有没有效!

    相信这么努力的你 已经置顶了我 老九学堂 你身边的IT导师 大家在学习中属于 有条不紊的高效前进 还是属于 一头乱麻似的苍蝇乱转 每个人的一天都是24小时 为什么有的人 能把一切安排的井井有条?...这是我们对时间掌控的差距造成的 今天大雄分享给大家8张图片 测试测试大家是属于 瞎忙族还是高效族 01 手忙脚乱 vs 善于规划 ? 瞎忙族和高效族学生的时间都安排得很满,但是却有本质的区别。...而高效族的一个共同特点,就是对自己的学习有清晰的规划,永远知道自己的目标是什么,每一个阶段的奋斗有什么意义。 他们的忙碌是充实,而不是庸碌。 02 杂乱无章 vs 分清主次 ?...做题之前,花必要的时间想清楚问题的本质是什么,怎么做最合理,有没有更优的方案?他们心中都有学习的大体计划和时间安排,设定好学习的优先级别。 低效率和无用功是他们极力避免的。...而高效族懂得取舍的艺术,明白一个人的时间和精力都是有限的,不可能什么都做好。 他们会果断地舍弃低价值的作业,把宝贵的时间花在最重要的功课上。 06 多功课处理 vs 专注再专注 ?

    48730

    这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?

    一、前言 国庆期间在Python白银交流群【像风自由】问了一个Pandas处理的问题,提问截图如下: 代码截图如下: 他的目标是达到下表这样的效果: 二、实现过程 出现这么多的数字看上去确实挺难受的...df.columns.map(lambda x: '{1}.{0}'.format(x[1].strip('day'), x[0])) df 运行结果如下图所示: 看上去差强人意,已经非常接近预期的效果了...: 顺利地解决了粉丝的问题。...这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【像风自由】提问,感谢【论草莓如何成为冻干莓】给出的思路和代码解析,感谢【dcpeng】、【此类生物】、【Python狗】、【Engineer】、【Joker】、【谢峰】等人参与学习交流。

    38430

    程序化套利:天下有没有稳赚不赔的买卖?

    (有天准备买德国输的,结果系统繁忙未成功……) ? ? 因为我对于这种从概率角度来看必然亏本的事情没有多大兴趣。 不过话说回来,是否真有稳赚不赔的方法呢? 理论上来说,是有的。...通常,菠菜公司开出的赔率会根据用户下注的情况来调整,保证任何一种情况发生都有的赚。而如果你同时押注各种情况,无论你怎么调整比例,最优情况回报率也是小于1,也就是稳亏不赚。...上图是法国对比利时的半决赛前某一时刻的赔率(这网站上是不计算返本的比例,换算成我们通常说的赔率要+1)。...无论哪种结局,你都稳赚不亏,尽管这利润非常小。 这种操作可不是我胡诌的。它就是在金融领域被广泛使用的“套利”手段。...玩过《大航海时代》的人对此一定不陌生。还有股票价差套利,这要求同一支股票在不同交易所上市且存在较大价差。这个领域早已进入程序化交易的战场,人肉寻找机会就别想了。 期现套利也是一种典型场景。

    1.2K10

    能用js实现的最终用js实现,Shell脚本也不例外

    今天来讨论一个牛逼的项目 ——zx ,1个月增长15000 star, 成为了2021年度明星项目排行榜第一。 zx 到底是什么呢? 我们可以从官网的介绍看到,一个能更方便地写脚本的工具。...虽然 Node.js 编写起来简单,但是在使用前还是有一些麻烦的操作。而zx 没有以上两种方式的缺点,能够化繁为简,提供简单又方便操作。...Shell、Shell脚本、Bash、zx、Node 首先来说说什么是Shell,Shell的中文意思是贝壳,是指与操作内核连接的外壳。...他们之间的关系我用一张图进行了描述,标题的概念用红色字样进行了加重。 脚本可以做那些事情? 最为简单的就是重复的事情、处理数据格式,数据导入导出以及各种简单常用小工具的制作,环境配置等等。...,利用内置的一些 Node 包使得整体的代码量大大下降。

    3.3K10

    基于C++,手把手教你实现智能指针管理功能

    这里你仍然有个疑问,weak_ptr不能用普通的pointer替代,回答这个问题前,我们来挖掘看看weak_ptr到底还有其他的收益吗 以下这个例子显示了3个shared指针sp1,sp2和sp3拥有了一块对象...2.2.1 weak_ptr的初始化和赋值 weak_ptr默认是空的,不指到任何对象。它可以接受shared_ptr或者另一个weak_ptr的赋值。...如果不存在,会得到空的shared_ptr。 weak_ptr默认是空的,不指像任何对象。它可以接受shared_ptr或者另一个weak_ptr的赋值。...2.3 unique_ptr unique_ptr像是shared_ptr的对立面,因为unique_ptr只运行自身的计数是1或者0,但是因为无需维护引用计数增减,所以他的内部可以设计地更简单,开销更小...是rvalue类型,所以这里可以利用return特性进行unique_ptr的move和reassign std::unique_ptr createTest() { std::unique_ptr

    57000

    不联网不插U盘也不一定安全 黑客能用声波攻击你的硬盘

    ­  近日,科学家公布了最新的研究成果,他们利用声波对机械硬盘进行攻击,导致使用机械硬盘的设备发生故障。那么,它造成的危害有多大?...使用声波来破坏机械硬盘操作的概念并不是一个新的想法,这个研究可能有近十年的历史了。 ­  ...新的研究显示了机械硬盘声学攻击的实用性 ­  近日,美国普林斯顿大学和普渡大学的科学家发表了新的研究成果,他们在先前的研究成果的基础上进行了进一步的扩展,并提供了额外的实际测试结果。 ­  ...除此之外,恶意团伙还可以在 ATM 机上进行声波攻击,以防止他们在通过无文件恶意软件(无需下载恶意软件进行攻击的手法)从 ATM 机窃取钞票时,被收集证据。原标题:不联网不插U盘就安全了?...黑客能用声波攻击你的硬盘

    1.7K60

    【重学C++】02 脱离指针陷阱:深入浅出 C++ 智能指针

    在bar函数中,我们将指针ptr传递给了另外一个函数other_fn,我们无法确定other_fn有没有释放ptr内存,如果被释放了,那ptr将成为一个悬空指针,bar在后续还继续访问它,会引发未定义行为...可以在资源(原生指针对应的对象)生命周期结束时自动释放内存。C++标准库中,提供了两种最常见的智能指针类型,分别是std::unique_ptr 和 std::shared_ptr。...每个 std::unique_ptr 实例都拥有对其所包含对象的唯一所有权,并在其生命周期结束时自动释放对象。...创建unique_ptr对象我们可以std::unique_ptr的构造函数或std::make_unique函数(C++14支持)来创建一个unique_ptr对象,在超出作用域时,会自动释放所管理的对象内存...weak_ptr是一种弱引用,不对所指向的对象进行计数引用,也就是说,不增加所指对象的引用计数。

    43600

    C++智能指针「建议收藏」

    =( scoped_ptr const& ) const; scoped_ptr底层私有化了拷贝构造函数和operator=赋值函数,从根本上杜绝了智能指针浅拷贝的发生,所以scoped_ptr也是不能用在容器当中的...auto_ptr可以任意转移资源的所有权,而scoped_ptr不会转移所有权(因为拷贝构造和赋值被禁止了) 由于scoped_ptr无法进行任何的拷贝构造函数和operator=赋值,一般也不推荐使用...unique_ptr(unique_ptr&& _Right) noexcept : _Mypair(_One_then_variadic_args_t{ }, _STD...new int); unique_ptr ptr2(std::move(ptr1));// 使用右值引用的拷贝构造,由于执行了release,ptr1已经被置空 cout 的文件,此时对于文件指针的关闭,就不能用delete了,这时我们需要自定义智能指针释放资源的方法。

    49110

    再探 智能指针

    使用任何一项工具,都需要承担代价与风险的。 1、一个裸的指针不要用两个shared_ptr管理,unique_ptr也是,它们都会认为自己独占这个资源,你等释放的时候试试看。...其次万不得已使用std::unique_ptr,再万不得已使用std:shared_ptr。...用unique_ptr和用shared_ptr一样为了防止处理某些异常时无法调用delete释放资源的情况,在同一个特定的时刻只会有一个unique_ptr来管理一份资源没有共享模式,所以拷贝构造函数,...由于unique_ptr的唯一性所以要转移资源可以transfer传值,只能调用obj的右值引用而不能用左值,transfer函数执行完就释放了,调用了transfer后原有的会变成空指针不再管理。...// unique_ptr } ---- 6、智能指针只能表示所有权,如果遇到某些复杂的数据结构,或者所有权不明确的场景,还是得裸指针来。

    29020

    智能指针探究

    ; 这是会报错的,那为什么呢,p1和p2不都是指向同一块内存吗 这时候咱们可以看下auto_ptr的拷贝构造函数看看了 auto_ptr(auto_ptr& _Right) noexcept : _Myptr... p2(p1); 但是如果这样写呢 unique_ptr p1(new int); unique_ptr p2(std::move(p1)); 运行后发现是可以的,那是为什么呢...> p1(new int); unique_ptr p2(std::move(p1)); unique_ptr(unique_ptr &&src) 是unique的移动构造函数,它接收一个右值引用作为参数...这样p1的所有权转移给p2,p1变为空指针 三四行代码,不涉及构造赋值运算符,只涉及到移动构造函数 这时候肯定会说,那和auto_ptr也一样啊,但unique_ptr p2(std::move...比如我用智能指针托管数组的话,那delete就不行,得用delete[] 再比如我让它管理的不是内存资源,而是文件资源,那释放文件也绝对不可能用delete释放的 所以在我们除了智能指针在堆内存外,怎么正确指导智能指针来正确删除呢

    9210

    【Advanced C++】: 详解RAII,教你如何写出内存安全的代码

    . // consume finish delete obj; } 然而,在大型应用程序中,指针的产生和消费错综复杂,写到后面程序员根本不记得自己有没有释放指针,或者某处地方读取一个已经释放的指针直接导致...下面的代码将展示如何用 std::unique_ptr来管理指针。...在上述代码中,当main函数退出时, std::unique_ptr在自己的析构函数中释放指针,而为了防止有别的 std::unique_ptr指向自己管理的对象而导致的提早释放与空指针访问, std:...这是因为 std::unique_ptr实现了 move constructor(一种可以将资源从另一个对象“偷”过来的构造函数)并在返回时将指针传给了main函数中 obj变量。...智能指针中,除了 std::unique_ptr,还有其他类型,比如允许多个指针指向同一变量的 std::shared_ptr,其内存管理逻辑会复杂许多,如果有同学有兴趣,可以在评论中告诉我,下次专门写一篇文章讲如何实现

    3.2K30

    STL四种智能指针

    它持有对对象的独有权——两个unique_ptr不能指向一个对象,即unique_ptr不共享它的所管理的对象。...(5)对智能指针的改进 目前这个智能指针智能用于管理Point类的基础对象,如果此时定义了个矩阵的基础对象类,那不是还得重新写一个属于矩阵类的智能指针类吗?...另外很自然地一个问题是:既然weak_ptr不增加资源的引用计数,那么在使用weak_ptr对象的时候,资源被突然释放了怎么办呢?呵呵,答案是你根本不能直接通过weak_ptr来访问资源。...很多STL算法都支持复制和赋值操作,这些操作可用于shared_ptr,但不能用于unique_ptr(编译器发出warning)和auto_ptr(行为不确定)。...[6]C++11智能指针之unique_ptr [7]Boost智能指针——weak_ptr [8]std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

    2.7K41

    什么是智能指针

    ,也就是不能放在等号的左边(函数的参数和返回值例外),这一定程度上避免了一些误操作导致指针所有权转移,然而 unique_str 依然有提供所有权转移的方法: std::move。...然而,weak_ptr 并不是完美的,因为 weak_ptr 不持有对象,所以不能通过 weak_ptr 去访问对象的成员,例如: struct Square { int size = 0; }...将 weak_ptr 传递给 shared_ptr 的构造函数,要是对象已被析构,则抛出 std::exception 异常。...既然 weak_ptr 不持有对象,也就是说 weak_ptr 指向的对象可能析构了,但 weak_ptr 却不知道。...很多 STL 算法都支持复制和赋值操作,这些操作可用于 shared_ptr,但不能用于 unique_ptr(编译器发出 warning)和 auto_ptr(行为不确定)。

    63520
    领券