ภัยคุกคามความปลอดภัยทั้งหมดเกิดขึ้นจากข้อบกพร่องของซอฟต์แวร์หรือไม่


13

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


4
คุณเรียกความเป็นไปได้ที่ผมจะคาดเดารหัสผ่านที่อ่อนแอซอฟต์แวร์จุดบกพร่องหรือไม่? ถ้ามีอะไรมันเป็นปัญหาการออกแบบ แต่มันอาจเป็นพื้นฐานมากกว่านี้
โจอาคิมซาวเออร์

4
คุณจะนิยามการออกแบบที่ไม่ดีเป็นข้อบกพร่องหรือไม่?
StuperUser

1
เพื่อรองรับ @StuperUser ในลิงก์ " security.stackexchange.com/questions/25585/… " ไม่มีข้อผิดพลาดในสคริปต์ของ Dave แต่มันคือการออกแบบที่โง่
Manoj R

1
หากเราแยกเหตุผลทั้งหมดสำหรับปัญหาด้านความปลอดภัยยกเว้นข้อบกพร่องแล้วใช่
andho

ที่เกี่ยวข้อง: homepage.ntlworld.com./jonathan.deboynepollard/FGA/…
Trevor Powell

คำตอบ:


25

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

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

ความก้าวหน้าในวิชาคณิตศาสตร์ทำให้วิธีการเข้ารหัสเก่า ๆ สิ่งที่ปลอดภัยเมื่อ 30 ปีที่แล้วกลายเป็นอ่อนแอในปัจจุบัน

มีวิธีการขโมยข้อมูลหลายวิธีที่มักถูกมองข้าม คีย์บอร์ดไร้สายมีระยะประมาณ 2 เมตรเนื่องจากเสาอากาศเล็ก ๆ และรหัสที่ส่งนั้นไม่มีการเข้ารหัส การอ่านจากฝั่งตรงข้ามด้วยเสาอากาศที่ดีเป็นวิธีที่รู้จักกันดี

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

ความปลอดภัยทั้งหมดขึ้นอยู่กับความไว้วางใจ ไม่มีวิศวกรรมทางสังคมสำหรับผู้ดูแลระบบที่ได้รับการแต่งตั้งในการโกงและอ่านอีเมลของคุณ

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


2
"ถ้ารายละเอียดผิดพลาดไม่ใช่ข้อผิดพลาด" hm ถ้อยคำนี้ฟังดูลื่น ฉันจะพูดว่า"มันเป็นข้อผิดพลาดในสเป็ค"แทน เมื่อฉันเป็นผู้ทดสอบฉันได้ส่งและตรวจสอบการแก้ไขข้อบกพร่องหลายสิบหลายครั้งเรียบร้อยแล้ว และในฐานะนักพัฒนาฉันมีโอกาสแก้ไข "ข้อมูลจำเพาะบั๊ก" ที่รายงานโดยผู้ทดสอบเทียบกับเอกสาร API ฉันได้รับมอบหมายให้ดูแล ...
gnat

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

1
@ChrisF: ขอบคุณที่พูดสิ่งที่ฉันอยากจะพูด แต่ไม่รู้ว่าจะทำอย่างไร แก้ไขคำตอบเพื่อชี้แจง
เอสเอฟ

ไม่ชัดเจนเสมอไปว่าคุณลักษณะเฉพาะที่เขียนไว้ในข้อมูลจำเพาะเป็นความผิดพลาด
Doc Brown

1
@DocBrown: ใช่ - บางครั้งการรักษาความปลอดภัยจำเป็นต้องใช้เนื่องจากการแลกเปลี่ยนประสิทธิภาพค่าใช้จ่าย ...
SF

12

อาจมีสถานการณ์ที่ข้อบกพร่องของฮาร์ดแวร์ทำให้เกิดปัญหาด้านความปลอดภัยเช่นกัน เพียงพิจารณาชิป RAM ที่ผิดพลาดที่เปิดบิต "isAdmin" อย่างผิดปกติ

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

เพื่อความสุขในการอ่านของคุณ: การรักษาความปลอดภัยคอมพิวเตอร์ลดลงจากความล้มเหลวของฮาร์ดแวร์


อัตราต่อรองสำหรับชิปแรมที่พลิก isAdmin คืออะไร?
m3th0dman

1
เล็กมากชัด แต่ถ้ามันเกิดขึ้นมันเป็นเธรดความปลอดภัยที่ไม่ได้เกิดจากข้อผิดพลาดของซอฟต์แวร์
281377

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

@ user281377 คุณตระหนักถึงความน่าจะเป็นเพียงการเลือกบิต isAdmin จากบิตทั้งหมดเป็น 1/34359738368 สำหรับเครื่องที่มี RAM 4 GB; สิ่งนี้โดยไม่สนใจความน่าจะเป็นสำหรับการโยนชิปผิด
m3th0dman

