自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 安全顶会USENIX Security ‘24 Fall,录用!!

我们围绕物联网在跨域互作用下的漏洞自动检测与修复研究工作被安全顶会USENIX Security录用,感谢导师,感谢课题组同学,恭喜恭喜!

2024-04-22 16:25:58 95 2

原创 优化谓词抽象

在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。对于某些计算问题而言,回溯法是一种可以找出所有(或一部分)解的一般性算法,尤其适用于约束满足问题(在解决约束满足问题时,我们逐步构造更多的候选解,并且在确定某一部分候选解不可能补全成正确解之后放弃继续搜索这个部分候选解本身及其可以拓展出的子候选解,转而测试其他的部分候选解)。对于给定的谓词集合P,那么抽象状态的数量为2^|P|,是有限的。

2023-05-06 09:36:53 26

原创 InForSec 2023 Fuzzing

之前是malloc -> free->free这种很死板的模式匹配,但是现实的内存分配更复杂首先用自然语言识别内存分配函数,建立MOS结构,简化了数据流分析。

2023-05-06 09:33:58 32

原创 形式化验证学习——循环不变式、分离逻辑、有界程序验证、k归纳法、符号分析、区间分析

目前,大部分的静态分析算法都可以基于抽象解释框架进行描述。抽象解释的数学基础是格论(Lattice Theory)

2023-05-06 01:02:20 46

原创 Alloy : 另类的形式化检测规则漏洞

根据trace和goal(Goals are properties that the system should achieve),使用满足一些属性就是插值的定义,计算出插值(trace和goal),插值说明了出现反例的原因是反例的一部分,如果不摆脱它就会一直出错。插值就是用几个已知去预测未知的过程。

2023-05-06 01:00:13 15

原创 反属性推理 check_ltlspec -p “G((weather.rain=raining)->! F(window.switch=close))“

