ฉันจะได้รับไวรัสเพียงแค่ไปที่เว็บไซต์ได้อย่างไร [ซ้ำ]


47

เป็นไปได้ซ้ำ:
คอมพิวเตอร์สามารถติดมัลแวร์ผ่านทางเว็บเบราว์เซอร์ได้หรือไม่?

เป็นความรู้ทั่วไปที่คุณจะได้รับไวรัสเพียงแค่เข้าไปที่เว็บไซต์ แต่วิธีการที่เป็นไปได้?

ไวรัสเหล่านี้โจมตีผู้ใช้ Windows, Mac และ Linux หรือผู้ใช้ Mac / Linux มีภูมิคุ้มกันหรือไม่

ฉันเข้าใจว่าฉันเห็นได้ชัดว่าจะได้รับไวรัสโดยการดาวน์โหลดและการดำเนินงานที่ exe ใน Windows แต่วิธีการที่ฉันจะได้รับไวรัสเพียงโดยการเข้าถึงเว็บไซต์ได้หรือไม่

ไวรัสมีโปรแกรมใน JavaScript หรือไม่ (มันจะสมเหตุสมผลเนื่องจากเป็นภาษาโปรแกรมที่เรียกใช้ในเครื่อง) ถ้าใช่ฟังก์ชัน JavaScript ใดที่ใช้โดยทั่วไป


2
ส่วนใหญ่มักเป็นการผสมผสานระหว่างเทคนิคต่าง ๆ และความปลอดภัยของเบราว์เซอร์
Paŭlo Ebermann

คำถามที่ดีและ IMHO เนื่องจากเป็นเว็บจึงขึ้นอยู่กับ HTTP และไม่ได้รับผลกระทบจากระบบปฏิบัติการอีกต่อไปเบราว์เซอร์จะมีความสำคัญมากกว่าระบบปฏิบัติการ
Kenan D

หัวข้อที่กว้างมากช่องโหว่ของเบราว์เซอร์สามารถเปลี่ยนแปลงได้เมื่อค้นพบและเปลี่ยนแปลงจากเบราว์เซอร์เป็นเบราว์เซอร์
Moab

1
ในบันทึกที่เกี่ยวข้อง: superuser.com/questions/245096/…
BloodPhilia

@ LordCover: ในขณะที่กลยุทธ์การทำให้ตกใจในตอนแรกอาจเป็น http, ส่วนของข้อมูลจะต้องเป็นไฟล์ปฏิบัติการที่กำหนดเป้าหมายไปยังระบบที่เฉพาะเจาะจง เนื่องจาก Linux และ Mac ไม่สามารถเรียกใช้ exe (โดยไม่มีความช่วยเหลือได้) และ Win ไม่สามารถเรียกใช้ไฟล์ปฏิบัติการที่เขียนขึ้นสำหรับ OS อื่น ๆ ได้ดังนั้นจึงยังคงเป็นระบบที่ขึ้นอยู่กับระบบปฏิบัติการ แฮกเกอร์ fests ล่าสุดแสดงให้เห็นว่า Win7 เทียบได้กับ (และในบางวิธีดีกว่า) Mac และ Linux เกี่ยวกับความปลอดภัย ขณะนี้ยังคงเป็นความจริงที่ว่าคนส่วนใหญ่ใช้ Windows ที่ทำให้มันเป็นเป้าหมายยอดนิยม
music2myear

คำตอบ:


24

เป็นความรู้ทั่วไปที่คุณจะได้รับไวรัสเพียงแค่เข้าไปที่เว็บไซต์ ใครช่วยอธิบายว่ามันเป็นไปได้ไหม

ตัวอย่างในการล้อเลียน มีข้อบกพร่องในเบราว์เซอร์ (IE), ตัวแปล javascript, หรือปลั๊กอิน (เช่นแฟลชหรือจาวา) ข้อผิดพลาดนี้นำไปสู่การเรียกใช้รหัส - ส่วนหนึ่งที่สามารถจะมีความซับซ้อนจริงๆ แต่มันมักจะเกี่ยวข้องกับการใช้งานหลังจากที่ปราศจากข้อผิดพลาดและการจัดการกอง

