Tuesday, November 9, 2010

Social Engineering

There are all sorts of engineering disciplines in the world ranging from Computer engineering, Software engineering, just to name a few. The one that really struck me is Social Engineering. At first I thought it was something to do with arrrrrrrrrrrr..........well, can't really tell! It was coined by hacker-turned-consultant Kevin Mitnick. 

Social Engineering involves falsely manipulating people's confidential information, without necessarily using force like hacking and cracking. I describe the act as swift. All social engineering techniques are based on specific attributes of human decision-making known as cognitive biases. The biases are normally known as "bugs in human hardware". These bugs are manipulated to create attack techniques. Some of the attack techniques used in social engineering are:

  • Phishing 
  • Pretexting
  • Quid pro quo
  • Diversion theft

Pretexting
Pretexting is the act of creating and using an invented scenario - pretext, to engage a targeted victim in a manner that increases the chance the victim willl divulge information or perform actions that would be unlikely in ordinary circumstances. It is more than a simple lie, as it most often involves some prior research or setup and the use of priori information for impersonation e.g., date of birth.
This technique can be used to trick a business into disclosing customer information as well as by private investigators to obtain telephone records, utility records, banking records and other information directly from junior company service representatives. The information can then be used to establish even greater legitimacy under tougher questioning with a manager, e.g., to make account changes, get specific balances, etc. Pretexting has been an observed law enforcement technique, under the auspices of which, a law officer may leverage the threat of an alleged infraction to detain a suspect for questioning and conduct close inspection of a vehicle or premises.
Pretexting can also be used to impersonate co-workers, police, bank, tax authorities, or insurance investigators — or any other individual who could have perceived authority or right-to-know in the mind of the targeted victim. The pretexter must simply prepare answers to questions that might be asked by the victim. In some cases all that is needed is a voice that sounds authoritative, an earnest tone, and an ability to think on one's feet.

Phishing
Phishing is a technique of fraudulently obtaining private information. Typically, the phisher sends an e-mail that appears to come from a legitimate business — a bank, or credit card company — requesting "verification" of information and warning of some dire consequence if it is not provided. The e-mail usually contains a link to a fraudulent web page that seems legitimate — with company logos and content — and has a form requesting everything from a home address to an ATM card's PIN.

Diversion text
Diversion theft, also known as the "Corner Game" or "Round the Corner Game", originated in the East End of London. In summary, diversion theft is a "con" exercised by professional thieves, normally against a transport or courier company. The objective is to persuade the persons responsible for a legitimate delivery that the consignment is requested elsewhere — hence, "round the corner".

Quid pro quo
Quid pro quo means something for something:
  • An attacker calls random numbers at a company claiming to be calling back from technical support. Eventually they will hit someone with a legitimate problem, grateful that someone is calling back to help them. The attacker will "help" solve the problem and in the process have the user type commands that give the attacker access or launch malware.

Thursday, November 4, 2010

Hackathons

Hackathon is a term that's very popular with programmers. In the Linux community, it's known as a codefest. Lemmi just stop beating around the bush and tell you its definition. Hackathon means a 'come-together' of programmers with only one thing roaming in their minds.Computer programming. The event mostly runs for several days and nights. A programmer is not restricted on what to create. instead, one has  freedom on what to create, marathon,hence the name hackathon (marathon & hack.)

Usually, during this time,programmers spend most nights awake, taking coffee, beer and coding. In simple terms, that's how i'd describe it. these events are normally fun although i've never been into one but am thinking of coming up with one soon!!!! I'd like to take part in one instead of spending time with girls. I HATE RELATIONSHIPS!!YACK...

