{"id":10428,"date":"2020-08-19T12:39:55","date_gmt":"2020-08-19T10:39:55","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=10428"},"modified":"2023-08-06T21:43:58","modified_gmt":"2023-08-06T19:43:58","slug":"gdpr-and-information-security-for-startups","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/","title":{"rendered":"GDPR and Information Security: A practical guide for Startups and small businesses"},"content":{"rendered":"\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10431\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/blog\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-scaled.jpeg\" data-orig-size=\"2560,1440\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blog\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-1024x576.jpeg\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-scaled.jpeg\" alt=\"\" class=\"wp-image-10431\" width=\"589\" height=\"331\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-scaled.jpeg 2560w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-300x169.jpeg 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-1024x576.jpeg 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-768x432.jpeg 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-1536x864.jpeg 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/blog-2048x1152.jpeg 2048w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/figure>\n\n\n\n<p class=\"has-drop-cap\">Let me start with a story. My first contact with GDPR (general data protection regulation) and the topic of information security was during my bachelor throughout an app project. We had set ourselves the goal of uploading the app to Google Play Store by the end of the semester and were thus inevitably confronted with the data protection and privacy topic, which was still relatively fresh at the time. <br>Since we had no previous experience and background knowledge in this area, we were rather intimidated by the available information and very vague wording in correlation with GDPR. The intrinsic desire to take care of personal and sensitive data was rather absent and overshadowed by the fear of doing something wrong and experiencing legal consequences. When we turned to professors and lawyers at the university, who were (in theory) responsible for the topic of GDPR and information security, the responses were comparable to the game \u201chot potato\u201d. Everyone we approached tossed the hot potato (aka GDPR) to the next person by saying something along the lines of \u201cAh yes, I think Mr. X would be more suitable for that\u201d. In the end, we kind of patched together a data privacy declaration and implemented suitable protective measures, which was okay for the time being, but not particularly good and worthwhile. Overall, it left a rather unsatisfactory feeling and aftertaste.<\/p>\n\n\n\n<p>The combination of founding my own Startup and attending the lecture \u201cSecure Systems\u201d during my masters made me rekindle with that topic again and I decided to take matters into my own hand and shine a new light on this rather unattractive and dry, but also very important and meaningful subject.<\/p>\n\n\n\n<p>Therefore \u2013 with this blog entry \u2013 I\u2019m hoping to provide you with a more practical and satisfactory approach to information security and GDPR. I will answer questions like \u201cWhy should I even strive for GDPR compliance or security in general?\u201d and \u201cWhat can I \u2013 as a programmer \u2013 do to achieve information security?\u201d. Furthermore I will explain terms like Privacy By Design, Privacy By Default and Security By Design. This guide is addressed to all those who want to gain a better understanding of this topic in general, as well as start-ups, smaller companies or freelancers who are looking for specific information to implement this topic in their own applications with a focus on inexpensive but effective measures. However, it should not be considered as a complete and sufficient solution for information security.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>My forecast for the future is: In the future we will talk much more about <span style=\"color:#00c3b1\" class=\"has-inline-color\"><strong>information security instead<\/strong> <strong>of<\/strong> <\/span>talking about <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">IT security<\/span><\/strong> and data protection \/ <span style=\"color:#00c3b1\" class=\"has-inline-color\"><strong>GDPR<\/strong> <strong>separately<\/strong><\/span>!<\/em><\/p>\n<cite><em>Eric Weis (CISO and auditor of ISO\/IEC ISO27001)<\/em><\/cite><\/blockquote>\n\n\n\n<p>With this fitting quote in the back of our minds, let\u2019s dive right into it. \ud83e\udd3f<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why should you even strive for GDPR compliance?<\/h2>\n\n\n\n<p>Depending on the severity of the violation, fines of up to \u20ac10 million or 2% of the total annual turnover of the previous business year, or respective \u20ac20 million or 4% for the higher severity level, may be imposed if your organisation violates data privacy guidelines. The respective frame that is chosen is the one which is higher (GDPR Article 83, section 4 and 5).<br>For example, Google (Sweden) was fined \u20ac7 million in March 2020 for failing to remove personal information from various individuals who had requested exclusion from Google search results.<br>An Italian telephone and network operator (TIM SpA) was hit even harder, being fined \u20ac27 million in January. The reason for this was several legal violations in marketing and advertising campaigns. Unsolicited calls were made, people were entered into competitions without consent and in one case, a person was called 155 times <em>after<\/em> requesting exclusion from calls.<br>Even in law-abiding Germany there was a high penalty in December 2019. 1&amp;1 Telekom was fined \u20ac9 million because anyone could get complete access to a person&#8217;s data as long as they simply knew that person&#8217;s date of birth and name.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The vagueness and individuality of GDPR<\/h2>\n\n\n\n<p>Upon reading statements and guidelines of the GDPR, such as the following excerpt of Article 32, which targets the Security of processing, one often has more questions and uncertainties than before.<\/p>\n\n\n\n<p><strong>Art. 32 (1)<\/strong>: \u201eTaking into account <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">the state of the art<\/span><\/strong>, the <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">costs of implementation<\/span><\/strong> and the <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">nature, scope, context and purposes of processing<\/span><\/strong> as well as the <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">risk of varying likelihood and severity for the rights and freedoms of natural persons<\/span><\/strong>, the controller and the processor shall implement <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">appropriate technical and organizational measures<\/span><\/strong> to ensure a <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">level of security appropriate to the risk<\/span><\/strong>\u2026\u201d.<\/p>\n\n\n\n<p>All wordings, components and safety measures that vary according to context and organization, are color highlighted. Only once you start breaking down the separate parts and enrich them with background knowledge from information security, a greater picture starts to form. With that being said, here\u2019s my breakdown of the separate parts:<\/p>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-very-dark-gray-color\"><em>\u201c\u2026the state of the art\u2026\u201d<\/em> <\/mark><\/p>\n\n\n\n<p>Mainly refers to technology. It makes sense: the safety and security measures you implement today might be outdated in 3-5 years. Technology and software have a fast pace, which should be reflected and reviewed in your infrastructure and design choices.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><em>\u201c\u2026nature, scope, context and purposes of processing\u2026\u201d<\/em><\/p>\n\n\n\n<p>Depending in which field your organization is operating and what kind of sensitive information you\u2019re processing the needed safety measures vary a lot. The how and where of data processing are also really important. Do you dispose of all data completely independently or are third parties involved? Do you process highly sensitive information like racial and ethnic background, political opinions or religious beliefs, health data or information regards the sexual life or orientation of your users.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><em>\u201c\u2026risk of varying likelihood and severity for the rights and freedoms of natural persons\u2026\u201d<\/em><br><em>\u201c\u2026appropriate technical and organizational measures\u2026\u201d<br>\u201c\u2026level of security appropriate to the risk\u2026\u201d.<\/em><\/p>\n\n\n\n<p>This is basically risk management. If you\u2019re striving for ISO 27001 compliance this is handled by your Risk Treatment Plan (RTP) and your Statement of Applicability (SoA). There are different approaches for application thread modeling. One popular and widespread one is using STRIDE and DREAD.<br>It\u2019s about analyzing which vulnerabilities or weaknesses in your infrastructure \/ architecture lead to risks of violating the core pillars of information security. Confidentiality, Integrity and Availability.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>Depending on your background knowledge and the field you\u2019re specialized in, even in those more detailed explanations there might be a lot of unknown terms for you. I\u2019ll try to provide you with some basic knowledge in the following paragraphs.<\/p>\n\n\n\n<p>Before taking a closer look at core pillars of GDPR a quick side note about the <a href=\"https:\/\/www.baden-wuerttemberg.datenschutz.de\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>LFDI<\/strong><\/a>: The LFDI is a German authority and roughly translates to \u201cstate commissioner for data protection and freedom of information\u201d. It supervises and advises the public authorities of the country on data protection and information security issues. One of the tasks of the LFDI is to impose fines on companies that violate data protection. In June 2020, for example, a fine of \u20ac1.2 million was imposed on the AOK, since they handled personal data incorrectly in regard to competitions during the timeframe from 2015 to 2019. Following an administrative fine, the LFDI also works with the organisation to improve the technical and organisational measures.<br>However, if you\u2019re looking for advice and specific recommendations, one must not have to wait until a fine is imposed on you. Instead, contact with the LFDI can also be proactively sought in order to receive advice and gain valuable insights. As part of my Startup, I did just that and will therefore incorporate advice and insights that have arisen throughout this cooperation. So, if I\u2019ll say something along the lines of \u201cthe LFDI recommended using encryption at rest\u201d you\u2019ll know what and who I\u2019m talking about.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The core pillars of GDPR<\/h2>\n\n\n\n<p><em>Hint<\/em>: This is not an official classification; this is simply how I personally structured GDPR into different sections. It might help you too for forming a better understanding.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd10 Security <\/h3>\n\n\n\n<p>Prevent physical access to (personal) data. Ensure through appropriate infrastructure and technology that only authenticated users have access to data.<\/p>\n\n\n\n<p>Safety measures might include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>no openly accessible databases<\/li>\n\n\n\n<li>no default (admin) users for databases<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"> \ud83e\udd1d Accountability<\/h3>\n\n\n\n<p>As an organisation, one must clearly and comprehensively explain how data is processed, for what reason, for what purpose, etc.<br>An awareness of who is responsible should be created. Am I? My company? A third-party company? Someone else? In general, you should be aware of what happens with the data and have an understanding of the complete flow of data in your system. The importance of a proper sense of responsibility was strongly emphasised by the LFDI&#8217;s technical manager.<\/p>\n\n\n\n<p>Accountability also includes that a privacy statement is available, complete and easy to find.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc64 Individual Rights <\/h3>\n\n\n\n<p>You should respect and implement the user rights set out in the GDPR. Included is Privacy By Design and Privacy By Default. Ask yourself what the absolute minimum of data is you need in order for your service \/ product to work. Then try to stick to that. Work as data efficient and minimizing as possible. It\u2019s also essential to only process data for as long as needed and delete it from your system once possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Content of the GDPR<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th><strong>Content of the EU General Data Protection Regulation<\/strong><\/th><th>Articles<\/th><\/tr><\/thead><tbody><tr><td>General provisions<\/td><td>1-4<\/td><\/tr><tr><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Principles<\/span><\/strong><\/td><td><strong>5-11<\/strong><\/td><\/tr><tr><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Rights of the data subject<\/span><\/strong><\/td><td><strong>12-23<\/strong><\/td><\/tr><tr><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Persons responsible for data processing and Third-Party Processors<\/span><\/strong><\/td><td><strong>24-43<\/strong><\/td><\/tr><tr><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Transfer of personal data to third countries or to international organisations<\/span><\/strong><\/td><td><strong>44-50<\/strong><\/td><\/tr><tr><td>Independence of supervisory authorities<\/td><td>51-59<\/td><\/tr><tr><td>Cooperation and coherence<\/td><td>60-76<\/td><\/tr><tr><td>Remedies, liability and sanctions<\/td><td>77-84<\/td><\/tr><tr><td>Provisions relating to specific processing situations<\/td><td>85-91<\/td><\/tr><tr><td>Delegated acts and implementing acts<\/td><td>92-93<\/td><\/tr><tr><td>Final provisions<\/td><td>94-99<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>We\u2019ll focus mainly on the developer and technical side of things, which are covered by the highlighted articles (5-50). Some key words and important components are shown in the visual below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"637\" data-attachment-id=\"10434\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/screenshot-2020-08-18-at-08-53-36\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36.png\" data-orig-size=\"1986,1236\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot-2020-08-18-at-08.53.36\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36-1024x637.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36-1024x637.png\" alt=\"\" class=\"wp-image-10434\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36-1024x637.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36-300x187.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36-768x478.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36-1536x956.png 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-08.53.36.png 1986w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Putting the user at the centre<\/h2>\n\n\n\n<p>One cornerstone of the GDPR is that <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">any processing of personal data is forbidden by default<\/span><\/strong> &#8211; unless the user has explicitly transmitted his consent. The consent of a user requires the clearly recognizable added value of the data processing.<br>If the user gives his <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">consent<\/span><\/strong>, it <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">must be given voluntarily, explicitly and verifiably<\/span><\/strong>. According to the LFDI an opt-out or pop-up is not an effective consent! It is essential that the user can revoke this consent at any time and that his right to revoke must be pointed out directly at the time of consent.<br>An example of the correct use of consent is asking the user for permission to use his e-mail address for sending him newsletters and updates. It\u2019s key to adhere to the <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">coupling prohibition<\/span><\/strong>, meaning that non-consent has no significant disadvantage for the user! Consent may only be mandatory if the disclosure of the data is absolutely necessary to provide the service.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10438\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/image-1\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1.png\" data-orig-size=\"2380,1140\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-1024x490.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-1024x490.png\" alt=\"\" class=\"wp-image-10438\" width=\"650\" height=\"312\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-1024x490.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-300x144.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-768x368.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-1536x736.png 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-1-2048x981.png 2048w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p>To add on the point <em>\u201cInformation obligation and transparency<\/em>\u201d: <br>Data privacy statements must be worded in a way that minors and persons without legal capacity can understand them.<\/p>\n\n\n\n<p>With the following examples of imposed fines, it should be made clear what one should <em>not<\/em> do:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><strong><em>Violated<span style=\"color:#ffffff\" class=\"has-inline-color\">_<\/span>Right<\/em><\/strong><span style=\"color:#ffffff\" class=\"has-inline-color\">__<\/span><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong><em>Description<\/em><\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><span style=\"color:#00c3b1\" class=\"has-inline-color\"><strong>Right to data<\/strong> <strong>deletion<\/strong><\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">In October 2019, &#8220;Deutsches Wohnen&#8221; was sentenced to a \u20ac14 million fine for storing data in an archive system that offered no possibility to delete data at all. Their system therefore had confidential information on previous users who have long since stopped using the service.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Right to limitation of processing<\/span><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Delivery Hero was fined just under \u20ac200,000 in Sept 2019 for failing to delete dormant customer information and continuing to send unsolicited marketing emails.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Right to protection of personal data<\/span><\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">An insurance company in France was fined \u20ac180,000 in July 2019 because confidential data of other customers could be accessed simply by changing the number (user ID) at the end of the URL. The data disclosed included driving licences, registration cards and bank documents.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Privacy By Design <\/h2>\n\n\n\n<blockquote class=\"wp-block-quote has-text-align-left is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Too many entrepreneurs, in the interest of building the product as quickly as possible, think that security is a &#8220;freeze all the code, do an assessment, and write all the policies&#8221; project they can do later. It isn&#8217;t<\/em>.<strong><em> <span style=\"color:#00c3b1\" class=\"has-inline-color\">Think about security from the very beginning<\/span><\/em><\/strong><em>. It&#8217;s actually not that hard to anticipate what needs you&#8217;ll have to deal with in the future.<\/em><\/p>\n<cite><em>Michael Borohovski \u2013 Cyber Security Expert<\/em><\/cite><\/blockquote>\n\n\n\n<p>Data protection must be included from the beginning of the design and development of an app. You should NOT develop the app, add functionality, acquire customers and then at some point \u2013 possibly when there are already millions of users on the system \u2013 realize &#8220;Oh, maybe I should take a look at privacy and information security&#8221;. This approach has been possible in the past, however since GDPR a bare minimum of information security is required by law.<br>All in all, it is anyway much easier and more sustainable to <strong>develop a safety mindset and culture from the very beginning<\/strong> and then to continuously improve and expand it as you grow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"425\" data-attachment-id=\"10464\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/image-2-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2.png\" data-orig-size=\"2406,998\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-1024x425.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-1024x425.png\" alt=\"Privacy By Design - Core Concepts\" class=\"wp-image-10464\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-1024x425.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-300x124.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-768x319.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-1536x637.png 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-2-2048x850.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Risk Assessment has some overlapping points with <em>Security By Design<\/em>, however since <em>Privacy By Design<\/em> can also be viewed <em>as Data Protection By Design<\/em> this overlap is unavoidable and reasonable. This includes the different likelihood of occurrence and the damage potentials of the risks associated with the processing of data. Information security and data protection are simply closely tied together, as already depicted in the quote at the beginning.<br>Another key element that should be targeted by a thorough analysis is <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">data minimization<\/span><\/strong>. During data processing, only as much personal data should be collected as is absolutely necessary for the respective application.<br><span style=\"color:#00c3b1\" class=\"has-inline-color\"><strong>Authentication<\/strong>, <strong>anonymisation<\/strong><\/span> and <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">pseudonymisation<\/span><\/strong> and <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">encryption of data<\/span><\/strong> are all safety measures that are actually explicitly listed and specified in the GDPR. According to LFDI using TLS 1.2 or above in transit is mandatory and additionally encrypting your data at rest is highly recommended. The reason being for the latter that servers are often located with a provider. If, for example, technical errors or the termination of the contract should occur, there shouldn\u2019t be any resulting problems if your data is encrypted. Therefore the risk of violating confidentiality is reduced.<\/p>\n\n\n\n<p>In summary the system should be conceptualized and developed so that maintenance of user rights, such as access, deletion and correction of data are addressed from the very beginning.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Privacy By Default<\/h2>\n\n\n\n<p>When using an application, the preconfigured settings must always offer the <strong><em>highest<\/em><\/strong> possible security and data protection. Only by opting out or manual configuration of the user can the security or data protection be reduced in order to obtain simplifications or advantages regarding usability. The aim of this directive is to protect the less technologically inclined users, who are not able to adjust their data protection settings themselves.<\/p>\n\n\n\n<figure class=\"wp-block-image alignleft size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10477\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/com-airbnb-android\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android.jpg\" data-orig-size=\"1080,2340\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"com.airbnb.android\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-473x1024.jpg\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-473x1024.jpg\" alt=\"\" class=\"wp-image-10477\" width=\"292\" height=\"632\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-473x1024.jpg 473w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-138x300.jpg 138w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-768x1664.jpg 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-709x1536.jpg 709w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android-945x2048.jpg 945w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/com.airbnb.android.jpg 1080w\" sizes=\"auto, (max-width: 292px) 100vw, 292px\" \/><\/figure>\n\n\n\n<p>Users should therefore be able to decide for themselves what data they make available to companies beyond what is necessary.<\/p>\n\n\n\n<p>Airbnb has a really good and interesting approach in my opinion. In their mobile App they list all services and tools they use in their privacy section and you can decide which one to enable or disable. There\u2019s only 4 SDKs that are strictly necessary and therefore can\u2019t be disabled (Braintree, Facebook, Google Maps and Google reCAPTCHA).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Security By Design<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong><em><span style=\"color:#00c3b1\" class=\"has-inline-color\">Applications without security architecture<\/span><\/em><\/strong><em> are as bridges constructed without finite element analysis and wind tunnel testing. Sure, they look like bridges, but they <span style=\"color:#00c3b1\" class=\"has-inline-color\"><strong>will fall down at the first flutter of a butterfly\u2019s wings<\/strong>. <\/span>The need for application security in the form of security architecture is every bit as great as in building or bridge construction.\u201d<\/em><\/p>\n<cite><em><a href=\"https:\/\/www.owasp.org\/index.php\/Secure_Coding_Principles\" target=\"_blank\" rel=\"noreferrer noopener\">OWASP, Secure Coding Principles<\/a><\/em><\/cite><\/blockquote>\n\n\n\n<figure class=\"wp-block-image alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10486\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/screenshot-2020-08-18-at-11-55-16-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-11.55.16-2.png\" data-orig-size=\"1002,630\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2020-08-18 at 11.55.16\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-11.55.16-2.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-11.55.16-2.png\" alt=\"\" class=\"wp-image-10486\" width=\"315\" height=\"197\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-11.55.16-2.png 1002w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-11.55.16-2-300x189.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-18-at-11.55.16-2-768x483.png 768w\" sizes=\"auto, (max-width: 315px) 100vw, 315px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<p>As already mentioned earlier, a proper implementation of information security is now basically mandatory and legally required due to GDPR.<\/p>\n<\/div>\n\n\n\n<p>That this is unfortunately not (yet) always the case is depicted by the \u20ac123 million fine Marriott received in July 2019. After acquiring its competitor Starwood, Marriott discovered Starwood\u2019s central reservation database had been hacked. This included 5 million unencrypted passwords and 8 million credit card records. The breach dated back to 2014 but was not discovered until November 2018. In total about 30 million EU residents were affected.<\/p>\n\n\n\n<p>I hope that the violations and respective fines listed in this blog have already given you some insight into what you should NOT do if you intend to correctly apply privacy and information security in your company and processes.<br>However since I always feel that illustrative examples provide a lot of benefit in understanding a complex topic, this is exactly what we\u2019ll do now to deepen the understanding. Guided by the core pillars of information security, we\u2019ll look at some concrete measures one can implement to increase security and robustness.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The core pillars of information security<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" data-attachment-id=\"10496\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/image-3-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3.png\" data-orig-size=\"2330,1306\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-1024x574.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-1024x574.png\" alt=\"\" class=\"wp-image-10496\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-1024x574.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-300x168.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-768x430.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-1536x861.png 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-3-2048x1148.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83e\udd2b <strong>Confidentiality<\/strong><\/h4>\n\n\n\n<p><strong>In short:<\/strong> Sensitive or personal data should not be disclosed to outsiders. Countermeasures include (strong) passwords, access control lists and authentication procedures. It\u2019s beneficial to use encryption so information that may be accessed despite the previous controls is still protected.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udc4c <strong>Integrity<\/strong> <\/h4>\n\n\n\n<p>Integrity means on the one hand that data may not be changed from the outside and manipulation is impossible, but on the other hand it also means protection against unintentional changes, such as through user error or data loss due to a system error. Changes should only be made by authorized persons.<br><strong>In short:<\/strong> the correctness and completeness of data must be guaranteed.Countermeasures include access controls and strict authentication. Administrative controls such as separation of duties and training are also beneficial.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ud83d\ude4b<\/strong> Availability<\/h4>\n\n\n\n<p>An example of an availability violation is the loss of data through malware. Actually, most threats for availability are non-malicious in nature and include hardware failures, unscheduled software downtime and network bandwidth issues.<\/p>\n\n\n\n<p>Countermeasures include redundant systems in separate physical locations and backing up data. Especially Systems that have a high requirement for continuous uptime should have significant hardware redundancy with backup servers and data storage immediately available.<\/p>\n\n\n\n<p>Additional principles are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Authentication<\/strong> \u21d2 Recipient must be able to determine the origin of the message<\/li>\n\n\n\n<li><strong>Non-Repudiation<\/strong> \u21d2 The authorship of a message\/action must not be deniable<\/li>\n\n\n\n<li><strong>Anonymity<\/strong> \u21d2 Protection of the confidentiality of the identity<\/li>\n\n\n\n<li><strong>Accountability<\/strong> \u21d2 Ensuring that subjects can be assigned to their actions<\/li>\n\n\n\n<li><strong>Auditability<\/strong> \u21d2 Ensuring that previous system states can be reconstructed and processes can be traced<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Security \u2013 Practical Measures<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><strong>Monitoring<\/strong><\/strong><\/h4>\n\n\n\n<p>In this example, specifically Event Loop Monitoring.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Availability, Auditability<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>If the application server is under heavy load, it may not be able to serve newly arriving users.<br>By monitoring the status of your application it can be checked whether certain thresholds are exceeded, such as response time, memory usage, CPU load or in this case the lag of the memory loop in seconds.  <br><br><img loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"1314\" data-attachment-id=\"10503\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/image-4-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4.png\" data-orig-size=\"2000,1314\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4-1024x673.png\" class=\"wp-image-10503\" style=\"width: 350px\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4.png\" alt=\"\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4.png 2000w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4-300x197.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4-1024x673.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4-768x505.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/image-4-1536x1009.png 1536w\" sizes=\"auto, (max-width: 2000px) 100vw, 2000px\" \/><br>If a predefined threshold is reached, new requests can be blocked and a <code class=\"\" data-line=\"\">&lt;span class=&quot;has-inline-color has-vivid-red-color&quot;&gt;503 server too busy&lt;\/span&gt;<\/code> response sent. This way the application remains responsive at least for current sessions.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Safety measures against Brute Forcing<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Confidentiality, Integrity<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>Attackers could use brute forcing to obtain account passwords and thus illegitimate access to user data.<br>Certain routes (e.g. \/login) can be explicitly protected against brute forcing. One possible measure could be using a rating limiter which specifies how many requests a specific IP address may make in a given period of time.  <br><img loading=\"lazy\" decoding=\"async\" width=\"1040\" height=\"316\" data-attachment-id=\"10620\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/screenshot-2020-08-19-at-10-47-49\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49.png\" data-orig-size=\"1040,316\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2020-08-19 at 10.47.49\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49-1024x311.png\" class=\"wp-image-10620\" style=\"width: 350px\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49.png\" alt=\"\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49.png 1040w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49-300x91.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49-1024x311.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.47.49-768x233.png 768w\" sizes=\"auto, (max-width: 1040px) 100vw, 1040px\" \/><br>However, this measure would not work if the attacker uses multiple IPs for the attack. For this case an additional <em>Account Lockout<\/em> control should be used. In this case not the source IP address is checked, but the target account itself, i.e. in the attacked user account there is a counter for failed login attempts. Corresponding to that there are 3 variables:<br><strong>Lockout Threshold:<\/strong> number of failed attempts before the account is locked out<br><strong>Observation window:<\/strong> time period that these attempts must occur within<br><strong>Lockout duration:<\/strong> how long the account is locked out for<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Application Activity Logging<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Confidentiality, Integrity, Availability<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td><strong>Must have<\/strong>. Insufficient Logging &amp; Monitoring is still in the <a href=\"https:\/\/owasp.org\/www-project-top-ten\/\" target=\"_blank\" rel=\"noreferrer noopener\">OWASP Top 10<\/a>. Not only can you detect errors at runtime, but attacks can be identified early or even prevented.<br>As an advanced setup you can feed all your logs into a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Security_information_and_event_management\" target=\"_blank\" rel=\"noreferrer noopener\">SIEM<\/a> (Security Information and Event Management System) and enable Intrusion Detection \/ Prevention.<br>So that you\u2019re prepared and know what to do once an attack or breach is detected you should setup an <a href=\"https:\/\/www.securitymetrics.com\/blog\/6-phases-incident-response-plan\" target=\"_blank\" rel=\"noreferrer noopener\">Incident Response Plan<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Limit data flow<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Confidentiality<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>The information about the users is generally the most critical information an application has and despite that it\u2019s not unheard of that applications transmit entire user objects back to the frontend. Including the full name, e-mail address, hashed password, birthdate and other sensitive information. Let\u2019s say you\u2019re developing a forum. A thread may have multiple messages \/ entries of different users. For an entry of another user to display correctly the only thing the frontend needs to know and see are the user id, his username, his avatar, maybe his total amount of submissions \/ moderator status and obviously the message itself. But there\u2019s no need for your backend to send anything else. So what you can and should do is <strong>sanitize<\/strong> objects before sending them to the client. <br><br><img loading=\"lazy\" decoding=\"async\" width=\"918\" height=\"440\" data-attachment-id=\"10606\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/screenshot-2020-08-19-at-10-12-38\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.12.38.png\" data-orig-size=\"918,440\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2020-08-19 at 10.12.38\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.12.38.png\" class=\"wp-image-10606\" style=\"width: 380px\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.12.38.png\" alt=\"\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.12.38.png 918w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.12.38-300x144.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.12.38-768x368.png 768w\" sizes=\"auto, (max-width: 918px) 100vw, 918px\" \/><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Keep your packages and dependencies up to date<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Confidentiality, Integrity, Availability<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>Using components with known vulnerabilities is part of the OWASP Top 10 as well. <br><br><strong><em><span style=\"color:#00c3b1\" class=\"has-inline-color\">Security<\/span><\/em><\/strong><span class=\"has-inline-color has-very-dark-gray-color\"><em> of your application <\/em><\/span><strong><em><span style=\"color:#00c3b1\" class=\"has-inline-color\">depends directly on how secure the third-party packages<\/span><\/em><\/strong><span class=\"has-inline-color has-very-dark-gray-color\"><em> you use in your application <\/em><\/span><strong><em><span style=\"color:#00c3b1\" class=\"has-inline-color\">are<\/span><\/em><\/strong><span class=\"has-inline-color has-very-dark-gray-color\"><em>. Therefore, it is important to keep your packages up-to-date.<\/em> <\/span><br><span class=\"has-inline-color has-cyan-bluish-gray-color\">OWASP \u2013 CheatSheetSeries <\/span><br><br>The reasons why this affects all three parts of the CIA-triad is because it depends entirely on the libraries and frameworks you use. Whatever vulnerabilities and risks might be in any of the components you use, your application automatically has them too. One tool I find really helpful for keeping track of used packages and their respective security &amp; status is <a href=\"https:\/\/dependabot.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Dependabot<\/a>. You can link your GitHub project to it and it automatically checks for updates and bug fixes in the libraries you use. For everything it finds, a pull request is created. Severe fixes are for example highlighted by a \u201cSecurity\u201d tag (as seen in the figure below). <br><br><img loading=\"lazy\" decoding=\"async\" width=\"1936\" height=\"1386\" data-attachment-id=\"10608\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/screenshot-2020-08-19-at-10-18-17\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17.png\" data-orig-size=\"1936,1386\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2020-08-19 at 10.18.17\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17-1024x733.png\" class=\"wp-image-10608\" style=\"width: 550px\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17.png\" alt=\"\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17.png 1936w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17-300x215.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17-1024x733.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17-768x550.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.18.17-1536x1100.png 1536w\" sizes=\"auto, (max-width: 1936px) 100vw, 1936px\" \/><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Stay clear of unfavourable regexes<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Availability<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>Most Regular Expressions can reach extreme situations that cause them to work very slowly (exponential in relation to input size). Therefore, an attacker can use regular expressions to crash an application by performing a Regular expression Denial of Service (ReDoS).<br>There are some tools to check if a regex has a potential for causing denial of service. One example is <em>vuln-regex-detector<\/em>. Besides that, applying input validation in general is already a good and meaningful approach.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Security Linters and Code Checking<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Confidentiality, Integrity, Availability<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>There\u2019s a big overlap between secure code and good software design. The theory that applies here is: the cleaner and stricter your code is, the fewer bugs you have and the more readability you achieve. By using linters and code checking you can find bugs BEFORE they happen and therefore also need less time for testing. Imagine the advantage of detecting an error while writing the code vs detecting the same error only now it\u2019s once the application is already deployed to production.<br><br><img loading=\"lazy\" decoding=\"async\" width=\"1202\" height=\"465\" data-attachment-id=\"10610\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/third_way_2x\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x.png\" data-orig-size=\"1202,465\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"third_way_2x\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x-1024x396.png\" class=\"wp-image-10610\" style=\"width: 450px\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x.png\" alt=\"\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x.png 1202w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x-300x116.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x-1024x396.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/third_way_2x-768x297.png 768w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><br><a href=\"https:\/\/xkcd.com\/1285\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"has-inline-color has-cyan-bluish-gray-color\">https:\/\/xkcd.com\/1285\/<\/span><\/a> <br><br>Another advantage gained is that you\u2019ve standardized code if all your team members use the same guidelines and rules. This eliminates discussing about stylistic issues and enables you to focus on more meaningful topics like architectural decisions or security issues.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Input Validation<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Integrity, Availability<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>The secure principle <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Reluctance to Trust <\/span><\/strong>applies here. When building an application, you should always anticipate malformed input from unknown users. Even if users are known, they are an easy target to social engineering attacks, making them therefore potential threats to a system. With correct input validation widespread and popular attacks like (SQL) Injection or XSS can be prevented. <br><br><em>Any integer between -2 billion and 2 billion is<br>seldom a good representation of anything.<\/em> <br><br>One interesting approach to input validation is using <span style=\"color:#00c3b1\" class=\"has-inline-color\"><strong>Domain Primitives<\/strong>.<\/span> For example, instead of using a string as type for a username you define a class called UserName. This class has all domain rules related to a username bundled in itself, e.g. minimum and maximum lengths, allowed characters, etc. Therefore, <strong>if the value exists, its automatically valid<\/strong>!<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Transactions in NoSQL Databases<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Integrity<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>Say you\u2019re using MongoDB as database. By default, it doesn\u2019t support transactions and therefore the ACID principles are not given. If you do have any logic chains in your application that consist of more than one write command, you\u2019re in trouble. It might happen that your server restarts during one of those logic chains and only a fraction of many dependent writes is executed. As a result, you\u2019d end up with corrupted and incorrect data in your database. Depending on the context of your application and the severity of that risk, you should either consider switching to a database that innately supports the all or nothing principle \u2013 transactions -, or setup transactions for your MongoDB database. This can be done since version 4.0 by <a href=\"https:\/\/docs.mongodb.com\/manual\/core\/write-operations-atomicity\/\" target=\"_blank\" rel=\"noreferrer noopener\">setting up a replica set<\/a>.<br>The opinion of the LFDI towards this topic is actually quite strict and limiting. Their advice is to always use a \u201cproper\u201d database, like PostgreSQL. Their argumentation is that only sequential databases can guarantee mathematical correctness and thus integrity of the data. However, it\u2019s totally reasonable that you might chose a \u201cnon-optimal\u201d database for your projects for reasons like being lean or simply being more experienced with it. This is absolutely valid. You should still try to get the best possible security with the choice you have made. By doing so you probably end up with a higher security level anyways than when you\u2019d have chosen the theoretically best fit with which you\u2019ve no or limited experience. <br><br>The statement of the LFDI being: \u201c<em>Only if a lack of technology leads to a protection goal being violated, then it can become a problem\u201d.<\/em><br>In other words: if a violation or a breach could\u2019ve been prevented if you\u2019d have chosen another technology, like SQL instead of a NoSQL, only then there might be repercussions.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Prevent data (e.g. IP Address) leakage<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Affects<\/td><td><strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Confidentiality<\/span><\/strong><\/td><\/tr><tr><td>What<\/td><td>This goes hand in hand with being conscious about data flow in your application. Chances are high that you carelessly give data of your users to strangers. The easiest example is embedding an image into your app which is hosted by someone else. If the image is not physically located within your own infrastructure, any external hoster could read the IP addresses of your users accessing said embedded image. <br>Another popular example is using SDKs. The very polarizing opinion of the LFDI is that one would have to forego using ANY third-party components or libraries, if the objective pursued is to be as data protection friendly and correct as possible.<br>However, the LFDI also realizes that this is contrary to the entire open source movement and ultimately simply not feasible. If you\u2019d follow that guideline, you would have to constantly reinvent the wheel as a developer. They key takeaway is <strong><span style=\"color:#00c3b1\" class=\"has-inline-color\">Reluctance to Trust<\/span> <\/strong>again. Be really conscious about which libraries or SDKs you\u2019re adding to your project. If you want to be really sure, you should check each library for potential data leakage before adding them. And if you\u2019re planning on adding something like Facebook or Google SDK, ask yourself if it\u2019s worth it. Are your users okay with their data being shared? Does the benefit outweigh the negative? At the end of the day there\u2019s always a business model behind something. Facebook and Google are not offering their SDKs for free, because they are such kind hearted people. They want to gather as much data as possible. And that\u2019s exactly what happens once you add those SDKs to your project. Be aware of that.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>GDPR and information security can be a daunting task and overwhelm you on first approach. I totally get it, since I\u2019ve been there and quite frankly still am. However, I think it is essential to recognize the importance of the issue. In the end, it is not just a matter of taking action out of fear of fines, but of actually seeing the bigger picture. First of you establish trust. If you\u2019re honest and authentic your users and customers will definitely notice and appreciate it. Secondly, the complexity of software systems is constantly increasing and connectivity between systems and devices is growing. In combination with weaknesses due to errors in requirements, architecture, design, implementation, operation and organization this could break your neck financially if you don&#8217;t take safety and security into account from the start. According to the IBM System Science Institute the relative cost of fixing defects can be up to 100 times higher in production than in the design &amp; planning phase (as seen in the figure below).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10615\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/ibm-system-science-institute-relative-cost-of-fixing-defects\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects.png\" data-orig-size=\"816,438\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects.png\" alt=\"\" class=\"wp-image-10615\" width=\"496\" height=\"266\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects.png 816w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects-300x161.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects-768x412.png 768w\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/www.researchgate.net\/figure\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects_fig1_255965523\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.researchgate.net\/figure\/IBM-System-Science-Institute-Relative-Cost-of-Fixing-Defects_fig1_255965523<\/a><\/figcaption><\/figure>\n\n\n\n<p>Security incidents regularly affect companies of all sizes, often putting them on public display and causing irreversible damage to the reputation of the companies involved.<br>To add on this, our society is more technologically reliant than ever before and there is no sign that this trend will slow.<\/p>\n\n\n\n<p>If you plan on your software existing for more than 5 years, start developing a data and information security mindset. Be mindful about the tools you use, where data flows in your application and learn to think ahead. Ask yourself what risks or vulnerabilities might arise and what inconsistencies could appear. Be careful, anticipatory and conscientious. But don\u2019t overdo it, after all it\u2019s about your (and your companies) priorities. Decide what is best for you right now and plan a little into the future. But there\u2019s no need to try and anticipate everything that might happen and to build a Fort Knox infrastructure right from the start. Information security should be seen as continuous process in which you iterate and evolve in many small and incremental steps.<br>I truly hope this blog helps you get started on your way and gives you some insight into the possibilities and opportunities. As another help to get you started, I attached a small cheat sheet and some useful resources.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10616\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/19\/gdpr-and-information-security-for-startups\/screenshot-2020-08-19-at-10-34-20\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20.png\" data-orig-size=\"2410,1388\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot-2020-08-19-at-10.34.20\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-1024x590.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-1024x590.png\" alt=\"\" class=\"wp-image-10616\" width=\"655\" height=\"377\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-1024x590.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-300x173.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-768x442.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-1536x885.png 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/Screenshot-2020-08-19-at-10.34.20-2048x1180.png 2048w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Helpful &amp; Interesting Websites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/gdprtracker.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/gdprtracker.io\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/gdprchecklist.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/gdprchecklist.io\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cheatsheetseries.owasp.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/cheatsheetseries.owasp.org\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/databreach.es\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/databreach.es\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.coreview.com\/blog\/alpin-gdpr-fines-list\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.coreview.com\/blog\/alpin-gdpr-fines-list\/<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">References and further reading<\/h2>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Waidner, M., Backes, M., and M\u00fcller-Quade, J. (2013),&nbsp;<strong>Entwicklung sicherer Software durch Security by Design<\/strong>, Technical Report SIT-TR-2013-01, Fraunhofer-Institut f\u00fcr Sichere Informationstechnologie, Darmstadt, Germany, URL: <a href=\"http:\/\/www.kastel.kit.edu\/downloads\/Entwicklung_sicherer_Software_durch_Security_by_Design.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/www.kastel.kit.edu\/downloads\/Entwicklung_sicherer_Software_durch_Security_by_Design.pdf<\/a><\/li>\n\n\n\n<li>Adkins, H., Beyer, B., Blankinship, P., Lewandowski, P., Oprea, A., Stubblefield, A. (2020), <strong>Building Secure and Reliable Systems, <\/strong>O&#8217;Reilly Media, Inc. ISBN: 9781492083122<\/li>\n\n\n\n<li><strong>User Privacy Protection Cheat Sheet<\/strong> by OWASP, <a href=\"https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/User_Privacy_Protection_Cheat_Sheet.md\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/User_Privacy_Protection_Cheat_Sheet.md<\/a><\/li>\n\n\n\n<li><strong>Third Party JavaScript Management Cheat Sheet<\/strong> by OWASP, <a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Third_Party_Javascript_Management_Cheat_Sheet.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Third_Party_Javascript_Management_Cheat_Sheet.html<\/a><\/li>\n\n\n\n<li><strong>Authentication Cheat Sheet<\/strong> by OWASP, <a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Authentication_Cheat_Sheet.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Authentication_Cheat_Sheet.html<\/a><\/li>\n\n\n\n<li><strong>NodeJS security Cheat Sheet<\/strong> by OWASP, <a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Nodejs_Security_Cheat_Sheet.html#monitor-the-event-loop\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Nodejs_Security_Cheat_Sheet.html#monitor-the-event-loop<\/a><\/li>\n\n\n\n<li><strong>GDPR: From confusion to<\/strong> chaos by Halak Mehta, <a href=\"https:\/\/www.datacenterdynamics.com\/en\/opinions\/gdpr-confusion-chaos\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.datacenterdynamics.com\/en\/opinions\/gdpr-confusion-chaos\/<\/a><\/li>\n\n\n\n<li><strong>GDPR: General Data Protection Regulation<\/strong>, <a href=\"https:\/\/advisera.com\/eugdpracademy\/gdpr\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/advisera.com\/eugdpracademy\/gdpr\/<\/a><\/li>\n\n\n\n<li><strong>ICO: Statement: Intention to fine Marriott International, Inc more than \u00a399 million under GDPR for data breach<\/strong>, <a href=\"https:\/\/ico.org.uk\/about-the-ico\/news-and-events\/news-and-blogs\/2019\/07\/statement-intention-to-fine-marriott-international-inc-more-than-99-million-under-gdpr-for-data-breach\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ico.org.uk\/about-the-ico\/news-and-events\/news-and-blogs\/2019\/07\/statement-intention-to-fine-marriott-international-inc-more-than-99-million-under-gdpr-for-data-breach\/<\/a><\/li>\n\n\n\n<li><strong>Was ist Privacy By Design? <\/strong>By TUEV Nord, <a href=\"https:\/\/www.tuev-nord.de\/explore\/de\/erklaert\/was-ist-privacy-by-design\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.tuev-nord.de\/explore\/de\/erklaert\/was-ist-privacy-by-design\/<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Let me start with a story. My first contact with GDPR (general data protection regulation) and the topic of information security was during my bachelor throughout an app project. We had set ourselves the goal of uploading the app to Google Play Store by the end of the semester and were thus inevitably confronted with [&hellip;]<\/p>\n","protected":false},"author":1006,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[649,653,26,22,651],"tags":[366,360,361,365,164,364,363,58,27,362,367],"ppma_author":[812],"class_list":["post-10428","post","type-post","status-publish","format-standard","hentry","category-interactive-media","category-mobile-apps","category-secure-systems","category-student-projects","category-system-designs","tag-cia-triad","tag-gdpr","tag-information-security","tag-iso-27001","tag-privacy","tag-privacy-by-default","tag-privacy-by-design","tag-secure-systems","tag-security","tag-security-by-design","tag-startup"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":10720,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/08\/24\/corona-warning-app\/","url_meta":{"origin":10428,"position":0},"title":"Corona Warning App","author":"Patrick Brenner","date":"24. August 2020","format":false,"excerpt":"In 2020 many things are different. People work and study from home, wear face masks and are facing restrictions in their fundamental rights. These measures and restrictions were taken to bring the global pandemic under control. More than 800.000 people have died as a result of Covid-19 (SARS-CoV-2) (25.08.2020). \"Let's\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/plot_rki_cwa_per_week-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/plot_rki_cwa_per_week-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/plot_rki_cwa_per_week-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/08\/plot_rki_cwa_per_week-1.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":20964,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/09\/15\/enterprise-social-audio-research-implementation-and-opportunities\/","url_meta":{"origin":10428,"position":1},"title":"Enterprise Social Audio &#8211; Research, Implementation and Opportunities","author":"Mario Koch","date":"15. September 2021","format":false,"excerpt":"Enterprise Socia Audio - does it work, what are non-negotiables, what are the challenges? Research and implementation in close collaboration with clients.","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":8704,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2019\/09\/03\/security-and-usability-how-to-design-secure-systems-people-can-use\/","url_meta":{"origin":10428,"position":2},"title":"Security and Usability: How to design secure systems people can use.","author":"Svenja Bussinger","date":"3. September 2019","format":false,"excerpt":"Security hit a high level of importance due to rising technological standards. Unfortunately it leads to a conflict with Usability as Security makes operations harder whereas Usability is supposed to make it easier. Many people are convinced that there is a tradeoff between them. This results in either secure systems\u2026","rel":"","context":"In &quot;Secure Systems&quot;","block_context":{"text":"Secure Systems","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/secure-systems\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/09\/ucd.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/09\/ucd.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/09\/ucd.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/09\/ucd.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/09\/ucd.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/09\/ucd.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":3232,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/10\/06\/usable-security-users-are-not-your-enemy\/","url_meta":{"origin":10428,"position":3},"title":"Usable Security &#8211; Users are not your enemy","author":"mw195","date":"6. October 2017","format":false,"excerpt":"Introduction Often overlooked, usability turned out to be one of the most important aspects of security. Usable systems enable users to accomplish their goals with increased productivity, less errors and security incidents. And It stills seems to be the exception rather than the rule. When it comes to software, many\u2026","rel":"","context":"In &quot;Secure Systems&quot;","block_context":{"text":"Secure Systems","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/secure-systems\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/10\/windows-uac.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3978,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2018\/08\/16\/security-in-smart-cities\/","url_meta":{"origin":10428,"position":4},"title":"Security in Smart Cities","author":"Johannes Kaeppler","date":"16. August 2018","format":false,"excerpt":"Today cities are growing bigger and faster than ever before. This results in various negative aspects for the citizens such as increased traffic, pollution, crime and cost of living, just to name a few. Governments and city administrations and authorities are in need to find solutions in order to alleviate\u2026","rel":"","context":"In &quot;Secure Systems&quot;","block_context":{"text":"Secure Systems","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/secure-systems\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":813,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/12\/it-security-in-film-and-fiction\/","url_meta":{"origin":10428,"position":5},"title":"IT-Security in film and fiction","author":"J\u00f6rg Einfeldt","date":"12. July 2016","format":false,"excerpt":"Probably everybody with a background in computer science has already seen a hollywood blockbuster or read a critically acclaimed book which alluded IT-security. It is a popular topic which allows to play with the expectations and fears of the audience. Government agencies are hacked within seconds, security failures happen everywhere,\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/IT-Sicherheit-in-FF2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/IT-Sicherheit-in-FF2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/IT-Sicherheit-in-FF2.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/IT-Sicherheit-in-FF2.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":812,"user_id":1006,"is_guest":0,"slug":"mk344","display_name":"Mario Koch","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/4b2dc20878e23691ce2950db7dea27637a5a4aa1ac92b8ca7ccd3fdf5f7fa1f6?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/10428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/1006"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=10428"}],"version-history":[{"count":31,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/10428\/revisions"}],"predecessor-version":[{"id":25409,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/10428\/revisions\/25409"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=10428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=10428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=10428"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=10428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}