<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2746649057831760494</id><updated>2011-12-07T08:23:43.963-08:00</updated><category term='facebook'/><category term='Solaris linking ld: fatal: relocations'/><category term='Compliance and Identity Management'/><title type='text'>etz69</title><subtitle type='html'>How can I trust you ? &lt;br&gt;
 I have nothing to hide. Its all open source.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2746649057831760494.post-1784364274877298319</id><published>2010-02-14T11:29:00.000-08:00</published><updated>2010-02-16T11:21:18.569-08:00</updated><title type='text'>Turning root into God again with OpenSolaris/Solaris 10  and RBAC</title><content type='html'>As you all know the root account is the all powerful "god" of your operating system. Such a highly privileged and powerful object should not be daunted for running the tasks of a mortal. Such an object should not be disturbed for any reason.&lt;br /&gt;&lt;br /&gt;Some trivial utilities require special privileges to carry out their intended task. The inherent DAC problem was solved with some dirty tricks such as the special Unix access rights flags that allow users to run an executable with the permissions of the executable's owner or group. &lt;br /&gt;&lt;br /&gt;The way it works is that when the program starts it is using the privileges of its owner id to run (such as root), executes the privileged task and then it will usually spawn children with lower privileges and the program continues or will drop the high privileges and continue execution.&lt;br /&gt;&lt;br /&gt;One classic example is the ping command found in all operating systems and is available to all users by default. In UNIX/Linux you will notice that it is setuid "god" !!!!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Admins let them root alone&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;I will present how one can remove the "setuid" bit from ping and still allow an unprivileged mortal user to use this trivial but yet necessary application without disturbing the root object. The RBAC feature of the OpenSolaris/Solaris 10 OS resembles the "sudo" application found on most Unix/Linux like systems. Solaris RBAC provides more fine grained access control.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;etz@opensolaris:~$ ls -la /usr/sbin/ping&lt;br /&gt;-r-sr-xr-x 1 root bin 55680 2009-05-14 18:52 /usr/sbin/ping&lt;br /&gt;&lt;br /&gt;etz@opensolaris:~$ /usr/sbin/ping 192.168.2.100&lt;br /&gt;PING esx.etz (192.168.2.100): 56 data bytes&lt;br /&gt;64 bytes from 192.168.2.100: icmp_seq=0 ttl=63 time=6.297 ms&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;As you can see I am not lying about ping being setuid! First I will remove the special bit from the ping utility.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:/usr/sbin# chmod u-s /usr/bin/ping&lt;br /&gt;&lt;br /&gt;etz@opensolaris:~$ ls -la /usr/sbin/ping&lt;br /&gt;-r-xr-xr-x 1 root bin 55680 2009-05-14 18:52 /usr/sbin/ping&lt;br /&gt;&lt;br /&gt;etz@opensolaris:~$ ping 192.168.2.100&lt;br /&gt;ping: socket Permission denied&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This will indicate that ping is using some special socket option which requires high privileges. As it turns out ping must send and listen for control packets on a network interface.&lt;br /&gt;&lt;br /&gt;In OpenSolaris ping is PA (privilege aware) executable which requires rewriting the application. With the OpenSolaris command "ppriv" we can inspect a running process privilege sets and attributes.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;etz@opensolaris:~$ ppriv -v `pgrep ping`&lt;br /&gt;6817:   ping -n 192.168.1.100&lt;br /&gt;flags = PRIV_AWARE&lt;br /&gt;E: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;I: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;P: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;L: none&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; A few basic facts for OpenSolaris and RBAC&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Privileges:&lt;/I&gt; Privileges are rights to do an operation in the kernel. OpenSolaris has defined 70 privileges. The names and their description can be found in "/etc/security/priv_names". Every process has four sets of privileges. &lt;br /&gt;&lt;br /&gt;E: effective privileges set&lt;br /&gt;I: inheritable privileges set&lt;br /&gt;P: permitted privileges set&lt;br /&gt;L: limit privileges set&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Role:&lt;/I&gt; A named set of authorizations or Privileges that can be assumed&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So the ping command is implementing a some high privileged operation in the kernel. In order to find out which specific set of rights we are missing we turn on privilege debugging and run the process again.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;etz@opensolaris:~$ ppriv -e -D ping -s 192.168.0.1&lt;br /&gt;ping[6873]: missing privilege "net_icmpaccess" (euid = 101, syscall = 230) needed at secpolicy_net_icmpaccess+0x24&lt;br /&gt;ping: socket Permission denied&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok, so we need the net_icmpaccess privilege to successfully run the ping command. There are several ways to assign a privilege to a user. One is to assign the privilege to the user' shell process. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;etz@opensolaris:~$ ppriv -v $$&lt;br /&gt;6707:   -bash&lt;br /&gt;flags = &lt;none&gt;&lt;br /&gt;E: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;I: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;P: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The bash process is missing the net_icmpaccess privilege from its E, I, and P privilege set. To modify the privileges for a running process we use the "ppriv -s" command.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:~# ppriv -s PEI+net_icmpaccess 6707&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This adds the net_icmpaccess privilege to the PEI privilege sets for the shell process of the user (id 6707)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;etz@opensolaris:~$ ppriv -v $$&lt;br /&gt;6707:   -bash&lt;br /&gt;flags = &lt;none&gt;&lt;br /&gt;E: file_link_any,net_icmpaccess,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;I: file_link_any,net_icmpaccess,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;P: file_link_any,net_icmpaccess,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;&lt;br /&gt;etz@opensolaris:~$ ping 192.168.2.100&lt;br /&gt;192.168.2.100 is alive&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Adding privileges with Roles to users&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;In order to permanently assign the privilege to the user for controlling  ICMP packets we can create a new role. We will create a role named "Network diagnostics" and we will add the "net_icmpaccess" privilege.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:~# roleadd -m -d /export/home/netdiag netdiag&lt;br /&gt;80 blocks&lt;br /&gt;root@opensolaris:~# passwd netdiag&lt;br /&gt;New Password: &lt;br /&gt;Re-enter new Password: &lt;br /&gt;passwd: password successfully changed for netdiag&lt;br /&gt;root@opensolaris:~# &lt;br /&gt;&lt;br /&gt;root@opensolaris:~# grep netdiag /etc/passwd&lt;br /&gt;netdiag:x:102:1::/export/home/netdiag:/bin/pfsh&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see a new role is a normal UNIX system account with a special shell "/bin/pfsh". Now we need to create a profile which we will then use to assign the new privileges. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:~# echo "Network Diag:::Profile for network Diagnostics:help=netdiag.htm" &gt;&gt; /etc/security/prof_attr&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add the new privileges to the bash shell and assign a profile name&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:~# echo "Network Diag:solaris:cmd:::/usr/bin/bash:privs=net_icmpaccess" &gt;&gt;/etc/security/exec_attr&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we must assign the role profile "Network diag" to the role "netdiag" and finally assign the role "netdiag" to the user.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:~# rolemod -P "Network Diag" netdiag&lt;br /&gt;root@opensolaris:~# usermod -R netdiag etz&lt;br /&gt;UX: usermod: etz is currently logged in, some changes may not take effect until next login.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Remove the privilege set before from the user and try his new roles.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;root@opensolaris:~# ppriv -s PEI-net_icmpaccess 6707&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Log in as the normal user etz and test ping functionality.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:90%;"&gt;&lt;pre&gt;etz@opensolaris:~$ ping 192.168.2.100&lt;br /&gt;ping: socket Permission denied&lt;br /&gt;etz@opensolaris:~$ ppriv -v $$&lt;br /&gt;6707:   -bash&lt;br /&gt;flags = &lt;none&gt;&lt;br /&gt;E: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;I: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;P: file_link_any,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;&lt;br /&gt;etz@opensolaris:~$ roles&lt;br /&gt;netdiag&lt;br /&gt;etz@opensolaris:~$ su netdiag&lt;br /&gt;Password: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ bash&lt;br /&gt;etz@opensolaris:~$ ppriv -v $$&lt;br /&gt;7119:   /usr/bin/bash&lt;br /&gt;flags = &lt;none&gt;&lt;br /&gt;E: file_link_any,net_icmpaccess,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;I: file_link_any,net_icmpaccess,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;P: file_link_any,net_icmpaccess,proc_exec,proc_fork,proc_info,proc_session&lt;br /&gt;&lt;br /&gt;etz@opensolaris:~$ ping 192.168.2.100&lt;br /&gt;192.168.2.100 is alive&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Solaris RBAC is really a very powerful feature which can be used to implement fine grained access control permissions on the underlying system.  Solaris comes with a large number of predefined profiles ready to use and a large number of applications are also rewritten to be PA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2746649057831760494-1784364274877298319?l=etz69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/1784364274877298319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2746649057831760494&amp;postID=1784364274877298319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/1784364274877298319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/1784364274877298319'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/2010/02/turning-root-into-god-again-with.html' title='Turning root into God again with OpenSolaris/Solaris 10  and RBAC'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2746649057831760494.post-2452187529692018787</id><published>2010-02-14T10:49:00.000-08:00</published><updated>2010-02-14T14:20:14.655-08:00</updated><title type='text'>RBAC for the masses!</title><content type='html'>In the past, advanced security features where only available to proprietary operating systems and applications. Namely some of the well known advanced operating system security features appear in the following (MAC/RBAC/Resources/compartmentalization etc..) : &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Trusted Solaris&lt;/li&gt;&lt;br /&gt;&lt;li&gt;IBM RACF&lt;/li&gt;&lt;br /&gt;&lt;li&gt;CA ACF2&lt;/li&gt;&lt;br /&gt;&lt;li&gt;CA Top Secret&lt;/li&gt;&lt;br /&gt;&lt;li&gt;HP-UX Virtual Vault&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;The open source evolution&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;With the inclusion of the LSM (Linux security module) framework into the open source GNU/Linux kernel the Linux operating system (beginning of 2002) became the idle platform for accommodating new advanced security features based on an open standard specification.&lt;br /&gt;&lt;br /&gt;The US National Security Agency developed the SELinux software components and helped integrate them into the GNU/Linux OS by developing the SELinux LSM. The SELinux LSM added native RBAC functionality to the Linux OS.&lt;br /&gt;SELinux has been integrated into version 2.6 series of the linux kernel. &lt;br /&gt;&lt;br /&gt;In 2008 Sun Microsystems released the first version of an open source UNIX System V derivative. In the same year Sun announced the collaboration of Sun with the NSA in an effort to incorporate their security research into an OpenSolaris community project called Flexible Mandatory Access Control (FMAC). &lt;br /&gt;&lt;br /&gt;Advanced OS security features become available to the public and are now included in all major Linux distributions and the OpenSolaris project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2746649057831760494-2452187529692018787?l=etz69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/2452187529692018787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2746649057831760494&amp;postID=2452187529692018787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/2452187529692018787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/2452187529692018787'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/2010/02/rbac-for-masses.html' title='RBAC for the masses!'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2746649057831760494.post-3897487060282279860</id><published>2010-02-14T08:39:00.000-08:00</published><updated>2010-02-14T10:49:16.693-08:00</updated><title type='text'>Security threats drive the evolution of mainstream OS access control models</title><content type='html'>Advanced security models have started being developed back in the seventies. Only used in very highly sensitive environments (mission critical applications/classified information processing systems). They where not platform independent and where extremely cumbersome to manage. The security models which where developed addressed mainly three security objectives for the underlying systems and its data:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:80%;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Confidentiality&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Integrity&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Availability&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The market adoption of the typical DAC model and the lack of least privilege principles in software development, by application and system developers was mainly for the shake of simplicity, manageability and cost. Software developed on these bases served the wide research and development in the exploitation of high privilege software components. &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:80%;"&gt;&lt;br /&gt;Any process must be assigned only the least system privileges required to carry out the process's intended functions. Any process which does not follow the principle of least privilege is a potential attack vector for a malicious user/process. If such a process has high privileges the security implications of the successful exploitation may lead to the full compromise of the computing base and all its software components.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;In the last years there has been heavy research on "Trusted Computing".  The concept behind building a trusted computing base is based on the following:&lt;br /&gt;&lt;ul style="font-size:80%;"&gt;&lt;br /&gt;&lt;li&gt;The core initialization component of the platform has a very small image fingerprint which has been developed based on good security principles and formal methods have been used to evaluate this component and the underlying hardware and software base. Software development and evaluation based on formal methods is a very expensive process.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Ability to measure the integrity of each software component during boot time and to mediate every call from user space to the underlying system calls. Such a system is essential to implement a MAC model. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Such a system should also be capable of proving that the computing base fingerprint advertised is authentic and has not been tampered with. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;When the operating system is initialized and all OS services are available a security enforcement module is responsible for mediating all access from any object to the system resources and control access of objects based on fine grained security policy.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Commercial support of MAC enabled operating systems&lt;/h3&gt;&lt;br /&gt;In the last ten years all well known OS systems have evolved and are now capable of supporting the MAC or RBAC  concept. Some operating systems provide native support for RBAC and others implement user space tools for implementing a less feature rich RBAC/MAC ability.&lt;br /&gt;&lt;br /&gt;One of the fundamental problems of fine grained security controls in operating systems is their management and configuration. Imagine having 1000 objects, 10 privileges and 100 resources and you wish to define which object has which privilege on which resource. Add to this that your computing base is comprised of 100 different software packages and your system supports many users and services.&lt;br /&gt;&lt;br /&gt;Luckily such operating systems nowadays, come pre-configured with a default set policies, privileges assigned to groups and groups already assigned to roles. Management tools have also been developed to make the task privilege and identity management easier. Based on the service your system will serve you can further restrict the security policy of your OS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2746649057831760494-3897487060282279860?l=etz69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/3897487060282279860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2746649057831760494&amp;postID=3897487060282279860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/3897487060282279860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/3897487060282279860'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/2010/02/security-threats-drive-evolution-of.html' title='Security threats drive the evolution of mainstream OS access control models'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2746649057831760494.post-8794401920669993116</id><published>2009-12-18T06:11:00.000-08:00</published><updated>2009-12-18T07:27:49.623-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris linking ld: fatal: relocations'/><title type='text'>ld: fatal: relocations remain against allocatable but non-writable sections</title><content type='html'>I recently came accross an issue while trying to compile some files on Solaris 10 with gcc-3.4.6&lt;br /&gt;&lt;br /&gt;After running make I was getting the following error:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ld: fatal: relocations remain against allocatable but non-writable sections&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The error is generated during the &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ld&lt;/span&gt;&lt;/span&gt; command which serves the following purpose:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;"The ld command combines relocatable object  files,  performs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     relocation,  and  resolves  external symbols. ld operates in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     two modes, static or dynamic"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So basically it is a linking error. As always googling the error reveal some solutions:&lt;br /&gt;- Use static linking (Which I was already using "-G" )&lt;br /&gt;- Use the GNU link editor instead of the Solaris one&lt;br /&gt;&lt;br /&gt;To find out which ld version you are running :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;ld -V&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.393&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So I downloaded the GNU binutils from&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&lt;i&gt;&lt;a href="http://www.gnu.org/directory/binutils.html"&gt;http://www.gnu.org/directory/binutils.html&lt;/a&gt;&lt;/i&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Or you can download the precompiled package from sunfreeware. When you have the two link editors installed:&lt;br /&gt;- Solaris one in /usr/ccs/bin/&lt;br /&gt;- GNU one in /usr/local/bin&lt;br /&gt;&lt;br /&gt;You must configure you PATH variable to incude the /usr/local/bin before the ccs path. Or you can just incude the /usr/local/bin path and just rename the /usr/ccs/bin/ld to /usr/ccs/bin/ld.SOLARIS&lt;br /&gt;&lt;br /&gt;Run make again and hurrey !!! Job done.&lt;br /&gt;&lt;br /&gt;Some usefull commands for Solaris 10:&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Adding Solaris 10 library paths&lt;br /&gt;-------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;ess:/export/home/ess&gt; crle -c /var/ld/ld.config -l /your/library/paths/go/here&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;View internal version information of dynamic objects&lt;br /&gt;------------------------------------------------------&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;ess:/export/home/ess&gt; pvs /usr/ccs/bin/ld&lt;br /&gt;&lt;br /&gt;        libld.so.4 (SUNWprivate_4.2);&lt;br /&gt;        libelf.so.1 (SUNW_0.7);&lt;br /&gt;        libc.so.1 (SUNW_1.18, SUNWprivate_1.1);&lt;br /&gt;        ld;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;List dynamic dependencies of executable files or shared objects&lt;br /&gt;----------------------------------------------------------------&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;ess-stage:/export/home/ess&gt; ldd /usr/ccs/bin/ld&lt;br /&gt;        libld.so.4 =&gt;    /usr/ccs/bin/../../../lib/libld.so.4&lt;br /&gt;        libelf.so.1 =&gt;   /usr/ccs/bin/../../../lib/libelf.so.1&lt;br /&gt;        libc.so.1 =&gt;     /usr/ccs/bin/../../../lib/libc.so.1&lt;br /&gt;        liblddbg.so.4 =&gt;         /lib/liblddbg.so.4&lt;br /&gt;        libm.so.2 =&gt;     /lib/libm.so.2&lt;br /&gt;        /platform/SUNW,Sun-Fire-T1000/lib/libc_psr.so.1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2746649057831760494-8794401920669993116?l=etz69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/8794401920669993116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2746649057831760494&amp;postID=8794401920669993116' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/8794401920669993116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/8794401920669993116'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/2009/12/ld-fatal-relocations-remain-against.html' title='ld: fatal: relocations remain against allocatable but non-writable sections'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2746649057831760494.post-842192683369229541</id><published>2009-03-09T15:35:00.000-07:00</published><updated>2009-03-09T16:04:27.704-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><title type='text'>Show me your Face Book</title><content type='html'>Had nothing better to do and thought I could spare some minutes to comment on the hype of the year. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Admittedly the most well known "web 2.0" product of the year. Facebook has been used extensively by end-users. Even internet savvy people started using the internet just for that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Features:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Online community networking. People are dating, gaming, collaborating and anything else that the developers come up with.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Private Meta data repository. Even for an end user with no "friends" no photos no e-mail , searching for people has become a lot easier with this platform. In the early days if you wanted to find out information about a person you had to hack a system or pay lots of money to someone who has access (governments are excluded). This new platform is open, its free and it provides you personal photos, habits, day to day activities and other profiling data for the person you are looking for and the "friends"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Identity theft. Identity theft has never been easier. You can disguise yourself as the president of the &lt;/div&gt;&lt;div&gt; Blue Men Liberation front , create a group and send them documents, photos, objects, redirect them to web pages etc...  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- The value facebook has for its owners is unique. They have information for "selling" to a wide clientele.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately I have never been able to join myself mainly to due to the fact that I am too lazy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However I must give my congrats for the creators!!! &lt;/div&gt;&lt;div&gt;Like any other system which is built to gather information and track people and trends for community related reasons or for providing customized service delivery it can be (ab)used in several ways.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And dont worry google owns ME !&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2746649057831760494-842192683369229541?l=etz69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/842192683369229541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2746649057831760494&amp;postID=842192683369229541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/842192683369229541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/842192683369229541'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/2009/03/show-me-your-face-book.html' title='Show me your Face Book'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2746649057831760494.post-7238199883284781287</id><published>2008-01-15T13:33:00.000-08:00</published><updated>2009-03-09T15:56:50.186-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Compliance and Identity Management'/><title type='text'>IDM automatic detection and remidiation</title><content type='html'>&lt;span style="font-size:130%;"&gt;Staying in compliance with your security policy. The easy way!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of the many functions which an Identity Management System provides is enabling your organization to become compliant with a predefined security policy. In effect it can also help to make sure that you stay in compliance as your IT environment changes.&lt;br /&gt;&lt;br /&gt;The fact that an IDM system conveys an overall (real time) view of all your security sensitive and critical application, stored in well defined schema gives you automatically the capability to analyse the data in the IDMS and compare it with the current security policy.&lt;br /&gt;By being able to extract such information you can always have a realistic conformance level against your security policy.&lt;br /&gt;&lt;br /&gt;Since the extracted data are also very well defined and structured the IDM system has the functionality to intervene to all the managed systems and run corrective actions in order to restore the last good compliance level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2746649057831760494-7238199883284781287?l=etz69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://etz69.blogspot.com/feeds/7238199883284781287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2746649057831760494&amp;postID=7238199883284781287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/7238199883284781287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2746649057831760494/posts/default/7238199883284781287'/><link rel='alternate' type='text/html' href='http://etz69.blogspot.com/2008/01/idm-automatic-detection-and-remidiation.html' title='IDM automatic detection and remidiation'/><author><name>DL</name><uri>http://www.blogger.com/profile/15694222817012624090</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://3.bp.blogspot.com/_VBtGnv6Brng/S1d7w0wWqsI/AAAAAAAAAAM/RqdSnEUqtqc/S220/Picture+1.png'/></author><thr:total>0</thr:total></entry></feed>
