Code Injection บน Windows คืออะไร
การฉีดรหัสเป็นเรื่องปกติใน Windows แอปพลิเคชั่น“ ฉีด” ชิ้นส่วนของรหัสของตัวเองลงในกระบวนการทำงานอื่นเพื่อแก้ไขพฤติกรรมของมัน เทคนิคนี้สามารถนำมาใช้เพื่อความดีหรือความชั่ว แต่วิธีใดก็สามารถทำให้เกิดปัญหา.
การฉีดรหัสมักเรียกว่าการฉีด DLL เนื่องจากรหัสที่ฉีดมักจะอยู่ในรูปแบบของไฟล์ DLL (ไลบรารีลิงก์แบบไดนามิก) อย่างไรก็ตามแอปพลิเคชันสามารถฉีดรหัสประเภทอื่นที่ไม่ใช่ DLLs ในกระบวนการได้.
ใช้การฉีดโค้ดอะไร
การฉีดโค้ดใช้เพื่อให้ได้มาซึ่งเทคนิคและการใช้งานทุกประเภทบน Windows ในขณะที่โปรแกรมที่ถูกกฎหมายใช้มันก็ยังใช้มัลแวร์ ตัวอย่างเช่น:
- โปรแกรมป้องกันไวรัสมักจะฉีดรหัสลงในเว็บเบราว์เซอร์ พวกเขาสามารถใช้มันเพื่อตรวจสอบปริมาณการใช้เครือข่ายและบล็อกเนื้อหาเว็บอันตราย.
- โปรแกรมที่เป็นอันตรายอาจเพิ่มรหัสลงในเว็บเบราว์เซอร์ของคุณเพื่อติดตามการค้นหาของคุณได้ดีขึ้นขโมยข้อมูลที่มีการป้องกันเช่นรหัสผ่านและหมายเลขบัตรเครดิตและเปลี่ยนการตั้งค่าเบราว์เซอร์ของคุณ.
- WindowBlinds ของ Stardock ซึ่งเป็นธีมของเดสก์ท็อปของคุณจะแทรกโค้ดเพื่อปรับเปลี่ยนวิธีการวาดหน้าต่าง.
- Stardock's Fences ใส่รหัสเพื่อเปลี่ยนวิธีการทำงานของเดสก์ท็อป Windows.
- AutoHotkey ซึ่งช่วยให้คุณสร้างสคริปต์และกำหนดปุ่มลัดทั้งระบบให้ฉีดรหัสเพื่อทำสิ่งนี้ให้สำเร็จ.
- ไดร์เวอร์กราฟิกนั้นเหมือนกับ DLL ของ NVIDIA ในการฉีดเพื่อให้สามารถทำงานที่เกี่ยวข้องกับกราฟิกได้หลากหลาย.
- บางโปรแกรมฉีด DLLs เพื่อเพิ่มตัวเลือกเมนูเพิ่มเติมให้กับแอปพลิเคชัน.
- เครื่องมือการโกงเกมพีซีมักจะใส่รหัสลงในเกมเพื่อปรับเปลี่ยนพฤติกรรมของพวกเขา.
การฉีดรหัสไม่ดี?
เทคนิคนี้มีการใช้งานอย่างต่อเนื่องโดยแอพพลิเคชั่นที่หลากหลายบน Windows มันเป็นวิธีการเดียวที่จะบรรลุภารกิจที่หลากหลาย เมื่อเทียบกับแพลตฟอร์มมือถือที่ทันสมัยเช่น Apple iOS หรือ Android ของ Google เดสก์ทอป Windows นั้นทรงพลังมากเพราะถ้าให้ความยืดหยุ่นกับนักพัฒนาซอฟต์แวร์ประเภทนี้.
แน่นอนว่าพลังทั้งหมดนั้นมาพร้อมกับอันตราย การฉีดรหัสอาจทำให้เกิดปัญหาและข้อบกพร่องในแอปพลิเคชัน Google กล่าวว่าผู้ใช้ Windows ที่มีรหัสที่ฉีดเข้าไปในเบราว์เซอร์ Chrome ของพวกเขามีโอกาส 15% ที่จะประสบกับข้อขัดข้องของ Chrome ซึ่งเป็นสาเหตุที่ Google กำลังทำงานเพื่อบล็อกสิ่งนี้ Microsoft บันทึกว่าแอปพลิเคชันที่เป็นอันตรายสามารถใช้การฉีดโค้ดเพื่อแก้ไขการตั้งค่าเบราว์เซอร์ซึ่งเป็นสาเหตุหนึ่งที่ทำให้โปรแกรมถูกบล็อกใน Edge.
Microsoft ยังให้คำแนะนำในการตรวจสอบว่ามีการโหลด DLLs ของบุคคลที่สามใน Microsoft Outlook หรือไม่เพราะทำให้ Outlook มีปัญหามากมาย.
ในฐานะพนักงานของ Microsoft วางไว้ในบล็อกนักพัฒนาซอฟต์แวร์ตั้งแต่ปี 2004:
การฉีด DLL ไม่เคยปลอดภัย คุณกำลังพูดถึงการพ่นรหัสลงในกระบวนการที่ไม่เคยออกแบบสร้างหรือทดสอบโดยผู้เขียนกระบวนการและร่วมมือกันหรือสร้างเธรดเพื่อเรียกใช้รหัสนั้น คุณมีความเสี่ยงในการสร้างปัญหาเกี่ยวกับเวลาการซิงโครไนซ์หรือทรัพยากรที่ไม่เคยมีมาก่อนหรือทำให้รุนแรงขึ้นปัญหาที่เกิดขึ้นที่นั่น.
กล่าวอีกอย่างหนึ่งคือการฉีดรหัสเป็นการแฮ็คที่สกปรก ในโลกอุดมคติจะมีวิธีที่ปลอดภัยกว่าในการบรรลุเป้าหมายซึ่งไม่ก่อให้เกิดความไม่แน่นอนที่อาจเกิดขึ้น อย่างไรก็ตามการฉีดโค้ดเป็นเพียงส่วนหนึ่งของแพลตฟอร์มแอปพลิเคชัน Windows ในปัจจุบัน มันเกิดขึ้นอย่างต่อเนื่องในพื้นหลังบนพีซี Windows ของคุณ คุณอาจเรียกมันว่าสิ่งชั่วร้ายที่จำเป็น.
วิธีตรวจสอบ DLLs ที่ถูกฉีด
คุณสามารถตรวจสอบการฉีดโค้ดบนระบบของคุณด้วยแอปพลิเคชั่น Process Explorer ที่ทรงพลังของ Microsoft มันเป็นรุ่นขั้นสูงของตัวจัดการงานที่เต็มไปด้วยคุณสมบัติเพิ่มเติม.
ดาวน์โหลดและเรียกใช้ Process Explorer หากคุณต้องการทำเช่นนี้ คลิกมุมมอง> มุมมองบานหน้าต่างด้านล่าง> DLLs หรือกด Ctrl + D.
เลือกกระบวนการในบานหน้าต่างด้านบนและดูในบานหน้าต่างด้านล่างเพื่อดู DLLs ที่โหลด คอลัมน์“ ชื่อ บริษัท ” เป็นวิธีที่มีประโยชน์ในการกรองรายการนี้.
ตัวอย่างเช่นเป็นเรื่องปกติที่จะเห็น DLLs ต่าง ๆ ที่ผลิตโดย“ Microsoft Corporation” ที่นี่เนื่องจากเป็นส่วนหนึ่งของ Windows เป็นเรื่องปกติที่จะเห็น DLLs ที่ผลิตโดย บริษัท เดียวกันกับกระบวนการในคำถาม -“ Google Inc. ” ในกรณีของ Chrome ในภาพหน้าจอด้านล่าง.
นอกจากนี้เรายังสามารถพบ DLLs สองสามตัวที่ทำโดย“ AVAST Software” ได้ที่นี่ สิ่งนี้บ่งชี้ว่าซอฟต์แวร์ต่อต้านมัลแวร์ Avast ในระบบของเรากำลังฉีดรหัสเช่น "ไลบรารีตัวกรอง Avast Script Blocking" ลงใน Chrome.
คุณไม่สามารถทำอะไรได้มากมายหากคุณพบว่าการฉีดโค้ดบนระบบของคุณนอกเหนือจากการถอนการติดตั้งโปรแกรมการฉีดโค้ดเพื่อป้องกันไม่ให้เกิดปัญหา ตัวอย่างเช่นหาก Chrome ขัดข้องเป็นประจำคุณอาจต้องการดูว่ามีโปรแกรมใดฉีดรหัสลงใน Chrome และถอนการติดตั้งเพื่อป้องกันไม่ให้ยุ่งเกี่ยวกับกระบวนการของ Chrome.
การฉีดโค้ดทำงานอย่างไร?
การฉีดโค้ดไม่ได้ปรับเปลี่ยนแอปพลิเคชันพื้นฐานในดิสก์ของคุณ แต่จะรอให้แอปพลิเคชันนั้นทำงานและจะฉีดรหัสเพิ่มเติมลงในกระบวนการที่กำลังทำงานเพื่อเปลี่ยนวิธีการทำงาน.
Windows มีแอปพลิเคชันการเขียนโปรแกรมอินเทอร์เฟซ (API) ที่หลากหลายที่สามารถใช้สำหรับการฉีดรหัส กระบวนการสามารถแนบตัวเองเข้ากับกระบวนการเป้าหมายจัดสรรหน่วยความจำเขียน DLL หรือรหัสอื่น ๆ ไปยังหน่วยความจำนั้นแล้วสั่งให้กระบวนการเป้าหมายเรียกใช้งานโค้ด Windows ไม่ได้ป้องกันกระบวนการในคอมพิวเตอร์ของคุณจากการรบกวนซึ่งกันและกันเช่นนี้.
สำหรับข้อมูลทางเทคนิคเพิ่มเติมดูที่โพสต์บล็อกนี้เพื่ออธิบายว่านักพัฒนาสามารถฉีด DLLs ได้อย่างไรและดูการฉีดโค้ดประเภทอื่นบน Windows.
ในบางกรณีบางคนอาจเปลี่ยนรหัสอ้างอิงบนดิสก์เช่นโดยการแทนที่ไฟล์ DLL ที่มาพร้อมกับเกมพีซีที่มีการแก้ไขเพื่อให้สามารถโกงหรือละเมิดลิขสิทธิ์ได้ เทคนิคนี้ไม่ใช่“ การฉีดรหัส” รหัสไม่ได้ถูกฉีดเข้าไปในกระบวนการที่กำลังทำงานอยู่ แต่โปรแกรมนั้นถูกหลอกให้โหลด DLL อื่นด้วยชื่อเดียวกัน.
เครดิตรูปภาพ: Lukatme / Shutterstock.com.