ทำความรู้จักช่องโหว่ใหม่ระดับวิกฤติของ Apache Struts 2 (CVE-2018-11776)

สรุปย่อ
ในวันที่ 22 สิงหาคม 2018 ที่ผ่านมา Apache ได้ออกแพตช์เพื่อแก้ไขช่องโหว่ร้ายแรงระดับวิกฤติ (critical) ใน Apache Struts เพื่อแก้ไขช่องโหว่ CVE-2018-11776 ซึ่งเป็นช่องโหว่ remote code execution กระทบ Apache Struts รุ่น 2.3 ถึง 2.3.34 และ 2.5 ถึง 2.5.16 และอาจส่งกระทบกับ Apache Struts รุ่นอื่นๆ ที่เลิกซัพพอร์ตแล้ว

ทั้งนี้ช่องโหว่ remote code execution ถือเป็นช่องโหว่ที่มีความร้ายแรงสูงสุด เนื่องจากมีความเสี่ยงที่ผู้โจมตีจะรันคำสั่งอันตรายจนกระทั่งยึดครองทั้งระบบได้ ผู้ดูแลระบบควรรีบอัปเดตโดยด่วน
เกี่ยวกับ Apache Struts
Apache Struts เป็น open source framework สำหรับทำเว็บแอปพลิเคชันด้วยภาษา Java ที่กำลังได้รับความนิยมอย่างมากในองค์กรทั่วโลก ในปี 2017เกิดการโจมตี Equifax โดยใช้ช่องโหว่ remote code execution บน Apache Struts (CVE-2017-5638) และเนื่องจาก Equifax ไม่ได้อัปเดตแพตช์เพื่อแก้ไขช่องโหว่ดังกล่าวทำให้ข้อมูลลูกค้าหลุดกว่า 147ล้านคน สร้างความสูญเสียมูลค่ากว่า 600 ล้านดอลลาห์สหรัฐ
รายละเอียดของ CVE-2018-11776
นักวิจัยชื่อ Man Yue Mo จาก Semmle เป็นผู้ค้นพบช่องโหว่ CVE-2018-11776 และทำการแจ้งเตือน Apache Struts ตั้งแต่วันที่ 10 เมษายน 2018 ที่ผ่านมา เขาระบุว่าช่องโหว่ CVE-2018-11776 มีโอกาสที่จะทำให้เกิดความเสียหายได้มากกว่าการโจมตี Equifax เพราะสามารถโจมตีได้ง่ายกว่า เนื่องจากช่องโหว่ CVE-2018-11776 นี้อยู่บน core code ของ Apache Struts และไม่ต้องใช้ปลั๊กอินเสริมใดๆ ในการโจมตี ซึ่งช่องโหว่ดังกล่าวได้รับ CVSS v3 Base Score 9.8

ช่องโหว่ CVE-2018-11776 เกิดจากการไม่ตรวจสอบ input จากผู้ใช้ ทำให้ผู้โจมตีสามารถแทนที่ namespace ด้วยคำสั่งอันตรายได้ ซึ่ง Semmle ได้บอกจุดสังเกตที่ทำให้ถูกโจมตีผ่านช่องโหว่ CVE-2018-11776 คือ

Apache Struts ถูกตั้งค่าให้ alwaysSelectFullNamespace มีค่าเป็น True
Configuration file ของ Apache Struts มี <action ...> tag ที่ไม่ได้ระบุ optional namespace หรือมี <action ...> tag ที่ระบุเป็น wildcard namespace

ถึงแม้ว่าในขณะนี้ Apache Struts ที่ไม่ได้ตั้งค่าดังกล่าวจะปลอดภัย แต่เป็นไปได้ที่จะมีการโจมตีแบบอื่นขึ้นได้ในอนาคต จึงควรแก้ด้วยการอัปเดตแพตช์เป็นรุ่นล่าสุดมากกว่าการแก้ไขการตั้งค่า

ทั้งนี้ Recorded Future ได้ตรวจพบการพูดถึงวิธีโจมตีช่องโหว่ดังกล่าวอย่างมากในเว็บบอร์ดใต้ดินของจีนและรัสเซีย รวมถึงมีการเผยแพร่ Proof of Concept (POC) ของช่องโหว่นี้อย่างเปิดเผยทั่วไปแล้ว เช่น Apache Struts2 CVE-2018-11776 POC และ St2-057 Poc Example ผู้ดูแลระบบจึงควรทำการอัปเดต Apache Struts โดยด่วน
ผู้ที่ได้รับผลกระทบ
นอกจากผู้ใช้ Apache Struts ทั่วไปที่ใช้ Apache Struts รุ่น 2.3 ถึง 2.3.34 และ 2.5 ถึง 2.5.16 จะได้รับผลกระทบแล้ว บริษัทต่างๆ ที่มีการใช้ Apache Struts ในผลิตภัณฑ์อย่าง Cisco ยังได้รับผลกระทบอีกด้วย โดย Cisco อยู่ระหว่างการตรวจสอบว่ามีผลิตภัณฑ์ใดบ้างที่ได้รับผลกระทบบ้าง
แนวทางแก้ไข

อัปเดต Apache Struts เป็นเวอร์ชั่น 2.3.35 หรือ 2.5.17
ตั้งค่า namespace อยู่เสมอ

ตรวจจับการโจมตี

เนื่องจากการโจมตีช่องโหว่ CVE-2018-11776 สามารถโจมตีได้ผ่านเน็ตเวิร์ค ทำให้ Web Application Firewall (WAF) ต่างๆ เช่น Imperva ได้ทำการเพิ่มการดักจับการโจมตีดังกล่าวเข้าไปในบริการแล้ว
สามารถตรวจจับได้ด้วย Snort rule

