无题
An SVD-Based Watermarking Scheme for Protecting Rightful Ownership一种基于奇异值分解(SVD)的水印方案,用于保护合法所有权一、翻译论文翻译阅读–SVD水印(高引用经典论文)
二、解读不可逆水印对于图片A,版权所有者使用向其添加水印W,生成带有水印的图片Aw。
攻击者试图生成水印图片的所有权,那么攻击者找到一个虚假的水印Wf和原始图片Af满足水印生成的方案。
算法解析嵌入过程
首先读取图片A将其进行SVD分解,得到U,S,Vh三个矩阵。
然后将水印图片表示为一个矩阵,添加到奇异值矩阵S中,对新生成的矩阵进行分解得到Sw。
最后,将得到的Sw和第一次SVD分解得到的U和Vh得到带有水印的图片。
保存S和U_w,Vh_w三个矩阵用于提取水印。
提取过程
分解带有水印的图片Aw,得到U,S_w和Vh三个矩阵。
用保存的U_w和Vh_w,和第一步得到的S_w计算得到S+aW
得到S+aW后,减去保存的S就可以得到对应的水印W了。
不可逆性证明攻击者想要证明水印图片Aw的所有权,就需要找到新的U_w,Vh ...
无题
奇异值分解(Singular Value Decomposition, SVD)一、简介奇异值分解是线性代数中矩阵的一种分解方法,在图像压缩,数据降维和推荐系统等算法中都具有广泛的应用。
与特征值分解不同,它可以应用于长方矩阵中,并将其分解成三个特殊矩阵的乘积。
其中U是m×m阶酉矩阵,正交矩阵;Σ是m×n阶非负实数对角矩阵;而Vt,即V的共轭转置,也是正交矩阵,是n×n阶酉矩阵。
这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
二、线性变换视角:旋转+升/降维&&拉伸+旋转参考:代数明珠–奇异值分解(SVD)生动动画演示!
旋转对于A@A.T和A.T@A两个矩阵,可以很轻易的证明其是对称矩阵。
由于这两个矩阵都是对称矩阵,那么这两个矩阵必然可以进行正交对角化。
计算出左奇异矩阵和右奇异矩阵,这样两个矩阵都代表一种旋转,并且这种旋转不会改变坐标轴的长度。
维度变化
维度擦除器
维度升高器
拉伸对于一个对角矩阵,代表这将坐标轴按照指定数字进行拉伸。
拉伸&维度变化可视化
首先在 ...
Research on Security Protection Evasion Mechanism Based on IPv6 Fragment Headers
Research on Security Protection Evasion Mechanism Based on IPv6 Fragment Headers基于IPv6分片头的安全保护逃逸机制摘要IPv6分片头是数据包分片的关键,但可以被利用来逃避安全系统,构成实质性的威胁。
尽管RFC-7112强调了“IPv6分片逃避行为”的含义,但缺乏全面的评估,阻碍了对标准符合性的评估。
同时,现有的IPv6分片逃避行为主要集中在微小/重叠的分片上,忽略了其他IPv6扩展头的组合。
因此,论文提出了一个IPv6分片回避(FragEva6)行为模型,演示了从IPv6报头到FragEva6机制的逐步构建过程。
随后,对17个主流操作系统和4个安全系统的评估显示,最新版本的Windows和Apple操作系统在处理IPv6碎片时符合RFC 7112,而Linux操作系统则表现出部分不符合。
此外,安全系统(Windows Defender 20230503.1、ip6tables 1.8.9、Suricata v6.0.12和Snort v3.1.61.0)表现出的缓解措施不足,使它们容易 ...
IPv6详解
IPv61. IPv6地址1.1 IPv6地址表示IPv6地址使用冒分16进制表示,即用冒号分隔的16进制表示。128位可以用32个16进制字符表示,每4个字符之间使用冒号进行分隔,这样的话32个16进制被分成8组。
就像这样: fe80:0000:0000:0000:9100:e409:60df:02f1
首先,遇到000a:0000:00bc:…,可以简化成a:0:bc:…,相当于省去前面的零。
把上面例子简化得到: fe80:0:0:0:9100:e409:60df:2f1
其次,这样连续的三组都是零,因此可以将连续三组的零写成双冒号“::”以简化表示: fe80::9100:e409:60df:2f1。
需要注意的是,这样的省略只可以进行一次,比如把0:0:0:0:0:a:0:0:0写成::a::,这样分不清楚前面有多少组零,后面有多少组零。因此简写最多连续的零::a:0:0:0,这样就清楚前面是5组零,后面是3组零了(如果相同多连续的零,那么优先简写左边的零)
1.2 IPv6地址结构
1.2.1 全球单播地址(Global Unicast Address,GUA)
前缀00 ...
计算机编码
编码现代计算机使用二进制编码的方式表示事物,在几千年前也有相似的东西:八卦。
《周易·系辞上》:“易有太极,是生两仪,两仪生四象,四象生八卦”,阴阳变换就像二进制的0、1变换,八卦和二进制有着相同的思想内核。计算机内使用二进制表示字符,八卦则用来表示不同的事物。
八卦:
ASCLL码:
这就是编码,就像一张对应关系的表,将二进制和字符或者其他东西对应起来。
ASCLLASCII(American Standard Code for Information Interchange),即美国信息交换标准代码。
ASCLL使用7位二进制编码了26个拉丁字母、符号、数字、控制字符等128个字符。其中ASCLL码前32个字符是控制符,表示开始、换行、回车、结束等。但是ASCLL码在存储时使用8位二进制,最高位用于奇偶校验。
ASCLL扩展编码在兼容ASCLL码的基础上,使用8位二进制编码了256个字符。
GB2312ASCLL码的局限性在于不是所有国家使用英文字符作为文字,并且无论是7位的ASCLL码还是8位的扩展ASCLL码能表达的字符十分有限。
因此各个国家都开创了适配自己的编码,GB ...
信息收集
(根root证书认证机构->中间intermediates证书认证机构->end-user网站证书)root/中间:本地电脑中,你有它的公钥,他会用私钥对下发的证书进行数字签名,这样你使用公钥就可以验证证书的真实性。
robots.txt规范 user-agent:xxx(允许的爬虫/搜索引擎)disallow:目录 或者allow:目录 没有用空格表示,全部用表示)*
正面信息收集门户网站
证书
robots.txt
子域名
url可能会暴露出编程语言
ICP备案
端口
C段
网络扫描对目标主机进行扫描,发现开放端口和服务。
工具:Nmap
主机存活发现
端口扫描
版本探测
C段扫描
敏感目录探测对目标网站的网站结构进行探测和对网站存在的敏感目录文件进行探测非常重要,通过目录扫描,可以获取网站的
上传页面
后台管理页面
网站备份源码
数据库文件等。
BurpSuite目录爆破使用burpSuite的Intruder模块,将目录路径设置为变量,利用字典进行爆破。
扩频水印
扩频技术顾名思义扩频技术可以扩充同一频段的通信,代价是更低的信号功率和信息密度,同时有更强的抗干扰能力。
扩充信道
更低的信息密度和功率
更强的抗干扰能力
对于一段0110的原始信号,使用一段伪随机序列1010和0000分别替换或者异或原始信号的01比特,得到扩频信号。
如何解扩呢?将扩频信号还原回原始信号,如果上诉过程是替换,那么只需要匹配信号中与伪随机序列的相似性确定01;如果是异或过程再次异或随机序列即可。
扩频和水印由于水印对鲁棒性的需求
CPP
2024-1-26开始学习cpp…
1-26参考视频:最好的C++教程
P1: Welcome to CPPCPP
编译型语言
更高的效率
对硬件的直接控制
跨平台
P2: How to Setup CPP on WindowsIDE: Visual Studio集成开发环境IDE
Hello cpp# include <iostream>
int main()
{
std::cout << "hello cpp" << std::endl;
std::cin.get();
}
P3: How CPP Works#include 任何以“#”开头的都是预处理指令。
include指的是包含一个文件另外std表示标准
std::cout << << std::endl输出到控制台,endl表示换行
<<就像printf一样,std::cout.print().print(std::endl)
std::cin.get()等待输入回车。
int main: ...
恶意代码
恶意代码分析概述静态分析方法恶意代码指纹:哈希
WinMD5
反病毒引擎扫描目前收集到的在线反病毒引擎:
VirusTotal
VirScan
特征字符串:Strings
Strings
使用命令Strings main.exe > main.txt将可执行文件中的字符重定向到文件main.txt中。
去壳与反汇编压缩和混淆的代码通常至少包括LoadLibrary和GetProcAddress函数,它们用于加载和访问其他函数。
待学习。。。
2. 动态分析技术虚拟机&&虚拟机逃逸
进程查看Process Explore
Process Monitor
注册表相关sourceforge
regshot
网络相关warshark
Web安全:sqlmap使用
sqlmap介绍:sqlmap
根据官方的说法:sqlmap是一个开源的渗透测试工具,它可以自动化的检测和利用SQL注入漏洞以及接管数据库服务器。
sqlmap下载&&安装sqlmap是一个python项目,下载即可,没有安装过程。
下载:sqlmap
sqlmap使用教程切换到sqlmap下载目录进行cmd,使用python运行sqlmap.py。
如果想在任意目录使用sqlmap.py,添加环境变量?
–help使用python sqlmap.py --help进行测试。
sqlmap支持非常多的选项.
Target选项:
Request选项:
使用sqlmap实现漏洞利用
首先寻找注入点