MS11-100 สำหรับ .Net Framwork 1-4 เครื่อง Web IIS ที่ต่อกับ Internet แนะนำให้รีบลง

Microsoft ได้ออก urgent hotfix MS11-100 KB2638420 และ KB2659883 หรือเรียกว่า out-of-band patch ออกมาวันที่ 29 ธันวาคม 2554 การวิเคราะห์ Hotfix นี้ ที่ถูกแล้วควรมี System Administrator ทำร่วมกับ Developer ที่ชำนาญเรื่อง .NET Framework แต่ผมเป็น System Administrator หากมีอะไรผิดพลาด ช่วยแนะนำด้วยครับ

ปัญหานี้พบบน .NET Framwork บน Windows ทุก Versions

Product ที่ได้รับผลกระทบคือ  เครื่อง Web Server ที่ enable role IIS, มี  .Net Framework 1 – 4 และปัญหานี้พบบน Windows ทุก versions  ส่วน Version ของ .NET มีดังนี้

Microsoft .NET Framework 1.1 Service Pack 1

Microsoft .NET Framework 2.0 Service Pack 2

Microsoft .NET Framework 3.5 Service Pack 1

Microsoft .NET Framework 3.5.1

Microsoft .NET Framework 4

ใน Bulletin นี้ เป็นการแก้ไขปัญหา 4 เรื่องคือ

#

ปัญหา

ผลกระทบ

ระดับความรุนแรง

คำอธิบายแบบย่อ

Workaround

1

Collisions in HashTable May Cause DoS Vulnerability – CVE-2011-3414

Denial of Service Important
  • ปกติ IIS เมื่อมีการ POST FORM แล้ว .NET จะคำนวณค่า HASH เก็บไว้ใน Table ใน Memory เมื่อมีการโจมตีโดยส่งค่าอื่นที่ HASH ที่เท่ากัน ส่งผลกระทบให้ Process กิน Resource จนเกิด Denial of Service

มี

2

Insecure Redirect in .NET Form Authentication Vulnerability – CVE-2011-3415

Spoofing Moderate
  • มี Vulnerability ในขั้นตอน Verify URL ของ .NET ตอนกำลังทำ Form Authentication
  • การ attack ผู้โจมตีต้องสร้าง URL ที่สร้างเป็นพิเศษส่งให้ user แล้ว เมื่อ user หลงกด link จะถูก track ตลอดเวลาที่ใช้งานบน web site
  • เมื่อทำสำเร็จผู้โจมตีจะ redirect user ไป web site โดย user ไม่รู้ตัว
  • User อาจถูกหลอกให้ไปทำอะไรต่ออีกได้

มี

3

ASP.Net Forms Authentication Bypass Vulnerability – CVE-2011-3416

Elevation of Privilege Critical
  • มี Vulnerability ใน Function ของที่ ASP.NET membership system เรียกใช้ทำงานผิดพลาด
  • ส่งผลให้ผู้โจมตี ซึ่งเค้าต้องรู้ Logon/Password ของ User ก่อนจะลงมือโจมตี  เมื่อผู้โจมตีจะ Logon เข้าระบบแล้ว
    ได้สิทธิของ user อื่นที่ต้องการ

มี

4

ASP.NET Forms Authentication Ticket Caching Vulnerability – CVE-2011-3417

Elevation of Privilege Important
  • การโจมตี attacker ส่ง link มาทาง e-mail
  • ปัญหาเกิดจาก .NET Framework จัดการกับ content ที่เก็บใน cache

มี

จาก Vulnerability ทั้ง 4 ตัว มี 2 ตัวที่น่ากลัว ขอขยายความดังนี้

Collisions in HashTable May Cause DoS Vulnerability

  • เกิดขึ้นตอนนี้ ASP.NET process ข้อมูลที่ POST มาจาก FORM แล้วเกิด Hash Collision
  • หาก Attacker ส่ง crafted packet มาโจมตี ก็สามารถทำ denial of service บน web server
  • ข้อมูลนี้ได้ถูกเปิดเผยต่อ public แต่ Microsoft ยังไม่ได้รับรายงานของการถูกโจมตี
  • การใช้งาน Hash Function ที่มี Input ต่างกัน แต่มีค่า Hash เท่ากัน
    เรียกว่า Hash Collision

Insecure Redirect in .NET Form Authentication Vulnerability

  • ปัญหาเกิดจาก Function CopyStringToUnAllignedBuffer() ใน webengine4.dll ที่ถูกเรียกใช้ .NET framework
  • Function LStrLenW ถูกใช้วัดความยามของ string
  • ใน String จะถูกปิดท้ายด้วย terminating null, ตามปกติ Function LStrLenW ได้ถูกออกแบบให้ไม่นับ terminating null
  • ถ้า String บังเอิญมี Null อยู่ด้วยมันก็นับแค่ Null ตัวแรก ทำให้คำนวณ Length ผิด
  • ตัวที่อยู่ก่อน Null ก็ถูก copy ใส่ buffer
  • Vulnerability นี้ ถูกใช้งาน Authentication bypass ใน
  • การโจมตีต้องมีความรู้เรื่อง existing account name ที่จะ impersonate
  • Microsoft ASP.NET membership system ใช้ Function FormsAuthentication.SetAuthCooke(username, false)
  • การ Exploit ทำให้ attacker logon ด้วย user ที่อยู่ในระบบ แล้วได้สิทธิของ user เป้าหมาย เช่น admin
  • ASP.NET membership ช่วยเรื่องการเก็บ user credential, authentication, create new user & password การทำงานมี Login control

ปัญหาที่มีผู้ใช้ได้รายงานหลังจากติดตั้ง MS11-100

มีผู้ที่เคยลง MS11-100 แล้วได้ Error  “Operation is not valid due to the current state of the object.” It also says “[HttpException (0x80004005): The URL-encoded form data is not valid.]”   ก็ขอให้การติดตั้ง Hotfix ทำตามกระบวนการ Change Management ที่เหมาะคือ ทดสอบจากระบบ Test ก่อนติดตั้งใน Production

Reference

  1. คำอธิบายของคำว่า Hash Collision (http://preshing.com/20110504/hash-collision-probabilities)
  2. Microsoft Security Bulletin MS11-100 – Critical (http://technet.microsoft.com/en-us/security/bulletin/ms11-100)
  3. Microsoft releases MS11-100 for ASP.NET DoS attack (http://www.net-security.org/secworld.php?id=12148)
  4. ASP.NET MS11-100: how can I change the limit on the maximum number of posted form values? (http://stackoverflow.com/questions/8684049/asp-net-ms11-100-how-can-i-change-the-limit-on-the-maximum-number-of-posted-for)
  5. Microsoft security bulletin MS11-100 breaking our site (http://forums.asp.net/t/1754512.aspx/1?Microsoft+security+bulletin+MS11+100+breaking+our+site)
  6. Microsoft emergency update to address hash collision attacks (http://searchsecurity.techtarget.com/news/2240113146/Microsoft-emergency-update-to-address-hash-collision-attacks)
  7. รายงาน Hash Collision Attack (http://www.nruns.com/_downloads/advisory28122011.pdf)
  8. SEC Consult SA-20111230-0 :: Critical authentication bypass in Microsoft ASP.NET Forms – CVE-2011-3416(http://seclists.org/fulldisclosure/2011/Dec/496)
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s