โดย Talos ออกคำแนะนำว่าสามารถตรวจจับได้ด้วย Snort rule SID 29639, 39190, 39191 และ 47634
และมีผู้เผยแพร่ Snort rule เพื่อใช้ในการตรวจจับ ดังนี้

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

https://researchcenter.

ทำความรู้จักช่องโหว่ Foreshadow (L1 Terminal Fault – L1TF) อ่านข้อมูลจากแคชซีพียูแม้มีโหมดป้องกันได้โดยตรง

สรุปย่อ
Intel ร่วมกับนักวิจัยเปิดเผยสามช่องโหว่ใหม่ภายใต้ชื่อ L1 Terminal Fault (L1TF) หรือ Foreshadow โดยเป็นการต่อยอดจากช่องโหว่ Meltdown ซึ่งส่งผลให้ผู้โจมตีสามารถเข้าถึงคำสั่งและข้อมูลที่กำลังทำงานอยู่ในซีพียู รวมไปถึงส่วนของซีพียูที่ถูกป้องกันด้วยฟีเจอร์ป้องกันการเข้าถึงข้อมูลได้

ช่องโหว่ Foreshadow นี้ส่งผลโดยตรงกับคุณสมบัติของฟีเจอร์ Intel Software Guard Extensions (Intel SGX) ซึ่งมีหน้าที่สำคัญในการป้องกันการเข้าถึงข้อมูลจากโปรแกรม โค้ด ระบบปฏิบัติการหรือแม้แต่ hypervisor เองหากไม่ได้รับอนุญาตให้เข้าถึง

ในมุมของผู้ใช้งานนั้น ผลลัพธ์ของช่องโหว่ Foreshadow อาจคล้ายหรือใกล้เคียงกับผลลัพธ์ของช่องโหว่ Spectre หรือ Meltdown อย่างไรก็ตาม Foreshadow ระบุเฉพาะเจาะจงไปที่ซีพียูที่มีการใช้งานฟีเจอร์ป้องกัน Intel SGX ที่มักจะถูกเปิดใช้งานบนระบบที่ต้องการความปลอดภัยสูง และบ่งบอกว่าจะมีการป้องกันในระดับฮาร์ดแวร์ก็ยังคงได้รับผลกระทบอยู่เช่นกัน

รายละเอียดช่องโหว่
เมื่อวันที่ 14 สิงหาคม 2018 ที่ผ่านมา บริษัท Intel ร่วมกับนักวิจัยเปิดเผยสามช่องโหว่ใหม่ที่ส่งผลกระทบกับซีพียู (CPU) ยี่ห้อ Intel ซึ่งเป็นช่องโหว่ที่ใช้ประโยชน์จากกระบวนการทำงานหนึ่งของซีพียูที่เรียกว่า speculative execution เช่นเดียวกับช่องโหว่ Meltdown และ Spectre ที่เปิดเผยเมื่อต้นปี 2018 ที่ผ่านมา

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

ช่องโหว่ทั้งสามตัวนี้เป็นการใช้ประโยชน์จากกระบวนการ speculative execution เพื่ออ่านค่าของแคชระดับที่ 1 (L1 Cache) ซึ่งเป็นแคชอยู่ใกล้กับซีพียูที่สุด ช่องโหว่ทั้งสามถูกอ้างอิงด้วยศัพท์เทคนิคว่า L1 Terminal Fault หรือ L1TF 

ซึ่งแบ่งย่อยได้เป็น

L1 Terminal Fault – SGX หรือ CVE-2018-3615 หรือ Foreshadow
L1 Terminal Fault – OS/SMM หรือ CVE-2018-3620 หรือ Foreshadow-NG
L1 Terminal Fault – VMM หรือ CVE-2018-3646 หรือ Foreshadow-NG

ผลกระทบ
ช่องโหว่ L1 Terminal Fault – SGX ได้คะแนน CVSSv3 7.9 สามารถใช้โจมตี Intel Software Guard Extensions (SGX) ได้ โดย SGX เป็นเทคโนโลยีรักษาความปลอดภัยที่ใช้ในซีพียูของ intel ตั้งแต่ปี 2013 เป็นการรักษาความปลอดภัยของข้อมูลเพื่อให้อ่านหรือแก้ไขได้เฉพาะกระบวนการที่น่าเชื่อถือเท่านั้น ทำให้ทนทานต่อการโจมตีหลายรูปแบบ แต่ช่องโหว่ Foreshadow ทำให้ผู้โจมตีสามารถหลีกเลี่ยง SGX และอ่านข้อมูลภายในแคชระดับที่ 1 เช่น รหัสผ่านหรือคีย์เข้ารหัสได้ กระทบผู้ใช้ทั้งหมดที่ใช้ซีพียู Intel ที่มีการเปิดใช้งาน Intel SGX

ช่องโหว่ L1 Terminal Fault – OS/SMM ได้คะแนน CVSSv3 7.1 สามารถอ่านข้อมูลในเคอร์เนลของระบบปฎิบัติการ และข้อมูลใน system management mode (SMM) ผ่านแคชระดับที่ 1ได้ กระทบผู้ใช้ทั้งหมด

