How to request CVE

ขั้นตอนการขอ CVE จนได้ CVE

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

  • ได้ความ Cool
  • สามารถใส่เป็น profile ใน CV
  • เข้าใจกระบวนการการออก CVE และหมายเลข CVE

 

บทความโดย
MR. PT
Cyber Security Researcher

 

 

 

 

โดย CVEย่อมาจาก Common Vulnerabilities and Exposures ดูรายละเอียดเพิ่มเติมที่ http://cve.mitre.org/ เรียกได้ว่า เป็น ชื่อทางการของช่องโหว่ โดยมีรูปแบบเป็น CVE-YYYY-NNNN โดยที่ YYYY เป็นปี ค.ศ. ที่ค้นพบช่องโหว่ ส่วน NNNN แสดงลำดับในการค้นพบ ดังนั้น จะมีชื่อได้ 10,000 ชื่อ เช่น CVE-2013–5576 แสดงว่า เป็นช่องโหว่ เกิดขึ้นปี 2013 และเป็นลำดับที่ 5576 ของปีนั้น (แต่ ตั้งแต่ 1 ม.ค. 2014 จะมีการเปลี่ยนแปลงรูปแบบ ตัวเลขตั้งแต่ 0–9999 จะยังใช้ NNNN หรือ4 Digit เหมือนเดิม แต่เมื่อมากกว่านั้น ก็สามารถขยายไปได้เรื่อยๆ เช่น CVE-0001 แต่เมื่อเกิน 10,000ก็จะเป็น CVE-10001 หรือใช้ NNNNN เป็น 5 Digit นั่นเอง)

Credit : https://sysadmin.psu.ac.th/2013/12/13/hacking-website-detection-05/

เพื่อไม่เป็นการเสียเวลาเน้นเนื้อๆไม่เน้นน้ำ มาดูขั้นตอนการขอ CVE กันเลยครับ

  1. ไปที่เว็บไซต์ https://cveform.mitre.org/
  2. ในช่อง * Select a request type ให้กรอก Request a CVE ID
  3. ในช่อง * Enter your e-mail addressให้กรอก email เราลงไปตามรูป

 

โดยในเว็บจะมี IMPORTANT เตือนว่า ถ้าเรายังไม่มีการ publicช่องโหว่ที่เราแจ้งไป CVE ID จะแสดงสถานะ reserve ครับ หมายความว่าถ้าเราเข้าไปดูหมายเลข CVE ที่หน้าเว็บจะยังไม่ขึ้นรายละเอียด CVE ของเราครับ

  1. ในช่อง * Number of vulnerabilities reported or IDs requested (1–10) ก็ให้เราใส่จำนวนช่องโหว่ที่ต้องการขอลงไป ผมก็ใส่ 1 ลงไป
  2. จากนั้นก็จะเจอข้อความเตือนอีกทีว่าก่อน Submit ขอ CVE เราต้องมีการเช็ค product กับทาง CNA ว่าไม่ใช้ product ที่อยู่ใน CNA (เพราะถ้าเป้น product CNA เราไม่ต้องทำไรเลยครับ เดี๋ยวเค้าออกให้ โดยให้เราแจ้งช่องโหว่ไปที่เจ้าของ product) และ CVE ที่เราจะขอต้องเป็นช่องโหว่ที่ยังไม่เคยมีหมายเลข CVE จากนั้นก็กรอกข้อมูลต่างๆลงไป โดยดูตัวอย่างได้จาก :https://gist.github.com/boatpavaris/cff51e52a96fdde8215f71a3315703c2
  3. เมื่อผมกรอกข้อมูลต่างๆครบ จากนั้นผมก็กด submit request เพื่อทำการขอหมายเลข CVE จากนั้นหลังส่งไปก็มีอีเมล์ Auto reply ตอบกลับมาดังรูป
  4. จากนี้ก็ได้แต่รอๆๆๆๆๆๆๆๆๆ ว่าทาง CVE จะตอบรับให้ CVE หรือป่าว ผ่านไป 1 week ทาง CVE ก็เงียบไป ผมก็นึกว่าจะไม่ได้ CVE แล้ว เพราะจากที่สอบถามคนที่เคยได้ CVEมาก่อนบอกว่า CVE ตอบกลับมา 2 ถึง 3 วัน จนมาถึงวันเด็กตื่นขึ้นมาก็เห็นเมล์ของ CVEตอบกลับมาว่า Use CVE-2019–6242 เย้ๆๆๆๆๆ
  5. แต่ตอนนี้สถานะหมายเลข CVE จะเป็น reserve อยู่ เราก็เอาข้อมูลช่องโหว่เราไป public สักที่ (ถ้า productบอกจะแก้ อาจจะต้องรอให้เค้าแก้จะได้ไม่น่าเกลียด) เช่น exploit-db, securityfocus, github etc แล้วส่งเมล์ไปแจ้งทาง mitre จะ public ที่หน้าเว็บไซต์ให้เองครับโดยผมทำการpublic ผ่านทาง gist
  6. จากนั้นเราก็ส่งไปแจ้งทางCVE ว่าเราได้ทำการ public ช่องโหว่บน gist แล้วนะ
  7. หลังจากส่งเมล์ผ่านไปไม่ถึง24 ชม. ผมลองเอา CVE-2019–6242 ไป search ก็จะปรากฏตามรูป
  8. จากนั้นลองคลิกเข้าไปดูในเว็บ cve.mitre.org ก็จะปรากฏช่องโหว่ที่ผมได้แจ้งไป ตามรูป แต่จะติด disputed (disputed คือ vendor บอกไม่เป็นประเด็น แต่คน report บอกเป็นประเด็น )
  9. ก็หวังว่าบทความที่ผมเขียนขึ้นมาคงมีประโยชน์กับคนที่สนใจทางด้านการหาช่องโหว่ไม่มากก็น้อยนะครับและบทความนี้จะเขียนขึ้นมาไม่ได้เลยถ้าไม่มี3 ท่านนี้คอยให้คำปรึกษา Amarit@SecureD, Gohung@SEC Consult, Post@KPMG และ itselectlab กับ แอดมินเทพสอนแฮกเว็บแบบแมวๆ ที่ช่วยแชร์ในเพจครับ ขอบคุณมากครับ ^___^