|
|
|||||||
ชื่อเรื่อง : ขั้นตอนเบื้องต้นในการกู้ระบบจากการบุกรุก
ในระบบ UNIX และ NT
เรียบเรียงโดย : ร.อ. นพปฎล กุลจรรยาวิวัฒน์
และ ชวลิต ทินกรสูติบุตร
เอกสารนี้เป็นเอกสารที่ใช้ในการแนะนำการกู้ระบบจากการบุกรุกทางระบบคอมพิวเตอร์ของระบบปฎิบัติการ UNIX หรือ NT ซึ่งเอกสารนี้เป็นเพียงแนวทางเพื่อกู้ระบบคืนมาแต่ก็ยังคงขึ้นอยู่กับนโบายทางด้านความปลอดภัยของแต่ละองค์กร ซึ่งการป้องกัน หรือ ตรวจสอบ การบุกรุกนั้นจะไม่กล่าวในที่นี้ หากท่านต้องการข้อมูลเพิ่มเติม สามารถตรวจสอบจาก [2] ได้
A. ก่อนเริ่ม
1) ตรวจสอบนโยบายทางด้านระบบความปลอดภัย ( IT security policy [1]) ขององค์กรท่าน ว่ามีระบบหรือระเบียบในการจัดการกับเหตุการณ์การบุกรุกอย่างไร เช่น การบันทึกเหตุการณ์การบุกรุก, ระเบียบขั้นตอนการดำเนินการตอบรับกับเหตุการณ์ ว่าจะมีการตอบกลับการบุกรุกมากน้อยเพียงไร
2) หากท่านไม่มีนโยบายในการจัดการกับการบุกรุกแล้ว ลำดับของขั้นตอนต่อไปนี้เป็นแนวทางในการสร้างนโยบายการบุกรุก
a) ขอคำปรึกษากับผู้จัดการขององค์กรของท่าน
ขึ้นกับว่าโครงสร้างขององค์กรของท่านเป็นอย่างไร ซึ่งท่านควรที่จะต้องแจ้งกับผู้บริหารเพื่อหาแนวทางในการแก้ปัญหา และวางแนวทางในการทำงานร่วมกันของส่วนต่างๆ เพื่อให้การกู้ระบบเป็นไปได้โดยดีb) ขอคำปรึกษาจากผู้เชี่ยวชาญเพื่อขอคำแนะนำ
ก่อนที่จะทำการกู้ระบบของท่านคืน ท่านควรที่จะมีข้อมูล ของคำแนะนำจากองค์ที่ได้รับความเชื่อถือเพื่อช่วยสนับสนุนการทำงาน และช่วยเสริมประสิทธิภาพ ความถูกต้องของระบบการทำงานได้ เช่น CERT Advisory ต่างๆ จาก www.cert.org ข้อมูลของการกู้ระบบจากเว็บทางด้านระบบความปลอดภัยต่างๆ หรือแม้แต่เว็บของบริษัทระบบปฏิบัติการ,โปรแกรมประยุกต์หรืออุปกรณ์ด้านฮาร์ดแวร์ของระบบท่านการสืบหาผู้บุกรุกนั้นขึ้นกับความต้องการขององค์กรท่าน ซึ่งท่านควรที่จะปรึกษาผู้บริหารขององค์กรท่านรวมทั้งขอคำปรึกษาจากหน่วยงานทางกฎหมายซึ่งขึ้นกับว่ากฎหมาย และการสืบสวนนั้นสนับสนุนมากน้อยแค่ไหน
c) ติดต่อหน่วยงานที่เกี่ยวข้องกับกฎหมาย
หากองค์กรของท่านต้องการที่จะติดตามผู้บุกรุกระบบนั้น ท่านจำเป็นต้องมีการประชุมเพื่อหาข้อตกลงจาก ผู้บริหาร ผู้เชี่ยวชาญ และ หน่วยงานทางกฎหมายเสียก่อน เพื่อดำเนินการติดต่อกับหน่วยงานที่เกี่ยวข้องกับการสืบหาผู้บุกรุกต่อไปd) แนะนำและแจ้งให้หน่วยงานภายในของท่านทราบถึงเหตุการณ์ดังกล่าว
ท่านควรแจ้งแก่ผู้ที่เกี่ยวข้องกับขั้นตอนของการกู้ระบบในองค์กรของท่าน เช่น ผู้ดูแลระบบ หรือ ผู้ใช้งานระบบ เพื่อความสะดวกในการดำเนินงาน3) เตรียมเอกสารที่ใช้ในการกู้ระบบ ไม่ว่าจะเป็นคู่มือของซอร์ฟแวร์ หรือฮาร์ดแวร์ รวมทั้งขั้นตอนของการกู้ระบบที่ได้วางไว้อย่างถูกต้องและเหมาะสม ซึ่งขึ้นกับระบบที่ถูกบุกรุก และนอกจากนี้เอกสารเหล่านี้ ยังมีส่วนในการช่วยการสืบหาผู้บุกรุกได้เช่นกัน
B. การควบคุมการกู้ระบบ
1. ตัดการเชื่อมต่อของระบบที่ถูกบุกรุกจากระบบเครือข่าย
ในการจัดการควบคุมการกู้ระบบนั้นมีความจำเป็นที่ต้องตัดการติดต่อของระบบที่เสียหายจากระบบเครือข่ายทันที เพราะหากไม่ตัดการติดต่อแล้วจะเป็นการเสี่ยงมากที่ผู้บุกรุกอาจจะติดต่อกับระบบที่เสียหายแล้วมาสร้างความเสียหายแก่ขั้นตอนการกู้ระบบของท่านได้ ต่อจากนั้นท่านจะสามารถจัดการกับระบบ UNIX ในโหมด single user และใน NT จะใช้ในโหมด local administrator อย่างไรก็ตามหากท่าน reboot แล้วเปลี่ยนมาใช้งานระบบ user/local admin mode นั้นจะส่งผลทำให้ท่านจะสูญเสียข้อมูลบางอย่างได้ เพราะการ reboot นั้นจะทำให้ process ทั้งหมดหยุดการทำงานทั้งหมด ตรวจสอบระบบว่ามีการซ่อนการทำงานของโปรแกรม sniffer หรือไม่ จากขั้นตอน C.5. Look for signs of a network sniffer2. ทำสำเนาระบบที่เสียหาย
ก่อนที่จะสืบหา หรือวิเคราะห์การบุกรุกนั้น ท่านควรที่จะต้องสำรองระบบ (ไฟล์ของระบบปฏิบัติการ) ของท่านไว้ก่อนทุกครั้ง ท่านควรหาดิสก์ที่มีขนาดขนาดเท่ากับดิสก์ของระบบที่เสียหาย เพื่อทำการสำรองข้อมูลไว้ในระบบ UNIX ให้ใช้คำสั่ง dd ตัวอย่างเช่น ในระบบ Linux มีดิสก์แบบ SCSI ที่มีขนาดเท่ากันสองตัว (/dev/sda) เป็นดิสก์ ของระบบที่ถูกบุกรุก และ (/dev/sdb). เป็นดิสก์สำหรับสำรองข้อมูล ใช้คำสั่ง
# dd if=/dev/sda of=/dev/sdb
นอกจากคำสั่งข้างต้นแล้วในระบบ UNIX ยังมีรูปแบบการสำรองอื่นๆ ให้ใช้มากมาย สำหรับระบบ NT แล้วไม่มีคำสั่ง dd ให้ใช้งานแต่อย่างไรก็ตามในระบบ NT ยังมีโปรแกรมประยุกต์มากมายที่เหมาะสมในการสำรองข้อมูล และที่สำคัญการสำรองข้อมูลควรที่จะเป็นแบบ low level backup เพราะระบบนี้จะเก็บข้อมูลที่สำคัญของการบุกรุก เข่น label, sign หรือ วันเวลาของไฟล์ ที่มีความจำเป็นมากในการเก็บไว้เพื่อใช้ในการสืบหาการบุกรุก
C. การวิเคราะห์ผู้บุกรุก
หลังจากการตัดการติดต่อจากระบบเครือข่ายแล้วท่านจะสามารถสืบหาการบุกรุกได้จาก Log file และ configuration file
1. การตรวจดูการเปลี่ยนแปลงของระบบจาก software หรือ configuration files
ขั้นตอนนี้จะตรวจสอบข้อมูลของการใช้งาน system binaries และ configuration file ท่านต้องมั่นใจก่อนว่า system binaries และ configuration ที่ท่านใช้งานนั้นเป็นระบบที่ถูกต้องไม่มีการแก้ไขจากผู้บุกรุก เพราะว่าเป็นไปได้ที่ kernel ของท่านอาจจะถูกแก้ไขหรือปรับเปลี่ยนจากผู้บุกรุกได้ ในระบบ UNIX ท่านสามารถสร้างแผ่นดิสก์สำหรับ boot ที่มี kernel ที่เชื่อถือได้ และการตรวจสอบหาไฟล์ที่ถูกเปลี่ยนแปลงในระบบนั้น ท่านควรตรวจสอบไฟล์ที่มีการเปลี่ยนแปลงในช่วงที่ท่านคิดว่ามีการบุกรุกจะทำให้เราตีขอบเขตการหาไฟล์ได้ง่ายขึ้น [2] ในระบบ UNIX มีคำสั่ง find โดยใช้ option -mtime ตัวอย่างเช่น ท่านต้องหาไฟล์ที่มีการแก้ไขก่อนหน้านี้ 3 วัน
# find / -mtime -3 -print
นอกจากนี้ท่านควรจะเปรียบเทียบระหว่าง system binaries file ในระบบที่เสียหายกับ distribution media (CD-ROM ที่ใช้ติดตั้งระบบปฏิบัติการ) ซึ่งเป็นไปได้ที่ระบบของท่านอาจจะมี Trojan horse ที่สร้างจากผู้บุกรุกได้ ในระบบUNIX มักพบ Trojan horse กับ system binaries file ดังต่อไปนี้ : telnet, in.telnetd, login, su, ftp, ls, ps, netstat, ifconfig, find, du, df, libc, sync, inetd, และ syslogd. โดยส่วนใหญ่มักจะเป็น system binaries file ที่เกี่ยวข้องกับการให้บริการระบบเครือข่าย ซึ่งอ้างอิงจากไฟล์ /etc/inetd.conf ในระบบ NT ในความหมายของ Trojan horses คือ computer viruses หรือ "remote administration" programs เช่น Back Orifice และ NetBus. โดยทั่วไป Trojan horse สร้างความเสียหายโดยการแทนที่ระบบการให้บริการที่เกี่ยวข้องกับระบบเครือข่ายเสียส่วนมาก การตรวจสอบTrojan horse programs แบบง่ายๆ คือการใช้คำสั่ง cmp ในระบบ UNIX เพื่อเปรียบเทียบไฟล์ที่ถูกแก้ไขกับไฟล์เดิมที่ไม่ได้มีการแก้ไข โดย cmp โดยจะเปรียบเทียบจาก timestamps และค่า sum ของไฟล์ ในกรณีอื่นที่ใช้ในการตรวจสอบโปรแกรมสามารถทำได้โดยใช้ การตรวจสอบของการเข้ารหัส MD5 ทั้งระบบ UNIX หรือ NT เพื่อหาค่า MD5 checksums ในการตรวจสอบหา Trojan horse programs ซึ่งเครื่องมือที่ได้ใช้หลักการนี้ที่สำคัญคือโปรแกรม tripwire (www.tripwire.org) ซึ่งมีทั้งในระบบ UNIX และ NT
นอกจากนี้ configuration files ก็เป็นเป้าหมายหลักของผู้บุกรุกที่ต้องมีการปรับเปลี่ยนตามความต้องการของผู้บุกรุก ซึ่งในระบบ UNIX มีสำคัญไฟล์ที่ต้องตรวจสอบดังนี้
- /etc/passwd ตรวจสอบว่ามีการลบ / เพิ่ม user บ้างหรือไม่ หรือมีการแก้ไข ข้อมูลของ user บ้างหรือไม่
- /etc/inetd.conf มีการเปิด การให้บริการที่ผิดปรกติ จากเดิมหรือไม่ และ มีการปิดการให้บริการใดบ้าง
- หากระบบท่านมีการใช้คำสั่ง "r-commands" (rlogin, rsh, rexec) ท่านต้องตรวจสอบไฟล์ /etc/hosts.equiv หรือไฟล์ที่เกี่ยวข้องกับ .rhosts ว่ามีการแก้ไขใดๆ บ้างหรือไม่
- ตรวจสอบ SUID และ SGID files ที่ถูกสร้างขึ้นมาใหม่. ซึ่งเป็นไปได้ที่ไฟล์เหล่านั้นอาจจะเป็น Backdoor program [1] โดยใช้คำสั่ง
# find / \( -perm -004000 -o -perm -002000 \) -type f -print
ในระบบ NT มีไฟล์ที่สำคัญที่ต้องตรวจสอบดังนี้
- ตรวจสอบ users หรือ group ที่แปลกปลอม (odd user/group memberships)
- ตรวจสอบการเปลี่ยนแปลงของ registry ในส่วนของ start program ตอน login หรือ service (ดูตัวอย่างจาก http://www.cert.org/tech_tips/win-listings.html#A )
- ตรวจสอบการแชร์ข้อมูลที่ไม่มีการอนุญาต ( unauthorized hidden shares) โดยคำสั่ง 'net share' หรือ โปรแกรม Server Manager tool.
- ตรวจสอบ processes ที่ท่านไม่ได้ใช้โดยคำสั่ง pulist.exe จาก NT resource kit หรือ โปรแกรม NT Task Manager.
2. ตรวจสอบข้อมูลอื่นในระบบ
การเปลี่ยนแปลงข้อมูลอื่นๆ ในระบบที่นอกเหนือจาก system file นั้นจะขึ้นกับความต้องการของผู้บุกรุกเอง โดยทั่วไปแล้วจะเกิดขึ้นกับ web pages, ftp archives, ไฟล์ใน home directories ของ user
3. ตรวจสอบโปรแกรมหรือ ข้อมูลที่ผู้บุกรุกทิ้งไว้
การบุกรุกเกือบทุกครั้ง ผู้บุกรุกจะติดตั้งโปรแกรมหรือ ข้อมูลที่ใช้ในการตรวจสอบ หรือควบคุมการเข้าใช้ระบบ โดยทั่วไปไฟล์ที่มีผู้บุกรุกทิ้งไว้หลักๆ มีดังนี้
- Network Sniffers
network sniffer เป็นโปรแกรมตรวจสอบกิจกรรมที่เกิดขึ้นกับระบบเครือข่าย โดยทั่วไปโปรแกรมนี้มีประโยชน์กับผู้บุกรุกเพื่อ จับข้อมูลของ username และ password แบบ cleartext (telnet service) ที่ส่งผ่านระบบเครือข่าย Sniffer แบบนี้ มักพบในระบบ UNIX แต่ในระบบ NT จะใช้ key logging programs แทน
- Trojan Horse Programs
Trojan horse programs [1] เป็นโปรแกรมที่ดูเหมือนว่ามีประโยชน์และไม่มีเจตนาร้ายแต่มี code ซ่อนอยู่ซึ่งจะช่วยให้มีการเก็บรวบรวม, เปิดเผย, ทำให้ผิดพลาด, หรือทำลายข้อมูลโดยไม่ได้รับอนุญาต Trojan horse จะซ่อนการทำงานของตนเอง และคอยดักจับ username และ password รวมทั้งสร้าง backdoors เพื่อเข้าใช้ระบบโดยไม่ผ่านการตรวจสอบของระบบ
- Backdoors
Backdoor programs [1] เป็นรูรั่วในการรักษาความปลอดภัยของระบบคอมพิวเตอร์ที่ผู้ออกแบบหรือผู้ดูแลจงใจทิ้งไว้ มีความหมายเดียวกับประตูดัก (trap door) ซึ่งเป็นกลไกลับทาง software หรือ hardware ที่ใช้ในการข้ามผ่านการควบคุมความปลอดภัย backdoor จะอนุญาตให้มีการเข้าใช้ระบบโดยไม่ผ่านการตรวจสอบ
- Vulnerability Exploits
การบุกรุกโดยอาศัยช่องโหว่ของโปรแกรม (Vulnerability Exploits) มักเป็นปัญหาใหญ่ของทุกระบบ เข่น Ftp buffer overflow [3] หรือ ramen rootkid [4] โดยทั่วไปโปรแกรมดังกล่าวจะซ่อนอยู่ใน directory ที่ถูกซ่อนอีกที- เครื่องมือของผู้บุกรุกอื่นๆ
เครื่องมือของผู้บุกรุกที่ซ่อนนั้นมีมากมายหลายแบบที่นอกเหนือจากที่กล่าวมาแล้ว และเครื่องมืออื่นๆ เช่น
- probe systems สำหรับหาช่องโหว่ของระบบ
- widespread probes
- denial of service attacks
- โปรแกรมที่ใช้งานทรัพยากรต่างๆ ของระบบ
- การตรวจสอบจาก output ของ Intruder Tool
ในบางครั้งท่านอาจจะพบ log files แปลกๆ ซึ่งมีความเป็นไปได้ที่ไฟล์นั้นเป็นไฟล์ที่สร้างจาก intruder tools ไฟล์ดังกล่าวส่วนมากแล้วจะเป็นข้อมูลที่เกี่ยวข้องกับ sites อื่นๆ ที่ผู้บุกรุกต้องการบุกรุกต่อไปโดยใช้ระบบของท่านเป็นทางผ่าน
ฉะนั้นก่อนที่จะตรวจหา เครื่องมือของผู้บุกรุก หรือ output file ของเครื่องมือนั้นๆ ท่านต้องทำการสำรองข้อมูลและ ต้องมั่นใจว่าคำสั่ง หรือ เครื่องมือที่ใช้ในการค้นหาต้องไม่ถูกแก้ไขจากผู้บุกรุก
- ค้นหาไฟล์ ASCII ที่แปลกปลอมใน directory /dev ในระบบ UNIX โดย Trojan binaries มักจะซ่อน configuration files ใน /dev.
- ค้นหา file หรือ directories ที่ซ่อน ซึ่งหากผู้บุกรุกสร้าง account ใหม่หรือ home directory แล้วมันจำเป็นที่ต้องซ่อนเพื่อหลบการสังเกตของผู้ดูแลระบบ
- files หรือ directories ที่ขึ้นต้นด้วย "..." (สามจุด) หรือ ".. " (สองจุดและ space bar) ในระบบ UNIX. ซึ่งบ่อยครั้งที่ผู้บุกรุกพยายามซ่อน tool ด้วยวิธีนี้ ในระบบ NT สามารถหาไฟล์ต่างๆ ได้ จาก โปรแกรม EXPLORE.EXE หรือ UMGR32.EXE เป็นต้น
โดยใช้คำสั่ง [2] ในระบบ UNIX
# find / -name ".. " -print -xdev
# find / -name ".*" -print -xdev | cat -v
4. การวิเคราะห์ log files
การตรวจสอบการบุกรุกจาก log files อาจจะช่วยในการหาข้อมูลได้ว่าระบบของท่านถูกบุกรุกและแก้ไขอย่างไร สามารถตรวจว่าการบุกรุกเกิดขึ้นเมื่อไร เกิดอะไรบ้างในขณะบุกรุกและ ตวรจสอบการเข้าใช้ระบบของท่าน อย่างไรก็ตาม log files มักจะถูกแก้ไขจากผู้บุกรุกทุกครั้งเมื่อมีการบุกรุกดังนั้นในบางครั้ง log file อาจจะไม่ช่วยอะไรมากนักในการตรวจสอบการบุกรุก ในระบบ UNNIX หา log file ได้จาก /etc/syslog.conf ระบบ NT จะเก็บใน c:\winnt\system32\logfiles โดยโปรแกรม Event Viewer จะใช้เป็นโปรแกรมที่ตรวจ log นอกจากนี้บางโปรแกรมอาจจะมี log file ที่ต่างกันเช่น IIS เป็นต้น
ไฟล์ดังต่อไปนี้เป็น log file ในระบบ UNIX โดยแต่ละไฟล์มีความแต่ต่างตามหน้าที่และ โปรแกรมที่ใช้สร้างไฟล์
- messages
messages log จะเก็บข้อมูลหลากหลายแบบ ซึ่งไฟล์นี้สามารถใช้ในการหาการแก้ไขไฟล์ โดยมีข้อมูลของเหตุการณ์ และเวลา เพื่อช่วยตรวจสอบการบุกรุกได้
- xferlog
หากมีการบุกรุกผ่าน ftp server, xferlog จะทำหน้าที่เก็บข้อมูลของ log file ของบริการนี้ ไฟล์นี้สามารถตรวจสอบการถ่ายโอนข้อมูลที่แปลกปลอมระหว่างระบบกับผู้บุกรุก
- utmp
binary file ที่ให้ช้อมูลว่ามีใคร login เข้าสู่ระบบ อยู่บ้างในขณะนั้น โดยคำสั่งที่ใช้ในการดูไฟล์นี้คือ who
- wtmp
binary file ที่ให้ช้อมูลชองการ login เข้าสู่ระบบ สามารถตรวจสอบว่ามีผู้ใช้คนใดเข้าใช้ และออกจากระบบเมื่อไร โดยคำสั่งที่ใช้ในการดูไฟล์นี้คือ last
- secure
ในบางระบบ UNIX (RedHat Linux) ใช้เก็บ log ของ tcp wrapper messages ในไฟล์ secure log file ทุกครั้งที่มีการเชื่อมต่อกับระบบผ่าน inetd ที่ใช้ tcp wrappers, log messageจะเกิดขึ้น โดยสามารถตรวจสอบได้ว่ามีการสร้างการเชื่อมต่อจากบริการที่ผิดปรกติหรือไม่. หรือ ว่ามีการเชื่อมต่อบริการกับ host ที่ไม่ให้สิทธิหรือไม่
5. การตรวจจับโปรแกรม network sniffer
บ่อยครั้งเมื่อระบบถูกบุกรุก ผู้บุกรุกมักติดตั้ง โปรแกรม network monitoring บนระบบ UNIX เพื่อตรวจจับ user account และ password กรณีของระบบ NT โปรแกรม remote administration ถูกใช้ในเป้าหมายเดียวกัน
ขั้นตอนแรกในการตรวจสอบหา sniffer โดยการตรวจสอบว่า network interfaces ของระบบทำงานใน promiscuous mode ถ้า เป็นแล้วเป็นไปได้ที่ sniffer จะทำงานอยู่ในระบบของท่าน การตรวจสอบว่าระบบอยู่ใน promiscuous mode นั้นเป็นไปไม่ได้หากท่านไม่ reboot ระบบของท่าน ซึ่งโปรแกรม ดังต่อไปนี้จะช่วยท่านในการตรวจสอบ promiscuous mode
- cpm - UNIX
ftp://coast.cs.purdue.edu/pub/tools/unix/cpm/
- ifstatus - UNIX
ftp://coast.cs.purdue.edu/pub/tools/unix/ifstatus/
อย่างไรก็ตามปรกติแล้วโปรแกรม network monitors ,protocol analyzers , Network Intrusion Detection System ที่ไม่เป็น sniffer จากผู้บุกรุกใช้ promiscuous mode ดังนั้นการตรวจจับ promiscuous mode นั้นยังไม่สามารถสรุปได้ว่ามีโปรแกรม sniffer อยู่หรือไม่
แนวทางอื่นในการตรวจหาคือการตรวจจากไฟล์ log ของ sniffer ที่มักจะโตผิดปรกติอย่างรวดเร็วซึ่งท่านสามารถใช้คำสั่ง df ในการหาไฟล์หรือ ไดเรกทอรี่ ที่เก็บไฟล์ดังกล่าว หากท่านพบว่าเครื่องของท่านมีโปรแกรม sniffer ทำงานอยู่แล้วท่าควรที่จะต้องตรวจสอบ output file จาก sniffer เพื่อตรวจว่ามีเครื่องใดบ้างที่เสียต่อการถูกบุกรุกใน destination field ของ packet ที่เก็บมาได้
sniffers ทั่วไปจะเก็บ log ของการเชื่อมต่อไว้ในรูปแบบดังนี้:
-- TCP/IP LOG -- TM: Tue Nov 15 15:12:29 --
PATH: not_at_risk.domain.com(1567) => at_risk.domain.com(telnet)
จาก sniffer logs ของตัวอย่างนี้ท่านสามารถหาเครื่องที่อาจจะถูกบุกรุกได้โดยคำสั่ง:
% grep PATH: $sniffer_log_file | awk '{print $4}' | \
awk -F\( '{print $1}'| sort -uในบางครั้งที่ log file ของ sniffer ถูกเข้ารหัสเพื่อซ้อนข้อมูลที่เก็บไว้ ทำให้การตรวจสอบยากมากยิ่งขึ้นข้อมูลเพิ่มเติมของพฤติกรรมของ sniffer ดูได้จาก [5]
6. ตรวจสอบระบบเครือข่ายท่านควรตรวจสอบระบบอื่นๆ ที่เกี่ยวข้องกับระบบที่เสียหายเช่น router หรือ เครื่องเซิฟเวอร์ใกล้เคียงที่เกี่ยวข้อง การตรวจสอบการแบ่งทรัพยากรจากระบบอื่นในเครื่องข่ายก็จำเป็นเช่นกัน เช่น ระบบ NIS และ NFS หรือโดยวิธีต่างที่เกี่ยวข้องหรือเชื่อมโยงกับระบบที่เสียหาย เช่น ตรวจสอบ ไฟล์ในระบบ hosts.equiv .rhosts หรือ Kerberos server มีข้อมูลเพิ่มเติมสำหรับเอกสารการตรวจสอบหาผู้บุกรุก (Intruder Detection Checklists) [5] สำหรับ UNIX [6] สำหรับ Win NT
7. ตรวจสอบระบบที่เกี่ยวข้องกับ remote system
จากข้อมูลที่ของ log files, output files ของผู้บุกรุก, และไฟล์ต่างๆที่ ถูกแก้ไขระหว่างการบุกรุก เราสามารุที่จะหาระบบ (เซิฟเวอร์หรือ ไซต์ อื่นๆ )ที่สงสัยว่าจะได้รับผลของการบุกรุก ซึ่งท่านคนแจ้งให้กับระบบที่น่าจะถูกบุกรุกทราบถึงผลของการบุกรุกครั้งนี้ โดยเร็วที่สุด
D. การกู้คอมพิวเตอร์จากการถูกเจาะระบบ
1. ติดตั้งระบบ OS ทั้งหมดใหม่
ในกรณีที่คอมพิวเตอร์ถูกเจาะระบบ System ต่างๆ รวมทั้ง kernel ข้อมูล ไฟล์ต่างๆ โพรเซสและหน่วยความจำ อาจจะถูกแก้ไขโดยที่เราไม่รู้ วิธีเดียวที่ให้ความมั่นใจได้ว่าระบบมีความปลอดภัยอีกครั้ง โดยการติตตั้งระบบ OS ทั้งหมดใหม่จาก Vendor และติดตั้งข้อแก้ไข (Patch) ก่อนจะต่อเข้าระบบเน็ตเวิร์กอีกครั้ง2. งดใช้เซอร์วิสที่ไม่จำเป็น
ปรับเปลี่ยนระบบเพื่อให้ใช้บริการเฉพาะเซอร์วิสที่ระบบนั้นตั้งใจจะให้บริการและไม่มีเซอร์วิสอย่างอื่น ตรวจสอบให้แน่ใจว่าไม่มีจุดอ่อนในคอนฟิกเกอร์ไฟล์ โดยทั่วไป วิธีที่ดีที่สุดคือขั้นแรกเริ่มจากการงดทุกๆ เซอร์วิส และต่อไปก็เปิดให้ใช้เฉพาะเซอร์วิสที่จำเป็นเท่านั้น3. ติดตั้งข้อแก้ไขเพิ่มเติมเพื่อความปลอดภัยของข้อมูลจากผู้แจกจ่ายระบบ OS
แนะนำให้ตรวจสอบจาก Vendor ว่าทุกๆ ข้อแก้ไข (Patch) ของระบบ OS ที่ใช้อยู่ ได้ถูกใช้ปรับเข้ากับระบบแล้ว เพื่อความปลอดภัย สิ่งนี้เป็นขั้นตอนที่สำคัญอย่างยิ่งในการป้องกันระบบจากการถูกทำลาย
4. ปรึกษากับศูนย์ประสานงาน CERT หรือหน่วยงานที่เกี่ยวข้องในการรักษาความปลอดภัย
สนับสนุนให้ศึกษาเอกสารของ CERT และหน่วยงานที่เกี่ยวข้อง และให้ปฏิบัติตามข้อปฏิบัติที่เกี่ยวกับการรักษาความปลอดภัย โดยหาข้อมูลจากhttp://www.cert.org/advisories/
http://www.cert.org/summaries/
ftp://ftp.cert.org/pub/cert_bulletins/
http://thaicert.nectec.or.th
5. ใช้ความระมัดระวังในการเบ็คอัพข้อมูล
เมื่อทำการฟื้นฟูข้อมูลจากที่ได้เบ็คอัพ ตรวจสอบให้แน่ใจว่าการเบ็คอัพนั้นได้ทำจากเครื่องที่ปลอดภัยจริงๆ คือทำก่อนที่จะมีการเจาะระบบ คุณอาจจะให้โอกาสแก่ผู้เจาะระบบอีกครั้ง ถ้าทำการฟื้นฟูไดเร็กทอรี่และไฟล์ข้อมูลของผู้ใช้บนเครื่อง ไฟล์เหล่านั้นอาจรวมไปถึงโปรแกรมโทรแจน ฮอร์ท (Trojan Horse) โดยเฉพาะ .rhosts ในโฮมไดเร็กทอรี่ของผู้ใช้6. เปลี่ยนแปลงพาสเวิร์ดใหม่
หลังจากได้แก้ไขช่องโหว่ของระบบแล้ว แนะนำให้ทำการเปลี่ยนพาสเวิร์ดของผู้ใช้ทุกๆ คนบนระบบ ตรวจสอบให้แน่ใจว่าพาสเวิร์ดของแต่ละผู้ใช้นั้นยากที่จะคาดเดาได้ ซึ่งทาง AusCERT ได้บรรยายคุณลักษณะของพาสเวิร์ดที่ดีไว้ที่http://www.auscert.org.au/Information/Auscert_info/Papers/good_password.html
E. พัฒนาและปรับปรุงความปลอดภัยของระบบเครือข่ายเน็ตเวิร์ก
1. ศึกษาจากเอกสารแนะนำเกี่ยวกับคอนฟิกเกอร์ระบบยูนิกซ์และ NT เพื่อความปลอดภัย
เอกสารแนะนำที่ได้รวบรวมการคอนฟิกเกอร์ระบบยูนิกซ์และ NT โดยทั่วๆ ไป เพื่อเสริมสร้างความปลอดภัยให้กับระบบ โดยศึกษาจาก
2. ศึกษาจากเอกสารการใช้เครื่องมือในการรักษาความปลอดภัยระบบ
พิจารณาใช้ซอฟแวร์ที่มีอยู่ทั่วไป เช่น Tripwire, COPS และ TCP wrapper คำอธิบายเกี่ยวกับเครื่องมือต่างๆ มีอยู่ที่
3. ติดตั้งเครื่องมือรักษาความปลอดภัยให้กับระบบ
ติดตั้งเครื่องมือรักษาความปลอดภัยทั้งหมดก่อนจะต่อเข้ากับอินเตอร์เน็ต โดยอาจจะใช้ MD5 ตรวจสอบระบบที่ถูกฟื้นฟูทั้งระบบโดยใช้เครื่องมือ เช่น Tripwire4. ใช้การตรวจสอบจาก log file ให้มากที่สุด
ให้แน่ใจว่าโปรแกรมการตรวจสอบ บันทึกทั้งหลาย (log file) ถูกใช้และถูกตั้งไว้เหมาะสม เช่น sendmail logging ควรมีค่าเท่ากับ 9 หรือสูงกว่า ควรจะมีการเบ็กอัพ log files ต่างๆ ไว้ที่เครื่องอื่น5. ติดตั้ง Firewalls เพื่อปกป้องระบบเน็ตเวิร์ก
พิจารณาการกรองเฉพาะบาง TCP/IP เซอร์วิสที่ Firewall server, router หรือที่ตัว Host สำหรับคำแนะนำให้ศึกษาจาก "Packet Filtering for Firewall Systems," ซึ่งมีอยู่ที่
F. ต่อระบบเครือข่ายเน็ตเวิร์กเข้ากับอินเตอร์เน็ตอีกครั้ง
หลังจากได้ปฏิบัติตามขั้นตอนดังกล่าวแล้ว จึงค่อยต่อเครือข่ายระบบเข้าสู่อินเตอร์เน็ตอีกครั้ง
G. แก้ไขนโยบายเกี่ยวกับการรักษาความปลอดภัยให้ทันสมัย
ศูนย์ประสานงาน CERT แนะนำให้ทุกๆ Sites คิดนโยบายด้านความปลอดภัยของตัวเอง แต่ละองค์การอาจจะมีวัฒนธรรมแตกต่างกันและมีข้อเรียกร้องเกี่ยวกับความปลอดภัยที่เฉพาะเจาะจงของแต่ละองค์กรเอง คำแนะนำจาก RFC 2196 "คู่มือการรักษาความปลอดภัยของ Site" อธิบายหัวข้อด้านการพัฒนานโยบายเกี่ยวกับการรักษาความปลอดภัยของระบบคอมพิวเตอร์และกรรมวิธีสำหรับ Site ที่ต่อกับอินเตอร์เน็ต เอกสารสามารถดาวน์โหลดจาก
1. จัดทำเอกสารที่เรียนรู้จากการถูกเจาะระบบ
บันทึกและศึกษาบทเรียนที่ได้จากการฟื้นฟูระบบจากการถูกเจาะ สิ่งนี้จะช่วยในการแก้ไขและปรับปรุงนโยบายในการรักษาความปลอดภัย2. ประเมินค่าความเสียหาย
หลายๆ หน่วยงานไม่ทำการปรับเปลี่ยนนโยบายด้านการรักษาความปลอดภัยจนกระทั่งได้เข้าใจถึงความเสียหาย เพราะฉะนั้นการประเมินค่าจะเป็นตัวชี้ความสำคัญของการรักษาความปลอดภัยในหน่วยงาน3. เพิ่มเติมและแก้ไขนโยบายเกี่ยวกับการรักษาความปลอดภัยที่จำเป็น
ทำการปรับปรุงนโยบายด้านความปลอดภัยเป็นขั้นตอนสุดท้ายที่จะต้องดำเนินการ ให้แน่ใจว่ามีการแจ้งและประชาสัมพันธ์สมาชิกของหน่วยงานเกี่ยวกับการเปลี่ยนแปลงที่อาจจะมีผลกระทบต่อพวกเขา
Reference
[1] CERT Advisory CA-1999-03 FTP Buffer Overflows :
http://www.cert.org/advisories/CA-1999-03.html
[2] Widespread Compromises via "ramen" Toolkit : http://www.cert.org/incident_notes/IN-2001-01.html
[3] CERT Advisory CA-94:01 : http://www.cert.org/advisories/CA-94.01.ongoing.network.monitoring.attacks.html
[4] Intruder Detection Checklist :
http://www.cert.org/tech_tips/intruder_detection_checklist.html
[5] Windows NT Intruder Detection Checklist: http://www.cert.org/tech_tips/win_intruder_detection_checklist.html
| Home
|| เอกสารเผยแพร่ || Incident Handling
ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved. |