เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การรวม 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(____, ____))
แก้ไขและรันโค้ด