** Description changed:

  Background: kernel and apparmor userspace updates to support signal and
  ptrace mediation. These packages are listed in one bug because they are
  related, but the FFes may be granted and the uploads may happen at
  different times.
  
  = linux =
  Summary:
  This feature freeze exception is requested for signal and ptrace mediation 
via apparmor in the kernel. When used with a compatible apparmor userspace, 
signals and ptrace rules are supported. When used without a compatible apparmor 
userspace (eg, on a precise system with a trusty backport kernel), signal and 
ptrace mediation is not enforced (ie, you can use this kernel with an old 
userspace without any issues).
  
  The fine grained mediation of signals and ptraces also incorporates improved
  versioning support that allows this kernel to better support older and newer
  userspaces. This allows for this version of the kernel to work as a backport
  kernel unmodified (currently a patch and config are used to provide backport
  kernels).
  
  The kernel patch is available at git://kernel.ubuntu.com/jj/ubuntu-trusty.git
  in the trusty-alpha6 branch apparmor-alpha6-sync
  
  Testing:
  * 12.04 system with backported kernel: DONE
   * test-apparmor.py: PASS (runs extensive tests (upstream and distro))
   * exploratory manual testing: PASS (networking, aa-enforce with firefox, 
firefox works, apparmor blocks access, etc)
   * aa-status: PASS
   * lxc: PASS (containers can be created, started, shutdown)
   * libvirt: PASS (VMs started via openstack, and test-libvirt.py from QRT 
passes all tests)
  * 14.04 system (non-Touch) with current apparmor userspace: DONE (relevant 
parts of https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor)
   * test-apparmor.py: PASS (runs extensive tests (upstream and distro))
   * exploratory manual testing: PASS (networking, aa-enforce with firefox, 
firefox works, apparmor blocks access, etc)
   * aa-status: PASS
   * lxc: PASS (containers can be created, started, shutdown)
   * libvirt: PASS (QRT/script/test-libvirt.py (though there are 3 failures 
unrelated to apparmor))
   * click-apparmor QRT touch image tests: PASS
   * apparmor-easyprof-ubuntu QRT touch image tests: PASS
  * 14.04 system (non-Touch) with updated apparmor userspace capable of 
supporting signal and ptrace mediation: DONE (relevant parts of 
https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor. Note: this is marked 
'done' from the kernel perspective-- the apparmor userspace upload is being 
prepared and tests assume userspace is using latest patches on the list)
   * test-apparmor.py: PASS (runs extensive tests (upstream and distro))
   * exploratory manual testing: PASS (networking, aa-enforce with firefox, 
firefox works, apparmor blocks access, etc)
   * aa-status: PASS
   * lxc: PASS (containers can be created, started, shutdown)
   * libvirt: PASS (QRT/script/test-libvirt.py (though there are 3 failures 
unrelated to apparmor))
   * click-apparmor QRT touch image tests: PASS
   * apparmor-easyprof-ubuntu QRT touch image tests: PASS
  
  Justification:
  This feature is required to support comprehensive application confinement on 
Ubuntu Touch. This feature adds a significant security benefit to libvirt's 
qemu guest isolation which is fundamental to Ubuntu on Server/Cloud. This 
feature also adds a welcome improvement to administrators wishing to further 
protect their systems.
  
  = apparmor userspace =
  Summary:
  This feature freeze exception is requested for signal and ptrace mediation 
for apparmor userspace. When used with a compatible kernel, signals and ptrace 
rules are supported. When used without a compatible kernel (eg, on Ubuntu Touch 
for a few weeks or with upstream kernels), signal and ptrace rules are skipped 
(ie, you can use this userspace with other kernels without issue).
  
  Testing:
  * 14.04 system with current kernel (Touch, kernel doesn't have signal and 
ptrace mediation yet):
-  * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: INPROGRESS 
(includes click-apparmor, apparmor-easyprof-ubuntu, exploratory manual testing, 
etc)
+  * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: PASS (includes 
click-apparmor, apparmor-easyprof-ubuntu, exploratory manual testing, etc)
  * 14.04 system with previous kernel lacking signal and ptrace mediation 
(non-Touch):
   * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: INPROGRESS 
