การตรวจสอบระบบที่ติด Ransomware

Ransomware หรือมัลแวร์เรียกค่าไถ่ เป็นมัลแวร์ที่ทำการเข้ารหัสไฟล์บนเครื่องที่ตกเป็นเหยื่อ โดยมักจะมีจดหมายเรียกค่าไถ่ระบุให้เหยื่อทำการจ่ายเงินเพื่อแลกกับกุญแจในการถอดรหัส หรือ เครื่องมือในการถอดรหัสไฟล์

ซึ่งในวันนี้ทีม Intelligent Response จาก บริษัทไอ-ซีเคียว จำกัดจะมาเล่าเกี่ยวกับการตรวจสอบระบบที่ติด Ransomware กันค่ะ ประกอบไปด้วย 2 หัวข้อ คือ

การตรวจสอบสายพันธุ์ของ Ransomware และ
การค้นหาไฟล์ Ransomware Executable ด้วยไฟล์ MFT

การตรวจสอบสายพันธุ์ของ Ransomware
เมื่อเราตรวจพบระบบที่ติด Ransomware แล้ว เราควรทำการจำกัดความเสียหาย (containment) โดยการแยกเครื่องที่ติดเชื้อออกจากเครื่องอื่นๆ ระบบปฏิบัติการ เช่น ปิดการใช้งานระบบเครือข่ายชั่วคราว หรือทางกายภาพโดยตรง เช่น การถอดสายแลน เป็นต้น เพื่อป้องกันการแพร่กระจายในระบบเครือข่ายหรือการติดต่อไปยังเครื่องภายนอกที่เป็นอันตราย

แต่ไม่ควรปิดหรือ restart เครื่องที่มีพฤติกรรมติดมัลแวร์เรียกค่าไถ่ เนื่องจากมัลแวร์เรียกค่าไถ่บางชนิด เช่น Wannacry จะมีข้อมูลที่เกี่ยวข้องกับกุญแจที่ใช้ในการเข้ารหัสหลงเหลืออยู่ในหน่วยความจำชั่วคราว (RAM) ซึ่งสามารถช่วยในการถอดรหัสได้

เมื่อหยุดการแพร่กระจายได้แล้ว เราสามารถตรวจสอบสายพันธุ์ของ Ransomware ได้จากการอัปโหลดไฟล์ที่ถูกเข้ารหัส (ควรใช้ไฟล์ที่ไม่เป็นความลับ) และอัปโหลดไฟล์ข้อความเรียกค่าไถ่ (Ransomware Notes) ไปยังบริการ ID Ransomware หรือ No More Ransom ซึ่งบริการดังกล่าวจะแจ้งว่าเราติด Ransomware สายพันธุ์ไหน มีตัวถอดรหัสฟรีแล้วหรือไม่ ซึ่งเราสามารถทดลองดาวน์โหลดโปรแกรมถอดรหัสและทดลองถอดรหัสได้ โดยควรสำรองข้อมูลไว้ก่อนทดลองถอดรหัส

บริการ ID Ransomware

ตัวอย่างผลการตรวจสอบสายพันธุ์ของ Ransomware จากบริการ ID Ransomware ในกรณีที่ยังไม่มีเครื่องมือถอดรหัสฟรี

ตัวอย่างผลการตรวจสอบสายพันธุ์ของ Ransomware จากบริการ ID Ransomware ในกรณีที่มีเครื่องมือถอดรหัสแล้ว

ซึ่งการตรวจสอบสายพันธุ์ของ Ransomware นอกจากจะทำให้เราทราบว่ามีเครื่องมือในการช่วยถอดรหัสฟรีโดยไม่ต้องจ่ายค่าไถ่แล้ว ยังช่วยให้สามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับช่องทางการแพร่กระจายของ Ransomware ชนิดนั้นๆ และทำการป้องกันช่องทางดังกล่าวเพิ่มมากขึ้นได้อีกด้วยค่ะ
การค้นหาไฟล์ Ransomware Executable ด้วยไฟล์ MFT
ในบางครั้งหลังจากเกิดเหตุการณ์ Ransomware องค์กรอาจมีความต้องการทำ Digital Forensic เพื่อหาสาเหตุที่ทำให้ติดเชื้อ Ransomware ที่แท้จริง ซึ่งควรเก็บหลักฐานดิจิตอลไว้เพื่อตรวจสอบภายหลังก่อนทำการกู้คืนระบบใหม่ สามารถศึกษาวิธีเก็บหลักฐานดิจิตอลได้จากข้อเสนอแนะมาตรฐานการจัดการอุปกรณ์ดิจิทัลในงานตรวจพิสูจน์พยานหลักฐาน จัดทำโดยศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์ประเทศไทย (ไทยเซิร์ต) 

ข้อมูลสำคัญอย่างหนึ่งที่ช่วยประกอบการหาสาเหตุของการติดเชื้อก็คือไฟล์ Ransomware Executable ซึ่งถ้าเราทราบว่าไฟล์ไหนคือ Ransomware Executable ที่เป็นต้นเหตุของเหตุการณ์ทั้งหมด เราก็จะสามารถตรวจสอบหาบัญชีผู้ใช้งานที่เป็นเจ้าของไฟล์และบัญชีผู้ใช้งานที่เป็นผู้เรียกใช้ไฟล์ดังกล่าวให้ทำงานได้

วิธีการหาไฟล์ Ransomware Executable สามารถทำได้หลายวิธี ในบทความนี้จะนำเสนอการค้นหาไฟล์โดยใช้ข้อมูลจากไฟล์ $MFT เพื่อค้นหาไฟล์แรกที่ถูกเข้ารหัส ช่วงเวลาที่ไฟล์แรกโดนเข้ารหัส และใช้ข้อมูลเวลาที่ถูกเข้ารหัสไปหาไฟล์ที่ถูกเรียกใช้ในเวลาใกล้เคียงกันเพื่อหาไฟล์ Ransomware Executable

ไฟล์ MFT หรือ Master File Table เป็นไฟล์ในระบบไฟล์แบบ NTFS โดยจะรวบรวมข้อมูลของไฟล์ทั้งหมดในไดร์ฟนั้นๆ แม้แต่ไฟล์ที่ถูกลบไปแล้ว เช่น เวลาที่สร้างไฟล์ (Created) เวลาที่ถูกเข้าถึงล่าสุด (LastAccess) และข้อมูลอื่นๆ อีกมาก

ซึ่งนอกเหนือจากไฟล์ MFT แล้วยังมีไฟล์อื่นๆ ที่บันทึกความเปลี่ยนแปลงของไฟล์ เช่น ไฟล์ USN Journal และ NTFS Log ($LogFile) ซึ่งสามารถนำไปใช้ตรวจสอบไฟล์แรกที่ถูกเข้ารหัสได้เช่นกัน แต่ไฟล์ USN Journal และ NTFS Log ($LogFile) สามารถเก็บข้อมูลการเปลี่ยนแปลงได้จำกัด ซึ่งจากสูตรประมาณของ Microsoft ระบุว่าไฟล์ USN Journal ขนาด 32MB จะบันทึกการเปลี่ยนแปลงได้ประมาณ 200,000 ไฟล์ จึงไม่สามารถนำข้อมูลไฟล์ USN Journal มาใช้งานได้ในกรณีที่ Ransomware เข้ารหัสไฟล์เกิน 200,000 ไฟล์

ซึ่งเทคนิคการค้นหาไฟล์ Ransomware Executable ด้วยไฟล์ MFT ในครั้งนี้จะสาธิตผ่านการตรวจสอบบนหลักฐานดิจิตอลจากเครื่องที่ติดเชื้อ GlobleImposter 2.0 ซึ่งทำการเข้ารหัสไฟล์แล้วเปลี่ยนนามสกุลเป็น .doc

