โดยปกติแล้ว นักวิจัยด้านความปลอดภัยทางไซเบอร์มักจะมีการเผยแพร่ที่เกี่ยวข้องกับ Threat Intelligence หรือข้อมูลภัยคุกคามที่ถูกค้นพบล่าสุดอยู่ในแหล่งข้อมูลสาธารณะอย่าง Twitter หรือเว็บไซต์ของนักวิจัยด้วยความปลอดภัย ซึ่งเราสามารถสกัดเอาข้อมูลภัยคุกคามจากแหล่งข้อมูลสาธารณะมาใช้งานได้ฟรี

ตัวอย่างข้อมูล Threat Intelligence จาก RSS feed ของ https://blog.talosintelligence.com/
เพื่อให้การสกัดเอาข้อมูลภัยคุกคามจากแหล่งข้อมูลสาธารณะสามารถทำได้ง่ายขึ้น ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จะมาแนะนำเครื่องมือสำหรับสกัดและรวบรวมข้อมูลภัยคุกคามจากแหล่งข้อมูลสาธารณะ โดยเครื่องมือนี้มีชื่อว่า ThreatIngestor
ThreatIngestor คืออะไร
ThreatIngestor คือเครื่องมือสำหรับสกัดและรวบรวมข้อมูลภัยคุกคามจากข้อความภายในแหล่งข้อมูลสาธารณะ เช่น RSS feed, Twitter และแหล่งข้อมูลอื่นๆ ถูกสร้างโดย InQuest
ThreatIngestor สามารถรวบรวมข้อมูลได้ทั้งหมด 6 รูปแบบ ได้แก่
- Domains ที่เกี่ยวข้องกับภัยคุกคาม
- Hashes ที่เกี่ยวข้องกับภัยคุกคาม
- IP Addresses ที่เกี่ยวข้องกับภัยคุกคาม โดยรองรับทั้ง IPv4 และ IPv6
- URLs ที่เกี่ยวข้องกับภัยคุกคาม
- YARA Signatures สำหรับตรวจจับภัยคุกคาม และ
- Tasks ซึ่งเป็นการรวบรวมข้อมูลภัยคุกคามที่จำเป็นต้องใช้นักวิเคราะห์ในการสกัดข้อมูลเอง เช่น ข้อมูลที่อาจมีการฝังอยู่ใน PDF File ทำให้ ThreatIngestor ไม่สามารถสกัดข้อมูลออกมาได้
โดยข้อมูลที่รวบรวมมานั้นสามารถตั้งค่าเพื่อนำไปใช้ต่อได้อย่างหลากหลาย เช่น เขียนลงไฟล์ csv , เชื่อมต่อกับ MISP, เขียนลง database เพื่อนำไปแสดงผลในรูปแบบหน้าเว็บ เป็นต้น
สามารถดูรายละเอียดเกี่ยวกับแหล่งข้อมูลที่ ThreatIngestor รองรับและการนำข้อมูลที่ได้ไปใช้ต่อได้จากหน้า GitHub ของ ThreatIngestor และ คู่มือการใช้งาน ThreatIngestor
วิธีการติดตั้ง ThreatIngestor
ThreatIngestor ถูกเขียนด้วย Python ทำให้สามารถติดตั้งได้ง่ายผ่านเมนู pip โดยต้องการ Python 3.6+ และ Python development headers จากนั้นใช้คำสั่ง
pip install threatingestor
หรือ
pip install threatingestor[all]
เพื่อติดตั้ง plugin พร้อมกับ ThreatIngestor
นอกจากนี้หากต้องการให้ ThreatIngestor ดึงค่าจาก RSS Feed ต้องติดตั้ง feedparser เพิ่มเติมด้วย
pip install feedparser
และหากต้องการนำผลลัพธ์ไปแสดงผลในรูปแบบหน้าเว็บ web interface ที่มาพร้อมกับ ThreatIngestor ต้องติดตั้ง hug เพิ่มเติมด้วย
pip install hug
ซึ่งสามารถศึกษาวิธีติดตั้งได้จากคู่มือการติดตั้ง
วิธีการใช้งาน ThreatIngestor
ThreatIngestor ทำงานร่วมกับไฟล์ config.yml โดยสามารถใช้งานได้ด้วยการรัน
threatingestor config.yml
โดยผู้ใช้งานควรปรับแต่งไฟล์ตั้งค่าให้ตรงกับรูปแบบการใช้งานที่ต้องการ
วิธีการตั้งค่า ThreatIngestor
ไฟล์ config.yml มีส่วนประกอบในไฟล์ 4 ส่วนคือ
- general: (ต้องมี) ข้อมูลการตั้งค่าทั่วไป เช่น ตั้งค่าให้ ThreatIngestor รันตลอดเวลาหรือทำงานเพียงครั้งเดียว, ตั้งค่าให้ ThreatIngestor ดึงข้อมูลทุกๆ กี่วินาที และพาธไฟล์ database สำหรับเก็บข้อมูลการทำงานของ ThreatIngestor
- credentials: (ไม่จำเป็นต้องมี) ใส่ credentials เมื่อจะใช้ ThreatIngestor ไปดึงข้อมูลจากแหล่งที่จำเป็นต้องใช้ credentials เช่น Twitter
- sources (ต้องมี) แหล่งข้อมูลที่ต้องการให้ ThreatIngestor ดึง
- operators (ต้องมี) ตั้งค่าว่าจะให้ ThreatIngestor เอาผลลัพธ์ไปทำอะไร

