- 說說內(nèi)存管理,你只管把你知道的滔滔不絕地說唠叛,我不會打斷你。
- 說說NSDictionary底層實現(xiàn)沮稚。
- 如果有一張非常大的圖片艺沼,超過100M需要實現(xiàn)清晰的查看,你會怎么做蕴掏。
- 說說鎖相關(guān)的信息障般。
- https最容易受到攻擊的是哪一部分。
參考資料
圖片來自于wikipedia
RFC 6520心跳擴展定義了一種測試TLS/DTLS安全通信鏈路的方法盛杰,允許連接一端的計算機發(fā)送“心跳請求”消息挽荡,消息包含有效載荷(通常是文本字符串),附帶有效載荷的長度(用16位整數(shù)表示)即供。隨后定拟,接收方計算機必須發(fā)送完全相同的有效載荷以返回給發(fā)送方。
受影響的OpenSSL版本根據(jù)請求消息中的長度字段分配內(nèi)存緩沖區(qū)逗嫡,用于存儲要返回的消息青自,而不考慮消息中有效載荷的實際長度。因為缺少邊界檢查驱证,返回的消息不僅包括有效載荷延窜,還可能含有其他恰巧在已分配緩沖區(qū)中的消息。
因此抹锄,通過構(gòu)造出載荷短需曾、長度字段中的數(shù)值卻很大的請求吗坚,向存在缺陷的一方(通常是服務(wù)器)發(fā)送畸形心跳包,利用心臟出血漏洞呆万,引起受害者的回應(yīng)商源,這樣,攻擊者便可讀取到受害者內(nèi)存中至多64千字節(jié)的信息谋减,而這塊區(qū)域先前OpenSSL有可能已經(jīng)使用過[61]牡彻。例如,正常的心跳請求可能會要求一方“返回4個字符的單詞‘bird’”出爹,那一方就返回“bird”庄吼;“心臟出血請求”(惡意的心跳請求)如“返回500個字符的單詞‘bird’”會導(dǎo)致受害者返回“bird”,緊接著是恰儲存在受害者活躍內(nèi)存中的496個字符严就。這樣总寻,攻擊者便可能會收到敏感數(shù)據(jù),從而危及受害者其它安全通信的保密性梢为。雖然攻擊者能對返回的內(nèi)存塊大小有所控制渐行,但卻無法決定它的位置,因而不能指定要顯示內(nèi)容铸董。