เครื่องมือที่ใช้

MFTECmd เป็นโปรแกรมในตระกูล Eric Zimmerman's tool ใช้สำหรับ parse ไฟล์ MFT และไฟล์อื่นๆ เป็น CSV
Timeline Explorer เป็นโปรแกรมในตระกูล Eric Zimmerman's tool ใช้สำหรับเปิด CSV ขนาดใหญ่
FTK Imager เป็นโปรแกรมที่มีความสามารถในการจัดเก็บหลักฐานดิจิตอล วิเคราะห์หลักฐานดิจิตอล รวมถึงคำนวนค่า hash จากหลักฐานดิจิตอล สามารถดาวน์โหลดได้จาก https://accessdata.

เสริมความปลอดภัย (Hardening) Windows ง่ายๆ ด้วย Security Baseline

อาจเป็นที่ทราบกันดีอยู่แล้วว่าเมื่อใดก็ตามที่เราเพิ่มคุณลักษณะด้านความปลอดภัย (Security) ให้มากยิ่งขึ้น คุณสมบัติด้านอื่นๆ อาทิ ความง่ายในการใช้งาน (Usability) และฟังก์ชันการทำงาน (Functionality) อาจจะสูญเสียไป แนวคิดนี้ยังส่งผลมาถึงคอมพิวเตอร์ซึ่งเราซื้อและใช้ในชีวิตประจำวันโดยทั่วไปของเราที่ถูกออกแบบมาให้คุณลักษณะด้านความปลอดภัย, ความง่ายในการใช้งานและฟังก์ชันการทำงานนั้นสมดุลกัน

อย่างไรด้วยฟีเจอร์อันมหาศาลในระบบปฏิบัติการอย่าง Windows ที่เราไม่เคยใช้หรือไม่เคยรู้ว่ามันมีอยู่ การยอมสละความง่ายในการใช้งานและฟังก์ชันการทำงานบางอย่างเพื่อเสริมความปลอดภัยในการใช้งานก็อาจเป็นแนวคิดที่สมเหตุสมผล

ดังนั้นในโพสต์นี ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จาก บริษัท ไอ-ซีเคียว จำกัด จะมาพูดถึงวิธีการง่ายๆ ที่จะช่วยเสริมความปลอดภัยให้กับ Windows โดยไม่เสี่ยงสูญเสียคุณลักษณะด้านอื่นไป โดยใช้เครื่องมือและคำแนะนำในการตั้งค่า Security Baseline ที่มาจาก Microsoft เองให้ลองไปทำตามกันดูครับ
ทำความรู้จัก Security Baseline
Security Baseline เป็นรายการของการตั้งค่าซึ่งอยู่ใน Security Compliance Toolkit ที่ทาง Microsoft เปิดให้ผู้ใช้งานสามารถทำการดาวโหลดได้ฟรี รายการตั้งค่านี้มาจากความเห็นร่วมกันของฝ่ายความปลอดภัยไมโครซอฟต์และผู้ใช้งานหลายๆ กลุ่มว่าสามารถช่วยเสริมความปลอดภัยในการใช้งานได้

เราสามารถดาวโหลด Security Baseline ได้จากแพ็คของ Security Compliance Toolkit โดยในการใช้งานนั้น เราจะต้องเลือก Baseline ที่ตรงกับรุ่นของระบบปฏิบัติการที่เราใช้เพื่อป้องกันผลกระทบที่เกิดจากการแก้ไขการตั้งค่าครับ
ทำความเข้าใจการตั้งค่าด้วย Policy Analyzer
แม้ว่าผลกระทบที่เกิดจากการตั้งค่าอาจจะต่ำสำหรับผู้ใช้งานทั่วไป เราก็ขอแนะนำให้ผู้ใช้งานทำความเข้าใจการตั้งค่าที่จะเกิดขึ้นโดยการใช้เครื่องมือที่มากับ Security Compliance Toolkit ชื่อ Policy Analyzer ซึ่งจะช่วยให้เราทำความเข้าใจการตั้งค่าที่เราจะใช้งานรวมไปถึงเปรียบเทียบการตั้งค่าที่มีอยู่แล้วในปัจจุบันกับ Security Baseline ที่เราดาวโหลดมาว่ามีลักษณะเป็นอย่างไรบ้าง

การใช้งาน Policy Analyzer เพื่อเปรียบเทียบการตั้งค่าปัจจุบันของคอมพิวเตอร์ของเรากับการตั้งค่าจาก Security Baseline สามารถทำได้ตามขั้นตอนดังนี้ครับ

เปิดโปรแกรม PolicyAnalyzer.

An Analysis of Accidentally Tampered Master File Table

Are you looking for English version for this article? Click here!
ในระบบ File System แบบ NTFS จะมีไฟล์ที่เรียกว่า $MFT หรือ Master File Table ซึ่งเป็นที่รวบรวมข้อมูลของไฟล์ทั้งหมดในไดร์ฟนั้นๆ แม้แต่ไฟล์ที่ถูกลบไปแล้ว ซึ่งในวันนี้ทีม Intelligent Response จาก บริษัทไอ-ซีเคียว จำกัด จะมาเล่าข้อมูลที่น่าสนใจเกี่ยวกับ $MFT ในด้าน Digital Forensic กันค่ะ
ข้อมูลที่น่าสนใจเกี่ยวกับ $MFT ในด้าน digital forensic
MFT หรือ Master File Table เป็นไฟล์ในระบบไฟล์แบบ NTFS โดยจะรวบรวมข้อมูลของไฟล์ทั้งหมดในไดร์ฟนั้นๆ แม้แต่ไฟล์ที่ถูกลบไปแล้ว การตรวจสอบไฟล์ $MFT จึงมีประโยชน์อย่างมากในช่วยค้นหาไฟล์ที่ถูกลบเพื่อทำการกู้คืนและการใช้วิเคราะห์ในฐานะของหลักฐานดิจิตอลรูปแบบหนึ่ง

โดยปกติไฟล์ $MFT จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อมีการฟอร์แมตหรือเปลี่ยนพาร์ติชันของดิสก์เป็น NTFS โดยวันที่และเวลาที่ไฟล์ $MFT ถูกสร้างขึ้น (หรือวันที่และเวลาที่ดิสก์ถูกฟอร์แมต) จะถูกระบุอยู่ในคุณลักษณะของไฟล์ $MFT ที่หัวข้อ Date created ซึ่งในกรณีโดยส่วนใหญ่ที่ดิสก์ดังกล่าวถูกติดตั้งระบบปฏิบัติการ ไฟล์ของระบบปฏิบัติการจะมีวันที่และเวลาที่ถูกสร้างใกล้เคียงหรือสอดคล้องกับค่า Date created ใน $MFT ตามรูปภาพด้านล่าง

ในขณะที่เราทำการวิเคราะห์หลักฐานดิจิตอลเพื่อค้นหาที่มาและข้อมูลที่เกี่ยวข้องกับภัยคุกคาม เราพบซอฟต์แวร์และโปรแกรมบางประเภท อาทิ ซอฟต์แวร์คงสภาพฮาร์ดดิสก์ เช่น Deep Freeze, ซอฟต์แวร์ปรับแต่งการทำงานของระบบ เช่น CCleaner อาจมีการเข้าไปแก้ไขไฟล์ $MFT และส่งผลให้ค่า Date created เปลี่ยนไปเมื่อเปรียบเทียบกับค่าของวันที่และเวลาจากไฟล์อื่นๆ ที่มักจะถูกสร้างขึ้นมาในเวลาที่ใกล้เคียงหรือสอดคล้องกัน พฤติกรรมนี้สามารถช่วยบ่งชี้ถึงพฤติกรรมที่น่าสงสัยหรือความสมบูรณ์ของข้อมูลที่ได้จากไฟล์ $MFT ได้

