最近一直在做机器学习相关的工作,但是对机器学习的基础还没有什么太好的掌握,所以打算从头开始学习一些基本的算法,太深入的数学原理先不深究,需要用到时再补吧(说得跟真的一样)。
$k$-近邻算法,它的工作原理是:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据
都存在标签,即我们知道样本集中每个数据
与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据
对应的特征进行比较,然后算法提取样本集中特征最相似数据
的分类标签。一般来说,我们只选择样本数据集中前$k$个最相似的数据
,这就是$k$-近邻算法中$k$的出处,通常$k$是不大于20的整数。最后,选择$k$个最相似数据中出现次数最多的分类,作为新数据的分类。
用Python实现简单的区块链(一)
发表于
Edited on
机器学习基础
发表于
Edited on
AFL技术介绍
发表于
Edited on
C++模板与泛型编程
发表于
Edited on
Linux Kernel UAF
发表于
Edited on
学习Android上的内存分配jemalloc
发表于
Edited on
CVE-2015-3636漏洞分析
发表于
Edited on
CVE-2015-3636是一个Android系统上可通用的root提权漏洞,这种提权漏洞的挖掘越来越困难,一方面是因为Android系统碎片化十分严重,另一方面是漏洞缓冲机制的不断引入。
漏洞概述
该漏洞属于Linux Kernel级别的use-after-free漏洞,存在于Linux内核的ping.c文件中。当用户态调用系统调用socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP)
,用返回的socket文件描述符作为参数调用系统调用connect()
,并且connect的第二个参数中sa_family == AF_UNSPEC
时,就会因为访问0x200200这个地址引起系统crash。如果攻击者巧妙地填充或者覆盖PING socket对象,就能达到获取root权限的目的。
用libFuzzer搞事情
发表于
Edited on
前面一篇文章介绍过libFuzzer的基本用法了,本文就用libFuzzer来搞一些实际的事情。这里的学习还是以libfuzzer-workshop这个系列教程为主。
Heartbleed Vulnerable(CVE-2014-0160)
编译有漏洞的openssl版本 libfuzzer-workshop/lessons/05
libFuzzer菜鸟入门
发表于
Edited on