数字图像取证 - 基于相机属性的取证 2

Posted on Sat 15 August 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

CA

理想状态下光线透过滤镜聚焦到传感器上,传感器将光子转储为颜色信息并保存。然而实际上不存在一种滤镜能够完美的将所有波长的光聚焦于传感器上,从而导致导致高光区域与低光区域出现带有颜色的边缘。这一现象被称为CA或色差或紫边(摄影)。由于相机以及镜头的不同,篡改图像的过程中,就会出现色差问题不一致的问题,那么利用这一特性就可以校验图像是否被篡改。首先介绍一下为何会出现色差现象 有折射定律: 1. 折射光线位于入射面内. 2. \(n\sin I = n' \sin I'\) 注: \(I\)表示入射角, \(I'\) 表示折射角,n表示折射率. 以及短波(蓝色)折射率高,长波(红色)折射率低. 根据折射定律由于不同的波长在同一种介质中的折射率不同就会出现如下的情况 ref_wave

建模CA向量

根据折射定律\(nsin(\theta) = n_r\sin(\theta_r)\) 以及 \(nsin(\theta) = n_b\sin(\theta_b)\)得出\(n_r …


Continue reading

数字图像取证 - 基于相机属性的取证 1

Posted on Fri 03 July 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

CFA

在数字图像中,CFA是位于图像传感器之前的一组用于过滤色彩,收集色彩信息的镜片。由于数码相机传感器仅测量光线的明亮程度无法对色彩做出处理,通过CFA为每一个像素赋予其色彩。 下图是Bayer Array CFA也是最常见的CFA, 使用该CFA导致了实际只有1/3的色彩信息能被cmos保存下来,另外的2/3只能利用插值算法进行填充得来的。那么不同的相机之间由于不同的cmos以及插值算法就会有不同的特征存在。 Bayer array

对于一张Raw图像其每个像素点的RGB构造方式为

$$ \begin{aligned} \tilde{R}(x, y) &= S(x, y) &if S(x, y) = r_{x, y} \\ &= 0 &otherwise\\ \tilde{G}(x, y) &= S(x, y) &if S(x, y) = g_{x, y} \\ &= 0 &otherwise\\ \tilde …

Continue reading

数字图像取证 - 基于文件格式的取证 3

Posted on Mon 15 June 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

JPEG Ghost

上一节中Double JPEG方法可以检测图像是否被二次压缩过。本节内容将定位出具体被二次压缩过的区域。这一技术被称为JPEG Ghost。

前面介绍过一组RAW data存储为JPEG文件格式首先需要进行傅里叶变换随后便进行量化操作。那么假设有一组经由傅里叶变换后的值\(c_1\)按照\(q_1\)进行量化。随后进行还原并按照\(c_2\)进行量化得到\(q_2\)。如果\(q_1=0\)(也就是不进行二次量化操作)或\(q_1=q_2\)\(c_1\)\(c_2\)之间的损失一定是最小的。同时\(c_1\)\(c_2\)之间的损失也会随着\(q_1\)\(q_2\)的增大而增大。根据这样一个特点未经过二次压缩的图像应是一组基本单调上升但在某一点突然下降至0的数据。而经过二次量化的图像则是会出现2个或以上的下降点。如下图 未经过二次量化的图像 经过二次量化的图像 故本例子中第二次量化的等级为23。

Localization

上面提及了JPEG Ghost的概念以及部分表现,这里对这一方法进行详细描述。首先定义JPEG Ghost中的损失

$$ d …

Continue reading

数字图像取证 - 基于文件格式的取证 2

Posted on Fri 01 May 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

二次量化(double quantization, double JPEG)

前面提到, JEPG是将位图(bit map)进行转制后利用量化操作$q_a(u) = \lfloor{\frac{u}{a}}\rfloor$, 而这一操作明显是一种有损操作. 那么当对任意图像进行修改之时, 还原回得位图必定不完全等于原始得位图, 随后得又一次压缩更会带来一定得损失以及一种特征. 这种特征可以令安全人员检测出该JPEG文件是否进行过二次编辑.

二次量化是指对JEPG文件进行还原时, 量化还原$q^{-1}_a(u) = \lfloor\frac{u}{a}\rfloor\times a$ 后再一次对图像进行量化, 故该行为可以被写为$q_{ab}(u) =\lfloor \lfloor{\frac{u}{a}}\rfloor\frac{a}{b}\rfloor$

下面用一组[0, 127]的正态分布数据来进行模拟实验。

数字图像取证 - 基于文件格式的取证 1

Posted on Fri 10 April 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read


基于文件格式的取证

文件格式(或文件类型)是指电脑为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料。(摘自百度百科)。 那么计算机为了处理这样特定的编码一定存在一些特定的标识符来对该数据进行解释。利于在JPEG文件格式中,为了使JPEG数据能正常的还原成为位图数据(bitmap), 文件的头中一定存在着某些数据保存了压缩的参数(量化表,傅立叶变换系数等等)。

色彩空间

色彩空间(英语:Color space)是对色彩的组织方式。借助色彩空间和针对物理设备的测试,可以得到色彩的固定模拟和数字表示。色彩空间可以只通过任意挑选一些颜色来定义,比如像彩通系统就只是把一组特定的颜色作为样本,然后给每个颜色定义名字和代码;也可以是基于严谨的数学定义。

同时颜色可以从以下属性取衡量: 1. 亮度(Brightness,value):指的是感官上区域的明暗。 2. 色相(Hue): 指的是色彩的外相,是在不同波长的光照射下,人眼所感觉不同的颜色,如红色、黄色、蓝色等。 3. 色度(Colorfulness):指色彩的纯度,也叫彩度,即颜色的鲜艳程度。从广义上说,黑色、白色以及灰色是“色度 …


Continue reading

数字图像取证 - 前言

Posted on Sat 07 March 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

前言

这个系列是对之前的一部分工作的结果的升华。虽然标题名为 Digital Forensics 的笔记, 但实际上该系列实际是对该书的翻译工作(包括个人理解的添加, 部分不重要言语的删除, 以及其他辅助资料的补充)。 Digital Forenscis Dartmouth大学的farid教授出版(现以在UCB任职)。全书共10章, 从文件格式到光学系统,基本覆盖了比较经典的数字取证的方法。

图像篡改的历史

图像篡改并非现代技术(Photoshop等电子化工具),实际上仅仅在涅普斯创造相机的十年之后,图像篡改技术便出现了。 下面实际上就是一张实例,由于观念的不同斯大林将其政委从其合照中抹去。 commissar

左侧是被修改的图像,右侧是原始图像。

在Photoshop软件出现之前, 人们实际上也是利用Photoshop对胶片图像进行冲洗,调整抑或是篡改,当然这里的photoshop学名叫做暗房。而前面的Photoshop学名应该叫做电子暗房。 如果想要在胶片图像上完成对一个事物则至少需要3个步骤(不包括正常洗胶片的操作)

  1. 底片剪拼:用黑卡纸裁成相应形状,在相纸相应部位作遮挡;之后再遮住其他部分,单独将需要补晒的内容进行第二次晒印曝光。对应在Photoshop中则是将目标图像复制改图像的图层之上。
  2. 多次曝光:实际上这就是调整对比度的操作。
  3. 调整边缘:调虚焦距,或者适当抖动遮盖纸。 对应至Photoshop这则是羽化边缘的操作。

所以无论是老照片抑或是新的照片,都存在篡改的情况,后面我们将要介绍各种数字取证的方法 …


Continue reading

Chainer教程 1.5 利用预训练模型以及修改预训练模型

Posted on Tue 23 October 2018 in MachineLearning • Tagged with MachineLearning • 2 min read

使用预训练模型检测cifar10


Continue reading

Chainer教程 1.4 简单的CNN模型

Posted on Fri 20 July 2018 in MachineLearning • Tagged with MachineLearning • 1 min read

编写简单的CNN检测Cifar10


Continue reading

Chainer教程 1.2 & 1.3 chainer

Posted on Sun 03 June 2018 in MachineLearning • Tagged with MachineLearning • 2 min read

安装chainer以及编写简单模型


Continue reading

Chainer教程 1.1 机器学习简介

Posted on Fri 01 June 2018 in MachineLearning • Tagged with MachineLearning • 1 min read

简介机器学习.


Continue reading