ความสมบูรณ์และถูกต้องของไฟล์ $MFT ยังสามารถถูกทำลายได้ในบางกรณี เช่น การใช้โปรแกรมกู้คืนไฟล์โดยทำการกู้คืนไฟล์ที่ถูกลบมายังไดร์ฟเดิม เนื่องจากการแก้ไขและการเขียนทับรายการภายในไฟล์ $MFT ที่ไม่ถูกต้อง

ตัวอย่างด้านล่างนั้นได้แสดงให้เห็นถึงการทำลายความสมบูรณ์และความถูกต้องของไฟล์ $MFT ซึ่งเป็นเหตุมาจากการกู้คืนไฟล์ไปยังไดร์ฟหรือตำแหน่งเดิม ค่า Date created ของไดร์ฟ D เมื่อเปรียบเทียบกับไดร์ฟ C จึงไม่ถูกต้องตรงกัน

กรณีตัวอย่างที่การทำลายความสมบูรณ์และความถูกต้องของไฟล์ $MFT มีผลกับการทำ Digital Forensic
นายเอพบว่ามีการลบไฟล์จำนวนมากออกจากเครื่องเซิร์ฟเวอร์ โดยไฟล์เหล่านั้นเป็นไฟล์ที่มีความสำคัญต่อการทำงานเป็นอย่างมาก ด้วยความตกใจ นายเอจึงทำการพยายามกู้ไฟล์เหล่านั้นด้วยโปรแกรมกู้ไฟล์กลับลงในไดร์ฟเดิม โดยสามารถกู้ไฟล์ได้แค่บางส่วนเท่านั้น นายเอเกิดข้องสงสัยว่าการลบไฟล์ดังกล่าวอาจเกิดจากผู้ไม่หวังดีภายในองค์กรเดียวกัน จากนั้นนายเอจึงได้จ้าง Digital Forensic Analyst ให้ทำการตรวจสอบเครื่องคอมพิวเตอร์ดังกล่าวว่ามีไฟล์ใดถูกลบออกไปบ้างเพื่อนำไปตรวจสอบต่อ

ซึ่งการทำลายความสมบูรณ์และความถูกต้องของไฟล์ $MFT ได้ถูกทำลายจากการกู้คืนไฟล์ไปยังไดร์ฟเดิม ส่งผลกระทบกับการทำงานของ Digital Forensic Analyst ให้ไม่สามารถตรวจหาชื่อไฟล์ได้

ตัวอย่างด้านล่างนั้นได้แสดงให้เห็นความแตกต่างระหว่างไฟล์ $MFT ก่อนและหลังการกู้คืนไฟล์ลงในไดร์ฟเดิม โดยไฟล์ $MFT ทั้งสองไฟล์ถูกแปลงด้วยโปรแกรม MFTECmd เป็น CSV จะพบว่าจำนวนข้อมูล [In Use] = unchecked ซึ่งบ่งบอกไฟล์ที่ถูกลบไปแล้วไม่เท่ากัน

และเมื่อทดลองค้นหาชื่อไฟล์ที่มีคำว่า ns จะพบว่าในไฟล์ $MFT ก่อนและหลังการกู้คืนไฟล์ลงในไดร์ฟเดิมมีข้อมูลไม่ตรงกัน โดยในไฟล์ $MFT หลังการกู้คืนจะมีจำนวนข้อมูลน้อยกว่า

สรุป
ไฟล์ $MFT มีประโยชน์มากในการทำ digital forensic  ใช้บอกข้อมูลได้หลายอย่าง แต่ควรระวังว่าข้อมูลใน MFT อาจถูกแก้ไขได้ในบางกรณีโดยไม่ตั้งใจได้
English version
There is a file called Master File Table or MFT ($MFT) in NTFS file system.

แจ้งเตือนช่องโหว่ตระกูล SACK Panic ยิง FreeBSD และลินุกซ์ดับดิ้นได้จากระยะไกล

เมื่อวันที่ 17 มิถุนายน 2019 ที่ผ่านมา ทีม Security Engineer จาก Netflix ได้มีการเปิดเผย 4 ช่องโหว่ใหญ่ในส่วนของโปรแกรมซึ่งอิมพลีเมนต์โปรโตคอล TCP ในระบบ FreeBSD และลินุกซ์ ซึ่งส่งผลให้ด้วยการส่งแพ็คเกตที่มีลักษณะเฉพาะบางประการ แฮกเกอร์สามารถล่มระบบใดก็ได้ได้จากระยะไกล

ทีม Intelligent Response จาก บริษัทไอ-ซีเคียว จำกัด จะมาติดตามรายละเอียดของช่องโหว่นี้ พร้อมทั้งอธิบายที่มา การตรวจจับและการป้องกันการโจมตีช่องโหว่นี้ในโพสต์นี้กันครับ

รายละเอียดช่องโหว่โดยย่อ
ที่มาของช่องโหว่
การโจมตีช่องโหว่
ระบบที่ได้รับผลกระทบ
การตรวจจับการโจมตี
การป้องกันการโจมตี

รายละเอียดของช่องโหว่โดยย่อ
ช่องโหว่ในตระกูล SACK Panic นี้มีทั้งหมด 4 ช่องโหว่ ได้แก่

ช่องโหว่ SACK Panic รหัส CVE-2019-11477 คะแนน CVSSv3 7.5
ช่องโหว่ SACK Slowness รหัส CVE-2019-11478 คะแนน CVSSv3 5.3
ช่องโหว่ SACK Slowness รหัส CVE-2019-5599 ยังไม่มีการระบุคะแนน CVSS
ช่องโหว่ไม่มีชื่อเฉพาะ รหัส CVE-2019-11479 คะแนน CVSSv3 5.3

ที่มาของช่องโหว่
อ้างอิงจาก Security Advisories ของ Netflix ช่องโหว่ทั้ง 4 ช่องโหว่นี้เป็นช่องโหว่ที่เกิดขึ้นในส่วนของโค้ดซึ่งอยู่ในแกนกลางของระบบปฏิบัติการ FreeBSD และเคอร์เนลของระบบปฏิบัติการลินุกซ์ซึ่งทำหน้าที่เกี่ยวข้องกับโปรโตคอล TCP โดยช่องโหว่เหล่านี้นั้นเกี่ยวข้องกับการกำหนดค่า minimum segment size (MSS) และค่า TCP Selective Acknowledgement (SACK) ซึ่งทั้งสองค่าเป็นการตั้งค่าของโปรโตคอล TCP

สำหรับช่องโหว่แรกคือ SACK PANIC (CVE-2019-11477) นั้นเป็นช่องโหว่ซึ่งเกิดขึ้นเมื่อผู้โจมตีมีการสร้างลำดับของแพ็คเกต TCP ซึ่งมีลำดับของค่า SACK เฉพาะ โดยเมื่อส่งไปยังเป้าหมายซึ่งมีช่องโหว่แล้ว จะทำให้เกิดการเงื่อนไข integer overflow ซึ่งนำไปสู่เงื่อนไขการทำงานที่ผิดพลาดของเคอร์เนล (Kernel panic) และทำให้เกิดเงื่อนไข DoS ได้

ในส่วนของช่องโหว่ที่สองคือ SACK Slowness (CVE-2019-11478) นั้นเป็นช่องโหว่ที่ทำให้เกิดการใช้งานทรัพยากรของระบบมากขึ้นโดยเป็นผลมาจากการได้รับลำดับของแพ็คเกต TCP ที่มีค่า SACK เฉพาะซึ่งจะทำให้เกิดการแบ่งส่วนในกระบวนการจัดลำดับเพื่อจัดส่งแพ็คเกตใหม่ในโปรโตคอล TCP ในลักษณะที่ไม่ถูกต้องได้