จากนั้นฉันก็มี shellcode ทำงานอยู่ shellcode จะต้องป้องกันสิ่งที่เบราว์เซอร์มีอยู่ - สำหรับบั๊ก V8 / Chrome ที่คุณต้องหนีจากแซนด์บ็อกซ์ของโครเมี่ยมและเอาชนะ DEP และ ASLR สำหรับ IE คุณจะต้องเอาชนะ DEP และ ASLR ก่อนจากนั้นจะออกจากโหมด integrity integrity สำหรับ Java คุณต้อง ... ไม่ทำอะไรเลย - คุณเป็นทองคำเลย (นั่นเป็นสาเหตุว่าทำไมมีข้อบกพร่องของจาวา java)

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

ไวรัสมีโปรแกรมใน JavaScript หรือไม่ (มันจะสมเหตุสมผลเนื่องจากเป็นภาษาโปรแกรมที่เรียกใช้ในเครื่อง) ถ้าใช่ฟังก์ชัน JavaScript ใดที่ใช้โดยทั่วไป

โดยเฉพาะ - ไม่ Javascript เป็นเวกเตอร์การโจมตีที่ผู้คนจะใช้เพื่อค้นหาข้อผิดพลาดในเบราว์เซอร์ พวกเขายังสามารถใช้ Flash, Java หรือ Silverlight เป็นเวกเตอร์การโจมตี ในกรณีของจาวาสคริปต์พวกเขาเขียนจาวาสคริปต์เพื่อทริกเกอร์ข้อผิดพลาดของเบราว์เซอร์จากนั้นไวรัสจะถูกดึงลงมาจากอินเทอร์เน็ตในที่สุด


4
สิ่งนี้ไม่ถูกต้อง ไวรัสมักจะทำเช่นนั้น แต่ไม่จำเป็นต้อง (ดาวน์โหลดรหัสพิเศษ) อาจมีส่วนของข้อมูลที่ฝังอยู่ในช่องโหว่ที่ใช้งานจาวาสคริปต์ เพย์โหลดนั้นจะเป็นรหัสแอสเซมบลี แต่จะแสดงเป็นจาวาสคริปต์ ทุกอย่างขึ้นอยู่กับข้อผิดพลาดและการใช้งานหาประโยชน์เฉพาะ
Merlyn Morgan-Graham

2
คุณเพิ่งเขียนว่า Java ไม่มี sandbox หรือไม่ เพราะมันใช้งานได้จริงในทุกเบราว์เซอร์ที่ฉันรู้จัก
CarlF

4
@CarlF: ไม่นี่ไม่เกี่ยวกับ Java sandbox (ซึ่งยังคงมีอยู่) นี่เป็นเรื่องเกี่ยวกับบั๊กใน Java - ถ้าสิ่งเหล่านี้อนุญาตให้คุณแยกตัวออกจากแซนด์บ็อกซ์จะมีความปลอดภัยเพิ่มเติมเล็กน้อย (เช่น DEP) เพื่อหยุดยั้งผู้โจมตี
sleske

3
Java เป็นช่องโหว่ที่สำคัญมันกัดฉันสองครั้ง ฉันปิดการใช้งานมันอย่างเคร่งครัดในขณะนี้: superuser.com/questions/201613/…
Jeff Atwood

2
@Merlyn ใช่เป็นไปได้ที่จะใส่ส่วนของข้อมูลทั้งหมดลงในจาวาสคริปต์และไม่ดาวน์โหลดรหัสเพิ่มเติม (ตัวอย่างเช่นโมดูล metasploit ทั้งหมดเช่น 'เพิ่มผู้ใช้เพิ่มเติมลงในระบบ' หรือ reverse_tcp) แต่มัลแวร์ที่มีความซับซ้อนมักจะใช้ shellcode ใน javascript เป็น stager เพื่อดึงรหัสที่ซับซ้อนและซับซ้อนมากขึ้น ทุกอย่างขึ้นอยู่กับข้อผิดพลาดและการใช้ประโยชน์ - ตรรกะและ shellcode ทั้งหมดอาจอยู่ในภาพที่จับภาพ parser - ฉันแค่บอกเส้นทางที่พบบ่อยที่สุด
Tom Ritter

14

น่าเสียดายและชั่วร้ายมีหลายวิธีที่อาจเกิดขึ้นได้

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

ปัญหาเกิดขึ้นเมื่อใดก็ตามที่มีความเป็นไปได้ที่ข้อมูลต่างประเทศจากอินเทอร์เน็ตซึ่งเราต้องถือว่าถูกสร้างขึ้นมาด้วยเจตนาร้ายอย่างที่สุดซึ่งจะจัดการโดยระบบของคุณ