Case Studies:

    Facebook 

    Facebook is the largest social networiking site with more than a staggering 500 million users! it holds hackathons every 6-8 weeks. All its programmers and software engineers come together to build awesome apps site chatting services, notifiactions AJAX wall posting , just to name a few. Anybody at facebook can call for a hackathon event except their CEO,Mark Zuckerberg. Hackathons for real programmers!!

    OpenBSD

    It's been 11 years now, since OpenBSD started holding hackathons yearly. During this special moment, OpenBSD faces a rapid development. Their first hackathon was held in Calgary, Alberta, Canada and was attended by ten developers.It  focused on cryptographic development; part of the reason for holding it in Canada was to avoid legal problems caused by United States regulations on the export of cryptographic software.









    Monday, September 27, 2010

    Iron Man 2 Technology.

    Iron Man2 is a deadly sci-fi movie. As it starts, it doesn't look like one of those celebrated sci-fi movies. Man, it's the home of all tech geeks.It almost killed me when Tony Stark unleashed  his  Transparent LG Smartphone. In my own words, i would call it an "Intelligent Glass". Simply because it is transparent,a multi display & smart! That is just the tip of an iceberg!Check this out : touch-screen coffee table, and holographic lab environment into an on-screen reality are also among the deadly technologies of this movie. The coffee table is so intelligent to interact with him, even when he has gloves on.Well........................................??!!! The concept of the coffee table is inspired by Microsoft's Surface. One word to describe this great movie is, COOL!


    Its Director Jon Favreau, had the idea of  presenting the future's technology, which i guess is not very far from its implementation. Well, I technically salute this genius of movie direction. I wonder how a technical salute looks like! Huh.....


    This movie is hitting the US theaters  like hell.Am double sure that more than 50% of people flocking in theaters to watch it, are  geeks. Prove me wrong. Many activities accompany the release of such a movie; pirates  are making the best out of it, hackers trying to get access to Stark Expo website. Oops! Did i say website? Yeah! I thought Stark Industries is a fictitious company, but my research has proven me wrong. Actually, there's a website to this company.www.starkexpo2010.com. Check it out.


    Peeps, have a look at this list of armors from 1960s. To read more, just click on the links.





    Pictures of Iron Man2 Technology











    Wednesday, September 22, 2010

    Apple i-Pod classic!

    i-Pod classic is everything a geek needs to dilute the boiling brains! It has striking features, both capacity and beauty. I just wish i owned one. Am tired of listening to music on my Motorola L7. It's time to go real geeky now!
    Some of the features that really make me like am going to shoot the Apple nerds are:
    • Music Genius
    • TV & Movies
    • Capacity
    • Clicking wheel
    • Games
    • Photo Sharing
    Music Genius
    Check this; you’re listening to a song you really like and want to hear other tracks that go great with it. With a few clicks, the Genius feature finds other songs on your i Pod classic that sound great with the one you're listening to, then makes a Genius playlist for you. Or get even more sets of customized songs when you use the new Genius Mixes feature in iTunes. Just sync your i Pod classic to iTunes, and Genius automatically searches your library to create perfect mixes you'll love
    TV & Movies
    The vivid 2.5-inch screen makes video come alive. Purchase or rent movies, buy TV shows, and download video podcasts from the iTunes Store, then sync them to your i Pod classic to watch anywhere, anytime.
    Capacity
    My few words are,DON'T LEAVE ANYTHING BEHIND. It has a capacity of 160GB. What an incredible technology implemented on small gadget!


    Games
    Play your favourite game on this cool i Pod classic.Put hours of fun at your fingertips. These games are only designed for i Pod interfaces.So Chinese guys thinking of "copy catting", i have one word for you.SORRY!


    Photo Sharing
    iPod classic uses iTunes to sync the photos you have in iPhoto on a Mac. You can view photo slideshows complete with music and transitions on iPod classic, or play them on a TV using an optional Apple component or composite AV cable. Beat that!

    Clicking wheel
    Finding exactly what you want to watch or listen to is easy. Use the Click Wheel to browse by album art with Cover Flow or navigate your songs and videos by playlist, artist, album, genre, and more. You can also search for specific titles and artists. Want to mix things up? Click Shuffle Songs for a different experience every time.

    Great time with your i Pod classic.

    Friday, September 10, 2010

    Bill Gates

    William Henry "Bill" Gates III (born October 28, 1955) is an American business magnate, philanthropist, author and chairman of Microsoft, the software company he founded with Paul Allen. He is consistently ranked among the world's wealthiest people and was the wealthiest overall from 1995 to 2009, excluding 2008, when he was ranked third.During his career at Microsoft, Gates held the positions of CEO and chief software architect, and remains the largest individual shareholder with more than 8 percent of the common stock. He has also authored or co-authored several books.

    Gates is one of the best-known entrepreneurs of the personal computer revolution. Although he is admired by many, a number of industry insiders criticize his business tactics, which they consider anti-competitive, an opinion which has in some cases been upheld by the courts (see Criticism of Microsoft). In the later stages of his career, Gates has pursued a number of philanthropic endeavors, donating large amounts of money to various charitable organizations and scientific research programs through the Bill & Melinda Gates Foundation, established in 2000.

    Bill Gates stepped down as chief executive officer of Microsoft in January 2000. He remained as chairman and created the position of chief software architect. In June 2006, Gates announced that he would be transitioning from full-time work at Microsoft to part-time work and full-time work at the Bill & Melinda Gates Foundation. He gradually transferred his duties to Ray Ozzie, chief software architect and Craig Mundie, chief research and strategy officer. Gates' last full-time day at Microsoft was June 27, 2008. He remains at Microsoft as non-executive chairman.



    The main thing that drove me about this guy is the kind of life he lives! Damn his car. Have a look at this:

    Fuck this guy! If he drove this in Kenya, all the Cabinet Ministers would go on strike!! That is just a tip of an ice-berg. Look at his living room. One would mistake this to an aquarium, is it?

    Tuesday, September 7, 2010

    Systems As Planned Organizational Change


    You’ve ever asked yourself what’s an information system? Majority would say that it’s a computer program, but of course not a system analyst! Technically speaking, an I.S (common acronym for an information system) is : interrelated components working together to collect, process, store and disseminate information to support decision making, coordination, control, analysis  and visualization in an organization. Well, I might not sound technical because maybe you expected some I.T jargon. The technicality comes in when manager thinks of implementing an I.S in his organization.
    Development of an IS is an organizational planned change. Anyone with the title of a manger must know the meaning of planning-addressing the future of a firm with regard to what the organization needs to do to actualize its goals in the future.

    The planning process may even unveil unseen hurdles, which would have slowed down or terminated the organizational change in question.

    There are four types of structural organizational changes enabled by information technology:

    • Automation
    • Re-engineering
    • Rational
    • Paradigm Shift
     Automation

    This is the common type of IT enabled organizational change. The first automation systems involved assisting employees carrying out tasks effectively. Customers too enjoy the fruits of automation through effective and quality services & products. A local example of an automation system is the Safaricom’s M-pesa service. The system achieved its goal perfectly. Can you just imagine sending and receiving money by just a press of button? Other organizations have introduced the service too. E.g. Zain (Zap), Yu (Yu cash), Family Bank (Pesa Pap!).


    Rationalization

    This is a deeper form of organizational change. It involves streamlining of procedures. Organizations vary in procedures. Supermarkets use retail management systems to handle stock, either selling or taking stock. Assuming there’s no system, the whole process would be one hell of a task! Thanks to IT for the R.M.S.

    Re-engineering

    This is the most powerful organizational change. It involves analyzing, simplifying, & redesigning business process (unique ways in which organizations coordinate & organize work activities, information, and knowledge to produce a product or service).

    By doing so, an organization improves speed, service & quality. Business re-engineering reorganizes work flows, combining steps to cut waste & eliminating repetitive, paper-intensive task. The job might be eliminated too. Here’s an international example involving Ford Motor Company.
    Accounts Payable Clerks used to spend most of their time resolving discrepancies between purchase orders, recovering documents & invoices. Ford re-engineered its accounts payable process, such that the purchase department enters an order into an online database that can be checked by the receiving department, when the ordered items arrive. If the goods match the purchase order, then the system automatically generates a check for accounts payable to send to the vendor. No need of venders to send invoices.

    Paradigm shift

    It involves rethinking, changing the business model & the nature of business. Paradigm shifts & re-engineering often fail because it’s difficult to orchestrate organizational change. Most organizations embrace these changes because the returns are awesome.
    As I earlier said, any organizational including IT enabled ones, must be planned first to prevent any fallbacks. Organizational fallbacks maybe disastrous to the internal as well as external environments of an organization.
      

    Monday, August 23, 2010

    Linux O/S

    Linus Torvalds is the guy behind the Linux O/S(1991). It can be installed in a variety of  devices ranging from desktop computers to supercomputers.It's one of 'strongest' operating systems known worldwide. Most servers use this O/S because of its network handling capacity.It's based on the Unix Operating system. However, desktop use of Linux has become increasingly popular in recent years, partly owing to the popular Ubuntu, Fedora, Mint, and openSUSE distributions and the emergence of netbooks and smartphones running an embedded Linux.

    The development of Linux is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Linux distributions include the Linux kernel and all of the supporting software required to run a complete system, such as utilities and libraries, the X Window System, the GNOME and KDE desktop environments, and the Apache HTTP Server. Commonly used applications with desktop Linux systems include the Mozilla Firefox web-browser, the OpenOffice.org office application suite and the GIMP image editor.
















    Linus Tovarlds

    The primary difference between Linux and many other popular contemporary operating systems is that the Linux kernel and other components are free and open source software. Linux is not the only such operating system, although it is by far the most widely used. Some free and open source software licenses are based on the principle of copyleft, a kind of reciprocity: any work derived from a copyleft piece of software must also be copyleft itself. The most common free software license, the GNU GPL, is a form of copyleft, and is used for the Linux kernel and many of the components from the GNU project.
    Linux based distributions are intended by developers for interoperability with other operating systems and established computing standards. Linux systems adhere to POSIX, SUS, ISO, and ANSI standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT.
    Free software projects, although developed in a collaborative fashion, are often produced independently of each other. The fact that the software licenses explicitly permit redistribution, however, provides a basis for larger scale projects that collect the software produced by stand-alone projects and make it available all at once in the form of a Linux distribution.
    A Linux distribution, commonly called a "distro", is a project that manages a remote collection of system software and application software packages available for download and installation through a network connection. This allows the user to adapt the operating system to his/her specific needs. Distributions are maintained by individuals, loose-knit teams, volunteer organizations, and commercial entities. A distribution is responsible for the default configuration of the installed Linux kernel, general system security, and more generally integration of the different software packages into a coherent whole. Distributions typically use a package manager such as Synaptic, YAST, or Portage to install, remove and update all of a system's software from one central location.

    Programming on Linux

    Most Linux distributions support dozens of programming languages. The most common collection of utilities for building both Linux applications and operating system programs is found within the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU build system. Amongst others, GCC provides compilers for Ada, C, C++, Java, and Fortran. Proprietary compilers for Linux include the Intel C++ Compiler, Sun Studio, and IBM XL C/C++ Compiler. BASIC is supported in such forms as Gambas, FreeBASIC, and XBasic.
    Most distributions also include support for PHP, Perl, Ruby, Python and other dynamic languages. While not as common, Linux also supports C# via the Mono project, sponsored by Novell, C# via Vala and Scheme. A number of Java Virtual Machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like Kaffe.
    The two main frameworks for developing graphical applications are those of GNOME and KDE. These projects are based on the GTK+ and Qt widget toolkits, respectively, which can also be used independently of the larger framework. Both support a wide variety of languages. There are a number of Integrated development environments available including Anjuta, Code::Blocks, Eclipse, KDevelop, Lazarus, MonoDevelop, NetBeans, Qt Creator and Omnis Studio while the long-established editors Vim and Emacs remain popular.




    Linux Desktops





    Wednesday, August 18, 2010

    Programming Language Inventors

    BASIC – John Kemeny & Thomas Kurtz

    John Kemeny and Thomas Kurtz designed the original BASIC programming language in 1964 at Dartmouth University to provide computer access to non-science students. Kemeny was a Hungarian-American mathematician, computer scientist, and educator. He served as President of Dartmouth College 1970–1981 and chaired the presidential commission that investigated the Three Mile Island nuclear accident in 1979. Kurtz is an American computer scientist who was Professor of Mathematics and Director of Computer and Information Systems at Dartmouth. In 1994 he was inducted as a Fellow of the Association for Computing Machinery.










    C – Dennis Ritchie

    Dennis Ritchie is an American computer scientist who invented the C programming language in 1972 for Bell Telephone Labs. Ritchie is co-author of the definitive book on C, The C Programming Language (also known as K&R in reference to the authors Kernighan and Ritchie). Ritchie also co-developed the Unix operating system, received the Turing Award in 1983 and the National Medal of Technology in 1998. Ritchie was head of Lucent Technologies System Software Research Department when he retired in 2007.












    C++ – Bjarne Stroustrup

    Bjarne Stroustrup is a Danish computer scientist and the Chair Professor of Computer Science at Texas A&M University. He invented C++ in 1979 (then called “C with Classes”) and wrote what many consider to be the the C++ bible, The C++ Programming Language.











    C# – Anders Hejlsberg

    Anders Hejlsberg is a prominent Danish software engineer who currently works for Microsoft as the lead architect of the C# programming language. He also developed the J++ programming language and Windows Foundation Classes. Hejlsberg recently became a Microsoft Distinguished Engineer and Technical Fellow.















    COBOL – Grace Hopper

    Rear Admiral Grace Hopper was an American computer scientist and United States Naval officer. A pioneer in the field, she was one of the first programmers of the Harvard Mark I calculator, and she developed the first compiler for a computer programming language. COBOL was an extension of Hopper’s FLOW-MATIC language. It was Hopper’s idea that programs could be written in a language that was close to English rather than in machine code.











    Delphi – Anders Hejlsberg

    Anders Hejlsberg is a prominent Danish software engineer who wrote a Pascal compiler for CP/M and MS-DOS that eventually became Borland Turbo Pascal, the most commercially successful Pascal compiler ever. In 1989, Hejlsberg joined Borland as chief architect for the replacement of Turbo Pascal, Delphi.











    FORTRAN – John Backus

    John Backus was an American computer scientist who led the team that invented FORTRAN, the first widely used high-level programming language. He also invented the Backus-Naur form (BNF), the notation used to define formal language syntax. Backus received W.W. McDowell Award in 1967, National Medal of Science Award in 1975, and the ACM Turing Award in 1977.











    Java – James Gosling

    James Gosling is a famous Canadian software developer who has been with Sun Microsystems since 1984 and is considered the father of the Java programming language, invented in 1991. Gosling did the original design of Java and implemented its original compiler and virtual machine.










    JavaScript – Brendan Eich

    Brendan Eich is a computer programmer who created the JavaScript programming language for the Netscape Navigator web browser in 1995. He is now the Chief Technology Officer of the Mozilla Corporation.












    Perl – Larry Wall

    Larry Wall is a programmer and author, best known for his creation of the Perl programming language in 1987. A linguist working as a systems administrator for NASA, Wall developed Perl as a general purpose Unix scripting language to make report processing easier. Wall is also the co-author of Programming Perl (often referred to as the Camel Book), the definitive resource for Perl programmers.












    PHP-Rasmus Lerdorf is a Danish-Greenlandic programmer and most notable as the creator of the PHP programming language. PHP began in 1994 as a set of Common Gateway Interface binaries that Lerdorf wrote in C to replace Perl scripts he had been using on his personal homepage. Lerdorf has been an Infrastructure Architecture Engineer at Yahoo! since 2002.













    Python – Guido van Rossum

    Guido van Rossum is a Dutch programmer best known as the author of the Python programming language. Python started as a hobby project: a scripting language descendant of ABC that would appeal to Unix/C hackers. In the Python community, Van Rossum is known as a “Benevolent Dictator for Life.” Van Rossum currently works at Google on Python development.















    Ruby – Yukihiro Matsumoto

    Yukihiro Matsumoto is a Japanese computer scientist and programmer best known as the chief designer of the Ruby programming language in the mid-1990s and its reference implementation, Matz’s Ruby Interpreter (MRI). Today, Matsumoto is the head of R&D at the Network Applied Communication Laboratory, an open source systems integrator company.












    Visual Basic – Alan Cooper

    Alan Cooper is widely regarded as the father of Visual Basic. In 1987, Cooper developed ”Tripod,” an improved shell/desktop for the fledgling Windows operating system. Tripod became Microsoft’s “Ruby,” and Cooper led a team of engineers to deliver what ultimately became Visual Basic. (more) Today Cooper is an advocate of UI design, runs a design company and writes books about how to make software user interfaces more usable.