Thier work最接近我们的工作,但也有差异没有明确提出反属性,且简单,之前是更大空间需要反属性, 我们是反属性需要更大空间,所以Trigger、Condition、Action都要变appears in the LTL/CTL policy(只加了属性中出现的,N-gram?

2023-04-15 00:26:31 224

原创 反属性推理 check_ltlspec -p “G((smoke=detected)->! X(window.switch=open))“

X出不来是因为有smoke一直在detected不变的情况,也不是,只要smoke(())(())

2023-04-14 09:42:33 412

原创 专利效果示例

温湿度传感器、人体传感器、烟雾传感器、智能灯、智能窗户、智能报警器、智能风扇。

2023-01-03 18:43:05 134

原创 自动机缺陷状态识别

从广义上讲,形式化方法是借助数学的方法来解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动。狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述、模型推理和验证的方法。形式化方法是基于 数学的特种技术,适合于软件和硬件系统的描述、开发和验证形式语言(英语:Formal language)是用精确的数学或机器可处理的公式定义的语言,所以形式化就是数学化形式化方法的优点1、能够简洁准确的描述物理现象、对象或者动作的的结果,是理想的建模工具,

2022-11-26 21:24:59 129

原创 形式化验证 / 模型检测 Model Checking基础

旨在自动化地证明程序的正确性,即程序在运行的过程中不会出错(从坏的方面),并且程序的功能可以被满足(功能正确性)。程序验证>形式化方法>模型检测模型检测Model Checking是形式化方法(formal method)的一种。主要思想是对系统的全局空间进行搜索,验证是否满足相关规范。对于已发布的程序有bug,可以通过编译但运行时出错,把软件错误控制在运行之前、运行早期,不要发生在生产环境。

2022-10-07 10:06:23 2351

原创 程序形式化验证之——谓词抽象技术

旨在自动化地证明程序的正确性,即程序在运行的过程中不会出错(从坏的方面),并且程序的功能可以被满足(功能正确性)。程序验证>形式化方法>模型检测模型检测Model Checking是形式化方法(formal method)的一种。主要思想是对系统的全局空间进行搜索,验证是否满足相关规范。对于已发布的程序有bug,可以通过编译但运行时出错,把软件错误控制在运行之前、运行早期,不要发生在生产环境。

2022-09-29 14:10:52 414

原创 LTL布尔编码识别系统缺陷状态

Unsafe State用于解决如何识别缺陷的问题。

2022-09-05 13:49:23 57

原创 Towards a Natural Perspective of Smart Homes 物联网智能家居动态访问控制

设计了一种的智能家居自动化场景生成,可以在用户创建的规则基础上生成的自动化场景策略关键假设是,人们说的语言有pattern,且由用户创建的智能家居事件序列/代码表现出固有的语义模式,或,可以被建模并用于生成有效和有用的场景。本文证明了这个自然性假设是成立的,通过一个包含30,518个家庭自动化事件的语料库(The HOME corpus)缺乏自然的家庭自动化场景,即可能发生在最终用户家庭中的事件序列。user-driven 编程:不用编写代码就可以设置trigger、action。...

2022-08-08 17:18:52 72

原创 检测TAP层面extended漏洞方法

在一个平台通常是并行执行的。先arriving变为homemode,延迟doorclose事件,规则2能执行。luminanceisbelow20lux同平台会同时进行,

2022-07-28 15:23:40 24

原创 2022-7-29 程序自动修复方法在状态机修复里的应用探讨

AbstractAbstract程序自动修复的通用方法在状态机修复里的应用一篇程序自动修复综述+一篇基于人工模板修复。启发式和人工模板。一篇符号执行综述+AFL源码分析的变异部分文章。通过符号执行reducesolutionspace,二分查找。从SolutionSpace这个比较概括的角度去想首先出发点是这种方法在普通程序里可行,在状态机里不可行,反例无法解决。.........................................................

2022-07-28 13:21:54 64

原创 程序缺陷自动修复(Automated Program Repair)& 符号执行(Symbolic Execution)

程序缺陷如缓冲区溢出、空指针等缺陷的修复步骤静态/动态缺陷定位缺陷;生成补丁;补丁过滤、排序(先用哪个)(针对一个缺陷生成多个补丁)及静态预定义或动态测试验证补丁的正确性提高定位更准确评价指标的分类启发式搜索(朝着预定方向变化),人工模板(),语义约束(转为符号执行、约束求解这类问题),统计分析()............................................................

2022-07-18 20:59:19 470

原创 系统结构与修复算法demo

1

2022-07-11 16:07:47 61

原创 HomeAssistant——Integration开发

Integration贡献给官方,官方会人工审核说明需要哪些库自动化要有DOMAIN,不仅要理所应当地处理内部,还要对外部的变化进行对应处理git clone https://github.com/q1uTruth/TAPFixer.gitsudo apt-get install python3-pip python3-dev python3-venv autoconf libssl-dev libxml2-dev libxslt1-dev libjpeg-dev libffi-dev lib

2022-06-25 21:03:29 1316

原创 Delay-based Automation Interference Attacks(DAI Attacks)

By selectively delaying IoT messages,our study finds that two issues, inconsistency and disorder,can be exacerbated by attackers significantly。 Unlike jamming or discarding packets, the attacks do not trigger alarms at any layers of the IoT protocol stack7

2022-06-21 14:19:17 60

原创 Alloy 阅读笔记——物联网漏洞模型检测

contribution:7类漏洞Alloy第7页开源代码从规则屏蔽,增删规则,随机变量角度。AutoTap是从新增规则的角度。CO>CO2==温度,优先就系统帮忙修复,平级就让用户自行选择,可以用risk那个方法trigger决定了冲突节点的前继情况,action决定了冲突节点的后续情况,但二者都有缺陷。A.1的修复是去除状态机中该节点后续多余的边,第二类的修复是使冲突节点之后出现之前的安全状态,Action Breaking的修复是使状态机中出现被打断的那些状态。component:trigge

2022-06-14 22:05:47 66

原创 综合小知识 & 脚本 & 命令行

CDN加速代码 # 显示原始下载地址 print(url) # 源文件 if "https://raw.githubusercontent.com" in url: arr = url.replace("https://raw.githubusercontent.com/", "").split("/") arr[1] = arr[1] + "@" + arr[2] arr

2022-05-06 14:29:59 1334 1

原创 小米智能插座、小米温湿度计2、涂鸦灯泡 接入Home Assistant

云端接入:小米账号,存在延迟,断网不可用本地接入:HA托管,延迟低,断网可用刷固件的方式接入优缺点:米家APP失效,测温间隔变小,耗电按照教程刷完固件之后,可以看到很多设置选项接入小米温湿度计2参考:https://blog.csdn.net/weixin_44968310/article/details/89506254https://www.home-assistant.io/integrations/mitemp_bt获取MAC地址MAC地址是网卡厂商决定的,不会变,所以可以先接

2022-05-05 12:01:19 5628

原创 物联网TAP规则漏洞类型总结

之前是intra-app(app内),现在是cross-app(app间),主要还是针对smartthing的平台特性,其它都是部署在一个上面的

2022-05-01 12:01:44 178

原创 2022-4-29 初步验证AutoTap无法解决Action Breaking

event e happened within the past t (seconds), denoted as t#e 这个是说 eventap has been true for at least t (seconds), denoted as t ∗ ap 说的是 state多加了红箭头

2022-04-25 23:16:07 72

原创 论文Summary03——TAP规则脆弱性静态修复

这类论文的4个主要问题:能检测什么样的冲突?冲突是怎么检测的?冲突是怎么解决的?如果涉及动态,是怎么个动态法检测的冲突类型: 一致性问题是指有两条或两条以上的服务需求之间出现冲突,完整性问题是指在某些情况下的输入,软件无法给出确切的输出当一氧化碳的浓度高于一定阈值时自动开窗,又规定下雨时自动关窗,那么如果下雨时一氧化碳浓度过高,同时满足这两条需求,便会出现一致性问题,在这种情况下,房间的一氧化碳浓度可能会超过 200mg/L,这是有害甚至致命的;再比如规定亮度低于一定阈值时开灯,但没有规定高于这个阈

2022-04-25 08:57:52 98

原创 论文Summary04——TAP规则脆弱性动态修复

几个问题机器人的例子是怎么找到motion相关的?怎么发现冲突的?模型偏向于预测数值,我觉得不好发现冲突。如何解决冲突的?提示用户加一条condition,但是加的不改变homemode并不是好例子用户本身定义的TAP规则是怎么处理的?本文是怎么利用的?看policy是不是都是有关可以测出来的环境属性,环境属性好像只能靠预测是否超过阈值来检测冲突如果只是prevent,而不是静态的修改,那么问题仍会存在动态体现在哪?周期性获取属性值并预测,以阻止不安全情况做了两件事 多APP环境的体现??我想.

2022-04-25 08:57:04 160

原创 写给朋友看 —— 一段代码理清指针难点

#include <stdio.h>#include <stdlib.h>int main(){ // 声明动态数组 int *malloc_space = (int *)malloc(sizeof(int)*3); *(malloc_space + 0) = 0; *(malloc_space + 1) = 1; *(malloc_space + 2) = 2; // 声明其它指针 int a = 123; int *a_p

2022-04-21 22:29:29 78

原创 状态机smv & 线性时序逻辑(LTL) & 分支时序逻辑(CTL)

X,U是temporal operator,不指precise timethe syntax of LTL之前都是看the first letter就行X可以看the rest of wordX(X(p2))X(p1Up2) 在下一状态,p1Up1 = true?和p1Up2的区别是起始位置不同X(X(p1UX(p2)))p1 until p2 ,找到p2为true的第一个地方,在那个地方前p1 is truetrue每个点都满足意味着没约束,true U p1 在某个p1为true的.

2022-04-17 17:36:20 689

原创 2022-4-21 Action Breaking修复

AutoTap currently does not consider issues like actions failing to complete or not taking effect immediately针对正常的可以进行,因为nusmv的特点,主要是看针对extended是否可行。把状态机拆分的思想。smv如果没引入latency,不冲突,可达。如果引入,extended action,冲突,不可达When no one is present, the curling iron shoul

2022-04-10 09:13:10 56

原创 论文Summary03——TAP规则脆弱性静态修复——AutoTap & TAPInspector

AutoTap可以自动生成TAP规则,能检测什么样的冲突?用户定义的policy,保证安全,但是没有考虑诸如tardy attribute,extended action中止。利用上下文生成一条新的 TAP 规则以去除状态机(automation graph)里冲突的那条 bridge edge(在状态机里的特点是 infinte 和 accepting node),但无法处理需要生成多条 TAP 规则进行修复的场景。property-specification interface用户输入系统需要满足.

2022-03-29 22:06:30 2226

原创 Nusmv逆向分析

依次交叉引用__int64 __fastcall Mc_CheckCTLSpec(__int64 a1,__int64 a2)__int64 __fastcall Bmc_Utils_generate_and_print_cntexample(int a1, __int64 a2, __int64 a3, __int64 a4, int a5, __int64 a6, __int64 a7)__int64 __fastcall Bmc_GenSolveInvar(__int64 a1, __int..

2022-03-27 14:18:02 308

原创 Nusmv模拟物联网TAP规则运行状态

前言模拟运行中状态,比较关键的是delay的模拟为了模拟运行中的状态,需要提取VAR和delay的信息,上次主要是提取VAR,这次是提取了delay和其相关的VAR方式一:Nusmv中VAR和delay init为所有取值范围(不可行)某个设备capability相关的VAR有3类:设备的capability该capability对应的上一状态该capability对应的delay缺点1:会出现没有的状态,或者直接冲突的状态缺点2:需要探索的空间太多以iotinspector.smv

2022-02-25 06:28:54 5497

原创 形式化验证学习——循环不变式、分离逻辑、有界程序验证、k归纳法、符号分析、区间分析

MQTT这类协议,在官方之外更泛华的协议把发布消息的人,跟得到消息的人分开,让他们通过中间代理人(broker)沟通,发消息的只用发一次所有订阅的就能收到可以多个不同种类的设备订阅代理人,发一条开关消息就能开关很多设备,这个中间代理人很像gateway(如小米多模网关)topicpayload承载的信息可以直接搜厂商名看支持的设备。

2022-02-20 15:59:05 613

原创 Python学习 多任务——进程、线程、协程

进程、线程、协程https://www.bilibili.com/video/BV19x411R7rG?from=search&seid=10895084397129805794&spm_id_from=333.337.0.0进程、线程、协程都可以实现多任务线程是真正执行代码的,操作系统实际调度的是线程,进程是分配资源,进程是工厂,线程是实际干活的工人单进程多线程:一个工厂很多工人多进程多线程:多工厂很多工人多进程多线程下的协程:工人当前的活闲下来,也要去干别的活进程切换代价大

2022-02-20 15:58:36 269

原创 IoT抓包初探

一些概念WIFI1.WIFI属于物理层和链路层,Wi-Fi取代的是以太网的网线和交换机上的口。交换机属于数据链路层。2.wifi之上承载了ip网络层3.wifi标准对应的协议在一二层。wifi设备是全七层的。4.zigbee和wifi是802.15和802.11的技术标准。802.11主要是针对局域网的相关标准。而局域网是工作在OSI数据链路层和物理层的。5.WiFi是CSMA/CA,以太网用的是CSMA/CD来解决冲突的问题。6.802.11数据帧结构分成三种,管理帧、控制帧、数据帧。端口

2022-01-11 13:50:22 4553

原创 论文Summary02——Fuzzing

github地址:https://github.com/lannan/Westworld背景没考虑库文件和远程平台执行平时的符号执行要求I/O环境和库文件,但是无法(准确)处理调用库文件或者程序在远程平台(如SmartThings)执行的情况API闭源 & 传统的对API的处理IoT平台下有很多用于实现自动化的IoT app,app和平台通过API进行交互(如app从平台获取测试到的温度数据、登录信息等),收集这些信息For uninterpreted functions, class.

2022-01-11 09:30:46 3853

原创 Home Assistant 智能家居自动化

TAP规则example1在白天,如果小米灯被关闭,就用语音播报一下1.TAP在配置的自动化里2.配置 如果小米灯被关闭3.配置 在白天4.配置 就用语音播报一下5.触发对应一个时间点(刚回家、每隔一小时),条件对应一个时间段(在家的时候,灯持续开着)当日出一瞬间,如果小米灯是关着的,和在白天,如果小米灯被关闭,就用语音播报一下作区分TAP规则example2在小米灯关后的一分钟,语音播报关灯了1.触发 小米灯从关到开条件 无动作 延迟一分钟 调用关灯服务2.模

2021-12-02 14:08:24 18168 2

原创 论文Summary01——Fuzzing

特点1.Snipuzz不需要逆向分析的前期准备(所以是轻量级的),也不需要依赖反馈,而是运用响应推出信息片段,用信息片段进行进行变异2.响应类别的数量与固件中的代码执行路径的数量呈正相关。响应消息不能等同于设备的执行路径,但通过响应消息的内容,可以推断出已在固件中执行的代码块,如果两个输入得到不同的响应消息,可以推断这两个输入进入不同的固件代码执行路径。即使执行不同的功能,固件也可以返回相同的响应消息。挑战挑战一1.考虑到IoT设备难以获取固件,无法获取内部的执行状态信息(response不偏向.

2021-12-02 14:07:14 2585

原创 Home Assistant 入门安装

Home Assistant安装三类安装方式我的安装方式树莓派3 Model B 第三类安装方式安装过程中遇到的问题1.SD卡不识别解决:换用老电脑,或者插虚拟机里2.配置的连接wifi的CONFIG第一次启动后不见了解决:正常现象,并不会影响之后启动3.homeassistant.local:8123无法访问但是4357的observer可访问解决:如果是404 not found就推倒重来;如果是提示暂时无法访问是supervisor在更新,得等待几个小时成功安装截图Inte

2021-11-30 09:49:18 9539

原创 NOJ 练习题5,6季

第5季 类41题import mathclass Rectangle(): def __init__(self,x1,y1,x2,y2): x1, y1, x2, y2=int(x1), int(y1), int(x2), int(y2) self.x1,self.x2 = min(x1,x2),max(x1,x2) self.y1,self.y2= min(y1,y2),max(y1,y2) def calculate_overl

2021-11-01 22:49:59 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除