เช่นเดียวกับนักวิชาการหลายคน ฉันได้อ่านคำแนะนำล่าสุดเกี่ยวกับช่องโหว่ร้ายแรงใหม่ในเอ็นจิ้นการเขียนสคริปต์แบบดั้งเดิมของ Internet Explorer (jscript.dll) และวิธีที่ช่องโหว่นี้ถูกโจมตีอย่างแข็งขัน สิ่งนี้สามารถเกิดขึ้นได้ด้วยตัวของมันเอง แต่สิ่งที่ทำให้ฉันรู้สึกหงุดหงิดก็คือความโศกเศร้าและความพินาศในเว็บ ตื่นตระหนกเป็นส่วนใหญ่โดยแทบไม่สนใจที่จะพยายามวิเคราะห์ปัญหานี้ และดูว่าสามารถบรรเทาได้ด้วยวิธีการที่สวยงามหรือไม่
ในความเป็นจริง Microsoft ได้ระบุวิธีแก้ไขปัญหาชั่วคราว คุณสามารถปฏิเสธการเข้าถึงไลบรารีที่ได้รับผลกระทบได้ แต่สิ่งนี้ยังทำให้เกิดผลข้างเคียง คุณอาจพบปัญหาเกี่ยวกับการพิมพ์ การเข้าถึงตัวแก้ไขนโยบายกลุ่ม และปัญหาอื่นๆ อีกเล็กน้อย ฉันจึงนั่งลงและคิดว่ามีวิธีใดบ้างที่จะลดผลกระทบของช่องโหว่โดยไม่ทำให้ระบบเสียหายทั้งหมด
ขอบเขตของปัญหา
ช่องโหว่ดังกล่าวมีอยู่ในกลไกการเขียนสคริปต์ (Internet Explorer) ซึ่งหมายความว่าโปรแกรมใดก็ตามที่เรียกใช้กลไกนี้อาจทำให้หน่วยความจำเสียหาย และอาจนำไปสู่การเรียกใช้โค้ดโดยพลการ โดยทั่วไปหมายถึง Internet Explorer อาจเป็น Microsoft Office และอาจเป็นแอปพลิเคชันรุ่นเก่าแปลกๆ ซึ่งไม่น่าจะพบได้ในสภาพแวดล้อมภายในบ้านทั่วไป
วิธีแก้ไขคืออย่าเรียกใช้ Internet Explorer - และหลีกเลี่ยงการเปิดไฟล์หรือลิงก์แปลก ๆ ในโปรแกรมอื่น ตอนนี้ เป็นจริงเสมอ โดยไม่คำนึงว่า ปัญหาคือ จะเกิดอะไรขึ้นถ้าคุณ "บังเอิญ" เปิด Internet Explorer กับหน้าเว็บที่อาจก่อให้เกิดช่องโหว่นี้
อย่าเรียกใช้ Internet Explorer
Windows มีตัวเลือกในการปิดการใช้งานบางโปรแกรมเป็นเวลานาน สามารถทำได้ผ่านรีจิสทรีหรือตัวแก้ไขนโยบายกลุ่ม (สำหรับผู้ใช้เวอร์ชันโปร) และจะป้องกันไม่ให้โปรแกรมในรายการทำงาน โดยเฉพาะอย่างยิ่ง เปิด gpedit.msc ไปที่ User Configuration> System จากนั้นเปิดนโยบายที่อ่านว่า:Don't run dedicated Windows applications
เปิดใช้งานนโยบาย จากนั้นภายใต้ตัวเลือก:คลิกที่แสดงและเพิ่ม iexplore.exe ในรายการแอปพลิเคชันที่ไม่อนุญาต
ตอนนี้ใช้งานได้ตามที่โฆษณาไว้ - แต่ถ้าคุณใช้ Windows Explorer หรือเมนู Start เพื่อเปิดโปรแกรม จะไม่บล็อกการเข้าถึงด้วยวิธีอื่น และจะไม่หยุดแอปพลิเคชันจากการใช้ไลบรารี jscript.dll ไม่ต้องกังวล เราจะไปที่นั่น ฉันกำลังดำเนินไปอย่างช้าๆ เป็นเชิงเส้น
ในทำนองเดียวกัน เส้นทางรีจิสทรีเพื่อเพิ่มแอปพลิเคชันคือ:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies
ตัวเลือกการดำเนินการไฟล์ภาพ (IFEO)
เราได้พูดคุยเกี่ยวกับคุณสมบัติที่มีประโยชน์และทรงพลังนี้ในบริบทของ GWX คุณสามารถใช้เพื่อเปลี่ยนวิธีการทำงานของโปรแกรมในระบบของคุณ โดยทั่วไป เราจะใช้ฟังก์ชัน Debugger และเปลี่ยนการดำเนินการของ iexplore.exe จากลักษณะการทำงานเริ่มต้นเป็นการเรียกใช้ cmd shell ที่ว่างเปล่า โดยพื้นฐานแล้ว การรันจำลองที่ไม่ทำอะไรเลยและไม่เรียกใช้ไลบรารี Javascript
สิ่งนี้จะทำคือให้คุณ "เรียกใช้" Internet Explorer แต่การเรียกใช้ทั้งหมดจะเป็นเพียงการวางไข่ของเชลล์พรอมต์คำสั่งที่ออก ซึ่งหมายความว่าไม่ว่าคุณจะเรียกใช้ Internet Explorer ด้วยวิธีใด โปรแกรมจะไม่ทำงานจริง ซึ่งช่วยลดความเสี่ยงที่ไลบรารี jscript.dll จะถูกโหลดลงในหน่วยความจำ
โปรดทราบว่าการดำเนินการนี้มีผลกับ Internet Explorer เท่านั้น และไม่ได้ป้องกันโปรแกรมอื่นๆ จากการใช้ไลบรารี เช่น Microsoft Word แสดงเอกสารที่มีวัตถุฝังตัวที่มีรูปแบบไม่ถูกต้องซึ่งอ้างอิงถึงฟังก์ชัน jscript.dll แต่จะช่วยลดความเสี่ยงของการใช้ไลบรารี โดยเฉพาะอย่างยิ่งโดยโปรแกรมที่รองรับเครือข่าย เช่น Internet Explorer Other tools on your system may still require this library, but if they don't necessarily connect to external network resources, then the risks are reduced.
The cool part about IFEO is that it does not require anything beyond setting the registry key. If you want to revert back, just delete the Debugger string, and you will have the old functionality back.
Lastly, if you use anti-malware software, some may see this as a potential IFEO Hijack. Be aware of this fact, and then move on, and perhaps even embrace a smarter way of doing computer security. But that's a topic for another time.
Let's talk about jscript.dll
Now, my work above does not fix the problem. It works around it by reducing the chance of Internet Explorer running. The proper fix is to update the library. Technically, you could "just" copy the new patched version over the old one, and you're done. But the Windows Update mechanism is a bit more complex.
So the mitigation is to remove the executable permission from the library. You can do it on the command line, as the advisory says, or you can do it using Windows Explorer. The reason for the command line is to take ownership of the (system) library, to be able to change its security settings. Alternatively, you can manipulate the permissions by opening cmd (or explorer) through ExecTI, a utility that lets you run programs with the highest privileges, as I've shown you in my list of must-have Windows admin utilities.
What you want to do is remove the Read &execute checkbox mark for all of the listed groups or users. But then, the side effects! For example, the aforementioned Group Policy editor will not launch correctly if execute is denied for Administrators. This also emphasizes the importance of running as standard user, as you could have no execute for Jscript for Users, and you would still be able to use Internet Explorer then, without any effect on system functionality.
Group Policy Editor with JScript.dll not allowed to execute. Messed-up layout.
But then, since this is all there is to it, you can disable Read &execute, and toggle it when you need it, until you can apply the official patch - provided you actually want to apply it. In some scenarios, you might not want to, or be able to, and you might even have to use Internet Explorer. But this is not likely in the home setup. And I'm not talking enterprise security here. So lower your pitchforks. Finally, you can do the same thing for Internet Explorer - remove the execute permission.
Other things - local scripting
Then, if you do need to use Internet Explorer, you can disable Active Scripting under Internet Options. This is old news really, so I'm not going to focus too much on this here. A more practical thing is to avoid accidentally executing Javascript files stored on your local disk, through the Microsoft Based Script Host. This is the default, even on Windows 10. But in reality, there are very few reasons why you'd need to run Javascript files locally, outside the context of your browser.
What you want to do is create a dummy Javascript file, something like file.js. Right click> Open with, and then select a text editor of some kind (under More apps). This means that even if you do double-click on a locally stored Javascript file, it will open as a text file.
บทสรุป
Don't let panic be your compass. Some security problems are serious and require scrutiny. But others are not necessarily as dreadful as they may seem, based on the Internet chatter. In this case, yes, this is not a good thing. On the other hand, not running Internet Explorer pretty much solves it. Also, don't be an n00b and randomly execute files left and right, and you should be fine.
In this article, I tried to give you a somewhat calmer overview of what gives, and the options you have. Most importantly, you can use the fabulous magic of IFEO to prevent Internet Explorer from running, no questions asked. This way, you reduce the risk of nonsense, be it an old game launcher that hard-codes to iexplore.exe for messages or announcements, or your own twitchy fingers. You can also disable the execute permissions for the library, and if your system is set up with a standard user, you might not even need to compromise on reduced functionality due to the disabled library. There we go. Enjoy your Webz.
ไชโย.