NVIDIA 宣布開源 NVIDIA Releases Open-Source GPU Kernel Modules,原始程式碼在 GitHub: NVIDIA/open-gpu-kernel-modules 是 DUAL GPL/MIT License,目前只有 Datacenter GPU 的支援是 production level。
一些歷史淵源可以看 被 Linux 之父罵了十年、比 AMD 晚 6 年,Nvidia 終於開源 GPU 核心 ,晚了這麼多年開放,會有什麼影響(副作用) !?
我對演算法沒啥 sense,但是看到些相關對基礎(應該說基石)的改良增強,覺得很有趣。 這種演算法的在效能與空間上的改進並且被各主流平台語言接受,我猜大概是幾年一遇吧, 懂演算法又能做改良的人真是了不起!
Golang 將會在下一版(v1.19?)把預設的排序改為 pdqsort (Pattern-defeating Quicksort 也就是 Quicksort 改良版) 在這個commit 提到
Across all benchmarks, pdqsort is never significantly slower than the previous algorithm. In common patterns, pdqsort is often faster (i.e. 10x faster in sorted slices). The pdqsort is described at https://arxiv.org/pdf/2106.05123.pdf
This CL is inspired by both C++ implementation and Rust implementation.
C++ implementation: https://github.com/orlp/pdqsort Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ Timsort,hybrid stable sorting algorithm( merge sort 跟 insertion sort 的結合版)...
golang 的專案結構建議,我覺得 go 最佳實踐法比較見仁見智,蠻主觀的 !
Go Best Practices: How to code comfortably
go-clean-arch
Standard Go Project Layout
達拉斯一個城市的罪犯紀錄有 22TB ,好可怕的數據啊. 所以我們知道 (硬碟+備份不能亡)
摘要 美國在達拉斯警政系統在 2021 的 3月底到4月初進行了 Data Migration ,不幸操作錯誤誤刪 22TB 的犯罪檔案,利用備份資料救回了 14TB,最後還是有 8TB 資料無法復原救不回來,這些資料包含犯罪證據,所以 找不到相關檔案的嫌疑犯,有可能無法定罪。
Dallas cops lost 8TB of criminal case data during bungled migration
漏洞資料庫暴力搜集資訊 從 Client 暴力蒐集 server 端的資訊,再一點一滴拼湊出可能用到的技術(如 framework|libs|database|ui-js|ui-css) 或是 input parameters 漏洞,在累積一段時間過後再一次搭配 shell 破解。
對應方案 時常注意 CVE 時常注意 dependency check(PATCH) 最好是整合 CI 裝 WAF(Web Application Firewall) 網站應用程式防火牆 如果上述什麼都沒做的話可以仿造以下的做法,稍稍抵擋一下延遲被情蒐的機率(第一時間中斷情蒐), 然後通報資安團隊封鎖該 IP。
以 java server 為例 如果 server 端是以 java 技術撰寫,可以寫一小filter 偵測是否有異常的關鍵字存取,如果有立即通知資安系統管理者,立即封鎖該 IP。
import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; public class Yes26Filter extends OncePerRequestFilter { private static final String[] words = new String[] { "/WEB-INF/", "....
木馬攻擊的發展
shell file web Shell (無檔案文件) memory shell (僅存在在記憶體) 只要能繞過認證權限那塊就可以在 Server 端產生惡意的程式碼, 以 java web 為例,client 可以 往 server 動態註冊惡意的
filter 與 filter chain listener servlet jsp spring controller 其中 memory shell 形式的木馬通常都是搭配反序列化的漏洞才能植入。 所以看到能防守的第一關,就是快更新反序列化的漏洞。
Apache Shiro 是一個强大易用的 Java 安全框架,執行身份認證/授權/密碼管理/Session 管理。 這兩年曾經有過的漏洞
CVE-2020-17523 (Apache Shiro < 1.7.1) 特殊字元造成可以繞過身份認證取得權限的漏洞
空白字元(%20) 例如 : 127.0.0.1:8080/admin/%20 或 127.0.0.1:8080/admin/%20/
. 字元(%2E) 假如在 path matching config 時打開全路徑 setAlwaysUseFullPath(true),則 127.0.0.1:8080/admin/%2e 或 127.0.0.1:8080/admin/%2e/ 可以繞過
CVE-2016-4437 (任意版本) 可當作 RCE(Remote Code Execution)的基礎。只要 rememberMe 的 AES KEY 外洩,無論 shiro 任何版本都会有反序列化漏洞,可上傳惡意 Class(WebShell)。 所以不要使用內建的 AES Key,並刪除預設 AES Key。直接使用官方網站提供的 Key Generation
Apache Shiro Authentication Bypass Vulnerability CVE-2020-13933 (Apache Shiro < 1.6.0) CVE-2020-1957 (Apache Shiro < 1.5.2) CVE-2020-11989 (Apache Shiro < 1....
2021-09-07 年釋出,官方發布的 OpenSSL 3.0 Has Been Released
主要的改變是: 授權使用 Apache License 2.0。
由於主要版本號 2.x,先前已經被用於OpenSSL的FIPS模組中,所以直接從 1.x 直接跳到 3.x 。
這情形跟2016年 12月發布的 Angular 4 (從 Angular 2 升級 ) 直接跳過 v3.x 是一樣的意思, 當年也是因為子模組版號太快(route 先用掉了 v3),為了不混淆,所以把整個 Angular 直接升到 v4.x。
Developers hate 2 things : writing documentation and no documentation.
開發者痛恨 2 件事
撰寫文件 沒有文件 我覺得還要加一項 文件字太多
2020年釋出,在 OASIS 發布的 OASIS Approves Four Public-Key Cryptography (PKCS) #11 Standards
加解密支援 Authenticated Encryption with Associated Data (AEAD algorithms)
C_GetInterfaces : 除了原本的 Function Table,新增 own vendor specific functions。 載入 pkcs11時,開發者使用C_GetInterfaces 可以查詢多個 Function Table。
SHA3 (RSA, DSA, and ECDSA)
CKM_AES_GCM, CKM_AES_CCM
New Profile object : 新的 Object (CKO_PROFILE)
參考 OASIS PKCS 11 TC
PKCS#11 v3.0 has been released: What is it, and what does it mean for RHEL?...