{"id":10749,"date":"2017-12-07T07:00:08","date_gmt":"2017-12-07T15:00:08","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2017\/12\/07\/news-4521\/"},"modified":"2017-12-07T07:00:08","modified_gmt":"2017-12-07T15:00:08","slug":"news-4521","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2017\/12\/07\/news-4521\/","title":{"rendered":"Training Developers to Defend Against Software Attacks"},"content":{"rendered":"<p><strong>Credit to Author: Trend Micro| Date: Thu, 07 Dec 2017 14:30:49 +0000<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/07\/What-can-a-hacker-do-with-access-to-your-business-email-account_459_40133371_0_14130644_300-300x169-300x169.jpg\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" style=\"float: left; margin-right: 5px;\" \/><\/p>\n<h3>Security Bugs \u2013 &#8220;The Root of all Evil&#8221;<\/h3>\n<p><em>by Paul Ionescu, Security Architect\u00a0<\/em><\/p>\n<p>Looking back at some of the famous security breaches of 2017 we find that they have been caused by software bugs.<\/p>\n<p>The WannaCry attack which impacted computers in 150 countries for an estimated cost of $4 billion used a memory flaw in the Windows File Sharing protocol.<\/p>\n<p>The Equifax breach which exposed the personal data of 143 million Americans, was conducted using a deserialization vulnerability in the Apache Struts library.<\/p>\n<p>The challenge with security bugs is that they are many times not perceived as quality issues, since from the developer or tester point of view, the software is working. There is an unexpected behavior that is uncovered by an attacker, which leads to the vulnerability.<\/p>\n<p>This characteristic of security bugs can cause some developers to even contest that security issues are defects. To better understand that perception an analogy could be made by thinking of developers as house builders and a software feature could be seen as a window added to the house. The window works well, opens and closes, it insulates the house from cold or heat. A thief breaks in through the window. It\u2019s the thief\u2019s fault, not the fault of the builder.<\/p>\n<h3>\u201cPutting the Hacker Hat On\u201d<\/h3>\n<p>Defending against software attacks requires developers to think about how the software can be abused. This is also known as Threat modeling.<\/p>\n<p>Hackers are categorized based on colors of hats, black hats are the bad guys, white hats are the good guys.<\/p>\n<p>In order to prevent attacks developers must be able to think like the hackers, \u201cput the hacker hat on\u201d. For this they require some basic knowledge:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"20px\"><\/td>\n<td>\n<ul>\n<li>What are the common software flaws?<\/li>\n<li>How can the software be abused?<\/li>\n<li>How can the software be defended?<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td height=\"10px\"><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>What are \u201cThe Top Flaws\u201d<\/h3>\n<p>There are two well-known lists outlining common software flaws and attack categories<\/p>\n<p>The <a href=\"http:\/\/cwe.mitre.org\/top25\/\">MITRE Top 25<\/a> also known as the SANS Top 25 is an inventory of Common Weaknesses (CWEs).<\/p>\n<p>The <a href=\"https:\/\/www.owasp.org\/images\/7\/72\/OWASP_Top_10-2017_%28en%29.pdf.pdf\">OWASP Top 10<\/a> is a list of attack categories that impact web applications. The majority of MITRE Top 25 weaknesses and OWASP Top 10 categories intersect.<\/p>\n<h3>Training Through Gaming<\/h3>\n<p>It is likely that your development team will not get much out from a one hour session presenting the Top 25 software weaknesses. Some may even fall asleep during the meeting.<\/p>\n<p>Training through gaming is proven to produce better results, it is engaging and fun, it develops practical skills and the competitive setting drives completion.<\/p>\n<p>There is a common way to train security testers known as CTF (Capture the Flag). \u00a0At Trend Micro, we have employed a similar approach to train our developers in software security basics.<\/p>\n<p>We have made the code of the training platform publicly available on GitHub under the <a href=\"https:\/\/github.com\/trendmicro\/SecureCodingDojo\">Secure Coding Dojo<\/a> project.<\/p>\n<h3>Secure Coding Training School<\/h3>\n<p>Because developers ultimately learn to defend from software attacks the training is inspired from martial arts. The training contains 21 challenges across 7 different levels from White Belt to Black Belt.<\/p>\n<p>The training is based on the MITRE Top 25 + one of the newly added OWASP Top 10 attack categories, XML External Entity. You can review the complete training curriculum at this <a href=\"https:\/\/github.com\/trendmicro\/SecureCodingDojo\/blob\/master\/Insecure.Inc%20Curriculum.pdf\">link<\/a>.<\/p>\n<p>Each challenge describes one or more security flaws in detail. The participant then has to leverage the security flaws to exploit a vulnerable application in order to pass the challenge. Finally, the participant learns about the software defenses (\u201ccode blocks\u201d) that could have been used to prevent the attack.<\/p>\n<p>The screenshot below shows the description for the SQL Injection challenge.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-540332\" src=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5.jpg\" alt=\"\" width=\"846\" height=\"312\" srcset=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5.jpg 846w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5-300x111.jpg 300w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5-768x283.jpg 768w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5-640x236.jpg 640w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5-440x162.jpg 440w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog5-380x140.jpg 380w\" sizes=\"auto, (max-width: 846px) 100vw, 846px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The screenshot below shows the exploit stage of the Buffer Overflow challenge, where participants must bypass a password verification program by writing arbitrary data to a memory buffer.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-540333\" src=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-1024x481.jpg\" alt=\"\" width=\"1024\" height=\"481\" srcset=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-1024x481.jpg 1024w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-300x141.jpg 300w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-768x361.jpg 768w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-640x301.jpg 640w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-900x423.jpg 900w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-440x207.jpg 440w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6-380x179.jpg 380w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog6.jpg 1043w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>The screenshot below shows the \u201ccode block\u201d section that describes how to defend against Cross-Site Scripting attacks.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-540334\" src=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7.jpg\" alt=\"\" width=\"956\" height=\"325\" srcset=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7.jpg 956w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7-300x102.jpg 300w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7-768x261.jpg 768w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7-640x218.jpg 640w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7-900x306.jpg 900w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7-440x150.jpg 440w, http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/12\/blog7-380x129.jpg 380w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/p>\n<p>The training portal can integrate with Slack, Google or can work with a local authentication where each participant registers an account. There\u2019s information on how to install and deploy in the wiki section of the project.<\/p>\n<p>We hope that the project can help train developers and raise awareness about secure coding practices in a world that is becoming increasingly driven by software.<\/p>\n<p><a href=\"http:\/\/blog.trendmicro.com\/training-developers-defend-software-attacks\/\" target=\"bwo\" >http:\/\/feeds.trendmicro.com\/TrendMicroSimplySecurity<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong>Credit to Author: Trend Micro| Date: Thu, 07 Dec 2017 14:30:49 +0000<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"http:\/\/blog.trendmicro.com\/wp-content\/uploads\/2017\/07\/What-can-a-hacker-do-with-access-to-your-business-email-account_459_40133371_0_14130644_300-300x169-300x169.jpg\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" style=\"float: left; margin-right: 5px;\" \/>Security Bugs \u2013 &#8220;The Root of all Evil&#8221; by Paul Ionescu, Security Architect\u00a0 Looking back at some of the famous security breaches of 2017 we find that they have been caused by software bugs. The WannaCry attack which impacted computers in 150 countries for an estimated cost of $4 billion used a memory flaw in&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10378,10413],"tags":[714,10421],"class_list":["post-10749","post","type-post","status-publish","format-standard","hentry","category-security","category-trendmicro","tag-security","tag-vulnerabilities-exploits"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/10749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=10749"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/10749\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=10749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=10749"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=10749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}