ช่องโหว่ที่สามหรือช่องโหว่ SACK Slowness (CVE-2019-5599) เป็นช่องโหว่ที่เกิดขึ้นในลักษณะที่คล้ายกับ SACK Slowness (CVE-2019-11478) จากความเหมือนกันในประเด็นเรื่องของผลกระทบและรูปแบบการโจมตี แต่แตกต่างในส่วนของคอมโพเนนต์และระบบปฏิบัติการที่ได้รับผลกระทบ

ช่องโหว่สุดท้ายในลำดับ 4 คือช่องโหว่รหัส CVE-2019-11479 เป็นช่องโหว่ที่ทำให้เกิดการใช้งานทรัพยากรของระบบที่มากขึ้นหรือมากเกินซึ่งเป็นผลมาจากการกำหนดค่า MSS ต่ำ โดยผู้โจมตีนั้นสามารถบังคับให้ลินุกซ์เคอร์เนลทำการแบ่งส่วนแพ็คเกตที่จะทำการตอบกลับออกเป็นหลาย TCP segment ที่มีขนาด 8 ไบต์ ซึ่งส่งผลให้ระบบจำเป็นต้องใช้แบนด์วิธและทรัพยากรอื่นๆ ที่มากขึ้นในการส่ง เงื่อนไขเดียวในการโจมตีข่องโหว่นี้คือการที่ผู้โจมตีจะต้องทำการโจมตีอยู่ตลอดเวลา เนื่องจากความเสียหายที่เกิดจากการโจมตีนั้นจะหยุดหากการโจมตีหยุดลงทันที
การโจมตีช่องโหว่
ยังไม่มีการปรากฎของโค้ดหรือ PoC ที่ใช้สำหรับโจมตีช่องโหว่ในขณะนี้
ระบบที่ได้รับผลกระทบ

ช่องโหว่ SACK Panic (CVE-2019-11477) ส่งผลกระทบกับลินุกซ์เคอร์เนลตั้งแต่เวอร์ชัน 2.6.29 เป็นต้นไป
ช่องโหว่ SACK Slowness (CVE-2019-11478) ส่งผลกระทบกับลินุกซ์เคอร์เนลรุ่น 4.15 หรือต่ำกว่า
ช่องโหว่ SACK Slowness (CVE-2019-5599) ส่งผลกระทบกับ FreeBSD รุ่น 12 ที่ใช้ RACK TCP Stack
ช่องโหว่ CVE-2019-11479 ส่งผลกระทบกับลินุกซ์ทุกเวอร์ชัน

การตรวจจับการโจมตี
ช่องโหว่ทั้งหมดนั้นมี Attack vector เป็นเน็ตเวิร์กซึ่งส่งผลให้อุปกรณ์เน็ตเวิร์กที่สามารถตรวจสอบคุณลักษณะของแพ็คเกตได้นั้นสามารถใช้เพื่อตรวจจับการโจมตีได้ อย่างไรก็ตามเรายังไม่พบการประกาศ Signature หรือแพทเทิร์นในการตรวจจับการโจมตีในขณะนี้ โดยจะทำการอัปเดตหากมีความคืบหน้า

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

ทำการอัปเดตแพตช์เฉพาะของช่องโหว่หากยังไม่มีการอัปเดตจากโครงการของเคอร์เนล โดยให้ดำเนินการดังนี้

สำหรับช่องโหว่ SACK Panic (CVE-2019-11477) ให้ทำการอัปเดตแพตช์ PATCH_net_1_4.patch ในกรณีที่ลินุกซ์เคอร์เนลเป็นเวอร์ชัน 4.14 หรือใหม่กว่า ให้ทำการอัปเดตแพตช์ PATCH_net_1a.patch ไปพร้อมกันด้วย
สำหรับช่องโหว่ SACK Slowness (CVE-2019-11478) ให้ทำการอัปเดตแพช์ PATCH_net_2_4.patch กับเคอร์เนล
สำหรับช่องโหว่ SACK Slowness (CVE-2019-5599) ให้ทำการอัปเดตแพตช์ split_limit.

ระวัง: พบประเทศไทยมีสถิติตกเป็นเหยื่อของมัลแวร์เรียกค่าไถ่ “Shade ransomware” ติดอันดับ 1 ใน 10 ของโลก

นักวิจัยจาก Unit 42 ของ Palo Alto ออกรายงานระบุว่า ประเทศไทย ติดอันดับ 1 ใน 10 ของประเทศที่จะติด ransomware ชื่อว่า “Shade” หรือ “Troldesh” โดยสถิติดังกล่าวได้มาจากข้อมูลการดาวน์โหลดไฟล์ที่เกี่ยวข้องกับ Shade ransomware จากอุปกรณ์ firewall ที่ทาง Palo Alto ให้บริการกับลูกค้าอยู่ทั่วโลก ผ่านระบบ AutoFocus ของ Palo Alto ทำให้ได้ข้อมูล 10 อันดับของประเทศที่เสี่ยงติด Shade ransomeware โดยประทศไทยอยู่ในอันดับที่ 4 รองจาก สหรัฐอเมริกา (พบการเชื่อมต่อ 2010 sessions), ญี่ปุ่น (พบการเชื่อมต่อ 1677 sessions) และอินเดีย (พบการเชื่อมต่อ 989 sessions) ตามมาด้วยประเทศไทย (พบการเชื่อมต่อ 723 sessions) ทั้งหมดนี้เป็นสถิติตั้งแต่ เดือนมกราคมถึงมีนาคมปี 2019 ซึ่งมากกว่าประเทศรัสเซียที่อยู่ในอันดับ 7 และถูกสงสัยว่าน่าจะเป็นต้นกำเนิดของ Shade ransomware เนื่องจาก spam อีเมลที่ถูกใช้ในการแพร่กระจายส่วนมากนั้นเป็นภาษารัสเซีย อย่างไรก็ตามก็มีเหยื่อบางรายที่พบเป็นภาษาอังกฤษด้วยเช่นเดียวกัน จากข้อมูลที่พบนี้ทำให้นักวิจัยสามารถระบุโดเมนเนมที่เกี่ยวข้องกับการแพร่กระจายได้

United States – 2,010 sessions
Japan – 1,677 sessions
India – 989 sessions
Thailand – 723 sessions
Canada – 712 sessions
Spain – 505 sessions
Russian Federation – 86 sessions
France – 71 sessions
United Kingdom – 67 sessions
Kazakhstan – 21 sessions

ภาพแสดงอันดับประเทศที่พบการดาวน์โหลด Shade ransomware

ทำความรู้จัก “Shade” หรือ “Troldesh” Ransomware เบื้องต้น
“Shade” Ransomware รู้จักในชื่ออื่นๆ อย่างเช่น “Troldesh” Ransomeware หรือ “Filecoder” Ransomware ถูกพบครั้งแรกเมื่อปลายปี 2014 ถูกแพร่กระจายผ่านทาง spam และ exploit kit หลังจากนั้นเมื่อปี 2016 ก็มีรายงานจาก Microsoft ว่าพบ Shade Ransomware เวอร์ชั่นใหม่ที่ได้รับการปรับปรุงให้มีการใช้งาน Tor ในกระบวนการเรียกค่าไถ่ สิ่งที่แตกต่างจากมัลแวร์เรียกค่าไถ่อื่นๆ คือแทนที่จะหยุดการทำงานของโปรเซสเมื่อเข้ารหัสไฟล์เสร็จแล้ว Shade ransomware จะทำการเรียกไปยังโดเมนเนมอื่นที่ถูกใช้ในการแพร่มัลแวร์และดาวน์โหลดมัลแวร์อื่นๆ มาเพิ่มเติม

