คำถามติดแท็ก security

สำหรับคำถามเกี่ยวกับการเข้ารหัสและความปลอดภัยด้านไอที นี่อาจเป็นความปลอดภัยของคอมพิวเตอร์เครือข่ายหรือฐานข้อมูล

4
มันคุ้มค่าที่จะตรวจสอบเพื่อดูว่า Guid.NewGuid () เป็น Guid.Empty หรือไม่
ในหนึ่งในโครงการที่ฉันทำงานในรูปแบบต่อไปนี้จะเห็นเป็นประจำค่อนข้าง: var guid = Guid.NewGuid().ToString(); while (guid == Guid.Empty.ToString()) { guid = Guid.NewGuid().ToString(); } ในขณะที่ฉันเข้าใจว่า AA GUID ไม่ได้รับประกันว่าจะไม่ซ้ำกันและตามเอกสาร MSDN GUID ที่สร้างขึ้นอาจเป็นศูนย์นี่เป็นข้อพิจารณาเชิงปฏิบัติที่คุ้มค่าที่จะส่งการทดสอบวงจรสำหรับทั้งในแง่ของการคำนวณและในแง่ของเวลาของนักพัฒนา ?
28 .net  security 

5
ควรใช้วิธีปฏิบัติที่ดีที่สุดในสคริปต์การเข้าสู่ระบบ PHP อย่างไร
ฉันต้องการเขียนสคริปต์การเข้าสู่ระบบอีกครั้งสำหรับเว็บไซต์ลูกค้าเพื่อให้พวกเขาปลอดภัยมากขึ้น ฉันต้องการทราบว่าแนวทางปฏิบัติที่ดีที่สุดที่ฉันสามารถนำไปใช้กับสิ่งนี้ได้อย่างไร แผงควบคุมที่มีการป้องกันด้วยรหัสผ่านนั้นมีอยู่มากมาย แต่มีเพียงไม่กี่คนที่ใช้แนวทางปฏิบัติที่ดีที่สุดในแง่ของการเขียนโค้ดความเร็วและความปลอดภัย ฉันจะใช้ PHP และฐานข้อมูล MySQL ฉันเคยใช้ md5 แต่ฉันเห็นว่า sha256 หรือ sha512 น่าจะดีกว่า (พร้อมแฮชและเกลือที่ปลอดภัย) สคริปต์การเข้าสู่ระบบบางตัวจะบันทึกที่อยู่ IP ตลอดเซสชันหรือแม้กระทั่งตัวแทนผู้ใช้ แต่ฉันต้องการหลีกเลี่ยงเนื่องจากไม่เข้ากันได้กับพร็อกซีเซิร์ฟเวอร์ ฉันยังใช้แนวปฏิบัติที่ดีที่สุดเล็กน้อยในการใช้งานเซสชันใน PHP 5 (ครั้งล่าสุดที่ฉันอ่านคือ PHP 4) ดังนั้นแนวปฏิบัติที่ดีที่สุดบางข้ออาจเป็นประโยชน์ ขอบคุณ

4
เทคนิคการพิสูจน์ตัวตนของ Web api
เรามีเฟรมเวิร์กบริการเว็บ asp.net MVC สำหรับการให้บริการ xml / json สำหรับผู้คนรับคำขอ แต่กำลังพยายามหาวิธีที่ดีที่สุด (รวดเร็วง่ายและไม่สำคัญสำหรับผู้ใช้ที่เข้ารหัสด้วยจาวาสคริปต์หรือภาษา OO) เพื่อรับรองความถูกต้องของผู้ใช้ ไม่ใช่ว่าข้อมูลของเรามีความละเอียดอ่อนหรืออะไรเราเพียงต้องการให้ผู้ใช้ลงทะเบียนเพื่อให้เราสามารถมีที่อยู่อีเมลของพวกเขาเพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลงและติดตามการใช้งาน ในความพยายามครั้งก่อนของเราเรามีชื่อผู้ใช้ใน URI และจะทำให้แน่ใจว่าชื่อผู้ใช้นั้นมีอยู่และเพิ่มตารางฐานข้อมูลด้วยการใช้งาน นี่เป็นขั้นพื้นฐานสุด ๆ แต่เราจะสังเกตเห็นคนที่ใช้การสาธิตเป็นชื่อผู้ใช้ ฯลฯ ดังนั้นเราจึงต้องการให้มันซับซ้อนขึ้นเล็กน้อย มีเทคนิคการรับรองความถูกต้องอะไรบ้าง สิ่งที่ผู้เล่นสำคัญใช้ / ทำ
26 security  api  web  services  rest 

