What this means for attackers is that once they penetrate a single machine on a network they can then observe all traffic passing through the network. This allows intruders to quickly collect passwords and account names for many users. And all too often a password good one place is good another. In order to save from this vulnerability, you have to save a copy of Kernel offline because the advance hackers even patches the kernel of Unix system so that the system can not detect that it is under promiscuous mode by the help of "ifconfig" and "tcpdump" commands. (http://www.acm.uiuc.edu)
In terms of availability, it should be kept in mind that the several users are accessing the same application simultaneously. For every user the instance of the C++ application would be separate but if look at data file, the data file would act as a centralized data storage so C++ program must have the eligibility to maintain the proper locking mechanism of the data file so that only one user is updating the data file at a time. With locking mechanism in mind, the dead lock possibility should be carefully taken care off. In this way integrity is also maintained as only one user is updating the file at a time.
2) A buffer overflow occurs when a program or process tries to store more data in a buffer than it is supposed to hold that means storage of data in buffer more than its capacity. Since buffers are created to contain a finite amount of data, the extra information, which has to go somewhere can overflow into adjacent buffers, corrupting or overwriting the valid data, held in them. Sometimes it may occur accidentally through programming error but now-a-days buffer overflow is an increasingly common type of security attack. In overflow attacks, the extra data may contain codes designed to trigger specific actions, in effect sending new instructions to the attacked computer that could, for example, damage the user's files, change data, or disclose confidential information. Buffer overflow attacks are said to have arisen because the C/C++ programming language supplied the framework, and poor programming practices supplied the vulnerability.
In a Unix system, a C++ function is intended to allocate a 10 characters array and take userid as input from the user. Now if the function does not check the number of characters entered by the user and the user has entered 14 chars then those 4 extra chars are going to overwrite the other areas of the program. The extra will probably end up making the return address point to an area in memory which is not under the control of the currently executing program, causing a segmentation fault on Unix architectures.
In November 1988, the Internet Worm shut down over 6,000 systems, just about cutting off all traffic on the Internet. One of the methods used to gain access to these systems was a buffer overflow exploit of a Unix service "finger." When you finger a user, the finger service returns information about the user, such as the user's real name and phone number. In the case of the Worm, the buffer overflow att