1.     隐蔽通道的概念:

(1)85版定义:隐蔽信道是允许进程以违反系统安全策略的方式传递信息的信道。

(2)93版定义:“给定一个强制安全策略模型M及其在一个操作系统中的解释I(M), I(M)中的两个主体I(Sh)和I(Sl)之间的通信是隐蔽的,当且仅当模型M中的对应主体Sh和Sl之间的任何通信都是非法的。

隐蔽通道与任何自主安全策略无关。隐蔽通道与强制安全策略有关

2.     隐蔽通道与完整性策略有关:在实现强制安全策略(比如BLP安全策略)的系统中,隐蔽通道分析要确保能找出所有从特定安全级到低安全级或者不可比安全级的非法泄密路径。同样地,在实现强制完整性策略(比如Biba)的系统中,隐蔽通道分析要确保能找出所有从特定完整级到低完整级,或者不可比完整级的非法泄密路径。

3.     在实施了强制访问控制的安全操作系统中,只有利用隐蔽通道,木马才能将信息传送给木马主人。

4.     隐蔽通道分类:(1)隐蔽存储通道:一个隐蔽通道是隐蔽存储通道,如果使用这种通道涉及到一个进程直接或者间接写入一个存储位置,而另一个进程直接或间接读这个存储位置。实例:文件节点号信道。一般来说,隐蔽存储通道涉及到不同安全级主体可以共享的某种数量有限的资源(比如硬盘)(2)隐蔽定时通道:一个隐蔽通道是隐蔽定时通道,如果它的发送信号方式是一个进程调节自己对系统资源(比如CPU)的使用、从而影响另外一个进程观察到的真实系统响应时间。实例:CPU调度信道

5.     存储通道与定时通道的区别:(1)存储通道的同步和数据传送使用存储变量。(2)定时通道的同步和数据传送使用公共时钟。(3)只要引入存储变量用来同步,定时通道就可以变成存储通道,反之,把存储通道中的同步变量替换成参考时钟,则存储通道就变成定时通道。

6.     隐蔽通道可能是有噪音的,也可能是无噪音的:无噪通道指的是发送者发送的信号与接收者接收的信号百分之百相同。

7.     无害通道与有害通道:无害通道通常具有以下特征之一:1) 发送进程与接收进程相同;2) 系统安全策略允许发送进程与接收进程直接通信;3) 实际应用该通道十分困难;有害通道的特征是:1) 发送进程与接收进程不同;2) 系统安全策略不允许发送进程与接收进程通信;3) 存在一种利用系统安全缺陷构造隐蔽通道的有效机制,使发送进程可以在有限时间内,向接收进程传送一定数量的有用信息。

8.     TCSEC  (橘皮书) 的要求;

B2:“系统开发者必须彻底搜索隐蔽存储通道,并根据实际测量或工程估算确定每一个被标识通道的最大带宽”。

B3-A1:“系统开发者必须彻底搜索隐蔽通道,并根据实际测量或工程估算确定每一个被标识通道的最大带宽”

9.     CC标准提出三种层次的搜索要求:

AVA_CCA.1(非形式化隐蔽通道分析)搜索信道并估计带宽,给出分析的假设并描述最坏的情形

AVA_CCA.2(系统化隐蔽通道分析)不是以特例分析方法,而是以结构化、可重复方式搜索信道

AVA_CCA.3(彻底的隐蔽通道分析)以穷举法进行搜索并给出已使用过所有可能搜索方法的证据

10.

11.  隐蔽存储通道的判别标准:只有完全满足下述四条件才可能构成隐蔽存储通道。仅满足前三条标准的通道叫做潜在隐蔽通道:(1)发送方和接收方进程能访问共享资源的同一属性。(2)发送方进程能改变该共享资源的状态。(3)接收方进程能察觉该共享资源的状态变化。(4)发送方与接收方进程之间有同步机制。

12.  隐蔽定时通道的判别标准: (1)发送方和接收方进程必须有权存取共享资源的同一属性。(2)发送方和接收方进程必须有权存取一个时间参照,比如实时时钟。(3)发送方进程必须能够调整接收方进程侦查共享属性的变化所用的响应时间。(4)必须存在某种机制,使发送方和接收方进程能启动隐蔽通信并正确给事件排序。该机制可能是另一条较小带宽的隐蔽通道。

(对于PC机来说,系统中至少处理器是共享的,因此系统中运行的各个进程至少存在一个共享属性——CPU的响应时间。接收方进程通过监视时钟就能侦查到响应时间的变化)