5
เป็นไปได้ไหมที่จะอ่านหน่วยความจำจากโปรแกรมอื่นโดยการจัดสรรพื้นที่ว่างทั้งหมดบนระบบ?
ในทางทฤษฎีถ้าฉันจะสร้างโปรแกรมที่จัดสรรหน่วยความจำที่ไม่ได้ใช้ทั้งหมดในระบบและยังคงร้องขอหน่วยความจำมากขึ้นเรื่อย ๆ เนื่องจากแอปพลิเคชันอื่น ๆ ปล่อยหน่วยความจำที่พวกเขาไม่ต้องการอีกต่อไป ? หรือระบบนี้ได้รับการปกป้องด้วยระบบปฏิบัติการสมัยใหม่หรือไม่? ฉันไม่มีแอปพลิเคชันที่ใช้งานได้สำหรับสิ่งนี้ฉันแค่อยากรู้ ฉันรู้ว่ามีปัญหาบางอย่างในการจัดสรร "หน่วยความจำที่มีอยู่ทั้งหมด" ในชีวิตจริง แก้ไข: เพื่อชี้แจงฉันขอเฉพาะเกี่ยวกับหน่วยความจำ "ปล่อยตัว" ไม่เข้าถึงหน่วยความจำที่ปัจจุบันจัดสรรโดยแอปพลิเคชันอื่น

5
เว็บเซิร์ฟเวอร์บังคับใช้นโยบายกำเนิดเดียวกันได้อย่างไร
ฉันดำน้ำลึกลงไปในการพัฒนา RESTful API และทำงานร่วมกับกรอบที่แตกต่างกันสองสามอย่างเพื่อบรรลุเป้าหมายนี้ แน่นอนว่าฉันใช้นโยบายที่มาจากเดิมและตอนนี้ฉันสงสัยว่าเว็บเซิร์ฟเวอร์ (แทนที่จะเป็นเว็บเบราว์เซอร์) บังคับใช้อย่างไร จากสิ่งที่ฉันเข้าใจการบังคับใช้บางอย่างดูเหมือนจะเกิดขึ้นที่ส่วนท้ายของเบราว์เซอร์ (เช่นการเคารพส่วนหัว Access-Control-Allow-Origin - ที่ได้รับจากเซิร์ฟเวอร์) แต่แล้วเซิร์ฟเวอร์ล่ะ ตัวอย่างเช่นสมมติว่าเว็บเซิร์ฟเวอร์โฮสต์ Javascript เว็บแอปที่เข้าถึง API และโฮสต์บนเซิร์ฟเวอร์นั้น ฉันคิดว่าเซิร์ฟเวอร์จะบังคับใช้นโยบายกำเนิดเดียวกัน --- เพื่อให้เฉพาะจาวาสคริปต์ที่โฮสต์บนเซิร์ฟเวอร์นั้นจะได้รับอนุญาตให้เข้าถึง API นี่จะป้องกันไม่ให้คนอื่นเขียนไคลเอนต์จาวาสคริปต์สำหรับ API นั้นและโฮสต์ไว้ในไซต์อื่นใช่ไหม ดังนั้นเว็บเซิร์ฟเวอร์จะสามารถหยุดไคลเอ็นต์ที่เป็นอันตรายที่พยายามส่งคำขอ AJAX ไปยังจุดสิ้นสุด API ของตนในขณะที่อ้างว่าใช้จาวาสคริปต์ที่มาจากเว็บเซิร์ฟเวอร์เดียวกันได้อย่างไร เซิร์ฟเวอร์ยอดนิยม (Apache, nginx) ป้องกันการโจมตีแบบนี้ได้อย่างไร? หรือความเข้าใจของฉันในเรื่องนี้อย่างใดปิดเครื่องหมาย? หรือมีการบังคับใช้นโยบายข้ามแหล่งที่มาเฉพาะที่ส่วนท้ายของไคลเอ็นต์หรือไม่