หากคุณเพียงแค่นั่งที่บรรทัดคำสั่งและพิมพ์wget http://evil.com/hitme.phpไคลเอ็นต์ wget HTTP ก็จะเขียนไบนารีดัมพ์ของการร้องขอไปยังดิสก์ของคุณและไม่มีอะไรเลวร้ายเกิดขึ้น (นอกเหนือจากดิสก์ของคุณเต็ม) แต่ถ้าคุณพิมพ์ที่อยู่ลงในเบราว์เซอร์เบราว์เซอร์ของคุณสามารถทำสิ่งที่ต้องการได้อย่างอิสระ - จัดรูปแบบฮาร์ดดิสก์ของคุณส่งรายละเอียดบัตรเครดิตของคุณออกไป ฯลฯ ขึ้นอยู่กับคุณที่จะเชื่อใจเบราว์เซอร์ของคุณ เบราว์เซอร์ส่วนใหญ่พยายามที่จะไม่ทำสิ่งเลวร้ายเหล่านั้น แต่เราผู้ใช้แกะเรียกร้องให้เบราว์เซอร์สามารถทำ "เคล็ดลับที่ชาญฉลาด" ได้มากขึ้นและแสดงพฤติกรรมอัตโนมัติตามคำแนะนำจากอินเทอร์เน็ต. ความต้องการของเรานำไปสู่การสร้างเทคโนโลยีการเรียกใช้โค้ดฝั่งไคลเอนต์เช่น JavaScript และ Flash ซึ่งดาวน์โหลดโดยพลการ, ต่างประเทศ, ไม่น่าเชื่อถือ, โค้ดอันตรายและรันมันทั้งหมดเพื่อความสุขของเรา

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

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

ทางออกที่ปลอดภัยเพียงอย่างเดียวคือการปิดใช้งาน JavaScript และปลั๊กอินในเบราว์เซอร์ของคุณ ปลอดภัยเหมือนพวกเราในปี 1995


6
Wget นั้นไม่ "ปลอดภัย" หรือไม่มีไดรเวอร์ที่รันเครื่องของคุณและไม่มีระบบระดับเคอร์เนล มีการผ่อนปรน แต่ท้ายที่สุดโค้ดทุกชิ้นอาจถูกโจมตี
Merlyn Morgan-Graham

@Meryll: ฉันไม่สนใจปัญหาทั้งหมดหนึ่งระดับนั่นคือสิ่งที่มาจากรหัสที่ผิดพลาด ใช่มีภัยคุกคามจากห้องสมุดภาพที่เสียหายและตัวแยกวิเคราะห์ส่วนหัว MP3 และสิ่งต่าง ๆ ฉันไม่ต้องการไปไกลเกินไป ฉันพบปัญหาที่เกิดขึ้นจากการออกแบบเทคโนโลยีอินเทอร์เน็ตที่ทันสมัยซึ่งเกี่ยวข้องกับคำถามของ OP มากขึ้น
Kerrek SB

1
@ Kerrek: คำถามของพวกเขาคือ "ฉันจะได้รับไวรัสจากการเยี่ยมชมหน้าเว็บ" และคุณก็บอกว่าพวกเขาไม่ได้รับไวรัสจาก wget นอกจากนี้คุณยังพูดคุยเกี่ยวกับความไว้วางใจ แต่คำถามไม่ได้เกี่ยวกับ "ฉันจะป้องกันตัวเองได้อย่างไร" แต่เพิ่มเติมเกี่ยวกับ "การหาประโยชน์จากการทำงาน" พื้นผิวของการโจมตีดูเหมือนจะเป็นประเด็นหลักของคุณซึ่งเป็นสิ่งที่ดี แต่ถูกบดบังด้วยความไม่ถูกต้องและการสัมผัส
Merlyn Morgan-Graham

3
ใช่ฉันลดความซับซ้อนลงเล็กน้อย ... ฉันไม่ต้องการที่จะถ่วงการโต้เถียงด้วยรายละเอียด "ในหลักการอาจมีความผิดพลาดใน wget ที่ทำให้มันทำงานโดยไม่คาดคิด" กัน คุณพูดถูก ฉันคิดว่า OP ดูเหมือนจะใหม่สำหรับสนามและต้องการที่จะมุ่งเน้นไปที่ปัญหาพื้นฐานและแนวคิดของสังคมไอทีของเรามากกว่าปัญหาเนื่องจากปัญหาทางเทคนิค
Kerrek SB

