ฉันจะป้องกันโปรแกรมเมอร์จากการบันทึกข้อมูลที่ผู้ใช้ป้อนได้อย่างไร


10

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


3
ฉันขอแนะนำให้คุณโพสต์คำถามใน: security.stackexchange.com/?as=1
NoChance

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

ข้อกำหนดทางเทคนิคสำหรับเทคโนโลยีที่คุณต้องการ: การแฮชและการเข้ารหัส
Robert Harvey

คำตอบ:


22

มันค่อนข้างง่าย ธนาคารทำมันตลอดเวลา

คุณมีคนสามกลุ่มที่เกี่ยวข้อง เหล่านี้คือกลุ่มความปลอดภัย ด้วยการอนุญาตที่แตกต่าง

นักพัฒนาไม่สามารถกำหนดการอนุญาตด้านความปลอดภัยและไม่เห็นข้อมูลการผลิต

ผู้ประกอบการไม่สามารถกำหนดการอนุญาตด้านความปลอดภัยและไม่สามารถสร้างซอฟต์แวร์

กลุ่มรักษาความปลอดภัยที่ตั้งค่าการอนุญาตและไม่สามารถสร้างซอฟต์แวร์หรือใช้งานซอฟต์แวร์ได้

นักพัฒนาสร้างซอฟต์แวร์ ผู้ประกอบการติดตั้งและใช้งาน กลุ่มความปลอดภัยรับรองว่าทั้งสองกลุ่มจะถูกแยกออกจากกัน


8
ตกลง แต่ผู้พัฒนายังสามารถเพิ่มบางสิ่งบางอย่างในระบบที่ส่งอีเมลข้อมูลการผลิตไปยังบัญชีส่วนตัวของเขา / เธอ หรือเขียนข้อมูลการผลิตไปยังเซิร์ฟเวอร์ที่เขา / เธอจะรับมัน ฉันคิดว่าวิธีเดียวที่จะแก้ไขปัญหานี้ได้คือระบบการตรวจสอบโค้ดที่เข้มงวด
Dawood ibn Kareem

3
มีระดับของความไว้วางใจที่มอบให้กับพนักงานเสมอ บางคนต้องมีกุญแจไปยังพระราชวังและหากคุณไม่สามารถไว้วางใจได้ว่าพวกเขาเข้าใจพลังที่มอบให้พวกเขาบางทีเราไม่ควรมอบกุญแจเหล่านั้นให้กับบุคคลนั้นตั้งแต่แรก
Chris

1
ใช่ แต่การมีคีย์ที่ต้องการมากกว่าหนึ่งคน (เช่นระบอบการตรวจสอบโค้ด) หมายความว่าคุณจำเป็นต้องมีสองคนที่จะ "หลงทาง" ก่อนที่คุณจะถูกโจมตีและมีโอกาสน้อยกว่าพนักงาน "เพียงคนเดียว" ที่หลงผิด พวกเขา มันเป็นเรื่องของการสร้างความเชื่อมั่นและความสมดุลของผลที่เกิดขึ้นจากการถูกทารุณกรรม และอย่าลืมว่าผู้คนและสถานการณ์เปลี่ยนไป บุคคลที่ไว้วางใจเมื่อคีย์ได้รับสามารถมีสิ่งต่าง ๆ เกิดขึ้นในชีวิตโดยที่เขาเชื่อถือได้น้อยลง ...
Marjan Venema

1
@EmmadKareem: ถูกต้อง ผู้รักษาความปลอดภัยตั้งค่าและรีเซ็ตกลุ่มและรหัสผ่าน แต่ไม่เห็นข้อมูล ผู้ประกอบการเท่านั้นที่สามารถเห็นข้อมูลจริง ลองคิดถึงข้อมูลเช่นเงินจริงที่จัดการโดยพนักงานเก็บเงินจริง โปรแกรมเมอร์ไม่แตะต้องเงิน เพียงบอกให้ ในทำนองเดียวกันคนที่รักษาความปลอดภัยไม่แตะเงิน มีเพียงพนักงานเก็บเงินเท่านั้น
S.Lott

1
@EmmadKareem: DBA ไม่ใช่นักพัฒนา มีสองกลุ่มคือความปลอดภัยและข้อมูล Data DBA เป็นส่วนพิเศษของ "การทำงาน" พวกเขาไม่ควรมีสิทธิ์เปลี่ยนความปลอดภัย พวกเขาไม่สามารถเขียนรหัสได้ พวกเขาจะเห็นข้อมูลและต้องได้รับการปฏิบัติเหมือนตัวดำเนินการไม่ใช่นักพัฒนา
S.Lott

2

โปรแกรมเมอร์ไม่สามารถเข้าถึงเซิร์ฟเวอร์ที่ใช้งานจริงได้ แต่ใครบางคนจะต้องมีการเข้าถึง ไม่มีทางรอบมัน และมีโอกาสเสมอที่ใครบางคนอาจเสียสติและละเมิดการเข้าถึง

ข้อมูลที่ถูกแฮช / เค็มนั้นมีความปลอดภัยในทางทฤษฎีแม้กระทั่งจากผู้ที่สามารถเข้าถึงได้อย่างเต็มรูปแบบ แต่ข้อมูลส่วนใหญ่ไม่เหมาะสำหรับการแฮ็ก

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