DApps: ปัญหาด้านความปลอดภัย การแฮ็ก และมาตรการป้องกัน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

DApps: ปัญหาด้านความปลอดภัย การแฮ็ก และมาตรการป้องกัน 

อ่านเวลา: 4 นาที

การกระจายอำนาจในทุกย่างก้าวคือรหัสใหม่ของยุคที่จะมาถึง DApps อยู่ที่นี่เพื่อปฏิวัติวิธีที่เราใช้งานแอพ ผสานความเป็นส่วนตัวของข้อมูลและคุณสมบัติการเป็นเจ้าของ 

มาดูส่วนลึกของบล็อกกัน

DApps คืออะไร?

DApps เป็นแอปพลิเคชั่นกระจายอำนาจที่ใช้ blockchain เพื่อประมวลผลข้อมูลผ่านเครือข่ายแบบกระจายและดำเนินการธุรกรรม ต่างจากแอปส่วนกลาง DApps ถูกควบคุมโดยเครือข่ายเพียร์ทูเพียร์ 

เมื่อผู้พัฒนาเผยแพร่ codebase สำหรับ DApp แล้ว สามารถสร้างแอพหลายตัวต่อยอดได้ ไม่มีอำนาจเดียว และด้วยเหตุนี้จึงไม่มีจุดล้มเหลวเพียงจุดเดียวในขณะที่เครือข่าย P2P ดำเนินการ 

DApp ช่วยสร้างแอปพลิเคชันมากมาย เช่น เว็บแอปพลิเคชัน เกมและความบันเทิง แอปโซเชียลมีเดีย ฯลฯ       

ลักษณะสำคัญของ DApp

ต่อไปนี้คือคำแนะนำบางประการเกี่ยวกับคุณลักษณะสำคัญของ DApp

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

ข่าวการใช้งานของ DApps

ตามรายงานของ ดีแอพเรดาร์จำนวนผู้ใช้ที่มีส่วนร่วมในแอพพลิเคชั่นกระจายอำนาจเพิ่มขึ้น 396% ทุกปี โดยปัจจุบัน 2.4 ล้านคน 

ในบรรดาเกม DApps คิดเป็นกว่า 50% ของกิจกรรมผู้ใช้ในไตรมาสที่ 1 ของปี 2022 และ NFTs สร้างรายได้มหาศาลประมาณ 12 พันล้านดอลลาร์ 

ปัญหาความปลอดภัยของการเข้ารหัส DApp

เมื่อทราบเกี่ยวกับแนวคิดโดยรวมของ DApp แล้ว ให้เราสำรวจข้อผิดพลาดทางเทคนิคทั่วไปที่เกี่ยวข้องกับสิ่งเหล่านี้

ตรวจสอบลายเซ็น: การใช้รูปแบบเช็ค “case_=> true” ในเครื่องหมาย @ผู้ตรวจสอบ ฟังก์ชั่นของการเข้ารหัส DApp ห้ามการทำธุรกรรมการโอนในขณะที่อนุญาตประเภทธุรกรรมอื่น ๆ

{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}

match (tx) {
	case t:TransferTransaction => false
	case _ => true # NEVER DO THIS!
}

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

{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}

match (tx) {
	case t:TransferTransaction => false
	case _ => sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublikey)
}

ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องแน่ใจว่ามีการตรวจสอบลายเซ็นในการเข้ารหัส DApp เพื่อหลีกเลี่ยงช่องโหว่ดังกล่าว

ป้อนคีย์: การดำเนินการใน DApp เกี่ยวข้องกับการจัดเก็บคีย์-ค่า ข้อผิดพลาดทั่วไปคือนักพัฒนาซอฟต์แวร์จะเขียนไปยังคีย์หนึ่งและอ่านจากคีย์อื่น ดังนั้นควรใช้ความระมัดระวังในขณะที่เขียนคีย์ 

let NONE = "NONE"

func keyVoteByAddress(votingId: Int, address: String) = "voting_" + votingId + "_vote_" + address


@Callable(i)
func vote(id: Int) => {
	let voteKey = keyVoteByAddress(id, i.caller.toBase58String())
	let vote = getString(this, voteKey).valueOrElse(NONE)

	# alternative option

	let vote = match getString(this, voteKey){
    	case s: String => s
    	case _ => NONE
	}

	if (vote == NONE) then ...
	else ...
}

ข้อผิดพลาดอีกประการหนึ่งคือ แทนที่จะให้ค่าเริ่มต้น การพยายามอ่านค่าจากตัวแปร เช่น value() หรือ extract() นั้นไม่สามารถแนะนำได้

