1.使用ADFA-LD数据集,逐行读取,并记录系统调用序号的最大值。
max_sequences_len=300
max_sys_call=0
def load_one_flle(filename):
global max_sys_call
x=[]
with open(filename) as f:
line=f.readline()
line=line.strip('\n')
line=line.split(' ')
for v in line:
if len(v) > 0:
x.append(int(v))
if int(v) > max_sys_call:
max_sys_call=int(v)
return x
加载正常系统调用序列,并标记为0
def load_adfa_training_files(rootdir):
x=[]
y=[]
list = os.listdir(rootdir)
for i in range(0, len(list)):
path = os.path.join(rootdir, list[i])
if os.path.isfile(path):
x.append(load_one_flle(path))
y.append(0)
return x,y
加载WebShell运行下的系统调用序列,并标记为1
def load_adfa_webshell_files(