一、RSA的
http://hi.baidu.com/ftai/blog/item/8afedb544b00955cd009064b.html
二、信道加密
访问和入侵都有一个过程,可以看作为有一个虚拟的信道CHANNEL。
三、直接的理解:
如果对资源的访问需要加密和解密进行,则可保证机密性。
可用性是个问题:如何使加解密高效?就针对RSA,将如何改造?分布式是个直接的理解。
入侵成功,即部分或完全破坏了完整性。资源的、系统的、安全系统的,等等的完整性。
四、入侵要成功取得,如何定位所取得的信息“必须且只须”。现在都是通过人工来分析吧。
1、目前根据需求来入侵取得正是所需,应该很难。可能需要掌握以往读取历史,不光是掌握资源提供者,还要掌握获取者的用途。或者掌握获取者的工作性质和工作内容。
2、前文曾经讲过,设计网络的一个原因是资源的不对称性。获取者要取得的资源,必然与其工作相关。当然,这种获取者完成工作,需要人来完成。资源之间,有很强的相关性吧。无关的资源,就没必要获取了。
五、粗粗看了《中国知网》的论文,关于入侵检测的,与协议有关的不少。
协议分析和测试,在华为考虑过不少。
六、如果是联系到嵌入式系统的协议问题,很多的协议会经过改造。所以,华为的产品,以前有过别人的评价:“功能很多很新(相对巨龙大唐等公司),但不稳定”。
七、通用协议的分析和理解,当然是基础。问题是条件比较局促。
八、在兆日(深圳)曾经写过几百K的信息安全文档,即使在当时(2002年),分析操作系统(UNIX,WINDOWS)的漏洞的,就有数十上百种。
九、协议理论的理解:
1、格式无拘。
2、第一:协议指令字。第二:数据。第三:校验。
十、先回忆IP协议数据包的格式:
1、版本。
2、两个长度。
3、服务类型。如何处理IP数据包。
4、认证、标志、OFFSET、TTL、校验、包含数据所属的协议。
5、两个地址。
十一、在物理层以上,一层一层地解包。在对端,一层一层地封包。
十二、应用层的协议包AP1只有最精简的指令字和数据。
如在物理层,则有流控、误差检测等电信号。应用层来的AP1,在CHANNEL上也表现为电信号。
十三、PC机主板三总线,如PCI总线如何读取8139为代表的通用网卡?几号中断?
在POST时,询问与应答。是很简单的一种协议,由BIOS完成。因为网卡上有MCU,能和PC的CPU通信。三总线中,主要依赖PCI总线。这种总线历史很久了,资料齐备。
网卡给的对应的应答数据,表示是相应的器件。每一种器件用相应的代号数据区分开。但在用于网络通信的嵌入式系统,外设主要就只有网口芯片。MCU赋给它地址NA1。通过片选,根据NA1进行访问。
如果是WINDOWS编程,则通过提供的DRIVER调用相关的函数即可。DDK?
十四、VC要读到网卡来的数据,实际上是应用层的事了。与TCP/IP数据处理无关。
十五、假设有一个通用的VC类CLASS,用于R/S网卡数据,没有。
收发数据有CASYCSOCKET类来吧。
十六、有LISTEN成员函数。透明于具体的协议。
而IDS目标的嵌入式系统(优点和缺点暂时放开不说,只因它可对具体协议作详细的协议分析和测试。
不一定要嵌入式系统对PC机,也可嵌入式系统对嵌入式系统。说句题外话,串口对串口,也有。USB的,稍微复杂些。
有秦石乔,王省书,黄勇的《微机接口技术及应用》,国防科技大学出版社,其中对USB有详细介绍。
嵌入式系统的“资源”的定义,是更加的明确。因为IDS的目标就是针对资源的。
PC机,特别是WINDOWS下的资源,可供访问控制和IDS的,最主要的是文件(目前的考虑)和数据
),
我用嵌入式系统发倒是可以发,问题是VC收不收。
十七、还是PC机上的网卡问题:
1、PCI插槽应该是标准的,否则没有通用性,就不能支持通用的PCI设备。
2、PCI设备的金手指符合PCI插槽的标准。
3、是在数据链路以上层来表示该板是网卡。
4、网卡理解CPU来的上电自检协议。网卡告知CPU它的设备类型,可在控制面板上看到。具体的设备数据还有一些。
5、网卡DRIVER的安装和拆卸问题:
·WINDOWS把它安装在某系统目录下。并被记录。
·是可执行模块。
这里说开去,发散一下,可以一步步探测WINDOWS中的东东吧。
比如,要检测某程序模块PM1是作何用,就必须在WINDOWS下,对可能监控到的内存部分,进行检测。一般的理解,单独的一两个模块的互动,可能比较少。
这里,要分析WINDOWS,有很多东西可以做。
比较容易想到的办法,是分析在硬件抽象层HAL(对IBM的调侃)技术之前的WINDOWS 3·0。
为什么呢?WINDOWS 3·0成功了,MS没有必要不“按照增量式模块开发的软件工程”理论去做。以前在《计算机世界》报上曾经看到过介绍过MS的开发团队组织的文章。
十八,操作系统的安全,是信息安全的一个重要组成部分。
第二、基于硬件抽象层HAL(调侃IBM的)等技术的WINDOWS 3·0,显然是成功的。
第三、微软没有理由不在“成功”的基础上进行“按照增量式模块开发的软件工程”理论进行WINDOWS 95以后版本的开发。
第四、WINDOWS 95并且好象还支持许多对WINDOWS 3·0的向后兼容功能。
第五、而WINDOWS 3·0又是在简单的、包括内部命令和外部指令的MS-DOS的“成功”的基础上发展起来的。95也同时支持DOS。
第六、WINDOWS操作系统现在的版本,说有几千万行代码。想想也是。
第七、既然是“增量式开发”,一些脉络就可以找到。
第八、并且,操作系统所处理的资源,有些改变了,有些则“不得不考虑兼容”。
第九、显然,作为操作系统的WINDOWS,对几个主要的资源,如处理机,外设,作业,存储器,文件等的处理,是在逐步的演进。
因为已有许多在其上的应用。
第十、这样地分析WINDOWS,作为研究,是可行的。
第十一、CPU取数据,分析数据,处理数据,都是通过RAM来进行的。可能同时有“虚拟存储器”。
第十二、所以,分析其存储管理模块,是要害之处。
第十三、CPU根据某块内存块数据的内容,来确定执行什么操作。
第十四、指令分析等。
第十五、如果通过硬件破解的方式,没有什么内存数据是读不到的。
硬件方面主要要考虑同步和设置相应的时延,来和WINDOWS下的测试程序协同工作。
第十六、但是考虑到目前PC内存的容量,一些优化的方式必须考虑到。
第十七、WINDOWS下的程序,我个人的理解,比以前多了注册机制。
抛开这点不说,
对比嵌入式系统下的固件,和DOS下的内部命令和外部指令,主要有的特点:
1、复杂性提高。
2、WYSIWYG的GUI界面更友好。
3、多任务机制。
4、更多的外设性能。
这样,就又绕回去了:控制外设,一般也是通过改写内存数据。
5、这里,就引入了紧密结合存储管理模块MMB的另一个要害:多任务机制的实现。
第十八、多任务WINDOWS与RTOS
REEMPTIVE(好象是这个词),抢占式。
第十九、WINDOWS的多任务机制,除了客户的应用编程之外,完全是透明的。
第二十、如何分析?如何控制?
1、普通的APPLICATION,自然毋须多言。
2、WINDOWS系统程序,或称系统进程,在CTRL+ALT+DEL所看到的一些。
多任务所需要的资源,
其一,是时间片(还按时间片那种很古老经典的说法吗?)
其二,系统内存块(暂用此词)。相当于不能被通常的办法所访存。
其三,要对WINDOWS区别于嵌入式系统那种简单的代码CALL方式,进行分析。
其四、先划分出哪些是和WYSIWYG方式相关的。
其五、现在还是WINDOWS·EXE和SYS·EXE吧。
其六、很容易WINDOWS启动时,是主要调用哪几个程序。
其七、用来FORK进程。
其八、确定WINDOWS的核心程序,可通过裁剪的方式。似乎比较复杂。
不象一般的裁剪问题。
其九、主要的WINDOWS核心程序,其功能复杂。
印象中WINDOWS系统分析员和编程员,看到的是C语言虚拟机。
但到底层还是汇编语言。
WINDOWS运行时,还是根据汇编语言吧。
这里是WINDOWS操作系统安全分析的另一主要要害。
其十、它不再是分模块的,是用GOTO语句乱转的。
其十一、在分析WINDOWS核心程序的功能,尤其是机制时,时间因素和空间因素是重点。
见http://hi.baidu.com/ftai/blog/item/3520546602908526aa184c02.html
第二十一、如何FREEZE(冻住,没有恰当的词)内存,便于研究,是要害。
近义词,有SNAPSHOT(分布式数据库)。
双工。
第二十二、华为公司曾经获得过“内存数据库”的专利,应该有心得。
第二十三、PC的内存虽然是和CPU分开的。
但速率还是带宽至少有667MHZ吧,标配。
要同时结合CPU指令的执行,那么,CACHE机制是否是一个密钥呢?
第二十四、CPU的CACHE研究,目前看来不现实。龙芯除外。
一般是IP核吧。想想看,按照它的人年资料。
第二十五、再说,龙芯应该也不是跑WINDOWS这种很通用、很商品化的系统的,按理说是跑LINUX的。
如果是跑WINDOWS的话,许多难题就迎刃而解了。