SOFTWARE BUGS 
PRESENTED BY CASSEY LOW
WHAT ARE BUGS? 
• Error or fault in programming codes in the software made in 
the development stage that the programmer missed 
• May require high-levelled programming skills to find bugs and 
a fix for it especially if there are millions of lines of codes
DEBUGGING 
• To debug is to find/fix bugs. 
• Often more time and effort is spent on finding & fixing bugs 
than writing new codes. 
• The use of a debugger makes debugging easier & less time 
wasting 
• Some bugs come into effect only when certain conditions are 
triggered, so it might be missed in testing
EFFECT OF BUGS 
• Some bugs may go undetected for a long time 
• Programs may freeze or crash 
• Security problems may enable malicious users such as 
hackers to perform privilege escalation
TYPE OF BUGS 
• Logic bugs: logic errors in program code (eg. infinite loops), 
usually harder to notice when there are many lines of codes 
 some may go unnoticed 
• Syntax bugs: using wrong operator, many programming 
software (eg. Netbeans, Eclipse) checks & shows the error made 
• Arithmetic bugs, resource bugs, teamworking bugs, 
interfacing bugs, performance bugs, multi-threading 
programming bugs
WHAT CAN YOU DO WITH A BUG? 
• They can be used in cyber warfare as weapons 
In May 2014, US indicted 5 members of Chinese army for 
stealing data from American companies (eg. Westinghouse & 
Alcoa) 
• Use it for zero-day 
• Saettlal citk sfor profit 
• Fix it and take preventive 
measures
WHAT WOULD HAPPEN IF IT ENDS UP IN 
THE HANDS OF… 
• Malicious users  bugs may be sold to bug brokers, 
Cybercriminals and Cyberterrorists  lead to zero-day attacks 
• Software makers  fix it  release patch for fixing the bug 
• Software security companies (eg. Exodus Intelligence)  sell 
bugs to their clients which range from software makers to 
government organisations
EXAMPLES OF BUGS & PROBLEMS CAUSED 
• Stuxnet (2009, the first true cyber weapon), Heartbleed (recent 
- 2014), Y2K (Year 2000 problem) 
• Serious problems can arise depending on how the bugs are 
exploited. 
• In the medical industry, bugs in the code controlling a therapy 
machine caused some patients deaths (1980) 
• Bugs cost US economy an estimated $59 billion yearly
IN A NUTSHELL 
• Bugs can be useful depending on how they are used. 
• Bugs help us to find new ways to prevent more bugs from 
being created 
• The more bugs we analyse, the more we can learn & improve 
our programming skills.
THIS PRESENTATION IS BASED ON… 
• Grossman, L., 2014. The Code War. Time Magazine, p. 16. 
• Wikipedia, 2012. Software bug - Wikipedia, the free encyclopedia. [Online] 
Available at: http://en.wikipedia.org/wiki/Software_bug#Well-known_bugs
THANK YOU! 
Lets learn from bugs! 