ภาพแสดงตัวอย่าง ransom note แบบเก่า

ภาพแสดงตัวอย่าง ransom note แบบใหม่

จากการตรวจสอบตัวอย่าง Shade ransomware ที่พบล่าสุดเมื่อต้นปีที่ผ่านมา นักวิจัยพบว่ายังมีการใช้ Tor address (cryptsen7f043rr6[.]onion) และเปลี่ยนนามสกุลไฟล์เป็น .crypted000007 เช่นเดียวกับที่พบเมื่อปี 2016

ภาพแสดงตัวอย่างไฟล์ที่ถูก Shade ransomware เข้ารหัส

การแพร่กระจายของ “Shade” Ransomware
ช่องทางการแพร่กระจายของ “Shade” ransomware ที่พบจะมาในลักษณะของอีเมล spam ที่มีการแนบไฟล์ทั้งที่เป็น zip ไฟล์ที่มีสคริปต์ไฟล์แนบไว้ หรือไฟล์เอกสาร PDF ที่มีการแนบลิงก์สำหรับไปดาวน์โหลด zip ไฟล์ที่มีสคริปต์ไฟล์แนบไว้ สคริปต์ไฟล์ดังกล่าวจะถูกใช้สำหรับเรียกไปยังเว็บไซต์ที่ถูกซ่อนไฟล์มัลแวร์เรียกค่าไถ่ไว้ เพื่อดาวน์โหลดมาติดตั้งไว้บนเครื่องของเหยื่อ

ภาพแสดงตัวอย่างกระบวนการทำงานของ Shade ransomware

สอดคล้องกับรายงานจาก zscaler ที่ระบุว่า WordPress กับ Joomla ซึ่งเป็น Content Management Systems (CMSs) ยอดนิยมที่ตกเป็นเป้าหมายจากกลุ่มอาชญากรทางไซเบอร์ เพื่อทำการโจมตีและยึดครองเว็บไซต์ (compromised) โดยพุ่งเป้าไปยังเว็บไซต์ที่มีการใช้ HTTPS จากนั้นจึงทำการแอบซ่อนไฟล์ไว้ใน directory ของเว็บไซต์ดังกล่าว (hidden directory) เพื่อนำไปใช้ในการก่ออาชญากรรมต่อไป

ทีมนักวิจัย ThreatLabZ จาก zscaler ตรวจพบว่ามีเว็บไซต์ที่ใช้ WordPress และ Joomla หลายรายการถูกโจมตีและใช้ในการซ่อนไฟล์อันตรายเพื่อแพร่กระจาย backdoor, หน้า Phishing และรวมถึงถูกใช้ในการแพร่กระจาย Shade ransomware ด้วย โดยช่องทางที่ถูกใช้ในการโจมตีส่วนมากน่าจะเป็นการอาศัยช่องโหว่ใน plugins, themes และ extersions สำหรับ WordPress ที่พบว่าถูกโจมตีคือเวอร์ชั่นตั้งแต่ 4.8.9 ถึง 5.1.1 และมีการใช้ SSL Certificate ของ Let’s Encrypt, GlobalSign และ DigiCert เป็นต้น สำหรับเว็บไซต์ที่ถูกใช้ในการซ่อนไฟล์ของ Shade ransomware นั้น จากการตรวจสอบทำให้นักวิจัยพบว่าจะมีไฟล์ 3 ชนิดที่ถูกซ่อนไว้ ได้แก่ ไฟล์ HTML, ไฟล์ zip และ ไฟล์ exe (ที่อยู่ในรูปแบบ .jpg) ดังนั้นผู้ดูแลเว็บไซต์โดยเฉพาะถ้าหากมีการใช้ Content Management Systems (CMS) ควร:

หมั่นตรวจสอบว่ามี directory หรือไฟล์ใหม่ๆ ที่ไม่สามารถหาแหล่งที่มาเกิดขึ้นในระบบหรือไม่ โดยอาจใช้เครื่องมือจำพวก File Integrity Monitoring (FIM) เพื่อช่วยในการตรวจจับและป้องกันการแก้ไขไฟล์หรือ directory สำคัญๆ ในระบบ
ควรทำการอัพเดต CMS ที่ใช้งานอยู่ให้เป็นเวอร์ชั่นล่าสุดในทุกๆ component เพื่อปิดช่องโหว่ที่อาจมีอยู่ในระบบ

ภาพตัวอย่างไฟล์ที่ถูกซ่อนใน directory ของ Web Server

Indicators of Compromise (IOCs)
สามารถติดตาม IOC ที่เกี่ยวข้องกับ Shade ransomware ได้จากลิงก์ด้านล่าง:

Shade ransomware hashes
Shade ransomware URLs
Shade ransomware IOCs
Shade/Troldesh links
Shade ransomware IOCs collection

แหล่งอ้างอิง

Shade Ransomware Hits High-Tech, Wholesale, Education Sectors in U.S, Japan, India, Thailand, Canada
Russian language malspam pushing Shade (Troldesh) ransomware
Malspam distributing Troldesh ransomware
Russia hit by new wave of ransomware spam
Abuse of hidden “well-known” directory in HTTPS sites

เรื่องเล่าจากการทดสอบช่องโหว่ CVE-2019-2725 ใน Oracle WebLogic

จากเมื่อวันที่ 21 เมษายน 2019 ทีม KnownSec 404 จาก ZoomEye ประกาศการค้นพบช่องโหว่ระดับวิกฤติใน Oracle WebLogic Server ได้รับ CVE-2019-2725 ช่องโหว่ดังกล่าวกระทบ Oracle WebLogic Server รุ่น 10.x และรุ่น 12.1.3.0 เป็นช่องโหว่ที่สามารถรันคำสั่งจากระยะไกลได้ (remote code-execution) โดยที่ผู้โจมตีไม่จำเป็นต้องทำการเข้าสู่ระบบดังกล่าว ด้วยความร้ายแรงของช่องโหว่นี้ทำให้ Oracle ได้ออกแพตช์เฉพาะกิจมาเพื่อแก้ไขช่องโหว่ดังกล่าวในวันที่ 26 เมษายน 2019

โดยหลังจากที่ออกแพตช์ไม่นาน (2 พฤษภาคม 2019) นักวิจัยจากบริษัทรักษาความปลอดภัยทางไซเบอร์หลายบริษัทพบการโจมตี Oracle WebLogic Server รวมถึงมีการเผยแพร่ POC สำหรับค้นหาและโจมตีช่องโหว่ CVE-2019-2725 จำนวนมาก รวมถึงมีข่าวการโจมตีผ่านช่องโหว่ CVE-2019-2725 ด้วยมัลแวร์หลายครั้ง

หลังจากที่ได้ทำการศึกษาและทดสอบช่องโหว่ สำหรับในบล็อกนี้ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จากบริษัท ไอ-ซีเคียว จำกัด จะมาเล่าการทดสอบช่องโหว่ดังกล่าวให้ฟังกันโดยแบ่งเนื้อหาออกเป็นหัวข้อดังต่อไปนี้

รายละเอียดเกี่ยวกับช่องโหว่ CVE-2019-2725
สมมติฐานในการทดสอบช่องโหว่ CVE-2019-2725
วิธี setup เพื่อทดสอบช่องโหว่ CVE-2019-2725 
ปัญหาในการทดสอบช่องโหว่ CVE-2019-2725 
การทดสอบช่องโหว่ CVE-2019-2725  และ
สรุปการทดสอบช่องโหว่ CVE-2019-2725