ช่องโหว่ L1 Terminal Fault – VMM ได้คะแนน CVSSv3 7.1 ทำให้อ่านข้อมูลบนระบบ hypervisor ได้ จึงอ่านค่าหน่วยความจำของเครื่องเสมือน (VM) อื่นบนซีพียูเดียวกันได้ กระทบผู้ใช้บริการเครื่องเสมือนบนคลาวด์  ระบบดาตาเซ็นเตอร์ และผู้ให้บริการคลาวด์โดยเฉพาะผู้ให้บริการคลาวด์ที่แชร์ซีพียูระหว่างเครื่องเสมือนของผู้ใช้หลายรายการเข้าด้วยกัน

ในขณะนี้ยังไม่มีการตรวจพบการใช้ช่องโหว่ทั้งสามในการโจมตีจริง
คำแนะนำสำหรับผู้ใช้งานทั่วไป
ช่องโหว่  L1 Terminal Fault – SGX และ L1 Terminal Fault – OS/SMM สามารถป้องกันได้โดยอัปเดต microcode ภายในซีพียู และอัปเดตระบบปฏิบัติการ ซึ่ง Microsoft ได้มีการอัปเดตเพื่อป้องกันไปในแพตช์ความปลอดภัยประจำเดือนสิงหาคม 2018 แล้ว
คำแนะนำสำหรับผู้ใช้งานคลาวด์
ผู้ใช้งานคลาวด์ควรอ่านคำแนะนำความปลอดภัยเกี่ยวกับ L1TF ที่ผู้ให้บริการที่ตนเองใช้งาน และปฏิบัติตามคำแนะนำดังกล่าว โดยผู้บริการต่างๆ ได้ให้คำแนะนำไว้ดังนี้

Amazon Web Services
Google Cloud
Microsoft Azure
DigitalOcean
Linode 
Oracle 

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

https://www.

บทวิเคราะห์กรณี US-CERT ออกคำเตือนถึงความเป็นไปได้ที่จะเกิดการโจมตีระบบ ERP เพิ่มมากขึ้น

บทนำ
ในวันที่ 25 กรกฏาคม 2018 US-CERT ออกคำเตือนถึงความเป็นไปได้ที่จะเกิดการโจมตีระบบ ERP เพิ่มมากขึ้น โดยอ้างอิงจากรายงานร่วมระหว่าง Digital Shadows และ Onapsis ชื่อ ERP Applications Under Fire: How Cyber Attackers Target the Crown Jewels ซึ่งเป็นรายงานวิเคราะห์เกี่ยวกับการโจมตีระบบ ERP ของสองค่ายใหญ่ SAP และ Oracle

ทั้งนี้รายงานฉบับนี้เป็นการรายงานต่อมาจากรายงาน Wild Exploitation & Cyber-attacks On SAP Business Applications ของ Onapsis ในเดือนพฤษภาคม 2016 ซึ่ง US-CERT ได้ใช้อ้างอิงในการออกเตือนประกาศ US-CERT TA16-132A เกี่ยวกับการโจมตีระบบ SAP ที่กระทบกว่า 36 องค์กรระดับโลก โดยประเด็นที่องค์กรบกพร่องในการอัปเดตแพตช์ที่เหมาะสมและมีการตั้งค่าแอปพลิเคชันที่กระทบต่อความปลอดภัย

รายงาน ERP Applications Under Fire สรุปว่าระบบ ERP กำลังเป็นเป้าหมายของผู้โจมตีทางไซเบอร์ นอกจากนั้นยังพบว่ามีระบบ ERP ที่เชื่อมต่อกับอินเตอร์เน็ตหรือใช้งานบนระบบคลาวด์ที่ทุกคนสามารถเข้าถึงได้อยู่เป็นจำนวนมากซึ่งเป็นการเพิ่มโอกาสที่จะถูกโจมตีที่มากขึ้น ทั้งนี้ภายในรายงานยังมีการแนะนำวิธีในการจัดการความเสี่ยงที่เกิดขึ้นอีกด้วย
Key Finding
รายงาน ERP Applications Under Fire ทำการสรุปประเด็นสำคัญของรายงานไว้ 4 ข้อ ดังนี้

อาชญากรไซเบอร์ทำการพัฒนามัลแวร์เพื่อโจมตี ERP เช่น มัลแวร์ชื่อดังอย่าง Dridex ถูกอัปเดตในปี 2017 และเดือนกุมภาพันธ์ 2018 เพื่อโจมตี SAP โดยขโมยบัญชีผู้ใช้งานและรหัสผ่านของระบบ SAP ทำให้อาชญากรไซเบอร์เข้าถึงระบบ ERP ได้
ERP ตกเป็นเป้าหมายของกลุ่มบุคคลที่มีองค์กรหรือรัฐบาลของประเทศใดประเทศหนึ่งคอยให้การสนับสนุนอยู่เบื้องหลัง เช่น กลุ่มเพื่อโจรกรรมข้อมูลและก่อวินาศกรรม
มีการโจมตีใช้ประโยชน์จากช่องโหว่ที่เผยแพร่แล้วของ ERP มากขึ้นเมื่อเทียบกับการโจมตีผ่านช่องโหว่ zero-day เพื่อโจมตีระบบที่บกพร่องในการแพตช์และมีการตั้งค่าที่กระทบต่อความปลอดภัย
การใช้งานผ่านระบบคลาวด์, อุปกรณ์เคลื่อนที่และแนวโน้มของการย้ายระบบงานให้มีความทันสมัยมากขึ้นทำให้โอกาสและความเสี่ยงที่ระบบ ERP จะถูกโจมตีนั้นมีมากขึ้นตาม ทั้งนี้ผู้วิจัยพบว่ามี SAP และ Oracle ERP มากกว่า 17,000 แอปพลิเคชันที่เชื่อมต่อและสามารถเข้าถึงได้ผ่านอินเตอร์เน็ต โดยสามประเทศที่มีความเสี่ยงดังกล่าวสูงสุดได้แก่ สหรัฐอเมริกา เยอรมนี และสหราชอาณาจักรอังกฤษ

