各种折腾,经过了一个蛋疼的周末,终于在Ubuntu14.04上运行了一个基于LSM的简单demo程序. 一:程序编写 先简单的看一下这个demo: //demo_lsm.c#include <linux/lsm_hooks.h> #include <linux/sysctl.h> ; int demo_task_create(unsigned long clone_flags) { printk("[+geek] call task_create(). count=%ll…
嗯!如题,一个简单的基于LSM的沙箱设计.环境是Linux v4.4.28.一个比较新的版本,所以在实现过程中很难找到资料,而且还有各种坑逼,所以大部分的时间都是在看源码,虽然写的很烂,但是感觉收获还是挺大的. 具体思路很简单,每个进程都有对应一个task_struct.可以使用task_struct来对进程的行为进行监测和限制,换句话来说,沙箱是基于进程实现的. 正如官方文档所说的,LSM在Linux关键数据结构中添加了透明的安全域,具体实现应该是这样的 task_struct{ ... vo…
最近打算写一个基于LSM的安全模块,发现国内现有的资料极少.因此打算自己琢磨一下.大致的学习路线如下: 由易至难使用并阅读两到三个安全模块->参照阅读模块自己实现一个安全模块->在自己实现的同时阅读LSM实现的基本源码,由于Yama代码量小,结构十分清晰,可以作为入门的demo进行参照. 由于网上关于LSM的相关介绍已经烂大街了,就按自己的初步理解简单介绍一下LSM,详情可以自己阅读文后的相关链接,本文源码基于Linux4.8.0. 一:什么是LSM 一种轻量级的安全访问控制框架,主要利用Ho…
感冒了,感觉一脑子浆糊,真是蛋疼. 先粗略讲一些前置知识. 一:MAC和DAC DAC(Discretionary Access Control),自主访问控制,是最常用的一类访问控制机制,意思为主体(文件所有者)可以自主指定系统中其它用户对其文件的所有权,最典型的就是Linux的"拥有者/同组用户/其他".这种方式虽然为用户提供了很大的灵活性,但是缺乏必要的安全性 MAC(Mandat-ory Access Control),强制访问控制,在这种机制下,系统中的每一个进程,每一个文件…
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version"命令是否有正确的内容打印,也许这并不具备太大的说服力.可能能够运行起一个正确的java程序来,不管从感性角度还是理性角度来说,都会有一个更好的认识. 所以本文写一段很简单的java代码,并且在Linux环境下编译运行,以证明JDK部署得确实没有问题. 代码验证JDK部署是否正确 1.级联建立两个目录 首…
目录 . 引言 . Linux Security Module Framework Introduction . LSM Sourcecode Analysis . LSMs Hook Engine:基于LSM Hook进行元数据的监控获取 . LSM编程示例 . Linux LSM stacking 0. 引言 从最佳实践的角度来说,在Linux Kernel中进行安全审计.Access Control(访问控制)最好的方式就是使用Linux提供的原生的框架机制,例如 . Kprobe: Li…
linux security module机制 概要 Hook机制,linux MAC的通用框架,可以使用SElinux, AppArmor,等作为不同安全框架的实现…
tensorflow笔记(二)之构造一个简单的神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7425200.html 前言 这篇博客将一步步构建一个tensorflow的神经网络去拟合曲线,并将误差和结果可视化.博客的末尾会放本篇博客的jupyter notebook,可以下载自己调试调试. 实践--构造神经网络 本次构造的神经网络是要拟合一个二次曲线,神经网络的输入层是一个特征,即只有一个神经元,隐藏层有10个特…
      在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存. 下面就开始学习如何写一个简单的字符设备驱动.首先我们来分解一下字符设备驱动都有那些结构或者方法组成,也就是说实现一个可以使用的字符设备驱动我们必须做些什么工作. 1.主设备号和次设备号 对于字符设备的访问是通过文件系统中的设备名称进行的.他们通常位于/dev目录下.如下: xxx@u…
[刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK THREE(2.29——3.6)构造一个简单的Linux系统MenuOS SECTION 1 Linux内核源代码简介 1.操作系统的两把宝剑(回顾上一讲) 中断上下文的切换——保存现场&恢复现场 进程上下文的切换 2.Linux内核源代码简介 打开内核源代码页面 arch/目录:支持不同CPU的源代码:其中的…