漏二极管是一种数据二极管的数据过滤测试工具,使用流量调制和闭合延迟攻击

leaky-diode的Python项目详细描述


漏二极管

Leaky diode是smart数据二极管的数据过滤测试工具,即 支持TCP直通的数据二极管借助于一些侧信道 从孤立的一方。使用的攻击是flow modulation和/或 close delay

  • CLOSE DELAY使用请求一个机密位和 服务器关闭连接以编码位值的时间。(即-10秒 延迟是指0,30秒延迟a 1)

  • FLOW MODULATION使用tcp流控制机制将机密位编码为 传输速度。例如,如果客户端请求的位是1,则服务器 如果速度为0到100KB/s,则将速度限制为300KB/s。此攻击的优点是 使用单一连接会使检测变得更困难。在

安装

下载软件包或克隆存储库,然后安装:

python3 setup.py install

或者使用pypi:

^{pr2}$

使用

在隔离端启动服务器:

leaky_server public_ip port 'secret string that needs leaking'

在不可信端,启动客户端并选择其中一个攻击

leaky_client server_ip server_port --mode flow --partial

或者

leaky_client server_ip server_port --mode close --partial

如果不确定的话,只需等待几分钟来接收第一个字节(它是最慢的) 如果它工作正常,则添加--verbose选项,以便在每个接收到的位上打印消息。在

选项

usage: leaky_client [-h][--mode mode][--low_delay delay][--high_delay delay][--low_rate rate][--high_rate rate][--sample_time time][--settle_time time][--partial]
                    host port

Leaky Diode is a data exfiltration test tool for data diodes

positional arguments:
  host                  Remore host address
  port                  Remote host port

optional arguments:
  -h, --help            Show this help message and exit
  --mode mode, -m mode  Attack mode 'flow' or 'close'(default: flow)
  --low_delay delay     Close delay for low bits (default: 5s)(only Close Mode)
  --high_delay delay    Close delay for high bits (default: 10s)(only Close Mode)
  --low_rate rate       Tx rate for low bits (default: 64 KB/s)(only Flow Mode)
  --high_rate rate      Tx rate for high bits (default: 300 KB/s)(only Flow Mode)
  --sample_time time    Tx rate sampling interval (default: 3.0s)(only Flow Mode)
  --settle_time time    Settle time between sending a bit request and the start of 
                        sampling (default: 8.0s)(only Flow Mode)
  --partial             Show partial results each time another byte from the secret is received
  --verbose             Show debugging messages
usage: leaky_server [-h] host port secret_string

Leaky Diode is a data exfiltration test tool for data diodes

positional arguments:
  host           Remore host address
  port           Remote host port
  secret_string  Attack mode 'flow' or 'close'(default: a secret string)

optional arguments:
  -h, --help     Show this help message and exit
  -v, --verbose  Show debugging messages

性能

默认参数下的攻击吞吐量约为1b/min(是的,每分钟一个字节), 您可以通过降低close delay模式中的延迟时间和结算/采样来增加它 flow modulation中的时间(默认值非常保守)

使用此攻击的实际渗出尝试很容易每天泄漏几KB,速度太慢 对于较大的漏洞,但足以针对密钥/密码或选定的用户数据进行有针对性的攻击。在

美国石油学会

也可以将leaky_diode作为一个软件包使用,并在自己的应用程序中包含一个服务器:

  • 类泄漏服务器(主机、端口、机密、时钟=100,最大连接数=10)

    • 主机:(str)侦听接口ip地址(“”表示所有)

    • 端口:(int)侦听端口

    • secret:(bytes)泄漏机密(最大长度65535)

    • ticks:(int)工作进程用于限制连接的每秒节拍数。在

    • max_connections:(int)服务器可以处理的最大并发连接。在

    • start():初始化并启动服务器工作进程

    • stop():停止服务器及其工作进程

fromleaky_diodeimportLeakyServerleaky_server=LeakyServer('192.168.0.10',9000,b'some secret byte string')leaky_server.start()# Do something else......# Close server before exitleaky_server.close()

托多

  • 强化消息分析输入验证(无效长度)
  • 使用并发连接来提高渗出速度。在
  • 调整流量调制模式发送速度。在
  • 调谐关闭延迟模式延迟。在
  • 增加CRC的秘密和秘密长度,甚至更好的纠错。在
  • 添加恢复功能,这样就不需要一次性获得秘密。在
  • 添加一些测试。在

参考文献

  • 数据二极管Wikipedia
  • 占位符所以我记得发表一篇关于袭击的帖子
  • 另一个关于数据二极管的传输和流协议

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Grails中集成javaapplet   动态设置片段时发生java错误   JavaSpringVelocity模板电子邮件?   SpringHateOAS中java自定义json输出   java wait()和notify()相关问题   正则表达式中的单词边界是什么?   使用外部库将项目部署到glassfish后发生java NoClassDefFoundError   java为什么在这里初始化ListNode两次?   java libGDX移动三维模型   java使线程等待另一个线程的执行   正则表达式如何在java中使用正则表达式解析给定字符串   java SWT ScrolledComposite在32768像素后切断画布生成的图像