Tan's Blog.

Tan's Blog.

Tough life needs no explanation

2019年9月半月小结(下)
20190915-20190930吴恩达机器学习公开课这段时间公开课看到第六章,初识机器学习,对机器学习的概念有了初步的掌握,机器学习分为监督学习和非监督学习。了解梯度下降算法,以梯度下降算法为基础的单变量线性回归算法和多元线性回归算法,根据不同的数据,观察并计算出最合适的函数。公开课还对Octave的基本操作,如输入输出,矩阵计算,文件加载等一些语法进行了讲解以及实际操作。 区块链中本聪《bitcoin:A peer to peer electronic cash system》这是中本聪在2008年发表的论文,第一次提出比特币的概念,全文重点讨论比特币系统,给出对比特币的完整构想。依...
2019年9月半月小结(上)
20190901-20190915公开课万物互联基石—智能硬件安全攻防浅析随着物联网技术的发展和应用普及,我们正逐步迈入万物互联时代,而万物互联互通的基础是安全,本次讲解着重介绍在无线安全研究领域的安全技术成果、开源硬件交互方案设计及实例分析以及如何打造硬件攻防工具,深入解析万物互联时代智能硬件在安全生态运行发展过程中所面临的潜在威胁和应对之策。 Hacking&movie通过演示“碟中谍”“黑客军团”等电影片段再现网络攻击场景,解析了黑客所使用的技术手段、作案手法,为我们在日常生活中规避此类安全事件提供了切实可行的解决措施。 SQL注入原理SQL注入是通过把SQL命令插入到We...
程序切片方法
程序切片切片的基一般过程1.程序依赖关系提取程序依赖关系提取主要是从程序中提取各类信息,包括控制流和数据流信息,形成程序依赖图。2.切片规则制定依据具体的程序分析需求设计切片准则3.切片生成依据前述的切片准则选择相应的程序切片方法,然后对第一步中提取的依赖关系进行分析处理,从而生成程序切片。 静态程序切片静态切片技术是指在计算程序切片时 使用的是静态的数据流和控制流分析方法。该技术对程序的输入不做任何假设,所 做的分析完全以程序的静态信息为依据。使用该技术的工作量较大,因为要分析程 序所有可能的执行轨迹,所以相对于动态切片技术,静态切片技术一般用于程序理解与软件维护方面。 基于数据流方程...
虚拟化平台&程序切片
虚拟化辅助分析平台VirtualBoxVirtualBox的特性:支持64位客户端操作系统,即使主机使用32位CPU支持SATA硬盘NCQ技术虚拟硬盘快照无缝视窗模式(须安装客户端驱动)能够在主机端与客户端共享剪贴簿(须安装客户端驱动)在主机端与客户端间建立分享文件夹(须安装客户端驱动)内建远端桌面服务器,实现单机多用户 - 支持VMware VMDK磁盘档及Virtual PC VHD磁盘档格式3D虚拟化技术支持OpenGL(2.1版后支持)、Direct3D(3.0版后支持)、WDDM(4.1版后支持)最多虚拟32颗CPU(3.0版后支持)支持VT-x与AMD-V硬件虚拟化技术iSC...
动态分析工具
动态分析工具动态分析是指在可控环境中运行软件程序或者模拟软件执行的情况下,利用分析工具,监控代码的所有操作,观察代码执行流程及状态,获取执行过程中的各种数据。 Process MoniterProcess Monitor是一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。有了Process Monitor,使用者就可以对系统中的任何文件和注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒...
静态分析工具
静态分析工具静态分析是指在不运行软件程序的情况下,利用分析工具,采用语法分析、词法分析、控制流与数据流分析等技术手段对软件程序进行扫描。 IDA ProIDA是一种递归下降反汇编器。但是,为了提高递归下降过程的效率,IDA的开发者付出了巨大的努力,来为这个过程开发逻辑。为了克服递归下降的一个最大的缺点,IDA在区分数据与代码的同时,还设法确定这些数据的类型。虽然在IDA中看到的是汇编语言形式的代码,但IDA的主要目标之一,在于呈现尽可能接近源代码的代码。此外,IDA不仅使用数据类型信息,而且通过派生的变量和函数名称来尽其所能地注释生成的反汇编代码。这些注释将原始十六进制代码的数量减到最少...
windows操作系统基础
Windows操作系统基础PE文件结构PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。PE文件包括PE文件头和PE数据区,PE文件头包括DOS头和PE头,PE数据区包括区块表和区块,区块中包括导入表、导出表等部分。 进程和线程管理1、线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不...
处理器架构和反汇编对抗技术
处理器的硬件架构CPU结构介绍处理器一般指中央处理器,中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU的根本任务就是执行指令,对计算机来说最终都是一串由“0”和“1”组成的序列。CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由CPU内部总线连接起来。如下所示: 保护模式保护模式与实模式相对应。在80286以前,CPU只有实时模式,地址总线有20位,而内存地址是16位,也就是最多能够访问2^20=1M的内存空间。在80286及以后,内存地址改为16位或32位,至少可以访问到2...
软件安全分析的主要方法
主要方法与技术软件逆向分析并不是一种单项技术,其涉及的技术和方法很多。按照分析方式的不同,可以将软件逆向分析分为静态和动态两大类。静态分析主要是直接对软件的可执行代码进行分析;而动态分析是通过直接运行软件,然后监测软件运行过程,实施分析。在实际分析过程中,主流的思路是以动态分析为主,一方面利用模糊测试等技术构造执行的不同路径,另一方面也利用静态分析手段弥补动态分析过程中的不足,优化和提升动态分析的能力。 反汇编与反编译反汇编与反编译是软件逆向分析的第一步,将完全不可读的二进制可执行程序转变为用户基本可读、功能等价的汇编代码或其他高级语言代码。 程序调试程序调试是通过实际运行软件,利用断点...
软件安全分析概论
随着技术的发展,软件的应用越来越广泛,软件的功能也越来越复杂,而市场竞争等因素造成软件的开发周期越来越短,问题也将越来越多。如何对软件产品进行安全性分析,发现相关问题,剖析安全问题机理,进而研发设计相应的防御手段,是软件安全性分析的主要目标。 典型的安全问题当前软件安全问题可粗略分为3类 恶意软件恶意软件就是包含恶意功能的软件,随着信息技术的不断发展,恶意软件也在不断地升级,从最早的单机传播到网络传播再到协同攻击阶段,危害的程度与范围越来越大,而且极其隐蔽很难被发现。近些年曝光的恶意软件,越来越多的是有组织研发,采用高技术手段,具有很强的渗透能力和生存能力,比如说RSA公司遭受Secur...
avatar
Yolanda
witness me