วิเคราะห์การโจมตี ERP ผ่าน i-secure Cyber Kill Chain
เพื่อช่วยในการทำความเข้าใจการโจมตีระบบ ERP มากขึ้น ทีมตอบสนองการโจมตีและภัยคุกคามจะทำการอธิบายการโจมตีตามหลักการของ i-secure Cyber Kill Chain ซึ่งจะประกอบด้วยขั้นตอนการโจมตีดังต่อไปนี้

Reconnaissance (ขั้นตอนการสำรวจและเก็บข้อมูล)
Delivery (ขั้นตอนการจัดส่งและพยายามโจมตี)
Exploitation (ขั้นตอนการโจมตีช่องโหว่)
Privilege Escalation (ขั้นตอนการยกระดับสิทธิ์)
Credential Access (ขั้นตอนการเข้าถึงข้อมูลบัญชีผู้ใช้งานและรหัสผ่าน)
Lateral Movement (ขั้นตอนการโจมตีไปยังระบบอื่นในเครือข่ายเดียวกัน)
Exfiltration (ขั้นตอนการนำข้อมูลออกจากระบบ)
Command and control (ขั้นตอนการติดต่อเซิร์ฟเวอร์ที่ใช้ออกคำสั่งและควบคุม)

Reconnaissance
การโจมตีทุกการโจมตีนั้นจำเป็นต้องเริ่มต้นด้วยการสำรวจและเก็บข้อมูลของเป้าหมายเสมอ จากการวิเคราะห์การโจมตีระบบ ERP หลายเหตุการณ์ ทีมตอบสนองการโจมตีและภัยคุกคามพบพฤติกรรมในการสำรวจและเก็บข้อมูลของเป้าหมายในลักษณะต่างๆ กันดังนี้

ผู้โจมตีมักมีการนำข้อมูลที่ได้จากเว็บบอร์ดใต้ดินของกลุ่มแฮกเกอร์มาทำการค้นหาเป้าหมาย โดยตัวอย่างด้านล่างคือคำค้นหาตามรูปแบบของ Google ที่ช่วยค้นหาระบบที่มีช่องโหว่อยู่ได้

ค้นหาระบบ ERP ที่สามารถเข้าถึงได้ผ่านอินเตอร์เน็ต โดยใช้เครื่องมือในรูปแบบของบริการเก็บและค้นหาข้อมูลบนอินเตอร์เน็ต อาทิ Shodan และ Censys
ค้นหาการใช้งานแอปพลิเคชัน Trello, Github หรือเว็บที่เปิดให้เข้าถึงได้ผ่านอินเตอร์เน็ตซึ่งมีการบันทึกบัญชีผู้ใช้งานและรหัสผ่านสำหรับเข้าถึงระบบ ERP เอาไว้

ค้นหาระบบแชร์ไฟล์ที่มีการตั้งค่าอย่างไม่เหมาะสม อาทิ ระบบที่ใช้งาน rsync, SMB FTP, และ Amzaon S3 เพื่อหาไฟล์การตั้งค่าของระบบ ERP ซึ่งอาจมีข้อมูลที่ใช้ในการเข้าถึงระบบ ERP ภายใน

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

หากเจอบัญชีผู้ใช้งานและรหัสในขั้นตอนของการสำรวจและเก็บข้อมูล ผู้โจมตีจะดำเนินการใช้ข้อมูลดังกล่าวในการเข้าถึงระบบโดยทันที
ทดลองเข้าถึงระบบ ERP ด้วยข้อมูลสำหรับยืนยันตัวตนที่เป็นค่าเริ่มต้นของระบบ เช่น ระบบ SAP HANA จะมีการรหัสผ่านเริ่มต้นคือ sap123 เสมอ
โจมตีระบบ ERP ด้วยช่องโหว่ที่มีอยู่แล้ว เช่น ช่องโหว่ CVE-2010-5326

Privilege Escalation + Credential Access + Lateral Movement
แม้ว่าจะยังไม่มีการรูปแบบพฤติกรรมที่ชัดเจน แต่การโจมตีโดยส่วนมากนั้นจะทำให้ผู้โจมตีได้สิทธิ์ของผู้ดูแลระบบโดยทันที ซึ่งทำให้ผู้โจมตีสามารถใช้สิทธิ์สูงสุดที่มีอยู่ในการเข้าถึงและโจมตีระบบอื่นๆ ได้
Exfiltration
หนึ่งในการโจมตีด้วยช่องโหว่ CVE-2010-5326 ผู้โจมตีมีการใช้คำสั่งตามรูปภายด้านล่างในการพยายามส่งข้อมูลออกจากระบบที่ยึดครองได้แล้ว

Command and control
ผู้โจมตีมักมีการเปลี่ยนเซิร์ฟเวอร์ที่ใช้ในการออกคำสั่งและควบคุมซึ่งถูกใช้ทั้งในการโจมตีและการรับไฟล์ที่ขโมยออกมาได้ไปเรื่อยๆ ตามรูปแบบการโจมตีและแตกต่างกันตามกลุ่มของผู้โจมตี ไม่สามารถระบุเฉพาะเจาะจงได้แน่นอน
คำแนะนำเบื้องต้นในการป้องกันและลดผลกระทบจากการโจมตีระบบ ERP