-1 คำตอบนี้ไม่เข้าใจปัญหา: "ความต้องการของเราได้นำไปสู่การสร้างเทคโนโลยีการเรียกใช้โค้ดฝั่งไคลเอ็นต์เช่น JavaScript และ Flash ซึ่งดาวน์โหลดโดยพลการ, แปลกปลอม, ไม่น่าเชื่อถือ, โค้ดที่เป็นอันตรายและเรียกใช้งานทั้งหมดนี้เพื่อความสุขของเรา" - ความตั้งใจที่จะไม่ดาวน์โหลดรหัสโดยพลการ และแม้ว่าจะไม่มีสิ่งเหล่านี้เราก็ยังคงได้รับไวรัสจากอินเทอร์เน็ต คุณสามารถรับไวรัสจากการเปิด. jpg เป็นสีหรือดูภาพยนตร์ใน VLC มันไม่ธรรมดา แต่มันเคยเกิดขึ้นมาก่อน
BlueRaja - Danny Pflughoeft

11

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

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

ดังนั้นเหมือนมนุษย์ทุกผู้พัฒนาซอฟต์แวร์นี้จะผูกพันที่จะทำผิดพลาด: parser HTML ตั้งใจเขียนทับหนึ่งไบต์ในกองเมื่อคุณจบ HTML </pด้วย พวกเขาตั้งใจใช้signed intunsigned intแทน คอมไพเลอร์ javascript JIT พยายามที่จะตรวจสอบดัชนีอาเรย์เป็นตัวชี้โมฆะโดยไม่ตั้งใจ ช่องโหว่เหล่านี้ทั้งหมดรวมถึงอีกนับล้านเกิดขึ้นตลอดเวลาในซอฟต์แวร์ไม่ว่าจะเป็นเพราะขาดความรู้ด้านความปลอดภัยหรือการกำกับดูแลหรือแม้แต่เป็นเพียงความผิดพลาดง่าย ๆ ซอฟแวร์เป็นเพียงวิธีการที่ซับซ้อนเกินไปที่จะจับพวกเขาทั้งหมด

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

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


แต่ในหลายกรณีข้อผิดพลาดเกิดขึ้นเพราะผู้ใช้ "เรียกร้อง" มัน นั่นคือข้อมูลจำเพาะสำหรับ HTML3.14159 นั้นมีข้อบกพร่องซึ่งช่วยให้พฤติกรรมบางอย่างที่มีความเสี่ยงโดยเนื้อแท้ และผู้ออกแบบเว็บไซต์ใช้คุณสมบัติเฉพาะที่กระตุ้นพฤติกรรมเหล่านี้โดยกำหนดให้ผู้ออกแบบเบราว์เซอร์ใช้ "ค่าธรรมเนียม" (หรือเสี่ยงต่อการถูกทิ้งไว้ใน "สงครามเบราว์เซอร์") ผู้ออกแบบเบราว์เซอร์อาจพยายามลดพฤติกรรมที่มีความเสี่ยงและผู้พัฒนาโปรแกรมป้องกันไวรัสจะทำการตรวจสอบเพิ่มเติม แต่จะมีบางสิ่งที่ผ่านเข้ามาได้เสมอ
Daniel R Hicks

@DanH: คุณมีตัวอย่างเฉพาะของช่องโหว่ความปลอดภัยที่เหลืออยู่ในเบราว์เซอร์ทั้งหมดโดยเจตนาเพราะผู้ใช้ต้องการมันหรือไม่?
BlueRaja - Danny Pflughoeft

ฉันไม่ได้บอกว่าหลุมอยู่ที่นั่นโดยเจตนา แต่รายละเอียดที่ไม่ดีจะนำไปสู่การใช้งาน "ความเสี่ยง" และในหลาย ๆ กรณีการใช้งานนั้นไม่ชัดเจนพอที่จะพิสูจน์ได้จากมุมมองด้านความปลอดภัย (และมันไม่ถูกต้องเนื่องจากสเป็คไม่สามารถใช้งานได้)
Daniel R Hicks