คำเตือน: การทดสอบนี้เป็นไปเพื่อการศึกษาเท่านั้น 
รายละเอียดเกี่ยวกับช่องโหว่ CVE-2019-2725
ช่องโหว่ CVE-2019-2725 ถูกพูดถึงครั้งแรกใน CHINA NATIONAL VULNERABILITY DATABASE ใช้ชื่อว่า CNTA-2019-0014 เมื่อวันที่ 17 เมษายน 2019 ส่งผลกระทบกับ Oracle WebLogic Server  10.X และ Oracle WebLogic Server  12.1.3

KnownSec 404 Team ซึ่งเป็นหนึ่งในผู้แจ้งช่องโหว่ดังกล่าวไปยัง Oracle ได้เขียนสรุปรายละเอียดเกี่ยวกับช่องโหว่ว่าเกิดจากส่วนประกอบ wls9_async และ wls-wsat ซึ่งทำให้เกิดช่องโหว่ Deserialization Remote Command Execution ผู้โจมตีสามารถรันคำสั่งจากระยะไกลไปยังระบบที่มีช่องโหว่ได้ โดยที่ผู้โจมตีไม่จำเป็นต้องทำการเข้าสู่ระบบดังกล่าวและคำสั่งดังกล่าวจะรันด้วยสิทธิ์เดียวกันกับสิทธิ์ของ Oracle WebLogic Server

ด้วยความร้ายแรงของช่องโหว่นี้ทำให้ Oracle ได้ออกแพตช์เฉพาะกิจมาเพื่อแก้ไขช่องโหว่ดังกล่าวในวันที่ 26 เมษายน 2019 โดยอัปเดตเป็น Oracle WebLogic Server รุ่น 12.2.1

หลังจากที่มีการประกาศการแก้ไขช่องโหว่ได้ไม่นานได้มีผู้เผยแพร่ POC ออกมาเป็นจำนวนมาก รวมถึงมีการเขียน Exploits สำหรับ Metasploit ออกมาอีกด้วย รวมถึงมีข่าวการโจมตีผ่านช่องโหว่ CVE-2019-2725 ด้วยมัลแวร์หลายครั้ง เช่น โจมตีด้วย Sodinokibi ransomware

ไม่ใช่ทุก POC และ Exploits ที่เผยแพร่จะใช้ได้เสมอไป
อ้างอิงจากที่ทีม KnownSec 404 ได้เล่ารายละเอียดเพิ่มเติมเกี่ยวกับการค้นพบช่องโหว่ดังกล่าวใน WebLogic RCE (CVE-2019-2725) Debug Diary ว่า CVE-2019-2725 ที่เกิดจากความสำเร็จในการ bypass ตัว blacklist ที่ Oracle ใช้ป้องกัน CVE 2017-10271

ทำให้สามารถสรุปได้ว่า WebLogic 10.X จะมีทั้งช่องโหว่ CVE 2017-10271 และ CVE-2019-2725 แต่ WebLogic 12.1.3 จะมีช่องโหว่แค่ช่องโหว่ CVE-2019-2725 เท่านั้น

ซึ่งบาง POC และบาง Exploits ที่ถูกเผยแพร่ออกมาจะใช้ได้กับ CVE 2017-10271 ซึ่งใช้กับ WebLogic 12.1.3 ไม่ได้

ดังนั้นเมื่ออยากจะทำการทดสอบ CVE-2019-2725 จึงควรใช้ WebLogic 12.1.3 เพื่อให้มั่นใจว่า POC ที่นำมาทดสอบสามารถใช้ได้จริง

โดยการโจมตี CVE-2019-2725 จะเกิดจากการส่ง http request ที่ทำเป็นพิเศษไปยังส่วนที่มีช่องโหว่คือ wls9_async และ wls-wsat ซึ่ง https://sissden.

อธิบายรายละเอียด 4 ช่องโหว่ใหม่ในซีพียู Intel อ่านข้อมูลได้ไม่จำกัดขอบเขต

ในช่วงสัปดาห์ที่ผ่านมาถือว่าเป็นสัปดาห์ที่มีการเกิดขึ้นของหลายช่องโหว่ที่น่าสนใจ เช่น ไล่ไปตั้งแต่ช่องโหว่บนฟีเจอร์ RDP ในระบบปฏิบัติการวินโดวส์ที่ได้คะแนน CVSSv3 ไปถึง 9.8 คะแนน, ช่องโหว่ในโค้ดที่เกี่ยวข้องกับฟีเจอร์ VoIP ของ WhatsApp ที่ติดตั้งมัลแวร์ได้จากระยะไกล, ความปลอดภัยของ SHA1 และสี่ช่องโหว่บนซีพียูของ Intel นี้

สำหรับในบล็อกนี้นั้น ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จากบริษัท ไอ-ซีเคียว จำกัด จะมาสรุปถึงการค้นพบสี่ช่องโหว่ใหม่ในฟังก์ชันการทำงานของซีพียู Intel ซึ่งผลลัพธ์ที่เป็นไปได้กรณีหนึ่งเมื่อมีการโจมตีช่องโหว่นี้นั้น คือทำให้ผู้โจมตีสามารถเข้าถึงข้อมูลที่กำลังถูกประมวลผลโดยซีพียูแบบไม่มีขอบเขต และการป้องกันนั้นอาจทำให้ประสิทธิภาพการทำงานของซีพียูได้รับผลกระทบ โดยจากการตรวจสอบในเบื้องต้นนั้น ซีพียู Intel ตั้งแต่ปี 2011 จนถึงปัจจุบันจะได้รับผลกระทบจากช่องโหว่ทั้งหมด

เนื่องจากเนื้อหาที่อาจมีเป็นจำนวนมาก ทีมตอบสนองการโจมตีและภัยคุกคามจะขอสรุปเนื้อหาไว้ในรูปแบบของการตั้งคำถามและให้คำตอบเกี่ยวกับช่องโหว่แต่ละรายการไป หากใครมีคำถามเกี่ยวกับช่องโหว่เหล่านี้เพิ่มเติมสามารถส่งคำถามมาได้ที่เพจ i-secure Co., Ltd.

จับข่าวคุย: เพราะอะไรกลุ่มแฮกเกอร์จีนถึงใช้ช่องโหว่ลับของอเมริกาได้ก่อนมีการเปิดเผย?

ในช่วงสัปดาห์ทีผ่านมา ข่าวใหญ่ข่าวหนึ่งซึ่งเกี่ยวข้องกับการทำสงครามไซเบอร์ได้ถูกเปิดเผยโดย Symantec และสำนักข่าวหลายแห่งในต่างประเทศ เมื่อมีการเปิดเผยว่ากลุ่มแฮกเกอร์ซึ่งคาดว่าได้รับการสนับสนุนจากรัฐบาลจีนที่รู้จักกันในชื่อ APT3 มีการใช้ช่องโหว่ลับที่ถูกค้นพบและพัฒนาเป็นเครื่องมือในการโจมตีโดย National Security Agency (NSA) ของสหรัฐอเมริกาในการโจมตี ซึ่งเป็นเหตุการณ์ที่เกิดขึ้นก่อนที่จะมีการการรั่วไหลของข้อมูลของ NSA โดย The Shadow Brokers

แฮกเกอร์จีนนำช่องโหว่ลับของอเมริกาไปใช้ทำอะไร? ช่องโหว่ดังกล่าวเป็นช่องโหว่เดียวกันหรือไม่? และคำถามสำคัญคือถ้าช่องโหว่ที่ถูกใช้เป็นช่องโหว่เดียวกัน กลุ่มแฮกเกอร์จีนสามารถเข้าถึงช่องโหว่และเครื่องมือสำหรับโจมตีนี้ได้อย่างไร? ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จากบริษัท ไอ-ซีเคียว จำกัด จะมาสรุปเหตุการณ์โดยย่อเพื่อให้ผู้อ่านชาวไทยได้รับทราบข้อมูลกันครับ
Timeline
เพื่อให้เกิดความเข้าใจที่ถูกต้องและรวบรัด เราขอสรุปไทม์ไลน์ของเหตุการณ์เอาไว้เบื้องต้นก่อน ตามรายการดังนี้ครับ

