Tuesday, March 11

เทคนิคในการเก็บ Log


จากตอนที่แล้วผมได้เขียนถึงความหมายของ Log มาครั้งนี้ผมคงต้องขอขยายความเพิ่มเติมถึงเทคนิคในการเก็บบันทึกข้อมูลจราจร (Data Traffic) ที่เกิดขึ้นแล้ว ซึ่งเรียกว่า Log ก่อนที่ผมจะนำทุกท่านไปสู่แนวคิดการสร้างเครือข่ายตื่นรู้ (Energetic Network) ตอนที่ 2 ผมอยากจะเขียนถึงเทคนิคในการเก็บบันทึกข้อมูลจราจร เสียก่อน เนื่องจากหลายครั้งที่ได้ไปบรรยาย จากทาง SIPA บ้างหรือ GITS บ้าง มักจะถามว่า เก็บบันทึกข้อมูล (Log) แบบไหนพอเพียงแล้ว แบบไหนไม่ยังถือว่าไม่พอ
ก่อนจะรู้ได้ เก็บแบบไหน พอ ไม่พอ นั้น อยากให้ทราบว่า สิ่งที่ว่าพอ และเหมาะสม ไม่เพียงแต่เฉพาะทำให้ถูกต้องตาม พ.ร.บ ว่าด้วยการกระทำผิดทางคอมพิวเตอร์ เพียงอย่างเดียว แต่ก็มีประโยชน์สำหรับนายจ้าง ของบริษัทนั้นๆ ซึ่งทำให้ทราบถึงพฤติกรรมการใช้งานอินเตอร์เน็ทของลูกจ้างได้อีกด้วย และที่สำคัญหากเกิดกรณีที่ต้องถึงมือเจ้าหน้าที่พนักงาน หรือเจ้าหน้าที่ตำรวจ ก็สะดวกในการสืบหาข้อมูล สืบหาหลักฐาน และสามารถหาผู้กระทำความผิดมาลงโทษได้อย่างมีประสิทธิภาพ ผมจึงถือโอกาสนี้แสดงความคิดเห็นในเรื่องเทคนิตการเก็บบันทึกข้อมูลจราจร

ก่อนอื่นขอทำความเข้าใจ ความหมาย Log อีกครั้ง Log คือ ข้อมูลที่เกิดขึ้นแล้ว และมีส่งผลให้เกิดการเปลี่ยนแปลงในปัจจุบัน
หากบอกว่าไม่มีการเปลี่ยนแปลงเลย นั้น คงไม่ใช่ เมื่อพิจารณาให้ดี จะพบว่าทุกอย่างมีการเปลี่ยนแปลง ใครยังไม่อ่านก็ลองกลับไปดูที่ บทความ Log คืออะไร

สำหรับผู้ดูแลระบบแล้ว รู้ว่าภัยคุกคาม การหมิ่นประมาท การก่อกวน การทําาลาย ข้อมูลที่ไม่พึ่งประสงค์
มักเกิดจากการใช้งาน อินเตอร์เน็ท หนีไม่พ้นจาก Application Protocol
ดังนี้ Web , Mail , Chat , Upload / Download (FTP , P2P) , VoIP ดังนั้นการเก็บบันทึกข้อมูลจราจร นั้นควรสนใจ พิจารณา Application Protocol เหล่านี้ให้มาก
หลักการพิจารณา ให้พิจารณาตามห่วงโซ่ของเหตุการณ์ (Chain of Event)
Who : ใคร
What : ทําาอะไร
When : เมื่อไหร่
Where : ที่ไหน
Why : อย่างไร

จากนั้นแล้วเพื่อเป็นการป้องกันหลักฐานนั้นไม่ให้เกิดการเปลี่ยนแปลง เราควรเก็บบันทึกหลักฐาน (Chain of Custody) คือ เก็บบันทึกข้อมูลจาก Log นั้น ซึ่งจะมีการเก็บบันทึกได้ดังนี้
- การบันทึกข้อมูลจราจร จากพฤติกรรมการใช้งาน (Log Traffic) คือ การใช้งาน Bandwidth ทั้งภายในและภายนอกที่มีการติดต่อสื่อสาร ลักษณะการการไหลเวียนข้อมูลตาม Application Protocol ทั้งภายในและภายนอกที่มีการติดต่อสื่อสาร
- การบันทึกการระบุตัวตน (Log Identity) คือ เก็บข้อมูลรายชื่อผู้มีสิทธิใช้ระบบ เวลาการใช้งานเมื่อเข้าถึงระบบ การมีสิทธิในการใช้ระบบนั้นๆ
- การบันทึกเหตุการณ์ (Log Event) คือ ลักษณะ Payload ที่ต้องใช้ความสามารถของเทคโนโลยีระดับ Deep Packet Inspection เพื่อมาพิจาราณาดูเนื้อหาภายในการติดต่อสื่อสารนั้น ว่าเป็นข้อมูลที่ปกติ (Normal Event) หรือ ข้อมูลที่ไม่ปกติ (Threat Event) ซึ่งข้อมูลเหล่านี้หากไม่ปกติมักมีการแอบแฝงของภัยคุกคามต่างๆ เช่น ไวรัสคอมพิวเตอร์ อีเมลขยะ หรือ การบุกรุกระบบต่างๆ นานา