อ๋อใช่วิทยาการคอมพิวเตอร์ ... วิทยาศาสตร์ในโลกที่มีรถยนต์ที่ขับรถผิดทางในถนนครึ่งทางหนึ่งของเวลาและเคลื่อนย้ายไปยังอีกฝั่งหนึ่ง
พัฒนา

8

คำถามเฉพาะของคุณ

ฉันเข้าใจว่าเห็นได้ชัดว่าฉันสามารถรับไวรัสโดยการดาวน์โหลดและเรียกใช้งาน. exe ใน Windows แต่ฉันจะได้รับไวรัสเพียงแค่เข้าถึงเว็บไซต์ได้อย่างไร

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

รหัสนี้ยังเป็นข้อมูล (ที่ระดับโปรเซสเซอร์)

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

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

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

เบราว์เซอร์ของคุณยังเรียกใช้โปรแกรมที่ด้านบนของหน้าเว็บ Javascript ดังที่คุณกล่าวถึงเป็นรหัสประเภทหนึ่ง แต่มีหลายสิบ ActiveX, Flash, ส่วนเสริม, จาระบีลิงสคริปท์ ฯลฯ เป็นรหัสทั้งหมดที่คุณใช้ในขณะที่เยี่ยมชมเว็บเพจ รหัสนี้สามารถมีข้อบกพร่องที่ทำให้เกิดความปลอดภัยกางเกง

ไวรัสเหล่านี้โจมตีผู้ใช้ Windows, Mac และ Linux หรือผู้ใช้ Mac / Linux มีภูมิคุ้มกันหรือไม่

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

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

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

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

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

เมื่อคุณกำลังพูดถึงเครื่องเสมือนหรือภาษาสคริปต์การโจมตีอาจเป็นแพลตฟอร์มที่เป็นอิสระ นั่นนำเราไปสู่คำถามต่อไป ...

ไวรัสมีโปรแกรมใน JavaScript หรือไม่

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

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

ยิ่งมีซอฟต์แวร์ที่ทำงานอยู่ (เช่นซอฟต์แวร์ที่รันเซิร์ฟเวอร์) ยิ่งมีความเสี่ยงที่จะถูกโจมตีมากขึ้น

โดยทั่วไปสิ่งนี้เรียกว่าAttack Surface

การหาประโยชน์โดยทั่วไป

Microsoft มีตัวช่วยจำสำหรับประเภทการหาประโยชน์ที่พบบ่อยและพวกเขาทุกคนมีคุณสมบัติที่น่าสนใจของตัวเองและซอฟต์แวร์ระดับต่าง ๆ ที่พวกเขาสามารถโจมตี - STRIDEซึ่งย่อมาจาก:

Spoofing (of user identity)
Tampering
Repudiation
Information disclosure (privacy breach or Data leak)
Denial of Service (D.o.S.)
Elevation of privilege

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

แต่ความปลอดภัยเป็นเรื่องใหญ่และกำลังพัฒนา มีข้อมูลมากเกินไปที่จะตอบคำถามของคุณอย่างสมบูรณ์


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

@Breakthrough: พวกเขาถามว่า "พวกเขาเขียนโปรแกรมด้วยจาวาสคริปต์หรือเปล่า?" ไม่ได้ทำให้สิ่งที่ฉันพูดจริงน้อยลงโดยเฉพาะอย่างยิ่งเมื่อนำไปใช้กับ "ฉันจะได้รับไวรัสเพียงแค่เข้าถึงเว็บไซต์" พวกเขาถามคำถามหลายข้อและสิ่งที่ฉันอธิบายนำไปใช้กับส่วนหนึ่งของคำถามหากไม่ใช่ทั้งหมด
Merlyn Morgan-Graham

@Breakthrough: ฉันเพิ่มข้อมูลเพิ่มเติมเกี่ยวกับ Javascript โดยเฉพาะและการคุกคามโดยทั่วไป
Merlyn Morgan-Graham

@ Merlyn Morgan-Graham ฉันพูดถึงเฉพาะเมื่อคุณพูดว่า "... ไวรัสที่เขียนขึ้นสำหรับ Intel ที่ไม่ใช่ Intel อาจไม่ทำงานบน Intel Mac และในทางกลับกันเพราะพวกเขามีโปรเซสเซอร์ที่แตกต่างกัน" และไม่ใช่คำตอบทั้งหมดของคุณ
พัฒนา