11
ฉันควรยอมรับการเขียนรหัสที่ไม่ปลอดภัยหรือไม่หากนายจ้างขอให้ฉันทำเช่นนั้น? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการ4 ปีที่แล้ว นายจ้างของฉันขอให้ฉันใช้งานคุณลักษณะที่ต้องใช้การจัดเก็บรหัสผ่านเป็นข้อความที่ชัดเจนในฐานข้อมูล (หรือใช้ฟังก์ชั่นการเข้ารหัส / ถอดรหัสที่ไม่ชัดเจนซึ่งจัดเก็บในไบนารีซึ่งค่อนข้างดีกว่า แต่ก็ไม่ปลอดภัยด้วย) ฉันตอบว่าฉันยินดีที่จะใช้คุณสมบัติดังกล่าวหากลูกค้าได้รับการยอมรับถึงผลกระทบด้านความปลอดภัยเมื่อใช้งาน เมื่อพูดถึงปัญหานี้กับเพื่อนร่วมงานมีคนบอกฉันว่าในฐานะวิศวกรซอฟต์แวร์เรามีความรับผิดชอบส่วนบุคคล (ในแง่กฎหมาย) สำหรับปัญหาด้านความปลอดภัยที่เราแนะนำในผลิตภัณฑ์ของเรา ฉันดูสัญญา แต่ไม่พบสิ่งใดที่เกี่ยวข้องกับคดีที่คล้ายกัน จากมุมมองทางกฎหมายฉันควรปฏิเสธที่จะใช้คุณลักษณะดังกล่าวหรือไม่? เป็นความจริงหรือไม่ที่นายจ้างของฉันสามารถพาฉันขึ้นศาลได้หากลูกค้าประสบความเสียหายเนื่องจากคุณสมบัตินี้แม้ว่าเขาจะตระหนักถึงปัญหาด้านความปลอดภัยเช่นกัน แก้ไข:ฉันเข้าใจคำถามนี้สามารถตอบได้อย่างน่าเชื่อถือจากทนายความเท่านั้น เช่นเดียวกันสำหรับคำถามเกี่ยวกับสิทธิ์ใช้งาน: ผู้คนที่นี่ให้ความเข้าใจและประสบการณ์ของพวกเขาบางครั้งหลังจากได้ปรึกษากับทนายความโดยไม่มีการรับประกันว่าจะมีผลบังคับใช้ในเขตอำนาจศาลอื่น แต่การอนุญาตให้ใช้สิทธิ์ได้รับการยอมรับอย่างชัดเจนในหัวข้อที่นี่โปรดดูคำถามประเภทใดที่ฉันสามารถถามได้ที่นี่ . ฉันเชื่อว่าโปรแกรมเมอร์คนอื่น ๆ อาจมีปัญหาเดียวกันและคนอื่น ๆ อาจเคยเจอกับสถานการณ์นี้มาก่อนและอาจปรึกษาทนายความเรื่องนั้น
24 security  legal 