ดำเนินการตั้งค่าของระบบ ERP ให้เป็นไปตามคำแนะนำของผู้ผลิตหรือ Best Practices เสมอ
หมั่นประเมินช่องโหว่ของ ERP อย่างสม่ำเสมอ โดยอ้างอิงจากการอัปเดตแพตช์ของผู้ผลิต อาทิ SAP จะออกอัปเดตทุกเดือน และ Oracle จะออกรายไตรมาส นอกเหนือไปจากการประเมิณช่องโหว่ OS และอื่นๆ
ดำเนินการควบคุมสิทธิ์ของผู้ใช้งานให้เหมาะสม และคอยตรวจสอบพร้อมทั้งควบคุมการตั้งค่ารหัสผ่านของผู้ใช้าน
ค้นหาและกำจัดการเชื่อมต่อและการใช้งานที่ทำให้เกิดความเสี่ยงด้านความปลอดภัย โดยเฉพาะอย่างยิ่งการเชื่อมต่อเพื่อให้สามารถเข้าถึงได้จากระบบอินเตอร์เน็ต
หมั่นตรวจสอบและเฝ้าระวังพฤติกรรมการใช้งานของผู้ใช้งาน รวมไปถึงข้อมูลของระบบ ERP เมื่อมีการรั่วไหลออกสู่ภายนอก

Every Android Device Since 2012 Impacted by RAMpage Vulnerability

ทีมนักวิจัยนานาชาติได้เปิดเผยว่าอุปกรณ์ Android ที่เปิดตัวตั้งแต่ปี 2012 เกือบทุกเครื่อง เสี่ยงต่อช่องโหว่ในหน่วยความจำตัวใหม่ชื่อว่า "RAMpage"

ย้อนกลับไปก่อนหน้านี้ได้มีการค้นพบช่องโหว่ CVE-2018-9442 เป็นรูปแบบของการโจมตีที่เรียกว่า "Rowhammer" ซึ่งเป็นช่องโหว่ของฮาร์ดแวร์ในการ์ดหน่วยความจำรุ่นใหม่ เมื่อมีคนส่งคำสั่ง write/read เข้าไปยัง memory cell เดียวกันซ้ำๆ จะทำให้เกิดสนามไฟฟ้าที่จะสามารถเปลี่ยนแปลงข้อมูลที่เก็บอยู่ในหน่วยความจำใกล้เคียง และพบว่าสามารถโจมตีโดยใช้ Rowhammer ผ่านทาง JavaScript, GPU card และ network packet ได้

RAMpage เป็นช่องโหว่จำพวกเดียวกับ Rowhammer โดยช่องโหว่นี้สามารถทำลายขอบเขตการป้องกันความปลอดภัยระหว่างแอพพลิเคชั่น และระบบปฏิบัติการที่ได้ออกแบบมาบนอุปกรณ์มือถือ ซึ่งช่วยป้องกันไม่ให้แอพพลิเคชั่นใดๆที่ลงบนอุปกรณ์สามารถอ่านข้อมูลจากแอพพลิเคชั่นอื่นๆที่ลงบนเครื่องได้ แต่แอพพลิเคชั่นที่ถูกดัดแปลงให้ใช้ช่องโหว่นี้ จะสามารถโจมตีเพื่อเพิ่มสิทธิ์ตนเองให้สามารถควบคุมเครื่อง และทำการอ่านข้อมูลสำคัญๆที่ถูกเก็บอยู่บนเครื่องได้ เช่น พาสเวิร์ดที่อยู่ใน password manager หรือบน browser, รูปถ่าย, email, chat และเอกสารสำคัญทางธุรกิจต่างๆที่อยู่บนเครื่อง

โดยความแตกต่างระหว่างช่องโหว่ก่อนหน้านี้(Drammer Rowhammer) และ RAMpage Rowhammer เวอร์ชันใหม่คือ RAMpage มุ่งเป้าหมายไปที่ระบบหน่วยความจำ Android ที่เรียกว่า ION ซึ่งเป็นส่วนหนึ่งของระบบ Android ที่ใช้จัดการหน่วยความจำระหว่างแอพพลิเคชั่นและระบบปฏิบัติการ ทั้งนี้ Google ได้มีการเปิดตัว ION ใน Android 4.0 (Ice Cream Sandwich) ตั้งแต่วันที่ 18 ตุลาคม 2554

ที่มา : BLEEPINGCOMPUTER

วิเคราะห์ช่องโหว่ Zip Slip: แตกไฟล์บีบอัดแล้วถูกแฮ็กได้โดยไม่รู้ตัว

สรุปย่อ
ทีมนักวิจัยด้านความปลอดภัยจากบริษัท Snyk ได้ออกมาเปิดเผยช่องโหว่ใหม่ภายใต้ชื่อ Zip Slip โดยการโจมตีช่องโหว่ดังกล่าวนั้นอาจทำให้เหยื่อทำการรันโค้ดอันตรายโดยไม่รู้ตัวเมื่อทำการคลายการบีบอัดหรือแตกไฟล์บีบอัดซึ่งถูกสร้างมาอย่างเฉพาะเจาะจง และนำไปสู่ความเสี่ยงต่อคุณสมบัติด้านความปลอดภัยในระบบได้