13.  隐蔽通道分析可以在从抽象的安全模型到系统机器代码的任何一个层次上进行。(1)分析系统的高层抽象(安全模型级)可以在系统开发的早期发现安全漏洞。(2)系统规范主要指安全操作系统的描述性顶层规范(DTLS)和形式化顶层规范(FTLS)。大多数隐蔽通道分析方法都把注意力集中在对系统规范层的分析。(3)系统实现是指在内核的源代码级进行隐蔽通道分析,上百万行的操作系统内核分析工作量过于庞大,只有很少开发者采用这种分析方法。(4)硬件特征也可能被用作隐蔽通道,比如内存管理单元、共享内存、I/O主线、设备控制器等等。如果在硬件层发现了高带宽的发送信号机制,除了尽量避免使用这些机制以外,系统开发者往往别无选择。

14.  从源代码级标识隐蔽通道具有下列明显的优点:(1)能找出所有隐蔽存储通道(除了硬件导致的通道以外);(2)能找出放置审计代码、延迟和噪音的位置;(3)能评估访问控制检查点是否设置得合适。

15.  隐蔽通道与信息流策略:D.Denning指出,信息流策略是有效防止隐蔽通道的强制安全策略。Denning给出的信息流策略: “如果信息从变量A流向变量B,则B的安全级必须支配变量A的安全级”。 可以看出,隐蔽通道本质上就是利用违反系统安全策略的信息流(所谓“非法信息流”)完成信息下传的。因此,隐蔽通道分析就是要搜索所有违反系统强制安全策略的信息流。

16.  基本工作机制——直接流

17.  基本工作机制——间接流

18.  隐蔽通道分析的目标:

(1)信道标识:彻底搜索隐蔽存储通道。

(2)带宽计算:根据实际测量或工程估算确定每一个被标识隐蔽存储通道的最大带宽。

(3)信道处理:采用适当措施处理已经标识出的隐蔽存储通道。

19.  典型的分析技术之句法信息流分析技术:

优点:(1)可以自动化(2)可以用于形式化顶层规范和源代码(3)不会遗漏任何导致隐蔽通道的信息流向

缺点: (1)伪非法流(2)不能用于非形式化说明(3)不能提供何处放置隐蔽通道处理代码的提示.

20.  典型的分析技术之无干扰分析技术:

优点:(1)可以分析形式化描述和源代码(2)可以避免伪非法流(3)可以从理论上保证搜索的彻底性.

缺点:无干扰是一种严格的要求,实际分析无法达到这种目标,只有降格以求,结果导致实际分析结果达不到无干扰的目标,甚至不如共享资源矩阵

一、隐蔽通道分析方法之一:共享资源矩阵法

21.  唯一描述顶层规范的方法:共享资源矩阵法

(1)分析所有的TCB原语操作,确定通过TCB接口用户可见/可修改的共享资源属性;

(2)构造初始共享资源矩阵,该矩阵的各列对应于用户可见的TCB原语,各行对应于用户可见/可修改的共享资源属性.

如果一个原语可以读一个变量,则将该矩阵项<TCB原语,变量>标记为R。

类似地,如果一个原语可以修改一个变量,则将该矩阵项<TCB原语,变量>标记为M。

最后,将既不能读又不能写的变量合并,分析时将它们视为一个变量。

(3)对共享资源矩阵完成传递闭包操作,具体步骤如下:

在矩阵中搜索包含标记R的每一项,如果该项所在的行中出现M标记,则检查包含该M项的所在列.如果在该列的任意一个行中出现R标记,且该行与原始R项所在列的对应行中没有R标记,则在该矩阵项中增加间接读标记r.

重复以上操作,直到矩阵中无法再增加r项时为止.注意,这里区分r与R仅表明,r为间接读,R为直接读.在今后的分析中,将r等同地视为R.

