HW2:classification
Posted dctwan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HW2:classification相关的知识,希望对你有一定的参考价值。
HW2
任务描述
音位分类预测(Phoneme classification),我们有音频->音位
这样的训练数据,想要训练一个模型,学习这样的对应关系,然后给定音频,预测其音位
音位
音位(phoneme),是人类某一种语言中能够区别意义的最小语音单位,是音位学分析的基础概念。每种语言都有一套自己的音位系统。
音频处理
通过一定方法,将连续的音频信号处理切分成若干个frame,每一个frame相当于一个音位
数据
整体数据结构如下
-
feat
-
test
1078个测试样本,每个样本以
id.pt
文件的形式存储该样本的特征,其中id唯一标识一个样本(音频)。对于每一个样本可通过torch.load
读取出Tensor类型的数据,数据维度:(n_frames, frature_dim)-
n_frames
一条音频样本经过处理形成的多个frame,见上文
音频处理
,不同音频样本经过处理后生成的fram个数是不同的 -
feature_dim
对于每一个frame经过处理形成的特征的维度,所有frame的特征维度均为39
-
-
train
以
id.pt
文件的形式存储所有训练样本的特征,可进一步划分为训练集和验证集,特征存储方式同test -
test_split.txt
所有测试样本的id的集合
-
train_labels.txt
所有训练样本的标签的集合,每一行第一列表示
-
train_split.txt
所有训练样本的id的集合
-
代码细节
torch.permute()
用于对Tensor的维度进行变换,由0,1,2...指定原始维度改变之后的维度
x = torch.randn((2, 3, 4))
print(x.size())
x = x.permute(2, 0, 1)
print(x.size())
# output
# torch.Size([2, 3, 4])
# torch.Size([4, 2, 3])
python除法
python有两个除法运算符
/
为传统除法,根据运算数的类型进行传统除法运算//
为floor除法,运算结果直接舍弃小数部分
炼丹
sample baseline
直接运行样例代码即可
self.block = nn.Sequential(
nn.Linear(input_dim, output_dim),
nn.ReLU(),
)
concat_nframes = 1
train_ratio = 0.8
# training parameters
batch_size = 512 # batch size
num_epoch = 5 # the number of training epoch
learning_rate = 0.0001 # learning rate
# model parameters
hidden_layers = 1 # the number of hidden layers
hidden_dim = 256 # the hidden dim
Medium Baseline
增加concat_nframes,修改模型宽度和深度,增加训练轮数,另外增加batch_size能够提高模型表现
concat_nframes = 17
train_ratio = 0.9
batch_size = 2048
num_epoch = 20
learning_rate = 0.001
hidden_layers = 5
hidden_dim = 1700
dropout=0.35
BN
Score: 0.756
Private score: 0.75667
要想达到boss baseline需要使用RNN,后续过来补充
HW攻防演练总结:安全数据分析
为了写一篇好的hw总结,少不了多方收集素材,下面关于《HW攻防演练总结:安全数据分析》从数据包分析、攻击行为反查、应用及处置多角度写到了hw中常见问题,以及HW常见攻击行为及采取的操作、最后给防守方的建议以及对攻击队伍人员分工类型的分析。
(文末有我之前文章分享的ctf web/misc与溯源脑图的下载链接获取方式)
以下转自信安客
持续2周的HW工作结束有一段时间了,HW行动中红蓝双方使出浑身解数,开展攻击与反攻击的终极大战。有幸作为防守方全程参与此次网络攻防演练,下面是关于此次HW日常工作的一些总结:
01 数据包判断
在HW期间从数据分析系统当中威胁告警网页漏洞利用查看详情里面,可以看到请求头及响应头,请求体和响应体,判断这条告警是否是攻击行为,因为很多时候内网IP相互访问会存在一定程度的误报,这时候就需要手工判断是否是误报,平常工作为:对数据分析系统进行系统运行状态、性能检查,并对目标系统前一天到当天Web日志进行失陷检测,对数据分析系统、流量日志进行分析、验证,及时发现安全漏洞隐患,撰写防守成果报告,对主机加固、蜜罐等产品进行巡检和前一天到当天告警、日志进行分析,及时发现安全漏洞隐患,通知分析人员进行安全分析。
在发现疑似攻击行为时,不管是否已经攻击成功,直接协调FW或WAF维护人员,进行IP(端口)封堵处理,避免进一步攻击行为发生;(发现攻击IP及时群里发出,验证后就“先封禁”再上报给GN。如果GN确认该IP为攻击队IP,要求不允许封IP,安全拦截措施转为通过WAF 建立特殊IP组建立高防护策略并按照攻击情况进行人工添加策略如特定路径禁止访问策略。)
03 攻击行为反查
在初步处置的同时,我方人员利用数据分析系统对攻击行为进行反查,确认攻击事件及影响范围,以协调进一步处理线索,并协调人员将事件上报网安。
04 应用及主机处置
如通过反查确认有主机或应用被攻击,第一时间应用和主机下线,通采用人员分析或失陷监测工具分析的方式确认系统被攻击的情况,协调相关责任人进行进一步处置;以上是主要负责的主要工作内容。
HW常见攻击行为及采取的操作
在HW期间,每天有大量的攻击者扫描行为,及少部分的攻击行为,这时就需要对大量的数据包进行分析、排查,并对攻击行为进行溯源,查看受害资产范围,并联合其他防守方对IP进行封堵。
1.目录列表功能和通用命令执行漏洞
发现较多的是一个目录列表功能和通用命令执行漏洞,甚至有的已经已成功获取系统/etc/passwd文件,给到的修复建议一般是IP进行封堵,对输入的数据中特殊字符进行转义处理,或编码转换,对当前web中间件权限降权处理,而目录列表功能危害为任何人都可以浏览该目录下的所有文件列表。
如果该目录不存在默认的主页面文件,并且该目录包含了敏感的文件内容(如应用程序源码文件或其它的重要文件内容),那么将导致敏感文件内容外泄,从而对企业造成直接的经济损失或为恶意攻击者提供进一步攻击的有效信息。进行的操作为,如果必须开启该目录的目录列表功能,则应对该目录下的文件进行详细检查,确保不包含敏感文件。
如非必要,请重新配置WEB服务器,禁止该目录的自动目录列表功能。
2.Java框架通用及代码执行攻击
Java框架通用及代码执行攻击,当然也是扫描行为,我们可以采取的操作,解决远程代码执行问题的关键是对所有可能来自用户输入的数据进行严格的检查、对服务器的安全配置使用最小权限原则通常使用的方案有:对输入的数据中特殊字符进行转义处理,或编码转换,对当前web中间件权限降权处理,若应用程序使用第三方开源框架,将框架版本升级至最新版;最常用的是升级规则库版本,软件版本和进行IP封堵,IP封堵需要根据客户现场实际环境操作,不能影响客户的正常业务。
3.Nmap扫描行为
如:(/nice ports,/Trinity.txt.bak),建议检查自身应用服务器是否有高危端口对外开放,并根据实际情况应用防火墙测略进行IP封堵。
4.尝试请求Linux下敏感文件
如:(/../etc/passwd),/wls-wsat/CoordinatorPortType11,对此类敏感请求进行拦截。
5.Masscan扫描行为
通过Masscan快速获悉目标端口的状态,并针对开启的端口进行攻击。建议检查自身应用服务器是否有高危端口对外开放,并根据实际情况应用防火墙测略进行IP封堵。
6.PUT方式写入
/public/index.php?s=/index/ hinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^<?php%20$action%20=%20$_GET['xcmd'];system($action);?^>>hydra.php
包含敏感目录,system系统命令执行函数,但只是试探行为,判断是为攻击,并对IP进行封堵。
8.Tomcat远程代码执行
探测比较多的敏感目录 /manager/html和/wls-wsat/CoordinatorPortType11,如果这些名称敏感的目录中包含了危险的功能或信息,恶意攻击者有可能利用这些脚本或信息直接获取目标服务器的控制权或基于这些信息实施进一步的攻击,但都是404的探测行为,也进行了IP封堵处理。
10.恶意powershell代码和ThinkPHP 5.x远程代码执行
虽然返回结果都是404,但响应体中暴露出客户的tomcat等容器版本,所以才去的方式也是封堵IP,并建议客户可以制作专门的404界面。
给防守方的建议
1. 边界部署防御设备
这个目前各大公司都已经上了各类WAF、流量检测设备以及防火墙,所以算是老生常谈,不做过多解释。
2. 终端检测和防御
①安全软件
目前国内企业对于终端防御主要依赖安全软件,大多使用的是某数字的产品,但实际效果只能算差强人意,可以拦截一部分攻击者,对于高水平的红队并没有什么作用。同时装两个效果会更好点,我们这次遇见的目标就有数字卫士+国外杀毒软件,对我们还是造成了一定的影响(然并卵)。
另外有一点就是对于安全软件的主控端要注意防护,国内某安全软件的推送功能对推送文件没有任何检验,可以直接推送恶意软件,使用这个功能可以直接打穿内网。之前也爆出过赛门铁克管理端远程代码执行之类的漏洞,一定要多加注意,不要因为安全软件自身导致内网被渗透。
②横向移动检测与阻止
这个目前安全软件能检测和阻止一部分,但是不全面,而且新的攻击方法总在不停出现。总体而言需要重点关注危险端口的访问,以及新启动进程的父子关系。横向移动就那几个主要的方法,新进程的父进程都会特属于某几个进程,重点关注是能检测出来绝大部分的,不过这需要蓝队对攻击方法有一定的了解。
PS:红队很多使用cs做内网渗透,而cs里面大量依赖powershell做横向移动,对于确定不用powershell的服务器或个人机,可以禁止powershell运行。
③安全日志分析
这个前提是企业内部已经有SIEM系统,要重点分析一些红队所使用的横向移动技术会触发的安全日志或应用日志,另外还要关注敏感账户的登录和变更日志,敏感用户的任何异常行为都不要放过。
④进程白名单
这个需要对业务系统非常熟悉,才能确定业务服务器上的白名单程序列表,稍有不慎会导致业务系统不可用。不过这招对红队杀伤力很大,如果红队贸然在服务器上运行了白名单之外的程序,蓝队利用日志分析系统能很快定位出被攻破的服务器。
⑤双因素认证
双因素认证能够有效的防御密码暴力破解,同时就算员工的密码是弱口令或者被撞库成功,红队也无法成功登录,这能在很大程度上影响红队的进攻脚步。重要的业务系统、远程办公系统(vpn、远程桌面、OA等)、堡垒机、单点登录认证系统等都应该加上双因素认证。
最后从结果来看,攻击队伍主要可以分为两类:
一类是大量攻击web服务得分的,这类队伍有很强的web攻击能力,能够绕过各大厂商的WAF攻击开放在互联网上的web服务,进入内网后也会从内网web服务入手进行攻击,这类队伍有可能会被蜜罐系统捕捉,队伍成员一般多从事渗透测试类工作;
另一类则是精于内网隐蔽渗透的,这类队伍会抓住每一个进入内网的机会,在内网进行非常谨慎而隐蔽的横向移动,很难被流量检测设备或态势感知系统检测到,至于蜜罐之类的系统对这类队伍几乎无用,队伍成员多从事红队测试之类的工作。
要从根本上提高安全防护的能力,还得平时多下功夫。在业务系统开发时就引入SDL,系统上线后需要进行渗透测试,同时最好引入白盒代码审计,从以往经验来看,白盒测试能够发现很多黑盒测试不能涉及到的安全隐患和漏洞。
除了对业务系统的单点安全建设,对于整个企业也需要建立完善的检测和响应体系,引入SIEM之类系统,对所有安全相关的行为与事件做到可查看、可溯源。
最后,对于企业整体安全体系评估则需要引入红队测试,来具体测试整个安全体系的检测能力和响应能力。
之前分享过的资料:
一如既往的学习,一如既往的整理,一如即往的分享。感谢支持
扫描关注LemonSec
以上是关于HW2:classification的主要内容,如果未能解决你的问题,请参考以下文章