March 2016 กลุ่ม APT3 จากจีนใช้ช่องโหว่และเครื่องมือของ Equation Group ซึ่งมีความเกี่ยวข้องกับหน่วย Tailored Access Operation (TAO) ของ NSA ในการโจมตี มีเป้าหมายอยู่ในประเทศฮ่องกงและเบลเยี่ยม
September 2016 มัลแวร์ Bemstour ที่ถูกใช้โดยกลุ่ม APT3 ที่มีการใช้เครื่องมือ DoublePulsar ของ Equation Group ถูกพัฒนาเป็นเวอร์ชันใหม่ และใช้ในการโจมตีโดยมีเป้าหมายอยู่ในประเทศฮ่องกง
March 2017 มีใครบางคนแจ้งไมโครซอฟต์ก่อนจะมีการรั่วไหลของข้อมูล ไมโครซอฟต์จึงมีการออกแพตช์ป้องกันช่องโหว่ก่อนจะมีการรั่วไหลจริง (คาดว่าเป็น NSA)
April 2017 กลุ่มแฮกเกอร์ The Shadow Brokers มีการปล่อยช่องโหว่และเครื่องมือของ Equation Group โดยอ้างว่าเป็นข้อมูลที่รั่วไหลออกมา
June 2017 กลุ่ม APT3 ใช้มัลแวร์ Bemstour ที่มีการใช้แบ็คดอร์ DoublePulsar เพื่อโจมตีเป้าหมายในลักซ์เซมเบิร์กและฟิลิปปินส์
August 2017 กลุ่ม APT3 โจมตีเป้าหมายในเวียดนาม
November 2017 มีการจับกุมและส่งมอบสมาชิกของกลุ่มแฮกเกอร์ APT3 มายังสหรัฐฯ
September 2018 มีการแจ้งเตือนการค้นพบช่องโหว่เพิ่มเติมจากมัลแวร์ Bemstour จาก Symantec ซึ่งต่อมาถูกแพตช์โดยไมโครซอฟต์
March 2019 มีการตรวจพบมัลแวร์ Bemstour รุ่นใหม่

History of Leaked NSA Tools

ชุดโปรแกรมของ Equation Group เป็นชุดของเครื่องมือที่ใช้ในการโจมตีช่องโหว่รวมไปถึงเครื่องมืออื่นๆ ในการช่วยเจาะระบบที่ถูกพัฒนาโดยกลุ่มแฮกเกอร์ Equation Group โดยเครื่องมือที่ใช้ในการโจมตีช่องโหว่ชื่อดังที่อยู่ในชุดโปรแกรมนี้ อาทิ โปรแกรมสำหรับโจมตีช่องโหว่ EternalBlue, แบ็คดอร์ DoublePulsar และชุดโปรแกรมควบคุมปฏิบัติการไซเบอร์ FuzzBench (อ่านเพิ่มเติมได้จากบทวิเคราะห์ของไอ-ซีเคียว)

ช่องโหว่ EternalBlue และแบ็คดอร์ DoublePulsar ต่อมาเมื่อมีการรั่วไหลจาก The Shadow Brokers ได้ถูกนำมาใช้กับมัลแวร์หลายประเภท และมีส่วนสำคัญต่อการโจมตีและแพร่กระจายของมัลแวร์ WannaCry ซึ่งทำให้สามารถโจมตีและรันโค้ดที่เป็นอันตรายได้จากระยะไกล

สำหรับกลุ่มแฮกเกอร์ Equation Group นั้น ถือว่าเป็นกลุ่มแฮกเกอร์ที่มีศักยภาพสูงสุดอันดับต้นๆ ของโลก โดยจากหลักฐานที่รวบรวมมาจากการโจมตีหลายครั้ง เป็นที่เชื่อกันว่ากลุ่มแฮกเกอร์ Equation Group เกิดขึ้นจากการรวมตัวของแผนก Tailored Access Operation (TAO) ภายใต้สังกัดของสำนักงานความมั่นคงแห่งชาติสหรัฐฯ (National Security Agency - NSA) และรัฐบาลอิสราเอลบางส่วน หนึ่งในผลงานซึ่งเชื่อกันว่าเป็นของ Equation Group นอกเหนือจากเครื่องมือในการโจมตีช่องโหว่นั้นยังได้แก่

มัลแวร์ Stuxnet หนึ่งในมัลแวร์ที่ถูกพูดถึงมากที่สุด ถูกพัฒนาเพื่อชะลอการวิจัยและพัฒนาทางด้านนิวเคลียร์ของอิหร่าน
มัลแวร์ Flame มัลแวร์ซึ่งใช้วิธีการโจมตีอัลกอริธึมแฮช MD5 เพื่อให้สามารถสร้างค่าแฮชเดียวกันจากข้อมูลที่ต่างกันได้ (MD5 Hash Collision) ซึ่งเป็นครั้งแรกที่มีการใช้ช่องโหว่นี้ในการโจมตีจริง

จากประวัติที่ได้กล่าวมา เราคงไม่อาจไม่ปฏิเสธได้ว่าชุดของเครื่องมือที่ใช้ในการโจมตีช่องโหว่รวมไปถึงเครื่องมืออื่นๆ ในชุดโปรแกรมของ Equation Group นั้นสามารถถูกเรียกได้ว่าเป็น Cyber Weapon ที่น่าสะพรึงกลัว
ทำความรู้จักกลุ่มแฮกเกอร์จีน APT3
กลุ่มแฮกเกอร์จีน APT3 หรือในชื่อ GothicPanda เป็นกลุ่มแฮกเกอร์ซึ่งเชื่อกันว่าได้รับการสนับสนุนจากรัฐบาลจีน โดยมีเป้าหมายสำคัญในการขโมยข้อมูลด้วยการโจมตีบริษัทผู้ผลิตเทคโนโลยีด้านการบินและการป้องกันประเทศ รวมไปถึงกลุ่มบริษัทด้านเทคโนโลยีและการสื่อสาร
พฤติกรรมการโจมตี
เมื่ออ้างอิงจากข้อมูลของ MITRE ATT&CK framework เราสามารถระบุเทคนิคที่กลุ่ม APT3 ใช้ในการโจมตีได้ตามรูปภาพด้านล่าง

มัลแวร์/ซอฟต์แวร์ที่ใช้ในการโจมตี
เมื่ออ้างอิงจากข้อมูลของ MITRE ATT&CK framework เราสามารถระบุเครื่องมือที่กลุ่ม APT3 ใช้ในการโจมตีได้ตามรูปภาพด้านล่าง

LaZagne
OSInfo
PlugX
RemoteCMD
schtasks
SHOTPUT

แล้วสรุปแฮกเกอร์จีน APT3 เข้าถึงช่องโหว่ของ NSA ได้อย่างไร?
แม้ในตอนนี้จะยังไม่มีรายงานอย่างเป็นทางการรวมไปถึงการวิเคราะห์การโจมตีซึ่งบ่งชี้ให้เห็นทำไมแฮกเกอร์จีนกลุ่ม APT3 ถึงสามารถเข้าถึงช่องโหว่ลับซึ่งถูกค้นพบและพัฒนาโดย NSA ได้ แต่สื่อหลายสำนักก็ได้มีการตั้งสมมติฐานที่น่าสนใจไว้ดังนี้