5
วิธีใช้ประวัติรหัสผ่านที่ปลอดภัย
รหัสผ่านไม่ควรถูกจัดเก็บในข้อความล้วนเพื่อเหตุผลด้านความปลอดภัยที่ชัดเจน: คุณต้องเก็บแฮชและคุณควรสร้างแฮชอย่างระมัดระวังเพื่อหลีกเลี่ยงการโจมตีตารางรุ้ง อย่างไรก็ตามโดยปกติคุณมีข้อกำหนดในการจัดเก็บรหัสผ่านnล่าสุดและบังคับใช้ความซับซ้อนน้อยที่สุดและเปลี่ยนแปลงเล็กน้อยระหว่างรหัสผ่านที่แตกต่างกัน (เพื่อป้องกันผู้ใช้จากการใช้ลำดับเช่น Password_1, Password_2, ... , Password_ n ) นี่จะเป็นเรื่องไม่สำคัญกับรหัสผ่านแบบข้อความธรรมดา แต่คุณจะทำเช่นนั้นได้อย่างไรโดยการเก็บเฉพาะแฮช ในคำอื่น ๆ : วิธีการใช้กลไกประวัติรหัสผ่านที่ปลอดภัย?

7
การปิดบัง / ทำให้งงงวยรหัสฐานข้อมูลสาธารณะเป็น "แนวทางปฏิบัติที่ดีที่สุด" จริงหรือไม่?
ฉันได้ยินผู้คนบรรยายที่นี่และที่นั่นบนอินเทอร์เน็ตว่าเป็นวิธีที่ดีที่สุดในการปิดบังรหัสฐานข้อมูลสาธารณะในแอปพลิเคชันเว็บ ฉันคิดว่าพวกเขาส่วนใหญ่มีความหมายในรูปแบบและใน URL แต่ฉันไม่เคยอ่านอะไรมากไปกว่าคำพูดในเรื่อง แก้ไข : แน่นอนตอนนี้ที่ฉันถามนี้ฉันพบทรัพยากรบางอย่างในเรื่อง: /programming/2374538/obscuring-database-ids /programming/1895685/should-i-obscure-primary-key-values http://joshua.schachter.org/2007/01/autoincrement.html ลิงก์เหล่านี้ตอบสนองความอยากรู้ของฉันได้บ้าง แต่โพสต์ SO นั้นมีคะแนนโหวตไม่มากและไม่จำเป็นต้องอยู่ตรงกลางหัวข้อในบริบทนี้ดังนั้นฉันจึงไม่แน่ใจว่าจะต้องทำอะไรและบางคนอ้างว่าอันดับสาม ลิงก์นั้นเป็นของปลอม ฉันจะปล่อยให้โพสต์ที่เหลืออยู่ของฉันยังคงอยู่: ฉันเข้าใจความแตกต่างระหว่างความสับสนและความปลอดภัยรวมถึงวิธีที่ทั้งสองทำงานร่วมกันได้ แต่ฉันไม่สามารถจินตนาการได้ว่าทำไมสิ่งนี้ถึงมีความจำเป็น มีความจริงเกี่ยวกับเรื่องนี้หรือไม่มันเป็นเพียงความหวาดระแวงหรือเป็นเพียงการหลอกลวงโดยสิ้นเชิง? ฉันสามารถคิดหาวิธีที่จะทำ แต่แน่นอนมันเพิ่มความซับซ้อนมากในรหัสแอปพลิเคชัน สิ่งนี้จะเป็นประโยชน์ในสถานการณ์ใด หากนี่เป็นสิ่งที่ผู้คนมักทำกันบ่อยครั้งมันจะถูกปรับใช้อย่างไร Hashing ตัวระบุ? อื่น ๆ อีก? ดูเหมือนว่าจะทำงานมากมายเพื่อความปลอดภัยที่เพิ่มขึ้นไม่มาก ฉันไม่ได้มองหาวิธีแก้ปัญหาที่แท้จริงฉันแค่อยากได้ความคิดว่าคนอื่นจะทำอย่างไรในโลกแห่งความเป็นจริง นี่ถือเป็น "แนวปฏิบัติที่ดีที่สุด" จริง ๆ หรือเป็นการเพิ่มประสิทธิภาพขนาดเล็กที่มีมูลค่าเพียงเล็กน้อยหรือไม่? หมายเหตุ : ฉันคิดว่าบางคนอาจมีความคิดที่ผิด: ฉันไม่ได้แนะนำว่ารหัสที่ยากต่อการเดาจะเป็นกลไกความปลอดภัยเพียงอย่างเดียวแน่นอนว่าจะต้องมีการตรวจสอบการเข้าถึงตามปกติ สมมติว่าสิ่งเหล่านั้นอยู่ในสถานที่และเพียงแค่รู้ว่า id หรือ hashed id ของระเบียนนั้นไม่เพียงพอที่จะให้สิทธิ์การเข้าถึง