[#传递闭包说明:考虑到一个系统调用读到的变量属性可能是另一个系统调用修改(“写”)过的,而这个系统调用又可能读到过其他的变量属性,因此可能存在第一个系统调用对第二系统调用读过的其他变量属性的间接访问。这个过程用传递闭包来完成。通过传递闭包得到的共享资源矩阵包含了所有的间接访问,因此是完备的#]

(4)分析每个矩阵行,找出同时包含R和M的行,并删去其他矩阵行.当一个进程可以读一个变量且另一个进程可以写该变量时,如果写进程的安全级支配读进程的安全级,就可能产生潜在的隐蔽通道.通过对矩阵项的分析,可以得到以下4种不同类型的通道:

l  该通道为合法通道,将它标记为“L”;

l  从该通道无法获得有用的信息,将它标记为“N”;

l  发送进程与接收进程是同一个进程,将它标记为“S”;

l  该通道为潜在的隐蔽通道,将它标记为“P”.

(5)分析矩阵所有的项,构造潜在隐蔽通道的实际应用场景。可以构造出实际应用场景的潜在隐蔽通道,即为真实隐蔽通道。

22.  SRM 的不足之处:Kermerer的共享资源矩阵法曾经成功应用于多个参加过美国安全产品评级的系统中。但是分析表明上述方法得到的SRM对真实系统的刻画还是相当粗线条的。第一,它没有明确区分用户对系统的输入和输出;第二,有的系统调用可能读若干个变量修改若干共享资源属性变量,但是读那些变量修改了某个变量并不能体现在上述矩阵中;第三,系统调用对共享资源属性变量的读写往往是有条件的,上述矩阵却不能指出条件。这样,该矩阵把一个系统调用修改某个变量有可能读到的所有变量都列举出来,不管这种可能是否真的能变成现实。因此,共享资源矩阵估计的是最悲观的情况,需改进。

23.  针对以上的缺点,McHugh(麦克休)建议在应用SRM方法执行传递闭包操作之前,对共享资源矩阵进行以下三方面的细化: (1) 区分用户与系统之间的信息流和与状态属性之间的信息流。为此, 将所有从用户到系统的输入归并为共享资源矩阵中的一行,并标记为User In。该行的项标记为R.  类似地,将所有从系统返回给用户的输出归并为共享资源矩阵中的一行,并标记为UserOut。仅当用户从系统调用的返回值中可以获得状态属性的相关信息时, 该行的项标记为M。(2) 区分信息流的流入属性。为此,将共享资源矩阵的列进一步细分,使每一列只包含一个M项。(3) 区分信息流产生的条件。为此,将共享资源矩阵的列进一步细分,使每一列都对应于信息流的某一个产生条件。

24.  SRM方法分析之主要特点:(1)SRM矩阵是信息流的表达方式(2)初始矩阵每列隐含了列原语引发的直接流(3)传递闭包程序实为组合间接流的过程

25.  SRM方法分析之主要缺点:(1)不能记录完整的信息流路径,最终只得到起始发送操作、末尾接收操作和一个中介变量。(2)正向传递信息流,无法确定一条流最终能否找到出口(Out)。(3)信息流组合过程缺乏控制,会导致信息流数量爆炸。(4)没有提出从FTLS和源代码构造SRM矩阵的方法.(5)不能用于增量分析,仍然存在伪非法流

26.  隐蔽流树与隐蔽流图:隐蔽流树(CFT)是一种较新的方法,这种方法使用树结构将从一个共享属性到另一个共享属性的信息流动建模。这种方法系统的搜索所有用接力方式通过共享属性传递信息,并最终使接收方进程侦察到信息内容的操作序列。横截CFT路径可以得到全面的、支持通过特定资源属性通信的操作序列。与共享资源矩阵方法相比,隐蔽流树方法最大的优势就在于提供操作序列,便于分析系统中存在的隐通道,一定程度上简化了分析人员的分析工作量。但是通常树的规模比较大,而且在生成过程中可能出现无限循环的路径。

二、隐蔽通道分析方法之二:结合语义分析的Tsai信息流分析

27.  优点:已经成功用于代码级隐蔽通道分析。便于进行隐蔽通道处理。

28.  缺点:依赖于专用的自动信息流分析工具,否则无法解决状态爆炸问题。缺乏组合信息流的过程,只标识直接信道(即由两个操作构成的信道)

29.  方法主要思想的三个步骤:(1)对每个系统调用构造函数依赖关系集合(FCD)。(2)依据FCD从系统调用接口追踪每个系统调用的执行路径,得到内核变量通过各个系统调用的可见性/可修改性。(3)分析每个可见/可修改的共享变量,如果一个系统调用能对其进行修改、另一个能返回其值,则可能构成信道。

30.  Tsai方法的主要缺点: (1)Tsai氏语义信息流分析法为了确定每个系统内核变量的可读性和可写性,需要生成每个原语的函数调用依赖关系(FCD)集合。 构造FCD过程很容易发生状态爆炸。(2)必须使用专用的信息流分析自动工具的辅助分析。没有这种工具就无法使用Tsai法。(3)Tsai法遭遇状态爆炸的根本原因是没有一种终端退出机制。(碰见死循环,碰见递归)(4) 必须使用语义信息流分析工具;需要大量手工工作,工作量较大.

三、 隐蔽通道的带宽计算技术

31.  带宽是刻画隐蔽通道最重要的参数。带宽是单位时间内通过信道传递数据的比特数,即信息传递的速度

32.  影响带宽计算的因素:(1)噪音因素:干扰进程对通信变量进行操作。(2)延时因素:干扰进程分享CPU时间导致通信速度下降。(3)编码因素:如果发送0和1所用时间显著不同,好的编码方案可以提高信道带宽。(4)原语因素:是否使用了速度最快的系统调用来实现通信。(5)环境因素:进程切换所需时间与系统的参数配置等因素有关。

33.  基于Shannon信息论的带宽计算公式:

该方法是J.K.Millen在1989年提出的,该方法使用有限状态机模型描述系统无噪音通道的通信行为。

该方法提出两个假设:(1)信道无噪,即系统中只有发、收两进程工作(2)收发同步不耗时间。

计算公式:B=log2X   其中X是方程1-X-d1–X-d2=0的解。d1和d2分别是发送一个0和1所用平均时间

34.  基于Markov过程假设得到的经验公式:

该公式是Tsai等在研究“安全Xenix” 的隐蔽通道时提出的。

该法基于如下假定:

35.  假定发送0和1用时基本相等;假定0和1分布近似相同

36.  计算公式:B=b*(Tr+Ts+2Tcs)-1,其中b是信息编码因子,Tr是设置一次读环境并读一个0或1所用的平均时间,Ts是设置一个0或1所用的平均时间,Tcs上下文切换时间。

37.  Tsai等人在安全XENIX中曾对两种方法进行了实验对比

三、 隐蔽通道的处理技术

38.  常用处理技术:(1)消除:改变系统的设计或实现,设法消除产生隐蔽通道的共享单元的共享性,去掉或改造可能导致隐蔽通道的接口和机制。(2)限制带宽:通过故意引入噪音、延迟甚至虚拟时间等,将通道的带宽减低到一个可以接受的限度。(3)审计:利用审计功能 监视和记录  隐蔽通道的信息传输情况。(4)威慑

39.  隐蔽通道处理技术选择因素:(1)通道的带宽:对大多数情况而言,这个参数是选择处理方法的关键因素。橘皮书建议的选择方案的唯一标准就是带宽。(2)受威胁信息的属性是否重要(3)维持该情景是否需要很长的时间:如果实际带宽大大低于理论带宽,甚至根本不可用,可以只审计就足够了。(4)其他系统动作与该隐蔽通道情景的关系是否密切:如果会显著影响系统性能,那么只审计。

隐蔽通道的处理技术实例:

40.  加入噪音:随机化线性增长的共享变量,使系统调用的返回值不再具有线性规律。例如,基于进程标识符pid的隐蔽通道原理:系统按照线性递增的规律为新创建的进程分配标识符pid。关键函数是返回当前进程标识符的函数get_pid(),全局变量last_pid每次增加1。通过在get_pid()中加入随机化函数,使得分配策略变成从未占用的进程标识符中随机选择一个作为新建进程的标识符,从而破坏构成该隐蔽通道机制

41.  加入延迟:将延时植入到系统调用的出错返回路径上,降低利用资源耗尽型通道的带宽。例如,构成系统打开文件表信道的关键在于耗尽系统打开文件表filp。当耗尽了filp,系统返回出错值ENFILE。通过在file_table.c的get_empty_filp()函数中加入具有延时功能的语句for(i=0;i<100000;i++){},使得每当发生这种出错,系统就会在出错点延迟若干时间后再返回出错信息。这样的做法会使得信道的带宽降低到安全操作系统的用户可以容忍的程度。这种做法的另一个好处是,只要不触发ENFILE这个出错点,系统的性能就丝毫不受影响。

42.  扩充审计功能:审计隐蔽通道变量使用的目的是保证记录所有的隐蔽通道使用事件。通过提取隐蔽通道特征,并将这些特征列入审计事件,就能做到审计所有隐蔽通道行为。系统安全管理员通过定期检查审计记录,可以发现使用隐蔽通道的通信行为,在攻击者下次入侵之前采取必要的准备。系统对不宜采用降低带宽处理的每个信道(例如空闲索引节点数信道等等)都进行了审计处理。提取的隐蔽通道特征与通道机制、使用的系统调用、出错返回等等都有关系。

四、  其他知识

43.  彻底搜索必须作到:可信进程流与内核流的集成分析

44.  二者集成分析的理由:(1)特权调用与非特权调用可以共享内核变量。(2)通过内核接口可见/可修改的变量,可能通过可信进程接口可见/可修改。(3)内核变量与可信进程变量之间,可能存在别名问题。

45.  分析的步骤:(1)标识内核流。(2)标识可见/可修改内核变量。(3)标识可信进程流:(a) 通过可信进程调用的特权内核调用产生的信息流(b) 可信进程变量产生的信息流。(4)集成分析内核流与可信进程流。

46.  分析层次: 在软件生命周期的各个阶段、对软件的各种描述方式—描述性顶层功能规范(DTLS)、形式化顶层功能规范(FTLS)和实现代码——都可以进行隐蔽通道分析。

(1)虽然进行早期的隐蔽通道分析不是必需的,但通常进行的越早,修改系统设计漏洞所用代价越小。

(2)对不同的系统描述,往往要使用有针对性的、不同的分析方法。

我们在两个层次进行了分析(1)DTLS级-预备阶段(积累经验,分析比较)(细节,描述性…)(2)源代码级-彻底搜索

47.  隐蔽通道的“回朔搜索方法”: 1. 搜索内核代码中的共享变量。2. 使用信息流分析规则,分析包含这些变量的所有函数,确定既可读又可写的变量。3. 使用信息流分析规则,回溯直接或者间接调用该函数的系统调用入口函数。4. 将读、写该变量的系统调用与该变量共同构成三元组。应用系统强制安全规则分析两个系统调用对该变量的读写路径,判断强制安全策略的实现是否正确。5. 为每个潜在隐蔽通道构造场景,找出真实隐蔽通道。

48.  “回朔搜索方法”的创新点: 1. 从共享变量入手,进行自内而外的分析。不必构造函数调用依赖关系集合,有效地避免了状态爆炸问题。2. 分析每个包含共享变量的函数,通过判断该变量是否可读,可以立即排除大部分不可读的变量。因而,大大减少了工作量。3. 每当分析完一个可以读写的共享变量,就立即得到一个隐蔽通道三元组。

49.  创新点: 为方便分析,增加分析的可靠性,研制了以下 5种 辅助工具:(1) 持久变量搜寻器(2)共享资源矩阵传递闭包生成工具(3)隐蔽流树生成器(4)隐蔽通道带宽计算器(5)通信环境预设置和清理工具

50.  简短结论: (1)全面实现了国标GB17859-1999第4级和国标GB/T18336-2001第EAL5级安全操作系统关于隐蔽通道的安全要求(2) 国内外首次报告Secure Linux的隐蔽通道分析结果(3)找到国内外从未报道过的真实隐蔽通道(4)理论上创新性强(5)工作量浩大(6)工程难度高

51.  彻底搜索隐蔽存储通道(1) 源代码级搜索(2)可信进程流与内核流的集成分析(3)标识所有相关的原语与共享变量,确定共享变量的直接与间接可见性/可修改性(4)彻底解决别名问题(5)分析了38万行源代码;221个系统调用;365个全局变量;75个可信进程

52.  通过以下3种方法:(1)在合适的位置安置延迟,限制隐蔽通道的最大带宽;(2)在合适的位置引入噪音,限制隐蔽通道的最大带宽;(3)在合适的位置安置审计代码,有效地处理了已被标识的隐蔽通道。

五、  小结

隐蔽通道的概念:TCSEC的定义,以及Tsai的定义。

隐蔽通道分类:隐蔽存储通道,隐蔽定时通道,及其构造条件.

隐蔽通道分析:Kermerer的SRM共享资源矩阵方法—描述性顶层规范级,Tsai的语义信息流法—源代码级

隐蔽通道的带宽计算:Millen基于信息论的计算法Tsai基于Markov的经验计算法

隐蔽通道处理:消除,限制带宽,审计

(9)隐蔽通道重点知识复习笔记相关推荐

  1. 前端JS基础知识复习笔记(1)

    珠峰前端JS基础复习笔记(1) 在财务工作中自学了HTML和CSS之后,硬啃了JS高级编程三,实在觉得想要学的透是需要找一位好老师的,于是最近在学习周啸天老师的JS高级编程课,课外需要再补补基础,就回 ...

  2. 前端JS基础知识复习笔记(2)

    珠峰的JS基础课程笔记(第二天) 今天早上做完了变量的作业,下午听基础课做做笔记,最好没有事干的时候可以翻出来看看,欢迎大家收藏和我一起复习回顾记忆,一起学习一起成长一起挣钱钱ヾ(◍°∇°◍)ノ゙ . ...

  3. linux基础知识复习

    @(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作 创建文件和目录 拷贝文件和目录 剪切文件和目录 删 ...

  4. 计算机二级循环队列知识点,考点!计算机二级考试公共基础知识冲刺复习笔记:栈、队列和循环队列...

    小编所收集到的相关计算机二级考试公共基础知识冲刺复习笔记:栈.队列和循环队列的资料 大家要认真阅读哦! 1.栈(Stack)又称堆栈. (1)栈是一种运算受限的线性表,其限制是仅允许在表的一端进行插入 ...

  5. 机原、机设的主干知识_简要复习笔记

    声明:本人主要依据北航2022级硕士全国统考机械学院专业科目考试大纲对机原机设进行了知识梳理,仅个人复习使用,不作任何其他用途.如果写的有错误,欢迎指出. 在此之前,本人已对机原机设进行了较为系统的复 ...

  6. 计算机二级链表,你知道吗?计算机二级考试公共基础知识冲刺复习笔记:线性链表、双向链表与循环链表...

    小编所收集到的相关计算机二级考试公共基础知识冲刺复习笔记:线性链表.双向链表与循环链表的资料 大家要认真阅读哦! 1.数据结构中,每个数据存储在一个存储单元中,这个存储单元称为结点.在链式存储方式中, ...

  7. Python复习笔记——基础知识

    Python复习笔记-基础知识 文章目录 Python复习笔记-基础知识 Python变量 基于值的内存管理方式 赋值语句的执行过程 Python定义变量名的规范 运算符和表达式 加+ 乘* 除/ % ...

  8. 《计算机操作系统》重点知识笔记整理(一)

    <计算机操作系统>重点知识总结1(1-4章)

  9. 《微型计算机原理与接口技术》期末总复习 —— 一篇匆匆忙忙的复习笔记

    这篇复习笔记是针对<微型计算机原理与接口技术>后面几章的 前面的汇编复习内容在 "零.学习笔记总目录" 的 "汇编考前复习" 中 ✅ 这篇笔记中可能 ...

最新文章

  1. [魔方]28秒!地铁站真是个破纪录的好地方
  2. 字节跳动开源分布式训练框架BytePS,登上GitHub热榜
  3. PPT 下载 | 神策数据张涛:企业服务客户全生命周期运营三步曲客情诊断 解决方案库...
  4. 大连海事大学计算机调剂,大连海事大学2017年考研调剂信息
  5. 微软云 mysql 重启_停止Azure MySQL PaaS数据库
  6. hurst指数matlab代码_Matlab 简介
  7. 联想计算机连接不上蓝牙耳机,联想电脑(Lenovo)一体机怎样连接蓝牙耳机
  8. 关于 NFT 和版权的纠结真相
  9. Android屏幕适配全攻略(最权威的官方适配指导)
  10. Oracle Client卸载
  11. mac软件推荐(适用m1)
  12. Win10自带相机找不到代码0xA00F4244?这里有九条解决方法
  13. FSCapture 录制视频没有声音的解决方法
  14. 二级路由器下的pc如何使用映射网络驱动器的方式添加一级路由器下nas共享的文件夹
  15. [渝粤教育] 广东-国家-开放大学 21秋期末考试大学英语210262k2 (2)
  16. WPF下聊天气泡的实现
  17. 万一需要更换汽车玻璃 下面这些代码就有用了
  18. 城市公交查询系统c语言,城市公交查询系统.doc
  19. 古武_囚徒健身 保罗-威德 笔记
  20. 教师资格证科目一综合素质

热门文章

  1. 遍历本路径下所有文件夹和子文件夹,修改文件后缀名
  2. CE、FCC、ROSH、CCC认证分别是什么意思?
  3. PreparedStatement 的 execute方法和executeUpdate方法区别
  4. 打印100~200 之间的素数,输出乘法口诀表,判断1000年---2000年之间的闰年
  5. python中的scipy库_scipy库中的odeint函数
  6. 留存分析_游戏数据分析
  7. 16代表啥_形势严峻下的医药代表如何不被淘汰
  8. pcie 驱动程序分析
  9. HTML+CSS+JQ实现图片轮播效果
  10. What is XMP