เป็นไปได้ไหมที่ NSA จะถูกแฮกหรือถูกโจมตีจนเกิดเป็นการรั่วไหลของข้อมูลเช่นเดียวกับกรณีที่ The Shadow Brokers ดำเนินการ?
หรือว่าเมื่อ The Shadow Brokers สามารถเข้าถึงชุดโปรแกรมดังกล่าวได้แล้ว จีนจึงทำการแฮกและขโมยข้อมูลที่อยู่ในมือ The Shadow Brokers ต่อ?
หรือฝั่งจีนสามารถตรวจจับการโจมตีที่มีการใช้ช่องโหว่เหล่านี้ได้ หรืออาจค้นพบเครื่องมือเหล่านี้โดยบังเอิญในระบบใดระบบหนึ่งซึ่งเคยถูกโจมตีโดย NSA แล้วมีการนำเครื่องมือที่ค้นพบมาใช้งาน?

ยังไม่มีใครสามารถยืนยันประเด็นเหล่านี้ได้และคงเป็นไปได้ยากที่จะยืนยันข้อเท็จจริงให้ได้
แหล่งอ้างอิง

Buckeye: Espionage Outfit Used Equation Group Tools Prior to Shadow Brokers Leak
Stolen NSA hacking tools were used in the wild 14 months before Shadow Brokers leak
How Chinese Spies Got the N.S.A.’s Hacking Tools, and Used Them for Attacks

รู้จัก ThreatIngestor เครื่องมือรวบรวมภัยคุกคามจากแหล่งข้อมูลสาธารณะ

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

เพื่อให้การสกัดเอาข้อมูลภัยคุกคามจากแหล่งข้อมูลสาธารณะสามารถทำได้ง่ายขึ้น ทีมตอบสนองการโจมตีและภัยคุกคาม (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.

ทำความรู้จัก Sysmon เครื่องมือการทำ Endpoint Detection ด้วยตัวเอง

Sysmon คืออะไร ?
Sysmon เป็นคำเรียกแบบย่อๆ ที่มาจากคำว่า “System Monitor” เป็น Windows system service ที่ถูกพัฒนาขึ้นมาของ Microsoft และเป็นเครื่องมือตัวหนึ่งในชุดเครื่องมือ Sysinternals Suite ของ Microsoft เมื่อติดตั้งบนเครื่องเรียบร้อยแล้ว จะมีหน้าที่ในการช่วยบันทึกพฤติกรรมต่างๆ ที่เกิดขึ้นบนเครื่องคอมพิวเตอร์ตามเงื่อนไข (Event Filtering) ที่ระบุไว้ในไฟล์ Configuration ที่กำหนดไว้ ซึ่งโดยส่วนมากเงื่อนไขที่ถูกสร้างขึ้นมาจะเป็นพฤติกรรมน่าสงสัยที่อาจเกี่ยวข้องกับภัยคุกคามทางไซเบอร์หรือมัลแวร์ และข้อมูลพฤติกรรมที่เกิดขึ้นนี้จะถูกเก็บในรูปแบบของ Log ไว้ที่ “Windows event log” ซึ่งมีอยู่แล้วบนเครื่องคอมพิวเตอร์ทุกเครื่องที่เป็นระบบปฏิบัติการ Windows โดย Log ต่างๆ ที่ถูกเก็บบันทึกไว้ใน Windows event log นี้ สามารถถูกส่งต่อไปเก็บยังอุปกรณ์ที่เรียกว่า SIEM (Security Information and Event Management) และจะถูกเก็บไว้เป็นฐานข้อมูลในลักษณะข้อมูลที่มีโครงสร้าง ส่งผลให้สามารถค้นหาเฉพาะข้อมูลที่ได้รับความสนใจเป็นพิเศษ (Retrieval) ผ่านการใช้คำสั่ง (Query) ที่เหมาะสมในการประมวลผลและแสดงผลข้อมูลให้ได้ผลลัพธ์ตามที่ต้องการ หรือแจ้งเตือนเมื่อพบพฤติกรรมที่ตรงกับเงื่อนไขภัยคุกคามที่สนใจ

รูปที่ 1: แสดงตัวอย่างการออกแบบระบบการทำงานร่วมกันระหว่าง sysmon และ splunk

Sysmon มีการแบ่งชนิดของเหตุการณ์ (Event) ที่สามารถตรวจจับได้เป็นทั้งหมด 22 เหตุการณ์ โดยแต่ละชนิดของเหตุการณ์จะมีเลข Event ID กำกับไว้เช่นเดียวกับ Windows event log ปกติ ดังต่อไปนี้

Event ID 1: Process creation
บันทึกข้อมูลเมื่อพบว่ามีโปรเซสถูกสร้างขึ้นใหม่บนเครื่อง โดยมีการเก็บข้อมูลของ command line ที่ถูกเรียก, ProcessGUID, ค่า Hash ของไฟล์ที่ถูกโปรเซสเรียกมารัน

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, FileVersion, Description, Product, Company, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine

Event ID 2: A process changed a file creation time
บันทึกข้อมูลเมื่อพบว่ามีไฟล์บนเครื่องถูกเปลี่ยนเวลาการสร้าง (creation time)

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime

Event ID 3: Network connection
บันทึกข้อมูลเมื่อพบว่ามีโปรเซสบนเครื่องที่มีการเชื่อมต่อผ่าน TCP/UDP โดยจะมีการเก็บข้อมูลของ ProcessId, ProcessGUID, Source host name, Source IP address, Destination host name และ Destination IP address

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName

Event ID 4: Sysmon service state changed
บันทึกข้อมูลเมื่อพบว่า sysmon service มีการ start/stop เกิดขึ้น

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, State, Version, SchemaVersion

Event ID 5: Process terminated
บันทึกข้อมูลเมื่อพบว่ามีโปรเซสใดๆ บนเครื่องถูกสั่งให้หยุดทำงาน

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image

Event ID 6: Driver loaded
บันทึกข้อมูลเมื่อพบว่ามีการเรียกใช้งาน driver บนเครื่อง โดยจะมีการเก็บข้อมูลค่า hash ของไฟล์ที่ถูกเรียกด้วย

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ImageLoaded, Hashes, Signed, Signature, SignatureStatus

Event ID 7: Image loaded
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ มีการเรียกใช้งาน module (dll) เพิ่มเติม โดยจะมีการเก็บข้อมูลค่า hash ของ module ไฟล์ที่ถูกเรียก

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, ImageLoaded, FileVersion, Description, Product, Company, Hashes, Signed, Signature, SignatureStatus

Event ID 8: CreateRemoteThread
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ มีการสร้าง Thread บนโปรเซสอื่นๆ เพิ่มเติม โดยจะมีการเก็บข้อมูลของทั้งโปรเซสที่ทำการเรียก (source) และโปรเซสที่ถูกเรียก (target)

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction

Event ID 9: RawAccessRead
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ มีความพยายามเข้าถึงไฟล์บนเครื่องผ่านการใช้ \\.\ ซึ่งมักเป็นพฤติกรรมของมัลแวร์ในการพยายามเข้าถึงไฟล์สำคัญบนเครื่องที่มีการป้องกัน เพื่อขโมยข้อมูล โดยจะมีการเก็บข้อมูลของโปรเซสต้นทางที่พยายามจะเข้าถึง และอุปกรณ์ปลายทางที่พยายามเข้าถึง

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, RawAccessRead, UtcTime: Time event occurred, ProcessGuid: The GUID of the process that generated the event, ProcessID: ID of the process that generated the event, Image: File used to generate the event, Device

Event ID 10: ProcessAccess
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ พยายามที่จะเรียกหรือเข้าถึงโปรเซสอื่นๆ ซึ่งอาจเป็นพฤติกรรมที่น่าสงสัยของมัลแวร์ในการพยายามอ่านข้อมูลที่อยู่บนโปรเซสสำคัญอื่นๆ เช่น Lsass.