@ m3th0dman คุณอาจเข้าใจฉันผิด ฉันไม่ได้บอกว่านี่เป็นปัญหาใหญ่ที่ทุกคนต้องใส่ใจ มันเหมือนหลักฐานทางทฤษฎีว่าปัญหาฮาร์ดแวร์สามารถสร้างเธรดความปลอดภัยได้ ที่กล่าวว่าเป็นไปไม่ได้ที่ผู้โจมตีที่ค้นพบบิตผิดพลาดบนเซิร์ฟเวอร์อาจหาวิธีที่จะลดการป้อนข้อมูลของเขาจนกว่าจะมีสิ่งที่สำคัญเกิดขึ้นในตำแหน่งหน่วยความจำเหล่านั้น
281377

6

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


ทางลัดของชายคนหนึ่งเป็นการเอารัดเอาเปรียบประตูหลังของผู้อื่น
Daniel Hollinrake

5

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

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


มันเสี่ยงต่อความปลอดภัยหรือไม่? มันสามารถทำลายเว็บไซต์ของคุณ แต่มันสามารถทำลายความปลอดภัยของเว็บไซต์ของคุณ?
Carson63000

1
ขึ้นอยู่กับว่าคำจำกัดความของคุณมีความเสี่ยงด้านความปลอดภัยที่กว้างหรือแคบ
Pieter B

4

วิศวกรรมสังคม

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

เมื่อแฮกเกอร์ได้รับชื่อผู้ใช้ / รหัสผ่านเขาสามารถติดตั้งโทรจันได้อย่างปลอดภัยและอื่น ๆ

วิศวกรรมสังคมสามารถนำไปใช้ได้หลายวิธีและใช้เพื่อหลีกเลี่ยงการรักษาความปลอดภัยอย่างใดอย่างหนึ่ง


4
เหตุผลที่น่าเป็นไปได้ที่สิ่งนี้ไม่ได้ถูกเพิ่มขึ้นอีกคือผู้ถามได้ยกเว้น "การแฮ็กเครือข่ายสังคม" อย่างชัดเจน
Joachim Sauer

@JoachimSauer เป็นจุดที่ดี ไม่เห็นว่า
jgauffin

3

แล้วเช่นFiresheep , Firefox addon ที่ขโมยคุกกี้ที่ส่งผ่านเครือข่ายไร้สายที่ใช้ร่วมกัน?

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


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

@JoachimSauer จะเกิดอะไรขึ้นถ้าเว็บไซต์ของคุณปฏิเสธที่จะถ่ายโอนข้อมูลใด ๆ ผ่าน HTTP และจริงๆแล้วมันคือ MITM ที่ทำแผนที่ HTTP ไปยัง HTTPS ในขณะที่เบราว์เซอร์รองรับ HTTP และเราเตอร์อนุญาตให้ส่งผ่านได้มีช่องโหว่ในการดมกลิ่นซึ่งสามารถหลีกเลี่ยงได้โดยไคลเอนต์ที่ใส่ใจเรื่องความปลอดภัยเป็นอย่างยิ่ง ดังนั้นคำถามจริงๆกลายเป็น: มันเป็นข้อผิดพลาดสำหรับเว็บเบราว์เซอร์เพื่อสนับสนุน HTTP?
Peter Taylor

@PeterTaylor: สำหรับปัญหานี้จะมีHTTP Strict Transport Securityซึ่งทำให้มั่นใจได้ว่าเบราว์เซอร์รู้ว่าเว็บไซต์ของคุณควรเข้าชมผ่านการเชื่อมต่อที่ปลอดภัยเท่านั้น นอกจากนี้: ผู้ถามที่ยกเว้น "การแฮ็กทางสังคม" อย่างชัดเจนและขึ้นอยู่กับผู้ใช้ที่จะเพิกเฉยต่อสายที่ไม่ปลอดภัยอาจถูกพิจารณาว่ามีอยู่ในด้านนั้น
Joachim Sauer

@JoachimSauer จะเกิดอะไรขึ้นถ้าฉันพร็อกซีทราฟฟิกทั้งหมดไปยัง Strict Transport Site แต่อนุญาตการเชื่อมต่อ HTTP กลับไปยังไคลเอนต์
Joshua Drake

@JoachimSauer: แน่นอนฉันเห็นด้วยกับคุณ มันเป็นการตัดสินใจออกแบบสถาปัตยกรรมที่ไม่ฉลาดซึ่งทำให้เกิดช่องโหว่นี้ ไม่ใช่สิ่งใดที่นำไปใช้อย่างไม่ถูกต้องในโค้ดซึ่งเป็นสิ่งที่ฉันเรียกว่า "บั๊ก"
Carson63000

1

ใช่ตราบเท่าที่ความล้มเหลวในการรักษาความปลอดภัยของซอฟต์แวร์คือ - อะไรก็ตามที่เป็นสาเหตุใกล้เคียง - ความล้มเหลวของซอฟต์แวร์ที่จะตอบสนองความต้องการของมัน

ฉันยอมรับว่านี่เป็นเพียงการพูดซ้ำซาก แต่นั่นเป็นการวัด


บางครั้งการรักษาความปลอดภัยไม่ใช่ข้อกำหนด (ตามที่กำหนด) และถ้ามันถูกเพิ่มเข้าไปในรายการข้อกำหนดหลังจากการละเมิดความปลอดภัยฉันจะไม่เรียกมันว่า "บั๊ก"
Joachim Sauer

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