来自 网络 2021-12-14 05:12 的文章

香港高防cdn_山东高防服务器_超高防御

香港高防cdn_山东高防服务器_超高防御

简介:多核处理器在嵌入式设备中无处不在,但对开发安全关键型和安全关键型设备仍然是一个挑战。多核处理器提供的真正的并发性意味着需要真正的多线程编程,这很难做到。静态分析在任务关键型软件中是必不可少的,因为它可以捕捉到传统类型的测试(例如单元测试、功能测试和系统测试)遗漏的错误,以及开发人员花费数小时和数天的工作。在安全关键系统和安全关键系统中,多核平台的好处必须大于风险。相关:克服多核系统中的并发错误处理并发问题很有趣多核处理器是多线程代码的一个头痛问题安全关键系统中的多核多核处理器和相应的硬件平台为安全关键系统提供了许多重要功能:分区:通过虚拟化,单个硬件单元可以承载多个操作系统和应用程序。多核cpu为健壮的分区提供了性能和处理器支持。分离:类似于分区,但目的是将系统的关键部分与非关键部分分开。例如,嵌入式平台既可以承载控制机器人的实时操作系统,也可以承载提供用户界面的通用操作系统。合并:多核平台在单个平台上提供分离,这大大降低了产品的材料成本。每瓦特处理器性能的提高导致了更低的运行成本。图1。在多核平台上使用虚拟化的分区系统示例。按重要性和功能进行分离是可能的。然而,多核处理器为多线程程序引入了真正的硬件级并发,并发编程带来了潜在的bug,这些bug在开发过程中很难检测和修复。虽然强制安全关键代码进入单线程操作的极端选择是可能的,但它的效率非常低。正确的并发程序设计和正确的工具可以降低在多核处理器上编程的风险。传统单元测试与多核并发编程单元测试通常假设单线程操作——提供输入并检查预期输出。在多线程编程中,"单元"之间的关系很复杂,测试正确的行为是一个优先事项。多核平台增加了真正的硬件并发性,这意味着线程真正是并行运行的。此外,系统中事件的调度和排序变得不确定,因为指令在可用的处理器内核(或超线程CPU中的线程)之间交错。下图显示了交织的复杂性如何从两条指令和两条线程增长到三条指令和两条线程。根据安全临界程度,可能会被禁止。如果不是,那么If意味着额外的努力来确保正确的行为。这种复杂性大大增加了测试工作以及缺陷和漏洞的风险。幸运的是,有效的ddos防御方案有哪些,静态分析工具可以帮助检测数据访问竞争条件和同步错误,这在单元和子单元测试中很难检测到。检测并发问题的静态分析静态分析工具创建所分析程序的内部表示(IR),以推断其预期行为。作为这种推理的一部分,ddos防御一定要加吗,可以检测出竞争条件和并发性问题,抗ddos攻击防御系统,否则可能会通过传统的测试技术。GrammaTech CodeSonar可以检测多线程并发应用程序中的以下复杂错误:数据争用:当两个线程在没有显式和正确的同步的情况下尝试访问共享数据块时,会发生数据争用。这些错误可能会使系统处于不一致的状态,并且可能会稀疏地随机发生死锁:当一个线程通过同步机制访问共享资源时,ddos攻击防御测试,如果没有将其释放给其他线程来访问,就会发生死锁。这通常是由于一次使用多个同步机制(先锁定一个资源,然后锁定另一个资源,但仍在等待)。进程不足:当线程在同步对象上被阻塞很长时间时,就会发生进程不足。在实时应用程序中,这可能会影响系统行为或触发看门狗警报。错误的同步:误用线程同步原语(如缺少锁或解锁对)会导致不可预知的系统行为。CodeSonar可以检测应用程序中的几种锁和解锁错误。对安全保障的影响并发错误和不正确的多线程行为可能是开发人员检测、诊断和修复的一个非常头痛的问题;而且由于这些类型或错误对系统行为有很大的影响,因此它们会带来很大的安全和安全风险。在极端情况下,出于安全考虑(可以使用上面描述的分区来处理),真正的并发编程可能会被禁止。然而,利用真正的并发性带来了引人注目的性能优势。在使用的情况下,需要特别注意。静态分析工具为测试安全关键系统提供了独特的好处,因为它们不依赖于测试用例(反过来,bp神经网络怎么防御ddos攻击,测试用例可能会有缺陷),并且可以消除传统系统测试无法解决的问题。已部署的任务关键型软件中存在严重的并发缺陷,在部署之前没有发现,已经使用CodeSonar发现并修复了这些缺陷。由于潜在的影响,利用并发漏洞是一个严重的问题。触发并发错误可能导致系统不稳定和最终的拒绝服务,甚至更糟。与所有潜在缺陷一样,如果潜在的威胁向量是可能的,并且需要使用适当的优先级和响应来处理并发错误,那么并发错误也可能是安全漏洞。结论:传统的测试经常会漏掉并发性问题,直到系统测试的后期才被发现,或者完全忽略了——当它太晚、太危险、太昂贵的时候。在安全和安全关键系统中,这意味着大量的返工和重新测试,这在认证环境中意味着巨大的成本。GrammaTech CodeSonar在开发代码时,通过早期检测这些问题来降低风险和节省成本,这依赖于系统行为分析,而不是大量的测试用例。