(includes test-apparmor.py, exploratory manual testing, lxc, libvirt, etc)
   * lightdm guest session: PASS (login, start browser, logout)
  * 14.04 system kernel capable of supporting signal and ptrace mediation 
(non-Touch):
   * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: PASS (includes 
test-apparmor.py, exploratory manual testing, lxc, libvirt, etc)
   * Verify everything in 
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/AppArmorProfiles: PASS 
(except juju since it doesn't have policy itself)
   * lightdm guest session: PASS (login, start browser, logout)
  
  Justification:
  This feature is required to support comprehensive application confinement on 
Ubuntu Touch. This feature adds a significant security benefit to libvirt's 
qemu guest isolation which is fundamental to Ubuntu on Server/Cloud. This 
feature also adds a welcome improvement to administrators wishing to further 
protect their systems.
  
  Extra information:
  While the apparmor userspace and kernel changes to support signal and ptrace 
mediation can happen at different times, the apparmor userspace upload must 
correspond with uploads for packages that ship AppArmor policy that require 
updates (eg, libvirt, lxc, etc). The packages outlined in 
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/AppArmorProfiles have been 
tested to either work without modification to the policy or updated and tested 
to work with updated policy. Common rules will be added to the apparmor base 
abstraction such that most packages shipping apparmor policy will not require 
updating. These updates will be prepared, tested and published en masse via a 
silo ppa.
  
  Common rules added to the base abstraction are (ie, these rules will be 
included in all policy on Ubuntu since the base abstractions is always used in 
distro policy):
    # Allow other processes to read our /proc entries, futexes, perf tracing and
    # kcmp for now
    ptrace (readby),
  
    # Allow other processes to trace us by default (they will need 'trace' in
    # the first place). Administrators can override with:
    #   deny ptrace (tracedby) ...
    ptrace (tracedby),
  
    # Allow unconfined processes to send us signals by default
    signal (receive) peer=unconfined,
  
    # Allow us to signal ourselves
    signal peer=@{profile_name},
  
    # Checking for PID existence is quite common so add it by default for now
    signal (receive, send) set=("exists"),

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/1298611

Title:
  [FFe] apparmor signal and ptrace mediation

Status in “apparmor” package in Ubuntu:
  In Progress
Status in “libvirt” package in Ubuntu:
  In Progress
Status in “lightdm” package in Ubuntu:
  In Progress
Status in “linux” package in Ubuntu:
  Fix Released
Status in “lxc” package in Ubuntu:
  In Progress

Bug description:
  Background: kernel and apparmor userspace updates to support signal
  and ptrace mediation. These packages are listed in one bug because
  they are related, but the FFes may be granted and the uploads may
  happen at different times.

  = linux =
  Summary:
  This feature freeze exception is requested for signal and ptrace mediation 
via apparmor in the kernel. When used with a compatible apparmor userspace, 
signals and ptrace rules are supported. When used without a compatible apparmor 
userspace (eg, on a precise system with a trusty backport kernel), signal and 
ptrace mediation is not enforced (ie, you can use this kernel with an old 
userspace without any issues).

  The fine grained mediation of signals and ptraces also incorporates improved
  versioning support that allows this kernel to better support older and newer
  userspaces. This allows for this version of the kernel to work as a backport
  kernel unmodified (currently a patch and config are used to provide backport
  kernels).

  The kernel patch is available at git://kernel.ubuntu.com/jj/ubuntu-trusty.git
  in the trusty-alpha6 branch apparmor-alpha6-sync

  Testing:
  * 12.04 system with backported kernel: DONE
   * test-apparmor.py: PASS (runs extensive tests (upstream and distro))
   * exploratory manual testing: PASS (networking, aa-enforce with firefox, 
firefox works, apparmor blocks access, etc)
   * aa-status: PASS
   * lxc: PASS (containers can be created, started, shutdown)
   * libvirt: PASS (VMs started via openstack, and test-libvirt.py from QRT 
passes all tests)
  * 14.04 system (non-Touch) with current apparmor userspace: DONE (relevant 
parts of https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor)
   * test-apparmor.py: PASS (runs extensive tests (upstream and distro))
   * exploratory manual testing: PASS (networking, aa-enforce with firefox, 
firefox works, apparmor blocks access, etc)
   * aa-status: PASS
   * lxc: PASS (containers can be created, started, shutdown)
   * libvirt: PASS (QRT/script/test-libvirt.py (though there are 3 failures 
unrelated to apparmor))
   * click-apparmor QRT touch image tests: PASS
   * apparmor-easyprof-ubuntu QRT touch image tests: PASS
  * 14.04 system (non-Touch) with updated apparmor userspace capable of 
supporting signal and ptrace mediation: DONE (relevant parts of 
https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor. Note: this is marked 
'done' from the kernel perspective-- the apparmor userspace upload is being 
prepared and tests assume userspace is using latest patches on the list)
   * test-apparmor.py: PASS (runs extensive tests (upstream and distro))
   * exploratory manual testing: PASS (networking, aa-enforce with firefox, 
firefox works, apparmor blocks access, etc)
   * aa-status: PASS
   * lxc: PASS (containers can be created, started, shutdown)
   * libvirt: PASS (QRT/script/test-libvirt.py (though there are 3 failures 
unrelated to apparmor))
   * click-apparmor QRT touch image tests: PASS
   * apparmor-easyprof-ubuntu QRT touch image tests: PASS

  Justification:
  This feature is required to support comprehensive application confinement on 
Ubuntu Touch. This feature adds a significant security benefit to libvirt's 
qemu guest isolation which is fundamental to Ubuntu on Server/Cloud. This 
feature also adds a welcome improvement to administrators wishing to further 
protect their systems.

  = apparmor userspace =
  Summary:
  This feature freeze exception is requested for signal and ptrace mediation 
for apparmor userspace. When used with a compatible kernel, signals and ptrace 
rules are supported. When used without a compatible kernel (eg, on Ubuntu Touch 
for a few weeks or with upstream kernels), signal and ptrace rules are skipped 
(ie, you can use this userspace with other kernels without issue).

  Testing:
  * 14.04 system with current kernel (Touch, kernel doesn't have signal and 
ptrace mediation yet):
   * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: PASS (includes 
click-apparmor, apparmor-easyprof-ubuntu, exploratory manual testing, etc)
  * 14.04 system with previous kernel lacking signal and ptrace mediation 
(non-Touch):
   * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: INPROGRESS 
(includes test-apparmor.py, exploratory manual testing, lxc, libvirt, etc)
   * lightdm guest session: PASS (login, start browser, logout)
  * 14.04 system kernel capable of supporting signal and ptrace mediation 
(non-Touch):
   * https://wiki.ubuntu.com/Process/Merges/TestPlans/AppArmor: PASS (includes 
test-apparmor.py, exploratory manual testing, lxc, libvirt, etc)
   * Verify everything in 
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/AppArmorProfiles: PASS 
(except juju since it doesn't have policy itself)
   * lightdm guest session: PASS (login, start browser, logout)

  Justification:
  This feature is required to support comprehensive application confinement on 
Ubuntu Touch. This feature adds a significant security benefit to libvirt's 
qemu guest isolation which is fundamental to Ubuntu on Server/Cloud. This 
feature also adds a welcome improvement to administrators wishing to further 
protect their systems.

  Extra information:
  While the apparmor userspace and kernel changes to support signal and ptrace 
mediation can happen at different times, the apparmor userspace upload must 
correspond with uploads for packages that ship AppArmor policy that require 
updates (eg, libvirt, lxc, etc). The packages outlined in 
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/AppArmorProfiles have been 
tested to either work without modification to the policy or updated and tested 
to work with updated policy. Common rules will be added to the apparmor base 
abstraction such that most packages shipping apparmor policy will not require 
updating. These updates will be prepared, tested and published en masse via a 
silo ppa.

  Common rules added to the base abstraction are (ie, these rules will be 
included in all policy on Ubuntu since the base abstractions is always used in 
distro policy):
    # Allow other processes to read our /proc entries, futexes, perf tracing and
    # kcmp for now
    ptrace (readby),

    # Allow other processes to trace us by default (they will need 'trace' in
    # the first place). Administrators can override with:
    #   deny ptrace (tracedby) ...
    ptrace (tracedby),

    # Allow unconfined processes to send us signals by default
    signal (receive) peer=unconfined,

    # Allow us to signal ourselves
    signal peer=@{profile_name},

    # Checking for PID existence is quite common so add it by default for now
    signal (receive, send) set=("exists"),

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1298611/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to