รายละเอียดช่องโหว่
ช่องโหว่ Zip Slip มีที่มาจากปัญหาของการไม่ตรวจสอบค่านำเข้าของไลบรารีที่ทำหน้าที่ในการคลายการบีบอัดของไฟล์อย่างถี่ถ้วน อีกทั้งไม่มีการทำไลบรารีกลางซึ่งมีความปลอดภัยมากพอในการจัดการกับไฟล์บีบอัด ส่งผลให้เกิดการพัฒนาซอฟต์แวร์หรือการเผยแพร่โค้ดต่างๆ ที่ทำงานได้แต่ไม่มีความปลอดภัย ซึ่งทำให้ผู้โจมตีสามารถใช้ช่องโหว่ดังกล่าวในการทำให้เกิดการลักษณะการโจมตีที่เรียกว่า Directory Traversal ซึ่งอาจนำไปสู่การรันโค้ดที่เป็นอันตรายจากระยะไกลได้ (Remote Code Execution)

ช่องโหว่ Zip Slip นั้นถูกตรวจพบในไลบารีในภาษาโปรแกรมมิ่งหลายภาษา อาทิ JavaScript, Ruby, .NET และ Go รวมไปถึง Java ซึ่งมีการใช้โค้ดที่มีช่องโหว่เป็นจำนวนมาก ตัวอย่างหนึ่งของโค้ดที่มีช่องโหว่ในภาษา Java มีตามตัวอย่างด้านล่าง
Enumeration<ZipEntry> entries = zip.

Remote Code Execution Vulnerability Disclosed in Windows JScript Component

นักวิจัยด้านความปลอดภัย Dmitri Kaslov จาก Telspace Systems ได้ประกาศการค้นพบช่องโหว่ล่าสุดในส่วน Jscript ซึ่งอยู่ในระบบปฏิบัติการ Windows โดยอาจส่งผลให้เกิดการรันโค้ดที่เป็นอันตรายได้จากระยะไกล

ช่องโหว่ดังกล่าวเกิดขึ้นจากปัญหาในลักษณะ dangling pointer ซึ่งในช่องโหว่นี้นั้นคือการที่ pointer ของโปรแกรมยังคงชี้ไปยังจุดใดจุดหนึ่งในหน่วยความจำเคยถูกใช้งานแต่ถูกคืนพื้นที่กลับไปแล้ว อาจส่งผลให้ pointer ชี้ไปยังหน่วยความจำที่มีการใช้งานอยู่แต่ไม่เกี่ยวข้องกับการทำงานและเกิดเป็นพฤติกรรมของโปรแกรมที่ไม่สามารถคาดเดาได้ (undefined behavior)

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

ไมโครซอฟต์รับทราบถึงการมีอยู่ของช่องโหว่แล้ว และจะดำเนินการแก้ไขพร้อมกับปล่อยแพตช์ออกมาในเร็วๆ นี้

ที่มา : bleepingcomputer

Announcing the May 2018 Git Security Vulnerability

แจ้งเตือนช่องโหว่ใน Git เสี่ยงโดนรันโค้ดที่เป็นอันตรายได้
ซอฟต์แวร์ทำ version control “Git” ถูกระบุถึงการมีอยู่ของสองช่องโหว่ร้ายแรงเมื่อวานนี้ โดยผลจากการโจมตีช่องโหว่ดังกล่าวนั้นส่งผลให้เมื่อผู้ใช้งานทำการเรียกใช้ฟังก์ชัน clone จาก git ในรุ่นที่มีช่องโหว่แล้วไปยัง repository ที่ถูกสร้างขึ้นเพื่อโจมตีช่องโหว่แล้ว อาจถูกรันโค้ดที่เป็นอันตรายในระบบของผู้ใช้งานได้

ช่องโหว่แรกคือช่องโหว่ CVE-2018-11233 เป็นช่องโหว่ที่เกิดจากการอ่านข้อมูลที่เกินขอบเขตของหน่วยความจำเมื่อทำการตรวจสอบพาธในระบบไฟล์แบบ NTFS ส่วนช่องโหว่ที่สองคือช่องโหว่ CVE-2018-11235 นั้นเป็นช่องโหว่ remote code execution ซึ่งเกิดขึ้นเมื่อมีผู้ประสงค์ร้ายทำการสร้างไฟล์ .gitmodules ซึ่งเมื่อถูกโคลนด้วยคำสั่ง git clone –recurse-submodules แล้ว อาจส่งผลให้เกิดการทำ directory traversal และการรันโค้ดที่เป็นอันตรายได้

CVE-2018-11233 และ CVE-2018-11235 ส่งผลกระทบ Git ก่อนรุ่น 2.13.7, 2.14.x ก่อนรุ่น 2.14.4, 2.15.x ก่อนรุ่น 2.15.2, 2.16.x ก่อนรุ่น 2.16.4, และ 2.17.x ก่อนรุ่น 2.17.1
สองช่องโหว่ที่ถูกค้นพบนั้นได้ถูกแก้ไขแล้วใน Git รุ่น 2.17.1 ผู้ใช้งานสามารถทำการอัปเดตโปรแกรมเพื่อรับแพชต์สำหรับช่องโหว่ได้ทันที ในขณะเดียวกันในฝั่งของผู้ให้บริการอย่าง GitHub และ Microsoft ก็ได้มีการเพิ่มฟีเจอร์ในการตรวจสอบหาโค้ดสำหรับโจมตีที่อยู่ใน repository เพื่อช่วยป้องกันแล้ว

Recommendation
สองช่องโหว่ที่ถูกค้นพบนั้นได้ถูกแก้ไขแล้วใน Git รุ่น 2.17.1 ผู้ใช้งานสามารถทำการอัปเดตโปรแกรมเพื่อรับแพชต์สำหรับช่องโหว่ได้ทันที ในขณะเดียวกันในฝั่งของผู้ให้บริการอย่าง GitHub และ Microsoft ก็ได้มีการเพิ่มฟีเจอร์ในการตรวจสอบหาโค้ดสำหรับโจมตีที่อยู่ใน repository เพื่อช่วยป้องกันแล้ว

