General questions

Q1: What is AKARI?

A1: A Linux kernel module that can both automatically and interactively generate policies for Mandatory Access Control.

Q2: Who are the target users?

A2: Administrators that do not have the time and energy for more complex server security management.

Q3: How much extra memory is consumed?

A3: Fixed part (code and data in the kernel) is about 100 KB, variant part (access permissions) is a few hundred KB.

Q4: How large is the performance loss?

A4: Not formally tested, but it should be negligible for the regular user.

Q5: Which kernel versions are supported?

A5: Linux kernel 2.6.0 and later are supported. These are available from https://www.kernel.org/.

Q6: What is AKARI licensed under?

A6: AKARI is licensed under the GNU General Public License (GPL).

Q7: Does AKARI have any usage other than for Mandatory Access Control?

A7: Yes, you can use it as a system analysis tool or to create custom filesystem images with minimum files.

Policy management

Q1: Is the policy syntax easy?

A1: Yes, the syntax has been designed to be easily managed.

Q2: What is a domain?

A2: The domain in AKARI is a history of process execution determined by the sequence in which they are executed.

Q3: What is a profile?

A3: The profile in AKARI is a configuration that defines what level and type of MAC is used for a particular domain.

Q4: Can I update policies dynamically?

A4: Yes.

Q5: Do I need to restart processes after updating policies?

A5: No, unless you delete a domain and recreate it.

Q6: Will processes referring a domain crash by deleting the domain?

A6: No, processes will not crash because the deleted domain remains until processes terminate.

Q7: What measures against tampering policies are there?

A7: Programs or domains can be restricted from modifying policy.

Q8: How can I edit policies?

A8: An ncurses based CUI editor is included to modify policies. You may also use any text editors.

Q9: What is "Learning mode"?

A9: A mode in which access permissions are appended automatically in order to determine safe behaviours and resources that are required by a program for normal operation.

Q10: Are there problems appending access permissions automatically?

A10: There should be no problems, as AKARI uses absolute pathnames and fine-grained domain divisions.

Q11: Can I update packages while the Mandatory Access Control is enabled?

A11: Yes, by assigning different profiles to domains, or by using tools provided with AKARI (e.g. /usr/sbin/ccs-queryd).

Q12: Can I protect only daemon processes like SELinux's Targeted Policy?

A12: Yes, by assigning different profiles to domains.


Q1: What is the security model of AKARI?

A1: Domain and Type Enforcement (DTE) only.

Q2: Are there concepts of users and roles?

A2: No, but it is possible to delegate a part of administration tasks.

Q3: Do userland applications need to be patched?

A3: No.

Q4: Can AKARI protect sshd from exploit codes?

A4: No, but it is possible to countermeasure illegal logins by enforcing additional authentication.

Q5: Which division is AKARI categorized in TCSEC?

A5: Unknown.

Q6: What security labels does AKARI use?

A6: AKARI uses absolute pathnames as security labels.

Q7: Can I use wildcards for pathnames?

A7: Yes.

Q8: Is multi-level security (MLS) supported?

A8: No. Save in the different directories according to sensitivity level of the file.

Q9: Are there functions like Linux Intrustion Detection System's (LIDS) stateful ACL?

A9: No.

Q10: Are the correctness of security labels guaranteed?

A10: Since pathnames are used as security labels, the correctness of security labels is guaranteed unless the directory entry get corrupted.

Q11: Are resources other than files protected?

A11: Yes, AKARI supports many resources (e.g. network ports, environment variables). See AKARI/TOMOYO functionality comparison table for a list of all the resources that can be restricted.