การรวม heuristics เข้าด้วยกัน
นักวิเคราะห์ความปลอดภัยทางไซเบอร์อีกคนบอกว่าในระหว่างการโจมตีบางประเภท คอมพิวเตอร์ต้นทางที่ติดเชื้อจะส่งข้อมูลในปริมาณเล็กน้อยเพื่อหลีกเลี่ยงการตรวจจับ จึงน่าลองดูว่าการสร้าง heuristic แบบผสมที่ตรวจสอบทั้งจำนวน port จำนวนมากและขนาด packet ที่เล็กพร้อมกันจะให้ผลดีกว่า heuristic แบบ port เดี่ยวหรือไม่ เช่นเดียวกับแบบฝึกหัดที่แล้ว มี X_train, X_test, y_train และ y_test อยู่ในหน่วยความจำแล้ว โค้ดตัวอย่างยังช่วยให้ได้ผลลัพธ์ของ port heuristic กลับมาด้วย ซึ่งก็คือ pred_port นอกจากนี้ยังมี numpy ในชื่อ np และ accuracy_score() โหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบ Machine Learning Workflows ด้วย Python
คำแนะนำการฝึกหัด
- คอลัมน์
average_packetคำนวณขนาด packet เฉลี่ยจากทุก flow ที่สังเกตพบจาก source เดียว ให้หาค่าเฉลี่ยของค่าเหล่านั้นเฉพาะ source ที่เป็น bad บนชุด training - จากนั้นสร้างกฎใหม่ที่ระบุว่า source ใดก็ตามที่มีค่า traffic เฉลี่ยน้อยกว่าค่าที่คำนวณได้ข้างต้นคือ positive
- รวมกฎทั้งสองเข้าด้วยกัน โดยให้ heuristic ทั้งคู่ต้องเป็นจริงพร้อมกัน โดยใช้การดำเนินการทางคณิตศาสตร์ที่เหมาะสม
- รายงานค่า accuracy ของ heuristic แบบผสมที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compute the mean of average_packet for bad sources
avg_bad_packet = np.mean(____[____]['average_packet'])
# Label as positive if average_packet is lower than that
pred_packet = ____[____] < avg_bad_packet
# Find indices where pred_port and pred_packet both True
pred_port = X_test['unique_ports'] > avg_bad_ports
pred_both = pred_packet ____ pred_port
# Ports only produced an accuracy of 0.919. Is this better?
print(accuracy_score(____, ____))