关注公众号“中科天齐软件安全中心”(id:woocoom),一起涨知识!
该栏目为中科天齐全新规划的悟空云课堂,每周五下午18:00准时上线,旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。
01 什么是空指针解引用?
如果一个指针变量的值为NULL,解引用这个指针时,会导致程序崩溃(Segmentation fault)。
02 是空指针解引用有什么危害?
指针操作不当会产生动态内存错误,比如内存泄漏(Memory Leakage)、内存的重复释放、空指针解引用(NullPointer Dereference)。
其中空指针引用故障,也叫空指针解引用是一类普遍存在的内存故障,是程序设计语言中一类常见的动态内存错误。指针变量可以指向堆地址、静态变量和空地址单元 。当指针指向无效内存地址时对其引用,有可能产生不可预见的错误,导致软件系统崩溃。空指针引用缺陷可能导致系统崩溴、拒绝服务等诸多不良后果。
自2018年1月至9月,CVE 中共有100多条漏洞信息与其相关。其中包括18个Linux kernel 漏洞,部分漏洞如下:
(1)CVE-2018-16517:Netwide Assembler 的 asm/labels.c 文件中存在空指针解引用,导致允许攻击者进行拒绝服务攻击。
(2)CVE-2018-16428:GNOME Glib 2.