■ Android Kernel のビルド方法
以下のサイトを参照
http://monoist.atmarkit.co.jp/mn/articles/1008/03/...

■ Kernel Config の設定
$ make menuconfig
で以下の設定を行う。
 Security options  ---> 
   [*] Enable different security models  
上記を有効にすると、以下のConfig設定が有効になります。
CONFIG_SECURITY=y

■ ソースの構成
common/security
Kconfig Makefile capability.c commoncap.c ☆ security.c ☆


■ ソースの修正
/*
 * Secuer LSM module
 *
 * Baseed on Root Plug sample LSM module
 * Copyright (C) 2002 Greg Kroah-Hartman <greg@kroah.com>
 *
 *	This program is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU General Public License as
 *	published by the Free Software Foundation, version 2 of the
 *	License.
 *
 */

#include <linux/kernel.h>
#include <linux/security.h>

static int sec_ptrace_may_access(struct task_struct *child, unsigned int mode)
{
        printk(KERN_INFO "sec_ptrace_may_access Called\n");
	return -EPERM;
}

static int sec_ptrace_traceme(struct task_struct *parent)
{
        printk(KERN_INFO "sec_ptrace_traceme Called\n");
	return -EPERM;
}

static struct security_operations sec_security_ops = {
	.ptrace_may_access	=	sec_ptrace_may_access,
	.ptrace_traceme		=	sec_ptrace_traceme,
};

static int __init sec_init (void)
{
	if (register_security (&sec_security_ops)) {
		printk (KERN_INFO "Failure registering Secure LSM with the kernel\n");
			return -EINVAL;
	}

	printk (KERN_INFO "SEC LSM module initialized\n");

	return 0;
}

security_initcall (sec_init);

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

編集にはIDが必要です