OWASP ความเสี่ยงด้านความปลอดภัย 10 อันดับแรก | ภาพรวม

สารบัญ

OWASP ภาพรวม 10 อันดับแรก

OWASP คืออะไร?

OWASP เป็นองค์กรไม่แสวงหาผลกำไรที่อุทิศตนเพื่อการศึกษาด้านความปลอดภัยของเว็บแอป 

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

OWASP 10 อันดับแรกคือรายการที่เน้นข้อกังวลด้านความปลอดภัยอันดับต้น ๆ สำหรับเว็บแอปในปัจจุบัน พวกเขาแนะนำให้ทุกบริษัทรวมรายงานนี้ในกระบวนการของตนเพื่อลดความเสี่ยงด้านความปลอดภัย. ด้านล่างนี้คือรายการความเสี่ยงด้านความปลอดภัยที่รวมอยู่ในรายงาน OWASP Top 10 ประจำปี 2017

ด้วย SQL Injection

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

ตัวอย่างของการฉีด SQL:

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

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

เพื่อป้องกันการแทรก SQL OWASP แนะนำให้แยกข้อมูลออกจากคำสั่งและแบบสอบถาม ตัวเลือกที่ดีกว่าคือการใช้ความปลอดภัย API เพื่อป้องกันการใช้ล่าม หรือเพื่อโยกย้ายไปยัง Object Relational Mapping Tools (ORMs).

การตรวจสอบสิทธิ์ใช้งานไม่ได้

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

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

การเปิดเผยข้อมูลที่ละเอียดอ่อน

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

XML หน่วยงานภายนอก (XEE)

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

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

การควบคุมการเข้าถึงเสีย

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

การกำหนดค่าความปลอดภัยผิดพลาด

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

การเขียนสคริปต์ข้ามไซต์ (XSS)

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

เพื่อป้องกัน Cross-site Scripting (XSS) ตรวจสอบให้แน่ใจว่า HTML ของคุณได้รับการฆ่าเชื้ออย่างดี นี้สามารถ สำเร็จได้โดย การเลือกเฟรมเวิร์กที่เชื่อถือได้ขึ้นอยู่กับภาษาที่เลือก. คุณสามารถใช้ภาษาต่างๆ เช่น .Net, Ruby on Rails และ React JS เนื่องจากภาษาเหล่านี้จะช่วยแยกวิเคราะห์และล้างโค้ด HTML ของคุณ การปฏิบัติต่อข้อมูลทั้งหมดจากผู้ใช้ที่ได้รับการรับรองความถูกต้องหรือไม่ได้รับการตรวจสอบสิทธิ์ว่าไม่น่าเชื่อถือสามารถลดความเสี่ยงของการโจมตี XSS.

การดีซีเรียลไลซ์เซชั่นที่ไม่ปลอดภัย

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

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

การใช้ส่วนประกอบที่มีช่องโหว่ที่รู้จัก

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

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

การบันทึกและการตรวจสอบไม่เพียงพอ

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

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

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

สรุป

รหัสที่ดีไม่ได้ เพียงแค่ เกี่ยวกับฟังก์ชันการทำงาน เป็นเรื่องของการรักษาผู้ใช้และแอปพลิเคชันของคุณให้ปลอดภัย. OWASP 10 อันดับแรกคือรายการความเสี่ยงด้านความปลอดภัยของแอปพลิเคชันที่สำคัญที่สุด เป็นแหล่งข้อมูลฟรีที่ยอดเยี่ยมสำหรับนักพัฒนาในการเขียนเว็บที่ปลอดภัยและแอพมือถือ. การฝึกอบรมนักพัฒนาในทีมของคุณเพื่อประเมินและบันทึกความเสี่ยงสามารถช่วยทีมของคุณประหยัดเวลาและเงินในระยะยาว หากคุณต้องการ เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการฝึกฝนทีมของคุณใน OWASP Top 10 คลิกที่นี่

ผ่านการเซ็นเซอร์ TOR

ข้ามการเซ็นเซอร์อินเทอร์เน็ตด้วย TOR

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

Read More »
Kobold Letters: การโจมตีแบบฟิชชิ่งทางอีเมลที่ใช้ HTML

Kobold Letters: การโจมตีแบบฟิชชิ่งทางอีเมลที่ใช้ HTML

Kobold Letters: การโจมตีแบบฟิชชิ่งทางอีเมลแบบ HTML เมื่อวันที่ 31 มีนาคม 2024 Luta Security ได้เผยแพร่บทความที่ให้ความกระจ่างเกี่ยวกับเวกเตอร์ฟิชชิ่งที่ซับซ้อนตัวใหม่ Kobold Letters

Read More »