Affected Platform
Git ก่อนรุ่น 2.13.7, 2.14.x ก่อนรุ่น 2.14.4, 2.15.x ก่อนรุ่น 2.15.2, 2.16.x ก่อนรุ่น 2.16.4, และ 2.17.x ก่อนรุ่น 2.17.1

ที่มา : Microsoft

วิเคราะห์ช่องโหว่ EFAIL: เมื่อการเข้ารหัสอีเมลไม่เป็นผล

สรุปย่อ
เมื่อสัปดาห์ที่ผ่านมา ทีมนักวิจัยซึ่งประกอบด้วยนักวิจัยจาก Münster University of Applied Sciences, Ruhr University Bochum และ KU Leuven ได้ร่วมกันเปิดเผยช่องโหว่ใหม่ภายใต้ชื่อช่องโหว่ว่า EFAIL โดยช่องโหว่ดังกล่างนั้นเป็นช่องโหว่ที่อาจทำให้เกิดการรั่วไหลของข้อมูลเมื่ออีเมลถูกเข้ารหัสด้วยเทคโนโลยีอย่าง OpenPGP และ S/MIME ซึ่งจำเป็นต้องอาศัยการดักจับและแก้ไขข้อมูลรวมไปถึงปัญหาในโปรแกรมอ่านอีเมลด้วยได้

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

ช่องโหว่ EFAIL นั้นเกิดขึ้นจากปัญหาด้านความปลอดภัยหลายปัจจัย โดยในบล็อกนี้นั้นทีมตอบสนองการโจมตีและภัยคุกคามจะมาอธิบายปัญหาดังกล่าวซึ่งนำไปสู่การเกิดขึ้นของช่องโหว่ ข้อเท็จจริงของช่องโหว่ พร้อมทั้งวิธีการลดผลกระทบจากช่องโหว่ให้ได้ทำความเข้าใจกันครับ
รายละเอียดช่องโหว่
ช่องโหว่ EFAIL นั้นเกิดขึ้นได้เนื่องจากปัญหาด้านความปลอดภัยหลัก 2 ประการดังต่อไปนี้

ปัญหาจากการทำงานในโปรแกรมรับ-ส่งอีเมล (E-mail Client) ซึ่งทำให้เกิดการประมวลผลข้อมูลที่มาในรูปแบบของ HTML ในลักษณะที่เป็นอันตรายได้
ปัญหาในกระบวนการเข้ารหัสของ OpenPGP และ S/MIME ซึ่งส่งผลให้ผู้โจมตีสามารถควบคุมและกำหนดลักษณะของข้อมูลเมื่อถูกถอดรหัสออกมาแล้วด้วยการแก้ไขข้อมูลที่ถูกเข้ารหัสอยู่ได้ โดยไม่จำเป็นต้องถอดรหัสข้อมูลหรือรู้กุญแจหรือใบรับรองในการเข้ารหัสข้อมูลได้

ปัญหาจากการทำงานโปรแกรมรับ-ส่งอีเมล
สำหรับปัญหาแรกที่ทำให้เกิดช่องโหว่ EFAIL ได้นั้นมีที่มาจากโปรแกรมรับ-ส่งอีเมลที่เราใช้กันอยู่ทุกวันซึ่งแตกต่างกันไปในแต่ละโปรแกรม โดยพฤติกรรมของโปรแกรมที่ทำให้เกิดปัญหานั้นคือวิธีการในแสดงผล HTML ที่มากับอีเมล

ในโปรแกรมรับ-ส่งอีเมลบางโปรแกรมนั้น เมื่อผู้ใช้งานทำการเปิดอีเมลซึ่งมีเนื้อหาประกอบด้วยโค้ดในภาษา HTML โปรแกรมจะพยายามทำการแสดงผลตามโค้ด HTML ที่มีอยู่โดยอัตโนมัติ ซึ่งรวมไปถึงการพยายามดึงรูปจากแหล่งอื่นซึ่งถูกฝังมากับแท็กอย่าง <img>

ผู้โจมตีสามารถอาศัยพฤติกรรมของโปรแกรมในลักษณะนี้นั้นในการขโมยเนื้อหาที่อยู่อีเมล (ที่ยังไม่ถูกเข้ารหัส) ออกมาได้โดยการเพิ่มหรือแก้ไขโค้ด HTML ซึ่งมีอยู่แล้วในอีเมล โดยตัวอย่างหนึ่งในการแก้ไขเพื่อให้ขโมยข้อมูลออกมาได้ถูกแสดงตามรูปภาพด้านล่าง (เนื้อหาของอีเมลจะถูกเน้นเป็นตัวเข้ม)

หากสังเกตตามโค้ดซึ่งปรากฎตามรูปภาพด้านบน อาจจะสังเกตได้ว่าแท็ก <img> ไม่ได้ถูกใช้งานในการแสดงผลรูปภาพอย่างถูกต้อง เพราะในการใช้งานโดยทั่วไปนั้นพารามิเตอร์ src จะถูกชี้ไปยังไฟล์รูปภาพที่อยู่ในแหล่งอื่นๆ คำถามสำคัญก็คือหากผู้ใช้งานมีการเปิดอีเมลที่มีเนื้อหาตามรูปภาพด้านบนแล้วจะเกิดอะไรขึ้น?

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