Infocomm Security: Software Bugs

  • 1.
  • 2.
    WHAT ARE BUGS? • Error or fault in programming codes in the software made in the development stage that the programmer missed • May require high-levelled programming skills to find bugs and a fix for it especially if there are millions of lines of codes
  • 3.
    DEBUGGING • Todebug is to find/fix bugs. • Often more time and effort is spent on finding & fixing bugs than writing new codes. • The use of a debugger makes debugging easier & less time wasting • Some bugs come into effect only when certain conditions are triggered, so it might be missed in testing
  • 4.
    EFFECT OF BUGS • Some bugs may go undetected for a long time • Programs may freeze or crash • Security problems may enable malicious users such as hackers to perform privilege escalation
  • 5.
    TYPE OF BUGS • Logic bugs: logic errors in program code (eg. infinite loops), usually harder to notice when there are many lines of codes  some may go unnoticed • Syntax bugs: using wrong operator, many programming software (eg. Netbeans, Eclipse) checks & shows the error made • Arithmetic bugs, resource bugs, teamworking bugs, interfacing bugs, performance bugs, multi-threading programming bugs
  • 6.
    WHAT CAN YOUDO WITH A BUG? • They can be used in cyber warfare as weapons In May 2014, US indicted 5 members of Chinese army for stealing data from American companies (eg. Westinghouse & Alcoa) • Use it for zero-day • Saettlal citk sfor profit • Fix it and take preventive measures
  • 7.
    WHAT WOULD HAPPENIF IT ENDS UP IN THE HANDS OF… • Malicious users  bugs may be sold to bug brokers, Cybercriminals and Cyberterrorists  lead to zero-day attacks • Software makers  fix it  release patch for fixing the bug • Software security companies (eg. Exodus Intelligence)  sell bugs to their clients which range from software makers to government organisations
  • 8.
    EXAMPLES OF BUGS& PROBLEMS CAUSED • Stuxnet (2009, the first true cyber weapon), Heartbleed (recent - 2014), Y2K (Year 2000 problem) • Serious problems can arise depending on how the bugs are exploited. • In the medical industry, bugs in the code controlling a therapy machine caused some patients deaths (1980) • Bugs cost US economy an estimated $59 billion yearly
  • 9.
    IN A NUTSHELL • Bugs can be useful depending on how they are used. • Bugs help us to find new ways to prevent more bugs from being created • The more bugs we analyse, the more we can learn & improve our programming skills.
  • 10.
    THIS PRESENTATION ISBASED ON… • Grossman, L., 2014. The Code War. Time Magazine, p. 16. • Wikipedia, 2012. Software bug - Wikipedia, the free encyclopedia. [Online] Available at: http://en.wikipedia.org/wiki/Software_bug#Well-known_bugs
  • 11.
    THANK YOU! Letslearn from bugs! 

Editor's Notes

  • #3 Firstly, What are software bugs? Software bugs are basically errors in programming codes made in the development stage of the software. Some bugs are missed by the programmer the bug may not appear in the testing stage and thus the software is released with the bug. High-levelled programming skills might be required to debug especially if there are millions of lines of codes.
  • #4 To debug is to find and fix bugs. We often spend more time & effort on finding & fixing bugs than writing new codes. Many IDEs have debuggers integrated into them. With the use of a debugger, debugging becomes easier & less time wasting. Also, some bugs may only occur when certain conditions are met, so it might be missed in the testing stage of the product.
  • #5 Bugs can have serious effects on our programs, some may even go undetected for a long time. They can also cause programs to freeze or crash which may have a devastating consequence in some situations. With bugs, there may also be security problems as malicious users such as hackers may be to perform privilege escalation to access restricted rights.
  • #6 The 2 type of bugs that we are more familiar with is logic bugs & syntax bugs. Other bugs include Arithmetic bugs, resource bugs, teamworking bugs, interfacing bugs, performance bugs, multi-threading programming bugs
  • #7 A bug can be used for both good & bad purposes, they can be used in cyber warfare as weapons. For example, in may 2014, US indicted 5 member of the Chinese army for stealing data from American companies which include Westinghouse & Alcoa. Recently, there is an increase in China’s electronic theft of US intellectual property. It can also be used for zero-day attacks where fresh and new bugs are exploited to attack systems. Many sell it for profit while some attempt to fix it.
  • #8 If bugs end up in the hands of malicious users, it is likely that they will be sold to bug brokers who help to spread the bug, cybercriminals as well as Cyberterrorists who often have bad intentions. For software security companies, many tend to sell bugs to their clients while some directly alert the software makers of these errors. Their clients range from software makers to government organisations such as the FBI. From what I read, they provide their clients with the solutions to fix the bugs as well as a way to exploit it. For example, last year, the FBI busted a company called Freedom Hosting does criminal stuff using a vulnerability in Firefox
  • #9 Some examples of popular bugs are Stuxnet in 2009 which is the first true cyber weapon created. Also, more recent ones such as the Heartbleed bug which was found this year and the Y2K problem where it was feared that worldwide economic collapse would happen at the start of the year 2000 as a result of computers thinking it was 1900. Fortunately, no major problems occurred. Serious problems can arise depending on how the bugs are exploited. An example is in the medical industry, bugs in the code controlling a radiation therapy machine caused some patients deaths in 1980. Also, bugs cost the US economy as much as $59 billion yearly.
  • #10 In a nutshell, bugs can be useful depending on how they are used. Although they have caused many problems & are unwanted, they help us learn from our mistakes and find new ways to prevent more bugs from being created. The more bugs we create, the more we can learn & improve our programming skills.