我已經構建了一個 python 腳本,它使用 python 套接字在我的 python 應用程式和我的 python 服務器之間建立連接。我已經加密了兩個系統之間發送的資料。我在想我是否應該考慮與安全性相關的任何其他事情來防止黑客攻擊。他們可以做一些可能從我的計算機竊取資料的事情嗎?
預先感謝您的努力。
我已經加密了兩個系統之間發送的資料。
uj5u.com熱心網友回復:
加密通常是一個很好的步驟,但仍然存在一些微妙的問題,例如:
- 攻擊者可以在不知道加密密鑰的情況下捕獲加密訊息并通過重新發送密文來重播它。如果它導致命令(例如打開燈或咖啡機、重新啟動等),攻擊者可以重新運行該命令。
- 類似地,某些型別的加密容易受到攻擊者的攻擊,攻擊者將密文片段拼湊在一起以創建將正確解密的弗蘭肯訊息(例如使用 AES-ECB)。
- 你的握手(根據你的評論)似乎比經過審查的安全手段更安全。
有一些現成的協議,例如眾所周知的 TLS,可以提供相當全面的保護。如果您可以輕松地將這一層添加到您的套接字(即使使用硬編碼的自簽名證書分發給兩臺機器并進行驗證),您已經獲得了比 DIY 加密更高的安全性。隨著您采用更多的 TLS 生態系統,例如證書頒發機構和 PKI,您可能能夠為某些威脅模型獲得更多的安全優勢。
還有其他理論上的風險,例如攻擊者利用緩沖區溢位問題試圖獲得對服務器的遠程控制。就記憶體安全而言,Python 3 通常是一種很好的語言,但確保您的庫和機器保持最新狀態是個好主意。
如果您的威脅模型不關心這一點,那么您可能沒問題。此外,如果這是一個個人專案,您甚至可能想嘗試部署它,然后自己闖入(了解除加密密鑰以外的所有內容)作為進一步的學習練習。
uj5u.com熱心網友回復:
如果使用良好的解密(例如 AES)加密資料并且解密是安全發送的密鑰,則您的資料是安全的。我唯一能想到的另一件事是在接受通過套接字發送給您的資料之前添加密碼或其他身份驗證。
編輯:如果您保持連接打開,創建身份驗證方法總是一個好兆頭,這樣隨機的人將無法向您發送隨機資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/535929.html
