NSSL-SJTU / SaTC

A prototype of Shared-keywords aware Taint Checking, a novel static analysis approach that tracks the data flow of the user input between front-end and back-end to precisely detect security vulnerabilities.
274 stars 48 forks source link

疑似存在内存泄漏? #31

Open cccccyd opened 1 year ago

cccccyd commented 1 year ago

在使用satc对固件进行分析时,随着时间经过,docker占用的内存会越来越多,不能确定正常开销还是存在内存泄漏。使用32GB内存主机进行分析10小时的过程中,内存占用如图所示: image

chenjianquan7 commented 1 year ago

这不是内存泄露,这是生成文件过大

cccccyd commented 1 year ago

这不是内存泄露,这是生成文件过大

Converting Ghidra output to simple data... Convert success, output in /home/satc/res/AX1806-root/ghidra_extract_result/tdhttpd/tdhttpd_ref2sink_cmdi.result-alter2 在执行到这里时,内存的占用量陡增,但在执行完毕后并没有内存被释放,怀疑是文件句柄没有被正确释放

cccccyd commented 1 year ago

image 使用pyrasite进行垃圾回收,提示回收了401414个未经引用的对象,回收后程序崩溃。

cccccyd commented 1 year ago

固件大小为160MB,可能是由于固件中的文件相互组成的路径太多导致分析时间长&内存开销大,但不能排除内存泄漏/未及时的将内存中的数据写回磁盘等问题。 看来不能随随便便从垃圾堆里找出一台电脑跑这种程序,还是赶紧让实验室整一台好的电脑吧。 关闭该issue,希望未来有一位大佬能找出问题所在。

cccccyd commented 1 year ago

固件大小为160MB,可能是由于固件中的文件相互组成的路径太多导致分析时间长&内存开销大,但不能排除内存泄漏/未及时的将内存中的数据写回磁盘等问题。 看来不能随随便便从垃圾堆里找出一台电脑跑这种程序,还是赶紧让实验室整一台好的电脑吧。 关闭该issue,希望未来有一位大佬能找出问题所在。