Firi เปิดเผยสถานะด้านความปลอดภัยของบริษัทต่อสาธารณะ เรื่องนี้มีความสำคัญ
บริษัทส่วนใหญ่บอกว่าความปลอดภัยสำคัญ แต่มีเพียงไม่กี่บริษัทที่เผยแพร่สรุปการประเมินความปลอดภัยจากบริษัทภายนอกต่อเนื่องทุกปี โดยเฉพาะในตลาดที่ระบบต้องปกป้องสินทรัพย์ของลูกค้า ระบบรับส่งเงิน fiat การถอน crypto กระบวนการยืนยันตัวตน hot wallet และ cold wallet การดำเนินงานภายใน โครงสร้างพื้นฐานบนคลาวด์ และ public APIs
Firi ทำเช่นนั้น หน้า security ของพวกเขาระบุการประเมินอิสระและสรุปรายงาน รวมถึงสรุปสาธารณะจาก mnemonic ที่ครอบคลุม AWS security, การทดสอบเว็บแอปพลิเคชัน และการตรวจสอบโค้ด
Firi เป็นลูกค้าของผมมาห้าปี ผมช่วยสร้างและเสริมความแข็งแกร่งให้แพลตฟอร์มนี้ และผมยินดีเสมอที่จะช่วยให้พวกเขาบรรลุระดับของ security engineering ที่มักเกี่ยวข้องกับบริษัทเทคโนโลยีระดับท็อปที่มีขนาดใหญ่กว่า
ดังนั้นผมอ่านรายงานเหล่านั้นแตกต่างจากคำพูดการตลาด รายงานเป็นแรงกดดันภายนอกต่อผลงานวิศวกรรม: ทีมต่างกัน, ปีต่างกัน, แบบจำลองการโจมตีต่างกัน, และคำถามเดิมซ้ำๆ ทุกครั้ง
ระบบนี้จะผ่านการตรวจสอบอย่างจริงจังได้หรือไม่?
สรุปสั้น ๆ: รายงานยังคงพบงานปรับปรุง แต่ก็ยืนยันทิศทางด้วยเช่นกัน ไม่มีการค้นพบระดับ critical หรือ high ในการทบทวนเว็บแอปพลิเคชันและโค้ดปี 2024 มีเพียงการค้นพบระดับ medium, low, และ informational ในการประเมิน AWS ปี 2024 ภาษาในรายงานก่อนหน้าและภายหลังเน้นเรื่องการควบคุมการเข้าถึง, การจัดการ input, ความต้านทานต่อการ injection, การพิสูจน์ตัวตน, และความทนทานด้านฝั่งไคลเอนต์
นั่นคือหลักฐานที่ผมให้ความเคารพ
ข้อมูลสาธารณะ ลิงก์ไปยังหัวข้อ
หน้า security ของ Firi ระบุว่าบริษัทเสร็จสิ้นการประเมินความปลอดภัยอิสระและการตรวจสอบโค้ด และมีลิงก์ไปยังสรุปสาธารณะ:
- หน้าความปลอดภัยของ Firi
- สรุปการประเมินความปลอดภัย AWS โดย mnemonic ปี 2024
- สรุปการทดสอบความปลอดภัยและการตรวจสอบโค้ดโดย mnemonic ปี 2024
ประวัติสาธารณะที่ผมทำงานจากยังรวมการประเมินเหล่านี้ด้วย:
| ปี | การประเมิน | ผู้ประเมินภายนอก | ประเด็นสำคัญ |
|---|---|---|---|
| 2022 | การทดสอบความปลอดภัย | Netsecurity | มีข้อสังเกตเชิงบวกเกี่ยวกับการควบคุมการเข้าถึง การป้องกัน injection และการพิสูจน์ตัวตนที่รัดกุม |
| 2022 | การทดสอบความปลอดภัย | River Security | รายงานระบุว่าแอปพลิเคชันมีสถานะความปลอดภัยดีมาก สคริปต์ได้รับการเสริมความแข็งแกร่งและ input ผ่านการ sanitize |
| 2023 | การทดสอบความปลอดภัย | River Security | รายงานระบุมาตรการป้องกันที่สร้างความแตกต่างได้จริง |
| 2024 | การตรวจสอบโค้ด | mnemonic | พบ 12 ประเด็น โดยไม่มีระดับ critical หรือ high |
| 2024 | การทดสอบเจาะระบบโครงสร้างพื้นฐาน | mnemonic | พบ 15 ประเด็น: medium 2, low 11 และ informational 2 |
| 2025 | การทดสอบเจาะระบบภายใน | Sygnia | ความพยายามโจมตีด้วย injection ทั่วทั้งแอปพลิเคชันไม่สำเร็จ |
| 2026 | Proof of Compliance | HackerOne | ตรวจสอบการปฏิบัติตามข้อกำหนดผ่าน HackerOne |
นี่ไม่ใช่รายการถ้วยรางวัล แต่มันเป็นไทม์ไลน์ที่มีประโยชน์เพราะแสดงการเปิดรับการตรวจสอบภายนอกซ้ำๆ
สิ่งที่ผมได้จากรายงานเหล่านี้ ลิงก์ไปยังหัวข้อ
สัญญาณสำคัญไม่ใช่ “ไม่มีการค้นพบใดๆ”
ไม่มีการค้นพบสามารถหมายความว่าระบบแข็งแรงได้ มันก็สามารถหมายความว่า scope เล็กเกินไป, เวลาที่ใช้สั้นเกินไป, ผู้ทดสอบมองไม่เห็นพอ, หรือรายงานหลีกเลี่ยงรายละเอียดที่มีประโยชน์
สัญญาณที่ดีกว่าคือ:
- ผู้ประเมินอิสระกลับมาตรวจซ้ำในหลายปี
- การทดสอบครอบคลุมพฤติกรรมของแอปพลิเคชัน, โค้ด, โครงสร้างพื้นฐาน, และระบบภายใน
- ผลการค้นพบไม่อยู่ในช่วง critical และ high ในสรุปสาธารณะปี 2024
- ข้อเสนอแนะกล่าวถึงการเสริมความแข็งแกร่ง, การทำ sanitize, การพิสูจน์ตัวตน, และการควบคุมป้องกันที่ใช้งานได้จริงซ้ำๆ
- บริษัทยอมเผยแพร่สรุปแทนการซ่อนกระบวนการ
นั่นคือสิ่งที่ความปลอดภัยที่มีวุฒิภาวะเป็นในทางปฏิบัติ ไม่สมบูรณ์แบบ ไม่จบ แต่ถูกทดสอบ ถูกปรับปรุง และถูกตรวจสอบอีกครั้ง
เหตุผลที่งานนี้ยาก ลิงก์ไปยังหัวข้อ
Firi ไม่ใช่ผลิตภัณฑ์ CRUD ธรรมดา
มันอยู่ในโดเมนความปลอดภัยที่ซับซ้อน ผลิตภัณฑ์มี UX สำหรับผู้บริโภค, กระแสการเงิน, การเก็บรักษา crypto, การยืนยันตัวตน, การเซ็นต์, การควบคุมการถอน, เครื่องมือภายใน, และโครงสร้างพื้นฐานบนคลาวด์ นั่นสร้างวิธีล้มเหลวได้หลากหลาย:
- การยึดบัญชี
- การควบคุมการเข้าถึงที่มีช่องโหว่
- การโจมตีแบบ injection
- การดำเนินการกับ wallet ที่ไม่ปลอดภัย
- ขั้นตอนอนุมัติที่ไม่รัดกุม
- การกำหนดค่าคลาวด์ผิดพลาด
- secrets รั่วไหล
- เครื่องมือภายในที่ไม่ปลอดภัย
- ความสามารถในการตรวจสอบย้อนหลังไม่เพียงพอ
ปัญหาทางวิศวกรรมไม่ใช่การเพิ่มฟีเจอร์ความปลอดภัยหนึ่งอย่าง ปัญหาคือทำให้การควบคุมที่น่าเบื่อหลายอย่างทำงานร่วมกัน:
- authentication ที่ยากจะบายพาส
- authorization ที่ถูกตรวจสอบฝั่งเซิร์ฟเวอร์
- การจัดการ input ที่ไม่ไว้วางใจไคลเอนต์
- กระบวนการถอนที่ต้องการการยืนยันที่เข้มแข็ง
- infrastructure ที่ปฏิบัติตาม least privilege
- secrets ที่ไม่ถูกเปิดเผยโดยง่าย
- logging ที่ช่วยการสอบสวนโดยไม่รั่วไหลข้อมูลสำคัญ
- กระบวนการปฏิบัติการที่ไม่พึ่งพาบุคคลคนเดียวให้ทำสิ่งที่ถูกต้องด้วยตนเอง
นั่นคือการทำงาน
ความปลอดภัยคือทิศทาง ไม่ใช่ใบรับรอง ลิงก์ไปยังหัวข้อ
รายงาน mnemonic ปี 2024 เป็นตัวอย่างที่ดีของวิธีที่ผมชอบพูดถึง security
สรุปเว็บและการตรวจสอบโค้ดกล่าวว่า mnemonic บันทึก 12 การค้นพบและไม่พบการค้นพบระดับ critical หรือ high severity นั่นแข็งแกร่ง มันยังกล่าวว่ามีการค้นพบระดับ medium, low, และ informational นั่นเป็นเรื่องปกติ การตรวจสอบอย่างจริงจังควรพบสิ่งที่ต้องปรับปรุง
สรุปการประเมิน AWS กล่าวว่า mnemonic พบ 15 ปัญหาด้านความปลอดภัย รวมถึงสองปัญหาระดับ medium และสิบเอ็ดปัญหาระดับ low มันยังกล่าวว่า IAM strategy ดูแข็งแรงและคิดมาดี แม้จะยังแนะนำการปรับปรุง
นั่นคือการทำงานด้าน security อย่างซื่อสัตย์: รับทราบสถาปัตยกรรมที่ดี แล้วแก้ความเสี่ยงที่เหลือ
ผมไว้วางใจวิธีนั้นมากกว่าสโลแกนสะอาดๆ
บทเรียนด้านวิศวกรรม ลิงก์ไปยังหัวข้อ
บทเรียนที่ผมได้จากการประเมินเหล่านี้เรียบง่าย:
Security ต้องถูกออกแบบเข้าไปในระบบก่อนการตรวจสอบ
ถ้าคุณรอจนการทดสอบภายนอกเริ่ม คุณมาสายแล้ว ตอนนั้นสถาปัตยกรรมมีอยู่แล้ว โมเดลการพิสูจน์ตัวตนมีอยู่แล้ว ขอบเขตข้อมูลมีอยู่แล้ว ทางลัดในการปฏิบัติการมีอยู่แล้ว
การทดสอบภายนอกไม่ใช่จุดเริ่มต้นของ security แต่มันคือที่สมมติฐานของคุณถูกโจมตี
นั่นคือเหตุผลที่ผมสนใจนิสัยวิศวกรรมที่น่าเบื่อ:
- พื้นที่โจมตีขนาดเล็ก
- ขอบเขตความเชื่อที่ชัดเจน
- least-privilege IAM
- การตรวจสอบแบบ deterministic
- ค่าเริ่มต้นแบบป้องกัน
- code review ที่ถามว่า feature จะถูกเอาไปทำร้ายอย่างไร
- การทบทวน infrastructure ก่อนการเปลี่ยนแปลงสู่ production
- logging ที่มุ่งเหตุการณ์
- เอกสารกระบวนการปฏิบัติการ
นิสัยเหล่านี้ไม่ให้ภาพหน้าจอที่น่าตื่นเต้น แต่ให้รายงานที่ผู้ตรวจสอบอย่างจริงจังยากที่จะหาทางที่สร้างผลกระทบสูง
นั่นคือชัยชนะ
สิ่งที่รายงานเหล่านี้ไม่ได้พิสูจน์ ลิงก์ไปยังหัวข้อ
ผมต้องการชัดเจนตรงนี้
รายงานเหล่านี้ไม่พิสูจน์ว่า Firi หรือระบบใดๆ ปลอดภัยแบบถาวร พวกมันไม่พิสูจน์ว่าทุกคอมโพเนนต์อยู่ในขอบเขตทุกปี พวกมันไม่ลบความจำเป็นของการเฝ้าระวังอย่างต่อเนื่อง, การแพตช์, การทบทวนภายใน, การตอบสนองต่อเหตุการณ์, และการประเมินใหม่ๆ
พวกมันพิสูจน์บางอย่างที่แคบกว่าและมีประโยชน์กว่า:
แพลตฟอร์มที่มีความอ่อนไหวด้านความปลอดภัยได้รับการทดสอบซ้ำโดยบริษัทอิสระหลายแห่งในหลายปี และสรุปสาธารณะแสดงระบบที่มีวุฒิภาวะด้านการป้องกันที่มีความหมายและไม่มีการค้นพบระดับ critical หรือ high ในการทบทวนแอปพลิเคชันและโค้ดปี 2024
นั่นคือความสำเร็จที่เป็นรูปธรรม
สำหรับผม มันยังเป็นการเตือนความจำว่าการทำ security engineering ที่ดีควรให้ความรู้สึกอย่างไรจากภายนอก: สงบ, ทำซ้ำได้, และยากจะทำลายได้