1) What is the first step in problem-solving? A) Writing code B) Debugging C) Understanding the problem D) Optimizing the solution Answer: C 2) Which of these is not a step in the problem-solving process? A) Algorithm development B) Problem analysis C) Random guessing D) Testing and debugging Answer: C 3) What is an algorithm? A) A high-level programming language B) A step-by-step procedure to solve a problem C) A flowchart D) A data structure Answer: B 4) Which of these is the simplest data structure for representing a sequence of elements? A) Dictionary B) List C) Set D) Tuple Answer: B 5) What does a flowchart represent? A) Errors in a program B) A graphical representation of an algorithm C) The final solution to a problem D) A set of Python modules Answer: B 6) What is pseudocode? A) Code written in Python B) Fake code written for fun C) An informal high-level description of an algorithm D) A tool for testing code Answer: C 7) Which of the following tools is NOT commonly used in pr...
Security
The Security Problem
* Protection give out with protecting files and other resources from accidental misuse by cooperating users sharing a system, generally using the computer for normal purposes.
* Security compact with protecting systems from deliberate attacks, either internal or external, from individuals intentionally attempting to steal information, damage information, or otherwise deliberately wreak havoc in some manner.
* Some of the most normal types of violations include:
• Breach of Confidentiality - Theft of private or confidential information, such as credit-card numbers, trade secrets, patents, secret formulas, manufacturing
procedures, medical information, financial information, etc.
• Breach of Integrity - illegal modification of data, which may have serious indirect outcomes. For example a popular game or other program's source code could be modified to open up security holes on users systems before beingreleased to the public.
• Breach of Availability - Unauthorized destruction of data, frequent just for the "fun" of causing havoc and for bragging rites. Vandalism of web sites is a normal form of this violation.
• Theft of Service - Illegal use of resources, such as theft of CPU cycles,
installation of genius running an unauthorized file server, or tapping into the target's telephone or networking services.
• Denial of Service, DOS - Restricting legitimate users from using the system, often by overloading and overwhelming the system with an excess of requests for
service.
* One normal attack is masquerading, in which the attacker acts to be a trusted third party. A difference of this is the man-in-the-middle, in which the attacker masquerades as both ends of the conversation to two targets.
* A replay attack includes repeating a valid transmission. Sometimes this can be the entire attack, (such as repeating a request for a money transfer), or other times the content of the original message is replaced.
* There are four steps at which a system must be protected:
1. Physical - The simplest way to steal data is to pocket the backup tapes. Also,
access to the root console will often give the user special advantages, such as
rebooting the system as root from removable media. Even general access to
terminals in a computer room offers some chances for an attacker, although
today's modern high-speed networking environment gives more and more
opportunities for remote attacks.
2. Human - There is some concern that the humans who are allowed access to a
system be trustworthy, and that they cannot be pressured into breaching security. However more attacks today are made via social engineering, which basically means fooling trustworthypeople into accidentally breaching security.
* Phishing includes sending an innocent-looking e-mail or web site designed to fool people into revealing confidential information. E.g. spam e-mails acting to be from e-Bay, PayPal, or any of a number of banks or credit-card companies.
* Dumpster Diving includes searching the trash or other locations for passwords that are written down. (Note: Passwords that are too hard to remember, or which must be changed frequently are more likely to be written down somewhere close to the user's station.)
* Password Cracking involves divining user’s passwords, either by watching them type in their passwords, knowing something about them like their pet's names, or simply trying all words in common dictionaries. (Note: "Good" passwords should include a minimum number of characters, include non-alphabetical characters, and not appear in any dictionary (in any language), and should be changed often. Note also
that it is proper protocol to look away from the keyboard while someone else is entering their password. )
3. Operating System - The OS must protect itself from security breaches, such as runaway processes (denial of service), memory-access violations, stack overflow
violations, the starting of programs with excessive privileges, and many others.
4. Network - As network communications become ever more important and pervasive in modern computing environments, it becomes ever more important to protect this area of the system. (Both protecting the network itself from attack, and guarding the local system from attacks coming in through the network.) This is a growing area of concern as wireless communications and portable devices become more and more prevalent.