1
@ Merlyn Morgan-Graham "เหตุผลสำหรับตำนานนี้คือ Mac และ Linux มีอัตราการยอมรับที่ต่ำกว่าเครื่อง Windows"
Lincity

7

คำนี้เรียกว่า"Drive By Download"

นี่คือตัวอย่างที่ดีของการเกิดขึ้นโดยที่คุณไม่ต้องทำอะไรนอกจากเข้าไปที่เว็บไซต์

ชไนเดอร์กล่าวว่าทีมนักวิจัยของ บริษัท ค้นพบชิ้นส่วนของจาวาสคริปต์ในหน้าเว็บที่กำลังฉีด iframe ที่ชี้ไปยังไซต์ที่เป็นอันตราย การตรวจสอบอย่างใกล้ชิดเปิดเผยว่าใช้ประโยชน์จาก IE ที่ไม่รู้จักก่อนหน้านี้ (0 วัน) ที่สามารถชนเบราว์เซอร์เวอร์ชันที่ได้รับการแก้ไขและเรียกใช้โค้ดที่เป็นอันตราย ระยะเวลา 0 วันนั้นสั้นมากเนื่องจาก Microsoft เปิดเผยรายละเอียดเกี่ยวกับช่องโหว่นี้ในไม่ช้า

การวิเคราะห์เพิ่มเติมของ shellcode เปิดเผย URL แบบข้อความที่ชัดเจนซึ่งชี้ไปยังเซิร์ฟเวอร์ที่เป็นอันตรายที่รู้จักซึ่งถูกจัดเก็บในที่เก็บของ M86 ว่ามีการใช้ช่องโหว่ iepeers.dll ที่รู้จักกันดี MS10-018


+1 สำหรับการเป็นคำตอบเดียวที่ใช้คำที่เหมาะสม
Breakthrough

3

เคล็ดลับคือผู้ผลิตไวรัส / ผู้เชี่ยวชาญด้านความปลอดภัยพบลูปรูในเบราว์เซอร์ ง่ายๆก็คือพวกเขาพบช่องโหว่ในความปลอดภัยของเบราว์เซอร์และพวกเขาสามารถใช้รูนี้เพื่อทำอะไรบางอย่างกับระบบของคุณ มีหลายกรณีที่ Adobe Flash มีช่องโหว่และมีรหัสเฉพาะที่สามารถนำไปใช้ประโยชน์ได้ นอกจากนี้ยังมีสตริงจาวาสคริปต์ที่สามารถเปิดรูโหว่ด้านความปลอดภัยเหล่านี้

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


มีข้อบกพร่องด้านความปลอดภัยในซอฟต์แวร์ทุกชิ้นที่มีอยู่ ไม่พบทั้งหมด Microsoft Paint มีข้อผิดพลาดที่น่ารังเกียจมาเป็นเวลานานเช่นที่สามารถผลิตซ้ำได้อย่างง่ายดาย (ภายในไม่กี่นาที) โดยเพียงแค่โยนข้อมูลที่สร้างแบบสุ่มเป็น "ภาพ" ที่กล่องโต้ตอบ "ไฟล์ -> เปิด"
Merlyn Morgan-Graham

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

2

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

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

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

ทางออกที่ดีที่สุดของคุณคือเรียกใช้โปรแกรมสแกนไวรัสที่มีคุณภาพ ผมใช้ NOD32 โดยEset นอกจากนี้อย่าคลิกที่สิ่งที่ดีเกินกว่าที่จะเป็นจริงได้ ใช้NoScriptใน Firefox และAdBlock


1

ไวรัสเหล่านี้โจมตีผู้ใช้ Windows, Mac และ Linux หรือผู้ใช้ Mac / Linux มีภูมิคุ้มกันหรือไม่

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

มีมานานแล้วว่าเป็นการยากที่จะได้รับสิทธิ์ระดับผู้ดูแลระบบในเครื่อง Unix (เช่น Linux, Mac หรือ BSD) มากกว่าใน Windows อย่างไรก็ตามล่าสุด (ณ Windows Vista) การปรับปรุงคุณสมบัติความปลอดภัยโดย Microsoft อาจทำให้ Windows มีความปลอดภัยมากกว่าเดิม - หรืออย่างน้อยนั่นคือสิ่งที่คุณเชื่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.