11
ซอร์สโค้ดถูกขโมย \ แฮ็คโดย บริษัท คู่แข่ง
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา ในบาง บริษัท ที่ฉันทำงานให้ผู้จัดการใช้เงินจำนวนมากกับที่ปรึกษาด้านความปลอดภัย โดยพื้นฐานแล้วพวกเขากลัวว่าเราจะได้รหัสแหล่งที่ถูกขโมยจาก บริษัท คู่แข่ง อย่างไรก็ตามในฐานะโปรแกรมเมอร์ฉันเห็นว่ามันเป็นข้อกังวลเล็กน้อยที่ บริษัท คู่แข่งจะพบว่าซอร์สโค้ดจริงมีประโยชน์ ท้ายที่สุดเพียงแค่มีการเข้าถึงแอปพลิเคชันของเราก็เพียงพอแล้วและสามารถทำได้โดยไม่ผิดกฎหมาย ในความคิดของฉันข้อมูลที่นักธุรกิจจัดการจะมีประโยชน์มากกว่ารหัสที่มา คำถามของฉันคือ; มีตัวอย่างใดบ้างที่ทราบว่าซอร์สโค้ดถูกขโมยไปและ บริษัท คู่แข่งใช้รหัสนี้อย่างกว้างขวางหรือไม่ ฉันรู้ว่าเอ็นจิ้นเกมบางตัว (สั่นสะเทือน 1 และครึ่งชีวิต 2 ถ้าฉันจำได้ถูกต้อง) ซอร์สโค้ดถูกขโมยไป แต่ฉันไม่เห็นว่าจริง ๆ ทำธุรกิจของพวกเขาเจ็บปวด (ฉันรู้ว่าคำถามนี้อาจเหมาะสมกว่าสำหรับฟอรัมอื่นที่ stackexchange)
23 security 