ผมได้เขียนตารางในการพิจารณา เพื่อใช้สำหรับ สืบสวนสอบสวนหาลักษณะเหตุการณ์จากการบันทึกข้อมูลจราจร ได้ดังตรารางนี้คือ

Application Protocol ที่สนใจในตรารางนี้คือ Web : HTTP / HTTPS , Mail : SMTP / POP3 / IMAP ,Chat : MSN / Yahoo / IRC / ICQ อื่นๆ

เทคนิคในการเก็บบันทึกข้อมูลจราจร จึงประกอบด้วยดังนี้


แบบที่ 1. Local Log คือเก็บบันทึกข้อมูลบนเครื่องแม่ข่าย (Server) เครื่องลูกข่าย (Client) นั่นๆเอง
ข้อดี : มีความละเอียดของข้อมูลสูง มีปัญหาเรื่องความเข้าใจผิดจากสิ่งที่พบ (False Positive) น้อยมาก
ข้อเสีย : ดูลําาบาก ใช้งานยาก ไม่รวมศูนย์ ข้อมูลที่ได้ไม่สามารถยืนยันว่าถูกต้อง เนื่องจากอาจจะมีการแก้ไข Log files ที่เกิดขึ้นได้

แบบที่ 2. Proxy Log คือเก็บโดยใช้เทคโนโลยี Proxy อาจทำเป็น Transparent (ติดตั้งแบบ Gateway mode) เพื่อเป็นตัวกลางในการติดต่อสื่อสาร
ข้อดี : ข้อมูลในการเก็บบันทึกมีความละเอียด ติดตั้งสะดวก ง่ายในการออกแบบ
ข้อเสีย : เก็บได้เฉพาะบาง Application Protocol หากทําาให้ครบ ก็ต้องใช้งบประมาณสูง
ใช้ Storage มาก , ข้อมูลที่ได้ไม่สามารถยืนยันว่าถูกต้อง* , มีความเสี่ยงในการติดตั้ง เนื่องจากต้องติดตั้งแบบ Gateway อาจส่งผลกระทบกับระบบเครือข่ายหากมีการรองรับ Bandwidth และ Concurrent Session ไม่พอ

แบบที่ 3. Remote Syslog หรือเรียกว่า Syslog Server และหากพัฒนากลายเป็นระบบ SIEM (Security Information Event Management) ก็ใช้หลักการณ์เดียวกัน
ข้อดี : ละเอียด หากติดตั้งครบถ้วน สะดวกในการประมวลผลค่าเหตุการณ์ได้ (Event Log)
จัดเปรียบเทียบตามมาตราฐานต่างๆได้ (Compliance)
ข้อเสีย : ติดตั้งลําาบาก เพราะต้องรับค่า syslog จากอุปกรณ์อื่นๆ มาที่ตัวเอง
ใช้ Storage มาก , หากเป็น SIEM มีค่าใช้จ่ายสูง เพราะคิดค่าส่ง syslog ตาม Devices
การออกแบบ ต้องใช้เวลานาน หากไม่สามารถรับ syslog จากเครื่องต่างๆ ได้ไม่ครบถ้วน จะเสียเวลาเปล่า และไม่ก่อประโยชน์

ผมมอง SIEM หรือ SIM เหมือน การติดตั้งระบบ SAP สมัยก่อน ดูเหมือนดีแต่สำหรับผู้ขาย SI (System Integrated) แล้ว อาจดูเหนื่อยเสียหน่อย เนื่องจากการออกแบบและติดตั้ง (Implementation) ต้องใช้เวลานาน และต้องใช้วิศวกร (Engineer) ที่มีความรู้สูง


แบบที่ 4. Authentication log หลายคนคิดว่าวิธีเพียงพอแล้ว แต่ในความเป็นจริงยังไม่พอ นั่นคือเป็นการเก็บบันทึกเฉพาะส่วนการ Login , การลงทะเบียนเพื่อใช้งานระบบ
ข้อดี : สะดวกในการใช้งาน , ไม่เปลือง Storage
ระบุตัวตนได้ ระดับหนึ่ง หากเป็น 2 factor authentication ก็จะดีมาก
ข้อเสีย : ไม่สามารถทราบถึงลักษณะการใช้งาน หรือ ค่า Event Payload ได้ ,
มีความเสี่ยงในการติดตั้ง เนื่องจากติดตั้ง หากเป็นชนิด In-line หรือ ชนิดต้องเป็น Identity Server ต้องรองรับเครือข่ายขนาดใหญ่ ที่ทุกเครื่องต้องทำการ Join ระบบนี้ก่อนเริ่มต้นทุกครั้งเพื่อจะเรียกใช้ Application Protocol ต่างๆ , ข้อมูลที่ได้ไม่สามารถยืนยันว่าถูกต้อง*

