โครงการความปลอดภัยของอินเทอร์เน็ตสาธารณะ
ทำให้อินเทอร์เน็ตปลอดภัย
NullSquare ค้นหาการตั้งค่าความปลอดภัยที่ผิดพลาดอย่างชัดเจนและมองเห็นได้จากภายนอก แล้วแจ้งองค์กรที่รับผิดชอบเป็นการส่วนตัว โครงการเดียวกันนี้ยังศึกษาโค้ดโอเพนซอร์สสาธารณะ เพื่อหาปัญหาที่เราทำซ้ำได้ แก้ได้ และพิสูจน์ได้
ทำไมคุณจึงได้รับข้อความ
เอเจนต์ของเราพบบางอย่างที่เปิดสู่อินเทอร์เน็ตสาธารณะบนโดเมนขององค์กรคุณ เราจึงเขียนถึงคุณเป็นการส่วนตัว เพื่อให้ทีมของคุณตรวจสอบและปิดมันได้ เราไม่ได้บอกใครอื่น และไม่ได้เผยแพร่
โครงการนี้ตรวจอะไรบ้าง
โครงการนี้ดูเฉพาะสิ่งที่มองเห็นได้จากอินเทอร์เน็ตสาธารณะอยู่แล้ว:
- บริการที่เข้าถึงได้จากอินเทอร์เน็ตทั้งที่ไม่ควรเป็นเช่นนั้น
- หน้าจอผู้ดูแลที่เปิดให้ใครก็ตามที่หาเจอ
- เครื่องมือสำหรับพัฒนาหรือดีบักที่ถูกปล่อยให้รันอยู่แบบสาธารณะ
- รายการไดเรกทอรีที่เสิร์ฟไฟล์ซึ่งไม่ควรถูกเสิร์ฟเลย
- หน้าเริ่มต้นของการดีพลอยที่ยังค้างอยู่บนโฮสต์ที่ใช้งานจริง
- การตั้งค่าผิดพลาดในลักษณะเดียวกันที่ใครก็หาเจอได้ด้วยวิธีเดียวกับที่เราหาเจอ
เอเจนต์เก็บเพียงเท่าที่พอจะระบุโดเมนหรือบริการที่ได้รับผลกระทบ และบอกว่าเป็นปัญหาประเภทใด ไม่ได้เข้าไปลึกกว่านั้น
การวิจัยโอเพนซอร์ส
การแจ้งเตือนช่วยลดพื้นที่โจมตีที่เปิดอยู่ แต่ไม่ได้แก้โค้ดที่อยู่ข้างใต้ โครงการนี้จึงทำงานที่ต้นทางด้วย เราเลือกรีโพซิทอรีโอเพนซอร์สสาธารณะทีละหนึ่งแห่ง แล้วศึกษามันในแซนด์บ็อกซ์ที่ใช้แล้วทิ้ง เพื่อหาปัญหาความปลอดภัยที่เราพิสูจน์ได้
การที่เอเจนต์ยืนยันว่าบางอย่างมีช่องโหว่ ยังไม่ใช่ความเสี่ยงที่ยืนยันแล้ว ผลจากสแกนเนอร์ก็เช่นกัน ไม่มีอะไรนับได้จนกว่าจะทำซ้ำได้ การแก้ยืนระยะได้ และทั้งสองอย่างถูกบันทึกไว้ดีพอที่คนอื่นจะรันซ้ำได้
- 01ตรึงรีโพซิทอรีถูกโคลนที่คอมมิตเจาะจงลงในแซนด์บ็อกซ์ใช้แล้วทิ้งซึ่งไม่มีข้อมูลรับรองของระบบจริง
- 02ตั้งฐานบิลด์และเทสต์ของโครงการเองจะถูกรันก่อนเริ่มวิจัย เพื่อให้รู้ว่าอะไรผ่านอยู่แล้ว
- 03วิจัยเอเจนต์อ่านและทดลองรันโค้ดภายในแซนด์บ็อกซ์ บนรีวิชันที่ตรึงไว้เพียงอันเดียวนั้น
- 04ทำซ้ำสิ่งที่พบจะนับได้ก็ต่อเมื่อทำซ้ำได้จากเช็คเอาต์ที่สะอาด โดยไม่มีสถานะตกค้างจากการสำรวจ
- 05แก้ไขการแก้ที่เล็กที่สุดเท่าที่สมเหตุสมผล พร้อมเทสต์ป้องกันการถดถอยเมื่อโครงสร้างโครงการเอื้อให้ทำได้
- 06ตรวจยืนยันขั้นตอนการทำซ้ำถูกรันใหม่ทั้งก่อนและหลังการแก้ไข และการตรวจสอบของโครงการเองก็ถูกรันอีกครั้ง
- 07ทบทวนมนุษย์เป็นผู้ตัดสินว่าจะรับหรือปฏิเสธผลลัพธ์ ไม่มีอะไรออกจากแล็บโดยอัตโนมัติ
เราไม่เคยลบ ข้าม หรือลดความเข้มของเทสต์เพื่ออ้างว่าผ่าน เมื่องานไม่ถึงเกณฑ์ คำตอบคือ ไม่มีความเสี่ยงที่ยืนยันได้ พร้อมบันทึกว่าได้ลองอะไรไปบ้างและอะไรที่ตรวจไม่ได้ ไม่ว่าทางไหน การรันก็ให้ชุดเอกสารเดียวกัน:
ชุดหลักฐาน
ใช้ภายใน ผ่านการตรวจโดยมนุษย์ และแล็บไม่เคยเผยแพร่เอง
- summary.md
- ได้ลองอะไรไป พบอะไร และอะไรที่ตรวจไม่ได้
- risk.md
- สาเหตุราก เส้นทางโค้ดที่ได้รับผลกระทบ และการประเมินความเชื่อมั่นอย่างตรงไปตรงมา
- reproduction/
- คำสั่งและหลักฐานที่สังเกตได้จากรีวิชันที่ยังไม่ได้แก้
- patch.diff
- การแก้ขั้นต่ำ ผูกกับคอมมิตที่ตรึงไว้
- tests/
- เทสต์ป้องกันการถดถอยที่ล้มเหลวก่อนแก้ และผ่านหลังแก้
- verification.md
- ผลลัพธ์ก่อนและหลัง พร้อมเอาต์พุตของบิลด์ เทสต์ และลินต์
- run-metadata.json
- รีโพซิทอรี คอมมิตที่แน่ชัด โมเดล ระยะเวลา และต้นทุน
สิ่งที่โครงการนี้ไม่ทำ
- ไม่เดารหัสผ่าน ไม่ทดสอบข้อมูลรับรอง ไม่ข้ามการยืนยันตัวตน
- ไม่โจมตีจริง ไม่ทดสอบแบบทำลาย ไม่ยกระดับสิทธิ์ ไม่ร้อยช่องโหว่ต่อกัน
- ไม่เก็บไฟล์ส่วนตัว ระเบียนลูกค้า ซอร์สโค้ด หรือเนื้อหาที่ต้องล็อกอิน
- ไม่เผยแพร่ ไม่ขาย และไม่ทำดัชนีสาธารณะของปัญหาที่พบ
- ไม่ทดสอบสภาพแวดล้อมที่ใช้งานจริงหรือที่โฮสต์อยู่ระหว่างการวิจัย ทำงานกับโคลนในเครื่องเท่านั้น
- ไม่ฟอร์ก ไม่สร้างแบรนช์ ไม่คอมมิต ไม่พุช ไม่เปิดพูลริเควสต์ และไม่เปิดอิสชู แล็บไม่มีสิทธิ์เขียนลงรีโพซิทอรี
- แล็บไม่ติดต่อผู้ดูแลโครงการ ไม่ออกประกาศเตือน ไม่ขอ CVE และไม่ส่งขอรางวัลด้วยตนเอง
- ไม่สแกนแหล่งเก็บโค้ดสาธารณะแบบเหมารวม รีโพซิทอรีถูกเลือกทีละแห่งอย่างตั้งใจ
ความเป็นส่วนตัวและการจัดการข้อมูล
การแจ้งเตือนถูกส่งตรงไปยังผู้ติดต่อสาธารณะที่เหมาะสมของโดเมนนั้น เซสชันการตรวจพบจะถูกทิ้งหลังส่งข้อความแล้ว และ NullSquare ไม่ได้เก็บฐานข้อมูลความเสี่ยงจากโครงการนี้ที่ค้นหาได้
การรันวิจัยทำงานกับซอร์สโค้ดสาธารณะเท่านั้น แซนด์บ็อกซ์ถูกทำลายหลังรันเสร็จ และชุดหลักฐานยังคงอยู่ภายใน หากมีผลลัพธ์ใดถูกนำไปหาผู้ดูแลโครงการ นั่นคือการตัดสินใจแยกต่างหากและโดยเจตนาของมนุษย์
บันทึกขั้นต่ำเกี่ยวกับการส่งอีเมล การป้องกันการใช้ในทางมิชอบ และการขอไม่รับข้อมูล อาจถูกเก็บแยกไว้ บันทึกเหล่านี้ไม่มีข้อมูลเป้าหมายที่คัดลอกมาหรือผลลัพธ์จากการโจมตี
ตรวจสอบหรือตอบกลับการแจ้งเตือน
ข้อความ «Secure the internet» ที่แท้จริงจะไม่ขอข้อมูลรับรอง การชำระเงิน คีย์ API หรือสิทธิ์เข้าถึงระบบของคุณเลย คุณสามารถตอบกลับข้อความ ขอไม่รับข้อมูล แก้ไขผู้ติดต่อ หรือยืนยันแหล่งที่มาโดยตรงกับ NullSquare
null@nullsquare.net