ตัวอย่างไฟล์ config.yml สำหรับตั้งค่า ThreatIngestor
สามารถดูตัวอย่างการตั้งค่าได้จาก [1] , [2] และ [3]
ตัวอย่างการตั้งค่า ThreatIngestor เพื่อดึงข้อมูลและผลลัพธ์ที่ได้
จากนี้จะเป็นการแสดงตัวอย่างการตั้งค่าและใช้งาน ThreatIngestor ตังความต้องการในการใช้งานต่อไปนี้
- ตั้งค่าให้ทำการรันไปเรื่อยๆ ทุกๆ 15 นาทีเพื่อดึงข้อมูล
- ดึงข้อมูล RSS feed ของ https://blog.talosintelligence.com/
- นำข้อมูลที่ดึงได้เขียนใส่ CSV และเขียนลง database
- นำข้อมูลที่ database มาแสดงบนหน้าเว็บ
การเขียนการตั้งค่า
จากความต้องการในการใช้งานสามารถเขียนไฟล์ตั้งค่าได้ดังนี้
general: daemon: true sleep: 900 state_path: state.db sources: - name: rss-talos module: rss url: http://feeds.feedburner.com/feedburner/Talos feed_type: messy operators: - name: csv module: csv filename: output.csv - name: sqlite-db module: sqlite filename: artifacts.db
ถ้าต้องการให้ ThreatIngestor ทำงานเพียงครั้งเดียวให้เปลี่ยนค่าดังนี้
daemon: false
จากไฟล์ตั้งค่าดังกล่าว ผลลัพธ์ที่ได้จะถูกเขียนลง output.csv และ artifacts.db ซึ่งเมื่อรันคำสั่ง
hug -m threatingestor.extras.webapp
จะเป็นการดึงข้อมูลจาก artifacts.db มาแสดงที่ http://localhost:8000/

ตัวอย่างการแสดงข้อมูลผ่านหน้าเว็บ

ตัวอย่างการแสดงข้อมูลในหมวด domain ผ่านหน้าเว็บ
สรุป
ThreatIngestor เป็นเครื่องมือที่ทำให้การสกัดและรวบรวมข้อมูลภัยคุกคามจากข้อความภายในแหล่งข้อมูลสาธารณะเป็นเรื่องที่ง่ายขึ้นด้วยการทำงานอัตโนมัติและสามารถใช้ร่วมกับเครื่องมืออื่นๆ ได้ เช่น นำข้อมูลที่ได้ส่งต่อไปยัง MISP
You must be logged in to post a comment.