แบบที่ 5. Flow Collector Network ใช้หลักการณ์ Passive Monitoring เฝ้าระวังผ่านความสามารถอุปกรณ์เครือข่าย
ข้อดี : ติดตั้งสะดวก ไม่เกิดความเสี่ยงในการติดตั้ง สะดวกในการใช้งาน ราคาประหยัด
ไม่เปลือง Storage
ข้อเสีย : ข้อมูลที่ได้รับไม่ละเอียด , ข้อมูลที่ได้ไม่สามารถยืนยันว่าถูกต้อง*
หากต้องการทราบค่า Event Payload ต้องใช้เทคโนโลยี IDS (Intrusion Detection System) มาเสริม


* หากระบบใดได้มีการติดตั้งค่าตรวจสอบ Integrity / Checksum ของค่า Log จะทําาให้
ข้อมูลที่ได้รับยืนยันว่าถูกต้องได้ ไม่สามารถแก้ไขได้ ที่สำคัญหากเกิดเหตุการณ์ไม่คาดคิดแล้ว การนำ Log ที่ได้ไปพิจาราณาในชั้นศาล เพื่อดำเนินความทางกฏหมาย Log นั้นไม่ได้มีการทำ Integrity แล้วก็ไม่สามารถยืนยันได้ว่ามีความถูกต้อง เพราะอาจมีการแก้ไข Log ดังกล่าวก็ได้ ดังนั้นผู้ที่รับติดตั้งระบบ SIEM / SIM นี้ควรพิจารณาในส่วนนี้ด้วยครับ หากไม่ได้ปฏิบัติการลงทุนมากเกินความจำเป็นไปอาจสูญเปล่า เพราะศาลไม่รับฟ้องได้ครับ

ทั้งหมดที่กล่าวคงเห็นภาพมากขึ้นนะครับ
สำหรับผมแล้วเป็นเรื่องที่ท้าทายมาก สำหรับการออกแบบชิ้นงานหนึ่งที่ประยุกต์ ข้อดีและข้อเสีย จากรูปแบบทั้ง 5 ในการเก็บบันทึกข้อมูลจราจรนี้ มารวมเป็นหนึ่งเดียว เพื่อความสะดวก ในการใช้งานสำหรับหน่วยงานต่างๆ
ผมเสนอแนวทางการสร้าง Hybrid Log Recorder ครับ

จุดประสงค์ คือ
1. ลดปัญหา ความซับซ้อนในการติดตั้ง (Implement)
2. ลดปัญหาค่าใช้จ่าย (License) ที่ต้องใช้เทคโนโลยีจําานวนหนึ่ง เพือตอบโจทย์ Who , What , Where , When , Why ที่เกิดขึนจากการรับส่งข้อมูล้
3. ลดปัญหาการจัดเก็บบันทึกข้อมูลจราจร ที่ต้องใช้เนื้อจําานวนมาก (Storage)
4. ลดความเสี่ยงที่เกิดขึนจากการออกแบบ (Design) และการติดตั้ง้
5. เก็บบันทึกข้อมูลจราจรตาม หลักเกณฑ์ที่ประกาศจากกระทรวง ICT คือทําา
Centralized Log / Data Archive / Data Hashing

นับเป็นความภูมิใจ ที่เราได้นำเทคโนโลยี Hybrid Log นี้ไปเสนอที่ประเทศเยอรมันนี ในงานระดับโลก CeBIT อีกด้วยครับ http://www.sran.net/archives/207

การนำ Hybrid Log ไปใช้จะเป็นอย่างไรนั้น ผมได้เปิดเผยลงใน http://www.sran.net/archives/200 ไปบ้างแล้ว หากต้องการทราบรายละเอียดเชิงออกแบบ (Design) เชิญทีมงาน SRAN บรรยายได้โดยติดต่อที่บริษัท Global Technology Integrated 02-9823339 ext 11 จะมีผู้ประสานงานต่อไป

นนทวรรธนะ สาระมาน
Nontawattana Saraman

2 comments:

Anonymous said...

อยากรู้จริงๆว่าอะไรที่ทำให้ เด็กผู้ชายที่ดูไม่ค่อยจะสนใจวิชา COMPUTER คนนั้นหลงรักมันจนพูดหรือเขียนถึงมันได้มากมายอย่างนี้ แต่เราคิดว่านายน่าจะมีความสุขกับงานที่ทำอยู่ใช่หรือเปล่านนทวรรธนะ(มันน่าอิจฉามากนะ) ขอให้มีความสุขและทำมันต่อไปนะคะ

Mar_jukkik said...

ถ้าการเก็บ log มี event วันละ 4 TB ล่ะค่ะ