สวัสดีทุกๆคน.
ทุกวันนี้ แทนที่จะพูดถึงการแฮ็กและการบุกรุกระบบตามปกติ เราจะพูดถึงการรักษาความปลอดภัยและโดยเฉพาะวิธีการรักษาความปลอดภัยเว็บไซต์
เว็บแอปพลิเคชัน แอปพลิเคชันมือถือ และอื่นๆ
เห็นได้ชัดว่าการแฮ็กและการละเมิดมีผลกระทบเชิงลบอย่างมากต่อบริษัทต่างๆ ตั้งแต่การสูญเสียความไว้วางใจของลูกค้าไปจนถึงการสูญเสียทางการเงิน
ข้อมูลผู้ใช้รั่วไหล ปัญหาทางกฎหมาย และรายการต่อไป
ตอนนี้ ถ้าคุณไปค้นหา Google อย่างรวดเร็วเกี่ยวกับวิธีรักษาความปลอดภัยเว็บไซต์หรือแอปพลิเคชันของคุณ
คุณจะได้รับขยะจำนวนมาก
จริง ๆ แล้วฉันรู้สึกผิดหวังมากกับบทความ clickbait ที่ไม่ได้อธิบายหรือให้ข้อมูลที่เป็นประโยชน์ใดๆ
ส่วนใหญ่แนะนำให้คุณใช้การสำรองข้อมูล รหัสผ่านที่รัดกุม และตรวจสอบให้แน่ใจว่าคุณใช้ HTTPS
แต่การสำรองข้อมูลไม่ได้ทำให้เว็บไซต์ของคุณปลอดภัย แต่ข้อมูลสำรองจะช่วยให้คุณกู้คืนได้
นอกจากนี้ การใช้ ETP ยังเข้ารหัสการสื่อสารด้วย แต่ก็ไม่ได้ทำให้เว็บไซต์ปลอดภัยจริงๆ
เคล็ดลับที่มีประโยชน์เพียงอย่างเดียวคือใช้รหัสผ่านที่รัดกุม
แต่แฮกเกอร์ส่วนใหญ่จะไม่นั่งลงและพยายามเดารหัสผ่านเหมือนที่คุณเห็นในภาพยนตร์ฮอลลีวูด
พวกเขาจะอาศัยช่องโหว่และจุดอ่อนภายในแอปพลิเคชันของคุณ และพวกเขาจะใช้ประโยชน์จากพวกเขาเพื่อเข้าถึงมัน
ไม่ว่าคุณจะใช้รหัสผ่านใด
แม้ว่าคุณจะมีรหัสผ่านที่ซับซ้อนมาก แม้ว่าคุณจะใช้ HTTPS และแม้ว่าคุณจะมีข้อมูลสำรอง หลายๆ อย่างก็ไม่เกี่ยวข้องกันจริงๆ
นอกจากนี้ ไม่สำคัญว่าคุณจะโฮสต์แอปพลิเคชันไว้ที่ใด ไม่ว่าคุณจะใช้ A. ว. หรือผู้ให้บริการระบบคลาวด์รายอื่น
และไม่สำคัญว่าคุณจะปรับใช้แอปพลิเคชันนี้อย่างไร
หากคุณกำลังใช้ Kubernetes หรือหากคุณใช้ Docker ก็ไม่สำคัญ
จริงๆแล้วมันง่ายมาก
หากคุณมีเว็บแอปพลิเคชันที่มีช่องโหว่ แฮกเกอร์จะใช้ช่องโหว่หรือจุดอ่อนเหล่านี้เพื่อเข้าถึงแอปพลิเคชันนี้
ยังไงก็ขอโวยวายก็พอ
มาพูดถึงวิธีการรักษาความปลอดภัยเว็บไซต์และแอปพลิเคชันกัน
ก่อนอื่น ก่อนที่เราจะเริ่มพูดถึงมัน เป็นสิ่งสำคัญมากที่จะต้องเข้าใจว่าการบรรลุการรักษาความปลอดภัย
100 เปอร์เซ็นต์นั้นเป็นไปไม่ได้
สิ่งที่เราพยายามทำคือปรับปรุงการรักษาความปลอดภัยของแอปพลิเคชันของเรา และตรวจสอบให้แน่ใจว่าแอปพลิเคชันนั้นปลอดภัยที่สุด
จากที่กล่าวมา สี่วิธีต่อไปนี้จะช่วยคุณปรับปรุงความปลอดภัยของแอปพลิเคชันของคุณ ไม่ว่าแอปพลิเคชันเหล่านั้นจะเป็นแอปพลิเคชันประเภทใดและไม่ว่าจะติดตั้งไว้ที่ใด
อย่างที่ฉันพูด ไม่สำคัญว่าคุณจะติดตั้งบน Amazon หรือที่อื่นบน WIC หรืออย่างอื่น
และไม่สำคัญว่าคุณจะปรับใช้อย่างไรหากคุณใช้ Docker และอื่นๆ
ดังนั้นสิ่งแรกที่คุณควรทำคือตรวจสอบให้แน่ใจว่าคุณกำลังเขียนรหัสความปลอดภัยด้วยวิธีนี้
แอปพลิเคชันของคุณสร้างขึ้นตั้งแต่ต้นเพื่อให้ปลอดภัยและไม่ทำให้เกิดข้อบกพร่องหรือจุดอ่อนใดๆ ที่แฮ็กเกอร์สามารถใช้ประโยชน์จากการเข้าถึงได้
ทีนี้ มันจะดีมากถ้าคุณทำได้ แต่ปัญหาคือพูดง่ายกว่าทำ เพราะนักพัฒนาจำเป็นต้องได้รับการศึกษาและสอนวิธีการที่แฮ็กเกอร์ใช้ในการหาประโยชน์จากระบบและเข้าถึง
และแม้ว่าคุณจะทำเช่นนั้น นักพัฒนาส่วนใหญ่มักพึ่งพาไลบรารีของบุคคลที่สาม และแอปพลิเคชันทั้งหมดอาจถูกเขียนโดยบุคคลอื่น
ดังนั้น คุณจึงไม่สามารถเขียนรหัสความปลอดภัยได้ เนื่องจากคุณไม่ใช่ผู้เขียนหรือผู้พัฒนาแอปพลิเคชันนี้จริงๆ
ซึ่งนำฉันไปสู่จุดที่สอง
ทบทวนรหัส.
นี่เป็นเรื่องที่ดีจริงๆ แม้ว่าคุณจะเขียนแอปพลิเคชันด้วยตัวเอง และแม้ว่าคุณจะแน่ใจว่าคุณเขียนโค้ดที่ปลอดภัยแล้วก็ตาม
ก็เป็นความคิดที่ดีจริงๆ ที่จะให้นักพัฒนาซอฟต์แวร์คนอื่นๆ หรือทีมอื่นตรวจสอบโค้ดนั้น
ในกรณีที่นักพัฒนาเขียนแอปพลิเคชันพลาดบางสิ่งบางอย่างหรือมองข้ามบางสิ่งบางอย่างไปก็จะถูกจับในขั้นตอนการตรวจสอบ
นอกจากนี้ หากคุณใช้โค้ดที่เขียนโดยนักพัฒนารายอื่นหรือไลบรารีของบุคคลที่สาม การตรวจทานโค้ดจะช่วยแก้ปัญหานี้ได้เนื่องจากคุณสามารถตรวจสอบได้ทุกอย่าง
และอีกครั้ง นี่เป็นสิ่งที่ดีจริงๆ เพราะคุณกำลังตรวจสอบทุกบรรทัดจริง ๆ และทำให้แน่ใจว่าไม่มีสิ่งใดเสี่ยงหรือจะอนุญาตให้แฮกเกอร์ใช้ประโยชน์จากแอปพลิเคชันของคุณและเข้าถึงได้
ข้อเสียเปรียบหลักที่นี่คือ หากคุณมีฐานรหัสขนาดใหญ่ อาจใช้เวลานานและอาจมีราคาแพงมากเช่นกัน
วิธีที่สามซึ่งสำคัญมากในความคิดของฉันคือการทดสอบปากกาให้เสร็จ
ในการทดสอบปากกา
โดยทั่วไปคุณจ้างทีมแฮ็กเกอร์ที่มีจริยธรรมเพื่อพยายามแฮ็คแอปพลิเคชันของคุณ
แฮกเกอร์ที่มีจริยธรรมเหล่านี้จะเข้าถึงแอปพลิเคชันของคุณในลักษณะเดียวกับที่แฮกเกอร์ Black Hat ทำ
พวกเขาจะพยายามรวบรวมข้อมูลให้ได้มากที่สุดและค้นพบจุดอ่อนและจุดอ่อนทั้งหมดและดูว่าพวกเขาสามารถใช้ประโยชน์จากพวกเขาเพื่อเข้าถึงได้หรือไม่
ในตอนท้าย เมื่อพวกเขาทำเสร็จแล้ว พวกเขาจะให้รายงานโดยละเอียดเกี่ยวกับทุกสิ่งที่พวกเขาพบ
เพื่อให้คุณสามารถส่งต่อให้นักพัฒนาของคุณ และแก้ไขช่องโหว่ที่พวกเขาค้นพบ
ข้อได้เปรียบหลักของวิธีนี้คือ คุณสามารถทดสอบพื้นผิวการโจมตีที่คุณไม่สามารถทดสอบด้วยวิธีอื่นได้
เช่น เซิร์ฟเวอร์ของคุณที่กำลังเรียกใช้เว็บแอปพลิเคชันของคุณและลิงก์ที่อ่อนแอที่สุดซึ่งเป็นพนักงาน
ดังนั้นแฮ็กเกอร์เหล่านี้ ซึ่งเป็นแฮ็กเกอร์ที่มีจริยธรรมจึงสามารถใช้วิศวกรรมสังคมและเชื่อมโยงกับการโจมตีที่ง่ายกว่าอื่น
ๆ หรือช่องโหว่ที่ง่ายกว่าที่พวกเขาอาจพบในระบบของคุณเพื่อดูว่าพวกเขาสามารถใช้เพื่อเข้าถึงได้หรือไม่
ข้อเสียคืออาจมีราคาแพงเล็กน้อยและไม่ใช่ข้อพิสูจน์ในอนาคต
สิ่งที่ฉันหมายถึงคือถ้าคุณได้รับการทดสอบแอปพลิเคชันของคุณในวันนี้โดยแฮกเกอร์ที่มีจริยธรรมที่ดีจริงๆ แล้วตรวจสอบให้แน่ใจว่าคุณได้แก้ไขทุกช่องโหว่ที่พวกเขาพบ
ซึ่งหมายความว่าเว็บแอปพลิเคชันของคุณปลอดภัยในวันนี้เท่านั้น
ไม่รับประกันว่าจะปลอดภัยในเดือนหน้าหรือปีหน้า เพราะทุกการเปลี่ยนแปลงที่คุณทำ ทุกฟีเจอร์ที่คุณกด
หรือแม้แต่ข้อบกพร่องในการแสดงผลที่คุณแก้ไขอาจแนะนำจุดบกพร่องอื่นๆ หรือจุดอ่อนด้านความปลอดภัยที่สามารถนำมาใช้
แฮ็คเข้าสู่แอปพลิเคชันของคุณ
ไม่เพียงแค่นั้น แต่อีกครั้ง หากคุณอัปเดตซอฟต์แวร์หรือปลั๊กอินของบุคคลที่สามอีกครั้ง สิ่งเหล่านี้อาจทำให้เกิดช่องโหว่
และการทดสอบจะไม่สามารถตรวจจับได้ เนื่องจากคุณเพิ่งทำ Panthers ในวันนี้ และการเปลี่ยนแปลงในอนาคตเหล่านี้
จะไม่ถูกทดสอบ
แนวทางที่สี่ซึ่งสามารถแก้ไขปัญหานี้ได้จริงคือมีโปรแกรมให้รางวัลจุดบกพร่อง
โดยพื้นฐานแล้วโปรแกรมให้รางวัลบั๊กเป็นการเชิญชวนให้แฮ็กเกอร์ที่มีจริยธรรมทั่วโลกเพื่อทดสอบใบสมัครของคุณและส่งสิ่งที่ค้นพบ
และคุณจะจ่ายเฉพาะจุดบกพร่องที่ถูกต้องหรือรายงานที่ถูกต้องเท่านั้น
ข้อได้เปรียบหลักอยู่ที่นี่ ตามที่คุณเดาได้แล้วว่าตอนนี้คุณกำลังให้แอปพลิเคชันของคุณทดสอบโดยแฮกเกอร์จำนวนมาก
ดังนั้นโอกาสที่พวกเขาพบช่องโหว่จึงสูงขึ้น
และมันเป็นข้อพิสูจน์ในอนาคตจริง ๆ เพราะตราบใดที่คุณยังมีรายการข้อผิดพลาดนั้นอยู่ แฮกเกอร์เหล่านี้ก็จะทดสอบแอปพลิเคชันของคุณต่อไป
และคุณจะจูงใจพวกเขาด้วยค่าหัว
นี่อาจเป็นอะไรก็ได้ตั้งแต่เสื้อยืดไปจนถึงเงินรางวัลจริงๆ
เพื่อให้แน่ใจว่าพวกเขาจะทำการทดสอบแอปพลิเคชันของคุณต่อไป
ดังนั้น แม้ว่าคุณจะผลักดันการเปลี่ยนแปลงใหม่ คุณลักษณะใหม่ ๆ หรือการอัปเดตสิ่งต่าง ๆ ก็ไม่สำคัญเพราะแฮกเกอร์จะทดสอบแอปพลิเคชันของคุณต่อไปโดยหวังว่าจะพบจุดบกพร่องและรับเงินรางวัลสำหรับสิ่งที่พวกเขาค้นพบ
นั่นคือเหตุผลที่บริษัทขนาดใหญ่เช่น Facebook และ Google ใช้โปรแกรม Bug Bounty เหล่านี้ แม้ว่าพวกเขาจะปฏิบัติตามแนวทางอื่นๆ
ทั้งหมด
อย่างที่ฉันบอกไป พวกเขายังคงใช้สิ่งนี้เพื่อให้แน่ใจว่าระบบของพวกเขาจะปลอดภัยที่สุดเท่าที่จะเป็นไปได้และปราศจากข้อบกพร่องมากที่สุด
ข้อเสียของที่นี่คือ อย่างแรกเลย เป็นการยากที่จะรับประกันว่าพื้นผิวการโจมตีทั้งหมดได้รับการปกปิด
และอย่างที่สองคือ บริษัทจำนวนมากไม่สามารถเข้าถึง Google และ Facebook ได้ ดังนั้นพวกเขาจึงไม่สามารถโฆษณาค่าหัวบั๊กของพวกเขาได้อย่างแท้จริง
เช่นเดียวกับบริษัทใหญ่ๆ
พวกเขาไม่สามารถหาแฮ็กเกอร์ที่มีจริยธรรมจำนวนมากมาทดสอบเว็บไซต์ของตนได้
เป็นการท้าทายสำหรับพวกเขาที่จะสร้างโปรแกรมหาข้อผิดพลาดเหล่านี้และตรวจสอบรายงานที่ส่งมา
แต่สิ่งนี้ถูกแก้ไขโดยแพลตฟอร์ม Bug Bounty ที่เรามีในปัจจุบัน เช่น Bug Bounty, Dotcom
และแพลตฟอร์มอื่นๆ
Bug Bounty เป็นบริษัทในเครือของหน่วยรักษาความปลอดภัยนั้น
ดังนั้นความคิดเห็นของฉันอาจลำเอียงเล็กน้อย แต่ฉันค่อนข้างแน่ใจว่าราคาของเรามีการแข่งขันสูงที่สุดและเราเสนอบริการเดียวกัน
ยังไงฉันก็รวมอยู่ในทุกอย่างที่นั่น
คุณมีทางเลือก
คุณสามารถตรวจสอบสิ่งที่คุณต้องการได้และฉันขอโทษถ้าฉันทำให้คุณสับสนกับการตกหล่น
คือฉันเพิ่งพูดถึง แต่ในความคิดของฉัน นึกคิด คุณอยากจะปฏิบัติตามแนวทางทั้งสี่นี้
ถ้าทำได้
นี้อาจมีราคาแพงสวย
นั่นเป็นเหตุผลที่หลายบริษัทไม่ทำอย่างนั้น
และพวกเขาจะประนีประนอมและไปกับสามและสี่เท่านั้น
ดังนั้นพวกเขาจะทำการทดสอบแพตช์เท่านั้นและมีโปรแกรมให้รางวัลบั๊ก
แล้วบริษัทอื่นๆ ก็ยอมประนีประนอมกันมากขึ้นในบางครั้ง
และเลือกหนึ่งในสองโปรแกรมที่ทำโปรแกรมหาข้อผิดพลาดหรือทำการทดสอบปากกา
ในความคิดของฉัน การทดสอบด้วยปากกาไม่ได้มาแทนที่โปรแกรมหาจุดบกพร่องและในทางกลับกัน
ฉันอยากจะแนะนำให้คุณทำทั้งสองอย่าง เพราะอย่างที่ฉันพูด แต่ละคนมีข้อดีและข้อเสียของมัน
แต่ถ้าคุณไม่สามารถทำทั้งสองอย่างได้จริงๆ อย่างน้อยก็ทำอย่างใดอย่างหนึ่งเป็นขั้นต่ำเปล่า
ในฐานะเจ้าของเว็บไซต์หรือเจ้าของแอป คุณต้องรับผิดชอบต่อข้อมูลผู้ใช้ที่ผู้ใช้เชื่อถือคุณ
ดังนั้น อย่างน้อยที่สุดคุณต้องพยายามทำให้แน่ใจว่าข้อมูลของพวกเขาได้รับการจัดการอย่างปลอดภัยและปลอดภัย