ธุรกรรมที่ควบคุม: การดำเนินการ DApp เกี่ยวข้องกับการดำเนินการที่ขึ้นต่อกันหลายอย่างเพื่อรันตามลำดับ ในกรณีดังกล่าว จะปลอดภัยที่จะมีฟังก์ชัน waitForTxWithNConfirmations เพื่อได้รับการยืนยันหนึ่งครั้งหลังจากเพิ่มธุรกรรมครั้งแรกในบล็อก

ปัญหาทั่วไปที่เกี่ยวข้องกับ DApps

ระดับสภาพคล่องต่ำของ DApps: ระดับสภาพคล่องต่ำในแอปพลิเคชันแบบกระจายอำนาจทำให้ยากต่อการซื้อหรือขายโทเค็นในราคาที่คาดไว้ ทำให้เกิดการคลาดเคลื่อน Slippage คือความแตกต่างระหว่างราคาที่คาดหวังกับราคาดำเนินการ ซึ่งอาจนำไปสู่การสูญเสียเงินทุน

ผู้ใช้สามารถติดตามสภาพคล่องของสินทรัพย์ตามปริมาณการซื้อขายและตัดสินใจอย่างชาญฉลาดก่อนซื้อหรือขายโทเค็น 

การละเมิดความปลอดภัยหรือความล้มเหลว:  DApps ทำงานผ่านสัญญาอัจฉริยะและผู้ที่มีข้อบกพร่องในการเข้ารหัสเป็นเป้าหมายในอุดมคติสำหรับแฮกเกอร์ ภายใต้สภาวะตลาดที่รุนแรงหรือเนื่องจากการใช้ประโยชน์จากโค้ด การลดค่าหรือการสูญเสียเงินทุนใน DApps จะเป็นสิ่งที่หลีกเลี่ยงไม่ได้

การตรวจสอบรหัสโดยบริษัทบุคคลที่สามจะช่วยแก้ปัญหานี้ได้ดีกว่า 

DApp ฟิชชิ่ง: หากมีการประนีประนอมในการเข้ารหัสของ DApp ลิงก์ฟิชชิ่งจะถูกเผยแพร่บนเว็บไซต์ทางการของพวกเขา เมื่อคลิกโดยไม่รู้ตัว เงินทั้งหมดจะไหลออกจากกระเป๋าเงินของผู้ใช้ 

ดังนั้น ตรวจสอบ URL อีกครั้งก่อนที่จะเพิ่มเงินจากกระเป๋าเงินของคุณหรือป้อนข้อมูลกระเป๋าเงิน 

สถานะของ DApp Hacks และ Scams ในปี 2022

ข้อเสียของ DApps คือความจริงที่ว่าพวกเขาเสี่ยงต่อการถูกแฮ็ก จากข้อมูลที่เผยแพร่โดย DAppRadar การหลอกลวงของ DApp เพียงอย่างเดียวทำให้ขาดทุน 1.2 พันล้านดอลลาร์ 

ไฮไลท์ของเหตุการณ์แฮ็คที่สำคัญ ได้แก่

แฮ็คสะพาน Ronin: การเข้าถึงโหนดตรวจสอบความถูกต้อง แฮ็กเกอร์สามารถปลอมแปลงธุรกรรมปลอมใน แอกซี่ อินฟินิตี้ส์ เครือข่ายสะพาน Ronin ที่นำไปสู่การสูญเสีย 600 ล้านดอลลาร์ 

โปรโตคอลรูหนอน: แฮ็กเกอร์ใช้ช่องโหว่ด้านความปลอดภัยในรหัสโปรโตคอล Wormhole ส่งผลให้ขาดทุน 325 ล้านดอลลาร์ 

นี่คือวิธีการรักษาความปลอดภัยและวิธีการป้องกันในการยอมรับ DApp Security

การเอาชนะข้อบกพร่องด้านความปลอดภัยช่วยแก้ปัญหาหลักๆ ให้กับ DApps. มีสองสามวิธีในการจัดเรียงออก 

  1. รับบริการตรวจสอบ: การวิเคราะห์การเข้ารหัสอย่างละเอียดโดยบริษัทตรวจสอบบัญชีเช่น QuillAudits กำจัดแมลงจากระดับพื้นดิน 
  2. การทดสอบการเจาะ: การทดสอบการเจาะระบบได้เปรียบในการค้นหาช่องโหว่ที่ซ่อนอยู่/โหนด การทดสอบ API และการค้นหาเส้นทางการโจมตีใหม่ 

มาตรการป้องกันทั่วไปสำหรับความปลอดภัยของ DApp

  1. รักษาความลับของวลีเมล็ดพันธุ์ส่วนตัวเพื่อเข้าถึงเงินจากกระเป๋าเงิน
  2. การตรวจสอบความถูกต้องและความชอบธรรมของเว็บไซต์ DApp
  3. ระวังลิงก์หรือข้อความที่มีข้อผิดพลาดทางไวยากรณ์

114 เข้าชม

ประทับเวลา:

เพิ่มเติมจาก ควิลแฮช