แม้ว่าแพ็กเกจลอกเลียนแบบและการจดทะเบียนโดเมนโดยใช้คำสะกดผิดจะเป็นแนวคิดที่เกี่ยวข้องกัน แต่ก็ไม่เหมือนกันเสียทีเดียว ทั้งสองอย่างเกี่ยวข้องกับกลยุทธ์หลอกลวงเพื่อหลอกให้ผู้ใช้ดาวน์โหลดซอฟต์แวร์ที่เป็นอันตราย แต่ทำในวิธีที่แตกต่างกันเล็กน้อย นี่คือคำอธิบายโดยละเอียดของแต่ละอย่าง:
การพิมพ์ดีด
การจดทะเบียนชื่อโดเมนหรือชื่อแพ็กเกจโดยใช้คำสะกดผิด (Typosquatting) คือการจดทะเบียนชื่อโดเมนหรือชื่อแพ็กเกจที่คล้ายคลึงกับชื่อโดเมนหรือชื่อแพ็กเกจที่ถูกต้องตามกฎหมาย โดยมักแตกต่างกันเพียงแค่การพิมพ์ผิดเล็กน้อย เป้าหมายคือการหลอกลวงผู้ใช้ที่พิมพ์ URL หรือชื่อแพ็กเกจผิดพลาด ทำให้พวกเขาเข้าชมเว็บไซต์หรือซอฟต์แวร์ที่เป็นอันตรายแทนที่จะเป็นเว็บไซต์หรือซอฟต์แวร์ที่ถูกต้องตามกฎหมาย
ตัวอย่าง:
พัสดุที่ถูกต้องตามกฎหมาย: ด่วน.
รูปแบบแพ็กเกจที่พิมพ์ผิด: ด่วน (ขาดตัว 's'), แสดงออก(ตัว 's' เพิ่มมา), or การแสดงออก (อีคู่)
กรณีศึกษาการใช้คำผิดในบริบทการจดทะเบียนบริษัทในโลกแห่งความเป็นจริง:
ในเดือนพฤศจิกายน 2018 นักวิจัยด้านความปลอดภัยได้ระบุและลบแพ็กเกจ JavaScript ที่เป็นอันตรายชื่อ flatmap-stream ออกจากระบบนิเวศของ NPM ผู้โจมตีได้ทำการแก้ไขแพ็กเกจนี้อย่างเป็นอันตราย แล้วเพิ่มเข้าไปเป็นส่วนประกอบโดยตรงในแพ็กเกจ event-stream ที่ได้รับความนิยม ผู้ใช้ดาวน์โหลด flatmap-stream เวอร์ชันที่เป็นอันตรายนี้ไปเกือบ 8 ล้านครั้งนักพัฒนาที่ใช้แพ็กเกจ event-stream ที่ถูกบุกรุกโดยไม่รู้ตัวได้เปิดเผยตัวเองต่อโค้ดที่เป็นอันตราย
ในที่นี้ เราจะเน้นไปที่การสะกดผิดเล็กน้อยหรือการเปลี่ยนแปลงที่ใช้ประโยชน์จากข้อผิดพลาดในการพิมพ์ทั่วไป
แพ็คเกจเลียนแบบ
มัลแวร์ประเภท Copycat คือการสร้างมัลแวร์ที่เลียนแบบมัลแวร์ยอดนิยมและถูกต้องตามกฎหมาย โดยเฉพาะอย่างยิ่ง การเลียนแบบนี้อาจไม่ได้จำกัดแค่การสะกดผิดเล็กน้อย แต่ยังอาจรวมถึงชื่อ คำอธิบาย เอกสารประกอบ และฟังก์ชันการทำงานที่คล้ายคลึงกัน เพื่อทำให้มัลแวร์นั้นดูเหมือนถูกต้องตามกฎหมายและน่าเชื่อถือ
ตัวอย่าง:
พัสดุที่ถูกต้องตามกฎหมาย: โลดัช
รูปแบบแพ็กเกจที่ลอกเลียนแบบ: lodashjs, lodash-toolsหรือแม้แต่แพ็กเกจที่มีชื่อเดียวกัน แต่ถูกอัปโหลดโดยผู้เขียนที่แตกต่างกันในที่เก็บข้อมูลที่มีความปลอดภัยน้อยกว่า
กรณีตัวอย่างในโลกแห่งความเป็นจริง:
ลองพิจารณาแอปพลิเคชันโอเพนซอร์สยอดนิยมที่ใช้ PHP อย่าง Laravel ที่ชื่อว่า laravel-realworld-example-app แอปพลิเคชันนี้มีตัวอย่างการใช้งานจริง (การดำเนินการ CRUD การตรวจสอบสิทธิ์ รูปแบบขั้นสูง ฯลฯ) ตามข้อกำหนดของ RealWorld API ในขณะที่แพ็กเกจที่ถูกต้องทำหน้าที่เป็นแหล่งอ้างอิง แพ็กเกจลอกเลียนแบบอาจเลียนแบบโดยใช้ชื่อที่คล้ายกัน (เช่น laravel-realworld-example-apps หรือ laravel-realworld-examples) โปรแกรมลอกเลียนแบบเหล่านี้อาจมีฟังก์ชันการทำงาน คำอธิบาย และแม้แต่เอกสารประกอบที่คล้ายคลึงกัน ทำให้ผู้พัฒนาเข้าใจผิดและเลือกใช้โปรแกรมลอกเลียนแบบแทนเวอร์ชันของแท้
จุดสนใจในที่นี้คือการลอกเลียนแบบในวงกว้าง ซึ่งไม่เพียงแต่รวมถึงชื่อเท่านั้น แต่ยังรวมถึงลักษณะการนำเสนอและฟังก์ชันการทำงานของโปรแกรมต้นฉบับด้วย
ความแตกต่างที่สำคัญ
โฟกัส:
Typosquatting มุ่งเป้าไปที่ข้อผิดพลาดทางด้านการพิมพ์ที่ผู้ใช้กระทำเป็นหลัก
แพ็กเกจลอกเลียนแบบมีจุดมุ่งหมายเพื่อเลียนแบบแพ็กเกจที่ถูกต้องตามกฎหมายในวงกว้าง ซึ่งอาจรวมถึงชื่อ คำอธิบาย และฟังก์ชันการทำงานที่คล้ายคลึงกัน
ขอบเขตของการลอกเลียนแบบ:
โดยทั่วไปแล้ว Typosquatting มักเกี่ยวข้องกับการเปลี่ยนแปลงเล็กน้อยในชื่อแพ็กเกจ
โปรแกรมลอกเลียนแบบอาจมีการเลียนแบบที่ครอบคลุมมากกว่า ทำให้ดูสมจริงยิ่งขึ้น
คาบเกี่ยวกัน
แนวคิดทั้งสองนี้มีความทับซ้อนกันอยู่ เนื่องจากแพ็กเกจที่เกิดจากการปลอมแปลงชื่อโดเมนโดยใช้ข้อผิดพลาดในการพิมพ์ (typosquatting) สามารถถือได้ว่าเป็นส่วนหนึ่งของแพ็กเกจที่ลอกเลียนแบบ (copycat packages) ทั้งสองกลยุทธ์มีเป้าหมายเพื่อหลอกลวงผู้ใช้ให้ติดตั้งซอฟต์แวร์ที่เป็นอันตราย แต่การปลอมแปลงชื่อโดเมนโดยใช้ข้อผิดพลาดในการพิมพ์นั้นใช้ประโยชน์จากข้อผิดพลาดทั่วไป ในขณะที่แพ็กเกจที่ลอกเลียนแบบอาจใช้กลยุทธ์การเลียนแบบที่หลากหลายกว่า
กลยุทธ์การบรรเทาสาธารณภัย
เพื่อป้องกันการละเมิดลิขสิทธิ์และการลอกเลียนแบบแพ็กเกจอย่างมีประสิทธิภาพ องค์กรควรใช้แนวทางที่หลากหลายซึ่งบูรณาการกลยุทธ์แบบดั้งเดิมและโซลูชันขั้นสูง เช่น โซลูชันของเรา ไซเกนีOpen Source Security สารละลาย. ต่อไปนี้คือกลยุทธ์สำคัญในการลดความเสี่ยงเหล่านี้:
- ใช้แหล่งที่เชื่อถือได้สิ่งสำคัญที่สุดคือ ควรดาวน์โหลดแพ็กเกจจากแหล่งที่เชื่อถือได้และได้รับการตรวจสอบแล้ว หรือจากแหล่งเก็บข้อมูลอย่างเป็นทางการเสมอ เพื่อให้มั่นใจในความถูกต้อง
- การตรึงการพึ่งพานอกจากนี้ ให้กำหนดเวอร์ชันที่แน่นอนและได้รับการตรวจสอบแล้วสำหรับการพึ่งพาของไลบรารีต่างๆ เพื่อรักษาความสม่ำเสมอและความปลอดภัยในการใช้งานของคุณ
- เครื่องมืออัตโนมัตินอกจากนี้ ควรใช้เครื่องมืออัตโนมัติอย่าง Xygeni เพื่อสแกนและระบุแพ็กเกจที่น่าสงสัยได้อย่างมีประสิทธิภาพ ความสามารถในการตรวจจับขั้นสูงของ Xygeni ได้รับการออกแบบมาเพื่อระบุและจัดการการพึ่งพาที่น่าสงสัยได้อย่างมีประสิทธิภาพ จึงเป็นการเพิ่มระดับความปลอดภัยอีกชั้นหนึ่ง
- การตรวจสอบด้วยตนเองนอกจากนี้ ควรใช้การตรวจสอบด้วยตนเองควบคู่กับเครื่องมืออัตโนมัติ โดยเฉพาะอย่างยิ่งสำหรับแพ็กเกจที่เพิ่มเข้ามาใหม่ หรือแพ็กเกจที่ได้รับการอัปเดตครั้งสำคัญเมื่อเร็ว ๆ นี้
- การจองเนมสเปซเพื่อป้องกันการโจรกรรมโดยผู้ไม่ประสงค์ดี ให้ลงทะเบียนและควบคุมแพ็กเกจเนมสเปซในที่เก็บข้อมูลสาธารณะ มาตรการเชิงรุกนี้จะช่วยให้มั่นใจได้ว่าเฉพาะการอัปเดตและแพ็กเกจที่ได้รับอนุญาตเท่านั้นที่จะเชื่อมโยงกับเนมสเปซขององค์กรของคุณ
ด้วยการผสานรวมกลยุทธ์เหล่านี้เข้ากับความสามารถอันแข็งแกร่งของเครื่องมือ Xygeni ของเรา องค์กรต่างๆ สามารถเสริมสร้างการป้องกันภัยคุกคามที่เปลี่ยนแปลงไปของการจดทะเบียนชื่อโดเมนโดยจงใจบิดเบือนความหมายและการลอกเลียนแบบซอฟต์แวร์ ซึ่งจะช่วยยกระดับความปลอดภัยโดยรวมของห่วงโซ่อุปทานซอฟต์แวร์ของตนได้