จะสังเกตเห็นว่าเนื้อหาที่ถูกระบุอยู่ในอีเมลซึ่งก็คือส่วนที่เป็น Secret Meeting.

วิเคราะห์โค้ดโจมตีช่องโหว่ Drupalgeddon2 (CVE-2018-7600)

สรุปย่อ
หลังจากโครงการ Drupal ประกาศพบช่องโหว่ร้ายแรงรหัส CVE-2018-7600 หรือ SA-CORE-2018-002 ซึ่งเป็นช่องโหว่ประเภท Remote Code Execution (RCE) ที่มีผลกระทบโดยตรงกับ Drupal เวอร์ชั่น 7.x, 8.3.x, 8.4.x และ 8.5.x เมื่อวันที่ 28 มีนาคมที่ผ่านมานั้น ในตอนนี้โค้ดสำหรับโจมตีช่องโหว่ดังกล่าวก็ได้มีการถูกเผยแพร่ออกสู่สาธารณะและถูกนำมาใช้ในการโจมตีจริงแล้ว ทีมผู้เชี่ยวชาญด้านความปลอดภัยบนเว็บแอปพลิเคชันจาก บริษัท ไอ-ซีเคียว จำกัด จึงจะขอนำช่องโหว่และโค้ดสำหรับโจมตีช่องโหว่มาอธิบายเพื่อสร้างความตระหนักรู้ซึ่งจะนำไปสู่การควบคุมและจัดการความเสี่ยงที่จะถูกโจมตีโดยช่องโหว่นี้ครับ

Drupal เป็นโครงการซอฟต์แวร์แบบโอเพนซอร์สในรูปแบบของตัวจัดการเนื้อหาบนเว็บไซต์ (Content Management System - CMS) ซึ่งได้รับความนิยมและถูกใช้งานมากมายทั่วโลก สำหรับช่องโหว่ล่าสุดคือ Drupalgeddon2 นั้น ที่มาที่แท้จริงยังคงเกิดจากปัญหายอดนิยมคือประเด็นของการตรวจสอบข้อมูลนำเข้า (input) ที่ถูกส่งมายัง Form API ซึ่งไม่สมบูรณ์มากพอ ทำให้เกิดช่องโหว่ด้านความปลอดภัยที่ผู้ประสงค์ร้ายสามารถรันโค้ดที่เป็นอันตรายได้
ทำความรู้จัก Form API
Form API เป็น API รูปแบบหนึ่งใน Drupal ซึ่งมีการใช้งานรูปแบบการเก็บข้อมูลที่เรียกว่า Renderable Arrays โดยรูปแบบการเก็บข้อมูลชนิดนี้นั้นเป็นส่วนเสริมที่สร้างขึ้นมาเพื่อใช้ในการแสดงโครงสร้างรวมไปถึงส่วนประกอบต่าง ๆ ของ Drupal

ข้อมูลใน Renderable Arrays นั้นจะถูกเก็บอยู่ในรูปแบบของอาเรย์ที่มี key และ value ซึ่งจะถูกเรียกใช้ในแต่ละครั้งที่มีการพยายามแสดงผล (render) จาก API ข้อมูลในส่วนของ key ภายในอาเรย์นั้นจะถูกระบุโดยมีการใช้เครื่องหมาย # (hash) นำหน้าค่าของ key เสมอ

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

ด้วยลักษณะของฟอร์มกรอกข้อมูลที่สามารถเข้าถึงสาธารณะ ช่องโหว่ Drupalgeddon2 จึงอาศัยฟอร์มกรอกข้อมูลและปัญหาของการไม่ตรวจสอบข้อมูลนำเข้าที่ผู้ใช้งานส่งเข้าไปในรูปแบบ Renderable Arrays เพื่อควบคุมและสั่งการให้เกิดการประมวลผลที่ส่งผลกระทบต่อความปลอดภัยได้
การโจมตีช่องโหว่
อ้างอิงจากบทวิเคราะห์ช่องโหว่จาก CheckPoint และ Dofinity พร้อมโค้ดสำหรับโจมตีช่องโหว่ Drupalgeddon2 ซึ่งถูกเผยแพร่ออกมานั้น หนึ่งในตัวอย่างของการโจมตีช่องโหว่สามารถทำได้โดยผ่าน curl อ้างอิงจาก @IamSecurity ในรูปแบบดังนี้
$ curl -s -X 'POST' --data 'mail[%23post_render][]=exec&mail[%23children]=pwd&form_id=user_register_form' 'http://drupal.

แจ้งเตือนช่องโหว่ร้ายแรงสูงสุดบน Drupal 7.x-8.x ยึดเว็บได้จากระยะไกล

ทีมงาน Drupal ประกาศออกแพตช์แก้ไขช่องโหว่ระดับความรุนแรงสูง SA-CORE-2018–002 (CVE-2018-7600) เป็นช่องโหว่ประเภท Remote Code Execution หรือช่องโหว่ที่สามารถรันคำสั่งใดๆ บนเครื่องเว็บเซิฟเวอร์ที่ติดต้ัง Drupal ได้โดยไม่ต้องพิสูจน์ตัวตน มีผลกระทบโดยตรงกับ Drupal เวอร์ชั่น 7.x, 8.3.x, 8.4.x และ 8.5.x

รายละเอียดช่องโหว่
ในแพตช์ซึ่งถูกเผยแพร่ออกมาพร้อมกับเวอร์ชั่นใหม่ของ Drupal แพตช์มีการเพิ่มไฟล์ขึ้นมาหนึ่งไฟล์คือ request-sanitizer.