เปิดการทำงาน XKEYSCORE ระบบค้นหาที่ล้วงลึกที่สุดเท่าที่เคยมีมา

by lew
3 July 2015 - 01:44

The Intercept เผยแพร่บทความ "Behind the Curtain" เผยแพร่กระบวนการทำงานภายในของระบบดักฟังที่ใหญ่ที่สุดตัวหนึ่งของ NSA คือ XKEYSCORE ลงลึกถึงกระบวนการค้นหาและการทำงานของผู้ดูแลระบบ

XKEYSCORE โดยตัวมันเองเป็นเซิร์ฟเวอร์ Red Hat ที่ติดตั้งอยู่สถานที่ต่างๆ 125 แห่งทั่วโลก (รวมถึงกรุงเทพฯ ด้วย) ตัวเซิร์ฟเวอร์ติดตั้ง Apache และ MySQL เพื่อให้บริการกับนักวิเคราะห์ของ NSA เซิร์ฟเวอร์เหล่านี้เก็บข้อมูลที่ดักฟังได้ไว้ในเซิร์ฟเวอร์ตัวเอง บนดิสก์ที่แยกเครื่องออกไปแล้วเชื่อมต่อด้วย NFS

นักวิเคราะห์ที่ล็อกอินเข้าระบบกลางของ NSA จะสามารถส่งคำสั่งค้นหาครั้งเดียวเพื่อส่งให้เครื่องทั้งหมดค้นหาฐานข้อมูลของตัวเองตามที่ต้องการได้ (federated query)

ในแง่ของการเก็บข้อมูล ข้อมูลที่ดักฟังมาได้จะต้องผ่านฟิลเตอร์เพื่อเก็บข้อมูลเท่าที่ต้องการ ทาง NSA เรียกฟิลเตอร์เหล่านี้ว่า AppID แต่ละ AppID เป็นฟิลเตอร์ของตัวเองเก็บข้อมูลไม่เท่ากัน เช่น "http/response" จะเก็บข้อมูลว่าเป็นการตอบกลับจากเว็บเซิร์ฟเวอร์ ขณะที่ "mail/webmail" จะระบุข้อมูลว่าเป็นอีเมล AppID เหล่านี้ทำงานเป็นลำดับชั้น การดักฟังข้อมูลชุดหนึ่งๆ อาจจะตรงกับ AppID ได้หลายตัวและมีข้อมูลละเอียดขึ้นเรื่อยๆ เช่น ข้อมูลที่เป็น "mail/webmail/yahoo" ก็จะเป็นข้อมูลส่วนหนึ่งของ "mail/webmail" ด้วย โดยผู้สร้างฟิลเตอร์จะต้องกำหนดคะแนนว่าฟิลเตอร์ของตัวเองสำคัญเพียงใด หากฟิลเตอร์มีความเฉพาะเจาะจงสูงก็จะให้คะแนนต่ำๆ เพื่อให้เข้าไปใช้ฟิลเตอร์ของตัวเอง

ตัวฟิลเตอร์นั้นเขียนด้วยภาษา GENESIS แต่หากต้องการการทำงานที่ซับซ้อนกว่านั้นก็สามารถเขียนปลั๊กอินด้วยภาษา C++ ได้ โครงสร้างของฟิลเตอร์แต่ละชุดแบ่งออกเป็นสามส่วน คือ เงื่อนไขตรวจสอบว่าเป็นข้อมูลที่ต้องการจริงหรือไม่ (anchor) เช่น URL ตรงกับเงื่อนไข จากนั้นจึงดึงข้อมูลเฉพาะส่วนที่ต้องการออกมาด้วย Regular Expression (extractor) ส่วนสุดท้ายจะตรวจสอบว่าข้อมูลดึงออกมาได้ตรงตามต้องการหรือไม่ และถอดรหัส (decode) ข้อมูลในกรณีที่ข้อมูลไม่อยู่ในรูปแบบปติ แล้วจึงเซฟลงฐานข้อมูล

นอกจากฟิลเตอร์ AppID แล้ว XKEYSCORE ยังมีข้อมูลอีกชุดเรียกว่า finerprint เอาไว้ช่วยเพิ่มเงื่อนไขในการค้นหา เช่น หากต้องการระบุว่าอีเมลเป็นภาษาอาหรับก็สามารถดูข้อมูล Accept-Language ของ HTTP ได้ ในกรณีนี้นักวิเคราะห์ก็จะสามารถค้นหาเฉพาะข้อมูลภาษาอาหรับได้ด้วย

กระบวนการค้นหา นักวิเคราะห์จะต้องสร้างคิวรีเพื่อส่งเข้าไปในระบบ แล้วรอให้ทีมงาน XKEYSCORE อนุมัติคิวรี จึงจะใช้งานได้จริง

ทาง The Intercept เปิดเผยเอกสารชุดใหม่ออกมาพร้อมกับบทความนี้เป็นจำนวนมาก เช่น คู่มือการพัฒนาฟิลเตอร์ AppID, คู่มือนักวิเคราะห์ที่ต้องการสร้างคิวรี, รายงานว่าสร้าง fingerprint เฉพาะสำหรับเลขาธิการสหประชาชาติสำเร็จแล้ว

ที่มา - The Intercept

Blognone Jobs Premium