คำนิยาม
พื้นผิวการโจมตี (attack surface) คือการรวบรวมทั้งหมดของอินเทอร์เฟซ องค์ประกอบ และการโต้ตอบต่าง ๆ ที่ผู้โจมตีอาจใช้เป็นช่องทางในการเรียกใช้การโจมตี (exploit) ต่อระบบหนึ่ง ๆ ในสภาพแวดล้อมของบล็อกเชน (blockchain) และสมาร์ตคอนแทรกต์ (smart contract) พื้นผิวการโจมตีจะรวมถึงฟังก์ชันที่เข้าถึงได้จากภายนอกทั้งหมด จุดเข้าใช้งานของโปรโตคอล การพึ่งพาระบบอื่น และการไหลของข้อมูลที่อาจถูกนำไปใช้เพื่อเปลี่ยนพฤติกรรมที่คาดหวังไว้ แนวคิดนี้ถูกใช้เพื่อช่วยให้เข้าใจว่าหนึ่งโปรโตคอล สมาร์ตคอนแทรกต์ หรือโครงสร้างพื้นฐานที่เกี่ยวข้อง เปิดเผยต่อกิจกรรมที่เป็นอันตรายมากน้อยเพียงใด พื้นผิวการโจมตีที่ใหญ่หรือซับซ้อนมากขึ้น มักหมายถึงเส้นทางที่เป็นไปได้สำหรับการถูกเจาะระบบมากขึ้น แม้ว่าจะไม่ใช่ทุกเส้นทางที่จะมีช่องโหว่อยู่จริงก็ตาม
ในระบบคริปโต พื้นผิวการโจมตีครอบคลุมทั้งองค์ประกอบบนเชน (on-chain) และนอกเชน (off-chain) ที่มีปฏิสัมพันธ์กับสมาร์ตคอนแทรกต์หรือโปรโตคอล ซึ่งอาจรวมถึงฟังก์ชันของคอนแทรกต์ กลไกการอัปเกรด ฟีดข้อมูลจาก oracle คีย์สำหรับการจัดการ (administrative keys) และการเชื่อมต่อระหว่างคอนแทรกต์หรือระหว่างเชน แต่ละองค์ประกอบเหล่านี้สามารถเพิ่มสมมติฐานและขอบเขตความเชื่อใจใหม่ ๆ ทำให้จำนวนวิธีที่ผู้โจมตีอาจพยายามล้มล้างหลักประกันด้านความปลอดภัยเพิ่มขึ้น การทำความเข้าใจพื้นผิวการโจมตีจึงเป็นหัวใจสำคัญของการประเมินความเสี่ยงเชิงระบบ และการจัดลำดับความสำคัญของมาตรการป้องกัน
บริบทและการใช้งาน
ผู้เชี่ยวชาญด้านความปลอดภัยและผู้ตรวจสอบ (auditor) ใช้คำว่าพื้นผิวการโจมตี (attack surface) เพื่ออธิบายขอบเขตของสิ่งที่ต้องถูกวิเคราะห์ระหว่างการตรวจสอบความปลอดภัยของโปรโตคอลบล็อกเชนหรือสมาร์ตคอนแทรกต์ การทำแผนที่พื้นผิวการโจมตีหมายถึงการระบุจุดเข้าใช้งานและการโต้ตอบที่อาจนำไปสู่การโจมตี (exploit) ทั้งหมด รวมถึงพฤติกรรมที่ละเอียดอ่อน เช่น รูปแบบการเรียกซ้ำ (reentrancy) หรือการเปลี่ยนแปลงสถานะที่ขับเคลื่อนด้วย oracle การทำแผนที่นี้ไม่ได้ถือว่าทุกองค์ประกอบไม่ปลอดภัย แต่จะมองแต่ละจุดว่าเป็นตำแหน่งที่อาจมีข้อบกพร่องซ่อนอยู่ได้
ในการออกแบบโปรโตคอลขั้นสูง การลดและทำให้พื้นผิวการโจมตีแข็งแกร่งขึ้นเป็นหนึ่งในเป้าหมายหลักด้านความปลอดภัย ผู้ออกแบบอาจลดฟังก์ชันที่เปิดให้ใช้งานจากภายนอก ทำให้ตรรกะของคอนแทรกต์เรียบง่ายขึ้น หรือจำกัดการพึ่งพาระบบภายนอก เพื่อลดจำนวนเส้นทางการโจมตีที่เป็นไปได้ แนวคิดเรื่องพื้นผิวการโจมตีจึงทำหน้าที่เป็นกรอบคิดในระดับสูงสำหรับประเมินว่าท่าทีด้านความปลอดภัยของระบบมีความซับซ้อนเพียงใด และการเปลี่ยนแปลงด้านสถาปัตยกรรม การเชื่อมต่อกับระบบอื่น หรือกลไกกำกับดูแล (governance) สามารถเพิ่มหรือลดการเปิดเผยต่อการถูกโจมตีได้อย่างไร