19
การใช้ซอฟต์แวร์ละเมิดลิขสิทธิ์ / แคร็กเพื่อการพัฒนา [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ข้อจำกัดความรับผิดชอบ: ฉันไม่เอาผิดกับการใช้ซอฟต์แวร์ละเมิดลิขสิทธิ์ คุณเคยเห็นการใช้ซอฟต์แวร์ละเมิดลิขสิทธิ์เพื่อจุดประสงค์ในการพัฒนาหรือไม่? อาจเป็น บริษัท ที่มีเงินไม่พอที่จะซื้อซอฟต์แวร์หนึ่งชิ้นและไม่มีทางเลือกฟรี อาจเป็น บริษัท ที่ต้องการทดลองใช้ก่อนที่จะซื้อและไม่มีใบอนุญาตทดลองใช้งานสำหรับผลิตภัณฑ์นั้น คุณเคยทำงานใน บริษัท ที่ยอมรับการใช้ซอฟต์แวร์ละเมิดลิขสิทธิ์หรือแคร็ก มีผลกระทบอะไรบ้างในการทำเช่นนี้?
22 security  ethics 

1
วิธีปฏิบัติที่ดีที่สุดในการจัดการกับ PRs คือการจัดการกับช่องโหว่ความปลอดภัยใน repo สาธารณะ
โครงการโอเพ่นซอร์สที่ควรมีพื้นที่เก็บข้อมูลสาธารณะจัดการกับคำขอดึง (PRs) ที่ดีที่สุดที่อยู่รายงานอย่างปลอดภัย แต่ยังไม่เปิดเผยช่องโหว่ความปลอดภัยสาธารณะ ฉันเกี่ยวข้องกับโครงการโอเพ่นซอร์สที่มีผู้ร่วมให้ข้อมูลหลายร้อยคน เราเผยแพร่ประกาศเกี่ยวกับความปลอดภัยและช่องโหว่หลายครั้งต่อปีโดยเป็นส่วนหนึ่งของการวางจำหน่ายรายเดือนตามกำหนด เราจะไม่เผยแพร่ข้อมูลเกี่ยวกับช่องโหว่จนกว่าเราจะเผยแพร่เวอร์ชันที่ได้รับการแก้ไข เราสามารถจัดการปัญหาด้านความปลอดภัยได้อย่างปลอดภัยในระบบการจัดการโครงการ (JIRA) แต่เราไม่ได้มีกระบวนการที่ดีในการปิดบัง PRs ที่แก้ไขจุดอ่อนด้านความปลอดภัยเมื่อส่งไปยัง GitHub เรากังวลว่าผู้คนสามารถค้นหาการแก้ไขเหล่านี้ได้ก่อนที่จะเผยแพร่และสร้างการหาประโยชน์ที่ไม่มีวันหยุด เราได้พิจารณาการใช้ repos ส่วนตัวที่แยก repo หลัก แต่ส่วนใหญ่ของการตรวจสอบของเราในปัจจุบันและเวิร์กโฟลว์ QA เกิดขึ้นใน PRs ถ้าเราย้ายเวิร์กโฟลว์ไปที่ทีมรักษาความปลอดภัยเฉพาะ repo ส่วนตัวซึ่งจะลดหน้าต่างเมื่อการแก้ไขเป็นแบบสาธารณะลงจนถึงเวลาที่ใช้ในการสร้าง tarball และเผยแพร่บน sourceforge ซึ่งจะเป็นการปรับปรุงครั้งใหญ่ นอกจากนี้เรายังอาจต้องหลีกเลี่ยงการรวม PR เข้ากับเบต้าสาธารณะของเรา ก่อนที่จะไปในทิศทางนั้นฉันต้องการทราบว่าวิธีที่ดีที่สุดในการจัดการแพทช์แก้ไขข้อบกพร่องด้านความปลอดภัยก่อนวางจำหน่ายในโครงการโอเพ่นซอร์สที่มี repos แบบเปิดคืออะไร หากปัญหาสามารถแก้ไขได้ดีขึ้นโดยใช้แพลตฟอร์มอื่นที่ไม่ใช่ GitHub ฉันควรพูดถึงว่าเรากำลังประเมินการโยกย้ายไปยัง GitLab

4
ทำไมไม่เพียงแค่สร้างแบบสอบถามที่ไม่ใช่พารามิเตอร์ส่งคืนข้อผิดพลาด?
การฉีด SQL เป็นปัญหาด้านความปลอดภัยที่ร้ายแรงเป็นส่วนใหญ่เพราะง่ายต่อการเข้าใจผิด: วิธีที่ชัดเจนและใช้งานง่ายในการสร้างแบบสอบถามที่มีการป้อนข้อมูลของผู้ใช้ทำให้คุณมีความเสี่ยงและวิธีที่ถูกต้องในการลดความแปรปรวน แบบสอบถามและการฉีด SQL ก่อน ดูเหมือนกับฉันว่าวิธีที่ชัดเจนในการแก้ไขปัญหานี้ก็คือการปิดตัวเลือกที่ชัดเจน (แต่ผิด): แก้ไขเอ็นจิ้นฐานข้อมูลเพื่อให้แบบสอบถามใด ๆ ที่ได้รับซึ่งใช้ค่าตายตัวในส่วนคำสั่ง WHERE แทนที่จะเป็นพารามิเตอร์ ข้อความแสดงข้อผิดพลาดแจ้งให้คุณใช้พารามิเตอร์แทน สิ่งนี้จะต้องมีตัวเลือกในการยกเลิกเพื่อให้สิ่งต่าง ๆ เช่นแบบสอบถาม ad-hoc จากเครื่องมือการดูแลระบบจะยังคงทำงานได้อย่างง่ายดาย แต่ควรเปิดใช้งานตามค่าเริ่มต้น การมีสิ่งนี้จะทำให้การฉีด SQL เย็นลงเกือบข้ามคืน แต่เท่าที่ฉันรู้ไม่มี RDBMS ทำสิ่งนี้ได้จริง มีเหตุผลที่ดีทำไมไม่
22 security  sql  rdbms 

5
จะเก็บกุญแจส่วนตัวได้ที่ไหน
กล่าวว่าฉันต้องการเข้ารหัสบางส่วนของซอฟต์แวร์ ตัวอย่างเช่นข้อมูลประจำตัวสำหรับฐานข้อมูล ฯลฯ ฉันต้องเก็บค่าเหล่านั้นไว้ที่อื่น แต่การทำเช่นนี้ใน cleartext จะทำให้ผู้โจมตีสามารถเข้าถึงได้โดยไม่ได้รับอนุญาต อย่างไรก็ตามหากฉันเข้ารหัสข้อความธรรมดาบางส่วนฉันจะเก็บกุญแจไว้ที่ไหน สิ่งใดก็ตามที่ซอฟต์แวร์สามารถเข้าถึงผู้โจมตีที่ถูกกำหนดจะสามารถเข้าถึงได้ไม่ว่าระดับของการทำให้งงงวย: สมมติว่าคีย์ได้รับการปกป้องโดยรูปแบบความปลอดภัยของระบบไฟล์ แต่สิ่งที่เกี่ยวกับผู้ใช้ขั้นสูง (ที่เป็นอันตราย) หรือแพลตฟอร์มที่ไม่มีความน่าเชื่อถือดังกล่าว หรือกุญแจถูกเข้ารหัสในซอฟท์แวร์ไบนารี แต่มันสามารถถอดรหัสได้เสมอและสิ่งที่เกี่ยวกับซอฟต์แวร์โอเพนซอร์ซหรือการตีความรหัส? ถ้าคีย์ถูกสร้างขึ้นอัลกอริทึมดังกล่าวจะต้องกำหนดขึ้น (สมมุติ) และจากนั้นปัญหาเดียวกันนำไปใช้กับเมล็ด เป็นต้น วิทยาการเข้ารหัสลับมีความแรงพอ ๆ กับจุดอ่อนที่สุดในห่วงโซ่การเชื่อมโยงและดูเหมือนจะหลวมไปหน่อย! สมมติว่าเป็นเครื่องมือที่เหมาะสมสำหรับงาน (humour me) แล้วจะมีวิธีรักษาความปลอดภัยข้อมูลดังกล่าวได้อย่างไร เกี่ยวกับเครื่องมือที่เหมาะสมสำหรับงาน: อาจเป็นในกรณีของการเข้าถึงบริการ (DBs, เซิร์ฟเวอร์การตรวจสอบความถูกต้อง ฯลฯ ) คุณจะ จำกัด การเข้าถึงที่ระดับนี้ด้วยบัญชีบริการอาจมีระดับบริการบางอย่าง การตรวจสอบและอื่น ๆ การมีข้อมูลประจำตัวใน cleartext นั้นไม่ต้องกังวล อย่างไรก็ตามสำหรับฉันที่ยังดูเหมือนไม่เพียงพอ: ฉันไม่ต้องการให้ใครก็ตามที่ไม่ควรไปไหนมาไหน!

4
ความกังวลของโปรแกรมเมอร์เกี่ยวกับข้อ จำกัด การส่งออกจากสหรัฐอเมริกา
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 7 ปีที่ผ่านมา ฉันต้องพิจารณาด้านใดเมื่อออกแบบและเผยแพร่ซอฟต์แวร์ที่ต้องเป็นไปตามข้อ จำกัด การส่งออกของสหรัฐอเมริกาสำหรับซอฟต์แวร์เข้ารหัสลับ Wikipediaกล่าวว่ามีหลายประเภทที่คุณสามารถกำหนดให้กับซอฟต์แวร์การเข้ารหัสลับได้ และปลายทางการส่งออก (เช่นจีนรัสเซีย) ก็มีบทบาทสำคัญเช่นกัน แต่ฉันไม่เข้าใจข้อ จำกัด เหล่านั้นและผลกระทบต่อการทำงานของฉัน มีใครอธิบายได้ไหม ฉันถามเพราะถ้าคุณพยายามเผยแพร่แอปพลิเคชันของคุณ (เช่นใน Apple App Store หรือ Android Market) คุณต้องมั่นใจว่าแอปพลิเคชันของคุณตรงตามข้อ จำกัด การส่งออกของสหรัฐฯ และมีแอพพลิเคชั่นมากมายที่ให้การจัดเก็บข้อมูลที่ปลอดภัยเช่นสำหรับรหัสผ่าน พวกเขาทุกคนแจ้งรัฐบาลและขอให้มีการตรวจสอบหรือไม่? แน่นอนคุณไม่สามารถรู้ว่าพวกเขาทำ แต่พวกเขาต้องทำเช่นนี้?

4
การทำนายผลลัพธ์ของ PHP ของแรนด์ ()
ฉันได้อ่านในหลาย ๆ แหล่งว่าผลลัพธ์ของ rand () ของ PHP นั้นสามารถคาดเดาได้ว่าเป็น PRNG และฉันยอมรับในความเป็นจริงเพียงเพราะฉันเห็นมันในหลาย ๆ ที่ ฉันสนใจในแนวคิดการพิสูจน์: ฉันจะไปทำนายผลของแรนด์ () ได้อย่างไร? จากการอ่านบทความนี้ฉันเข้าใจว่าตัวเลขสุ่มคือตัวเลขที่ส่งคืนจากรายการเริ่มต้นที่ตัวชี้ (เมล็ด) - แต่ฉันไม่สามารถจินตนาการได้ว่าสิ่งนี้จะคาดเดาได้อย่างไร ใครบางคนสามารถคิดว่า # สุ่มสร้างขึ้นผ่าน rand () ในช่วงเวลาที่กำหนดภายในไม่กี่พันเดา? หรือแม้แต่ 10,000 คำเดา? อย่างไร? สิ่งนี้กำลังจะเกิดขึ้นเพราะฉันเห็นห้องสมุดรับรองความถูกต้องซึ่งใช้ rand () เพื่อสร้างโทเค็นสำหรับผู้ใช้ที่มีรหัสผ่านหายไปและฉันคิดว่านี่เป็นช่องโหว่ความปลอดภัย ฉันได้แทนที่เมธอดด้วยการแฮชผสมopenssl_random_pseudo_bytes()กับรหัสผ่านแบบแฮชแบบดั้งเดิมและ microtime หลังจากทำสิ่งนี้ฉันก็รู้ว่าถ้าฉันอยู่ข้างนอกฉันก็ไม่รู้ว่าจะเดาโทเค็นได้อย่างไรแม้จะรู้ว่ามันเป็น md5 of rand ()
21 security  random 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.