Conf42 Cloud Native 2021 - Online

Truth about running Cloud Security Assessments in 2021

Video size:

Abstract

This talk is a Practitioners story on what it is really like to run Cloud Security Assessment compared to what the blogs and Cloud Service Provider documentation will tell you. There are some hard truths here, some Cloud Security Assessors might not like me giving away the reality but it is better out than in.

I share Real world Assessment stories and how it differs from documentation and some automation tools that I personally use for running automated security scans

If you are a seasoned Cloud Security Assessment running person or If you are looking at starting to do Cloud Security Assessment in Cloud, you will get a glimpse of what that world really looks like. You might not like me if you are CSPM but the truth has to come out.

Summary

  • Today's talk should really have been documentation versus the reality of cloud cloud cloud security assessments in modern day architecture of cloud environment in 2021. But clearly you would not be here if I said that you might think it's just a fun talk.
  • This talk will discuss the framework that people use to run assessments. We also talk about the type of threats, the assessment types, automation. And come of the differentiation between running an assessment from an auditor versus having automated tooling. Maybe this may be an introduction to what modern auditing could look like.
  • I am the head of security and as a CISO, four of a growing company. Outside my nine to five on the weekends, I am the host of Cloud security podcast. We talk to different cloud security experts on various topics around cloud security each week.
  • Azure, GCP and AWS all have documentation on AWS. People go through exercises to shape some of their organization architecture with the well architected framework. But a lot of times what we would find in an audit is not really well aligned, it's not by the textbook.
  • There are two ways to move into cloud. One is a simple lift and shift model. Another is where you migrated into cloud but went through digital transformation. Depending on the cloud adoption type, you could have gone down either way.
  • If someone tells you we only have one tenancy, you probably are looking at potentially hundreds of services. Application itself, you could have a mix of monolith or a microservices. Digital transformation may not have fully been adopted.
  • Not everyone does automation in cloud, not everyone does infrastructure has cloud. The other thing that you would also notice from a source perspective is the type of access you get. If you're one of those, you probably should start thinking about don't just rely on cloud native.
  • People have this negative, I guess, emotion attached to doing threats assessments. If you look at all of these drive by compromise, exploit, public facing application phishing, trusted relationship and valid accounts, they kind of fall into three big buckets.
  • Your identity access management uses the same password as your corporate username password. In a cloud environment, it's not just a regular user, an admin user. If someone exploits that, they can use it for doing exactly the opposite of what it should be doing. Third party management for this is primarily around shared responsibility.
  • Let's talk about assessment types. One is a point in time, big bracket. Another is more awareness and visibility and monitoring. The continuous assessment type is cloud security posture manager or cloud access security brokers.
  • Another version that's coming out which is specifically for infrastructure as code, which I believe is almost like the next generation of cloud security. These are lists which are applicable across the board for the moment. So definitely check these out and obviously ask any questions if you have any.
  • You definitely need both continuous as well as point in time assessments. Running an assessment on premise is not the same as running assessment on cloud. A successful compliance certification doesn't really mean you're secure. Find your trusted advisor to get a real picture of risk in your cloud environment.

Transcript

This transcript was autogenerated. To make changes, submit a PR.
There. Today's talk is about truth about running cloud security assessments in 2021. A practitioner story. The topic should really have been documentation versus the reality of cloud cloud cloud security assessments in modern day architecture of cloud environment in 2021. That should have been the real title. But clearly you would not be here if I said that you might think it's just a fun talk. Maybe you may be right. But before I get into this, let's talk about what am I going to discuss in this talk? I would be talking about the framework that people use to run assessments and the framework that people use to run assessments against themselves in any given paid engagement. We also talk about assessment landscape, the type of threats, the assessment types, automation, do you even need it? And come of the differentiation between running an assessment from an auditor versus having automated tooling. And in conclusion, well, we'll conclude with what the real truth is about everything, but the documentation really holds up the test of ground. There is an assumption made that you understand one or more services of the cloud service provider that you may be dealing with. It could be any cloud service provider. You don't have to be an expert in it, but having some understanding of some of the foundational pieces would be helpful as we go through this talk. If you're an auditor, even better, maybe this may be an introduction to what modern auditing could look like. So without further ado, let's get into this. First of all, nine to five, I am the head of security and as a CISO, four of a growing company. Normal day for me is about running initiatives and trying to reduce the risk of an overall organization's security posture. Before that, I used to run a practice of cloud security for a consulting company, which I'm an investor in. We used to help organizations of all sizes in different industries, specifically enterprise, move into cloud through digital transformation. Outside my nine to five on the weekends, I am the host of Cloud security podcast, a weekly video podcast which is live streamed every week, and we talk to different cloud security experts on various topics around cloud security each week. If you are a follower of the podcast and subscribe or come on livestream special shout out to you and thank you for joining me over here. Looking at the experience that I've had as an auditor, you would be able to take that and apply some of those concepts into your environment as applying from a perspective of if you have an internal auditor, what kind of questions you should be asking them, or what kind of expectations you should have from them, or what kind of information you should be provider them so they can help you the best way possible. First thing, suitable framework based on the organization you work for and the kind of data you deal with. You may have a lot of frameworks from a compliance perspective that you may have to adhere to. Those frameworks are pretty rigid in terms of requirements they have. Some of them even call out specifically what encryption algorithms should be used. You could be looking at things like NIST, ISO 27,001, GDPR, sock two type two, PCI, HIPAA. We can keep going on, but a lot of these would primarily depend on the kind of organization you have and the kind of data you store in cloud. This may not be as different to what you run on your data center environment, but it will be different in terms of the kind of landscape you have in your cloud environment and how shared responsibility plays an important role in this, especially if you're in a hybrid environment where your applications exist both in an on premise world as well as a cloud world. You may have to think about custom frameworks where what segmentation is appropriate for your architecture, whether you have your non compliance driven architecture or non compliance driven data and application hosted in cloud, whereas the compliance driven sensitive data being hosted on premise. There could be multiple models like that as well. But primarily you would use a foundational piece like a NIST CSF or ISO 27,001 as a base. And on top of that, build for the cloud service provider you work on now, that's generally the kind of framework as a baseline that you would start with. Let's talk about the cloud assessment landscape. As you can imagine, I love blogs. The reason I had this picture for expectation versus reality is the expectation that people have about landscape. For any cloud environment. I'm going to take the three most popular ones, Azure, GCP and AWS. They all have documentation on AWS. Well architected framework, well architected framework in Google Cloud, well architected framework in Azure. But how many people actually follow these? Even though cloud service providers have been quite open about what you should be doing as the right form of architecture? Answer is none of them. People go through exercises to shape some of their organization architecture with the well architected framework. I think AWS and some of the other cloud service provider have assessments that help you map to how aligned you are to the well architected framework. But a lot of times what we would find in an audit is it's not really well aligned, it's not by the textbook. So that kind of makes things quite challenging. To that point, the cloud adoption type, what you really see in the real world as an auditor or as someone who runs a cloud security assessment is cloud architecture, which would have been migrated into cloud. How do I put this in a simple way so I don't offend anyone? There are two ways to move into cloud. One is a simple lift and shift model where you had something on premise and you moved it exactly as it is into cloud. That's called lift and shift, whereas there's another model where you migrated into cloud but went through digital transformation, you made them into microservices and started using some of the services which were provided by a cloud provider. Now, depending on what stage of migration you are in, like for example, if you're migrated recently, or if you've been in the cloud for a year or maybe for a few years, you may have a separate security tenancy or account in your cloud service provider. And depending on the cloud adoption type, you could have gone down either ways. What that means is you would come across teams which have been specifically designed that their job is to provision the tenancy or accounts for the CSP that the customer is using. Each business unit sometimes are given a lot of liberty in what they can do in each of these tenancies, but there's usually like a central team that creates it. Sometimes it's just the individual business unit are paying for themselves. But predominantly the adoption type is varied. So when you walk into an organization and thinking about, okay, clearly well architected framework is not going to be the case because the reality is depending on what stage of migration they are in and how they migrated, it could be a combination of any of these. So my advice would be to what kind of adoption was this and at what stage of migration to cloud they are currently at, to kind of get into that physical mind from of, okay, this is the kind of question or the subset I should be thinking of. Once you understand the type of adoption or the stage that the customer is in, the next obvious step that a lot of people go into is let's talk about the different source types that I need to assess expectation over there. If you look at the documentation, if you're in AWS, the expectation would be, I would get a lot of cloudformation templates. You probably would be only using one cloud service provider, maybe two maximum, right? Why would you go more than two? If you are a mature organization, you may even be using cloud native services, which could be cheap combination of services provider by your cloud service provider and maybe even deploying multiple times a day as well. All of that would be built on a code repository because everything would be running on code, and no one would have access to any of the production environment either via RDP or SSH. Unfortunately, the reality is different. The truth is, I've been in assessments where infrastructure type is a mix of containers, kubernetes, vms, EC two, you go in and you're told, hey, we only have one tenancy. And you make an assumption that okay, one tenancy. So they would have gone down the well architected framework, they would have segmented their network properly and would only be using one type of compute because you would only have one application per network. Unfortunately, a lot of the conversations that I had was where one network had multiple assets or multiple applications hosted within that one single network, which is not a bad pattern if you segment them properly. But you're told that there's only one network without letting you know that there are hundreds of services within it. So you can see where the discrepancy comes in, because it's cloud, and one click gets your data better. So assuming that if someone tells you we only have one tenancy, whether it's AWS, azure or GCP, you probably are looking at potentially hundreds of services. That's kind of point number one, application itself, you could have a mix of monolith or a microservices. Now generally this is easier to kind of comprehend, because if an organization has been in existence for over ten years, it's most likely they already have some monoliths which they've been carrying over. So digital transformation may not have fully been adopted. So you might see a mix of things which are not that flexible, so they might not give you that to assess. They would just say, hey, focus on these, do not focus on these. So there could be those kind of scenarios as well. Now we'd mentioned source types, and I think it's worthwhile calling out, not everyone does automation in cloud, not everyone does infrastructure has cloud. Sometimes it's just easier for you to click through the console of your favorite CSP and just deploy them. But what that also means is the other extreme where people have gone down the infrastructure has code path. What I was getting a lot of times as an auditor was a Yaml file, and I was told, hey, audit the Yaml file. This is exactly what we use, and this goes into production. So no access to the actual accounts as well as you can imagine, that makes things very difficult. The other thing that you would also notice from a source perspective is the type of access you get. Some organizations, they'll give you all admin access, because it's a small team like some of the startups that I worked with gave me full access, and this is a trust because it's a small team of 25 people, everyone knows everyone and understandable, but I would probably say do not give admin access to an external auditor who's trying to assess your cloud environment. The other one example that I've seen is where each business unit gets its own data center or tenancy, and you end up in a situation where you have 20 plus accounts under one business unit because they were told by Amazon you should have segregation of accounts. And they've created multiple accounts because creating an account is free, but you just put so much stuff in there. So that's another version which we come across where they might ask you to audit just one business unit, but then again, kind of like the infrastructure type where you assume it's just one business unit. So Max might what, five to ten applications, but kind of realize it's a lot more. These are examples of not so mature cloud organizations. However, there are some good examples as well that I had the fortune to work with some of these mature organizations. An enterprise, they had predefined security default for all their environments. They did have a centralized team to deploy and provision cloud tenancies for their entire organization. So if I was a business unit and I wanted a AWS account, I can go to that team and get an AWS account which already had my security defaults over there. I was given access with a read only permission and I was given, provided, even provided mean I was mind blown at that point. I'm like oh my God, they want me to actually use come of the automation that I've created to not waste their time with me asking them questions and figuring out how to put access keys instead I could just run come automation and do the entire audit in half the time. So I can understand the architecture of the application in the first half of my audit and the remaining is basically cut in half because I'm just going to run a tool while I'm having the interview with them. So I'm just saying I love mature organizations. So that's some of the realities that you find in a organization which has just, I guess found their way to maturity. You can already see documentation is starting to show some cracks. We definitely don't have AWS well architected framework or Azure or even Google Cloud's well architected framework being used. And then the assumption that everything is cloud native. Because if you read documentation from any of your CSPM, they're basically calling out like for example Azure would say use Azure DevOps, don't use Jenkins or any other tool, insert another tool which is open source, but your developers love it. They would also call out you should use only the tools that are there in their cloud service provider, which clearly is not a complete security suite. But sure, we clearly cannot be following that to the t. Not just as someone who audits AWS assessments or does AWS assessments or even runs a team that has AWS assessments. If you're one of those, you probably should start thinking about don't just rely on cloud native and stop drinking the kool aid. For lack of better word, they don't have all the answers to all your security requirements. So you definitely have to seek an external person to either identify what you're missing or have someone in your team research and find out what you're actually missing. From a risk perspective, you could be completely missing out on some of the blind spots that are created by just drinking the cloud koolaid. Let's talk about threats. And I love this. As I mentioned, I love dogs. So this was something hilarious that I found out somehow people have this negative, I guess, emotion attached to doing threats assessments. And I just do not get it because I understand there's a compliance requirement and you're trying to have a certification. So you can increase your sales as a startup or as an enterprise. You can show that the customers can trust your organization because you take security seriously and consider all kinds of threats in cloud. So let's go through these threats and identify what kind of brackets do these really fit in. This is the meter attack, which is a really popular TTP or tactic tools and techniques. That's how they say it. Or tactic techniques and tools. However you want to say it, every threat hunter would look at something like this in order to understand what is the kill chain or aka how do I completely take over an AWS, GCP or azure account or tenancy? These are some of the kill chains that are known in the industry. So as you can see, start from the left, how you get initial access, how do you persist access? How do you go about escalating your privileges, what kind of defense measures you can take, and credential access? How can you do discovery work? I'm going to try and focus on the initial access because everything else is built on the assumption that you have access. So I guess why not build threat on how someone would get initial access, right? So let's focus on that. If you look at all of these drive by compromise, exploit, public facing application phishing, trusted relationship and valid accounts, they kind of fall into three big buckets. Someone's exploiting a public facing application of yours, or someone who's successful in getting credentials from one of your staff members, or you're not managing your supply chain or third party in a good way. Let's take a deeper look, right, because we're talking about threats. I'm not just not going to give you the high level definition. Let's go a bit more deeper. Public facing applications is usually around application security and network security. Remember the conversation about one network that I had just before? And application security is the application which is hosted inside that network. Accidental s three bucket being made public, or a Google Cloud bucket being made public. Those are scenarios for public facing application. There's another scenario where you could have a Kubernetes clusters API open to the Internet as well. Someone's able to use that and escape out. Brings me to point number two, which is phishing identity access management and secret management. Your identity access management uses the same password as your corporate username password. There is no single sign on, there is no multiple factor. And to make things worse, in a cloud environment, it's not just a regular user, an admin user, there's a third kind of user or an identity in a cloud environment, which is also called a server identity or a computer identity. The concept is even when you're not logged in, you can make a server or a service have permissions which they can use to go and take some actions. Now it's great from an automation perspective, you could be sleeping and all your machines are being patched or all your scans are running while you're sleeping away. But the other point to this also is that if someone exploits that and is able to use that key that's been provided to that, I guess, server, they can use it for doing exactly the opposite of what it should be doing. So that's phishing, invalid accounts. Third party management for this is primarily around shared responsibility. Now whether it's shared responsibility between the third party that you give access to, you may have a CSPM for managing security posture, you may have a data dog for performance management or something else. Include any services that you may think of and you give them access user either a credential of some sort into your cloud service provider. As you've done that, you've basically opened up another identity that has access to your environment. So let's just say probably should look into reviewing this ongoingly and also try to look at having come kind of a check for how often was someone accessing or updating new third party supply chains or new third party into your supply chain? Let's talk about assessment types. We've spoken about the source, we've spoken about the kind of adoption. So I'm an auditor, or I'm about to learn auditing and I've kind of gone in. Okay, so I've given you a realistic picture of the kind of environments you would see. Let's talk about the kind of assessments that people do. One is a point in time, big bracket. Point in time would be someone, an auditor comes in, goes through a checklist with you for one of the compliance standards that we mentioned earlier, whether that's iso 27,001 or NIST standard or soc two, type two as well. Another type for point in time is someone like me or another person who would have been part of my team who uses automation. We would come in, we would ask you about architecture review of what is the architecture of your cloud environment, what kind of services are you using? And we may even validate that using some kind of an automation tool. Because let's face it, you may think you know all the services, but that may not be the complete truth. So it's always a good idea to have some kind of automation handy with some access keys or some username passwords that you can have for the AWS or Azure or Google Cloud account. So you can understand on your own, are there services that the customer or the client should be aware of, which they're not currently, unless they have basically chosen to hide that information. The complete different story. Now, these are point in time, another form of assessment that a lot of people think is an assessment, but I think it's more awareness and visibility and monitoring, which is the continuous assessment type, which is providers like of your CSPM, which is cloud security posture manager or cloud access security brokers, CASP, what these provide, and I would not be going into too much definition of these providers. They are excellent tools. If you are starting off in cloud for the first time and you have no idea where to go, great tools for that. It gives you visibility for what your cloud looks like compared to a standard which could be CIs or NIST or some other standard that they support right now. And CASB's are almost, the way I would put this is it's a proxy for what kind of services are allowed in your network. So you could choose to say I only allow AWS as a cloud service provider in my environment. Or Azure has the only one, or maybe a combination of two most popular ones nothing outside that. You would control that using cloud access security broker you scans also use that for checking what other SaaS services are being used in your organization, but that's more of a continuous model. So what's the reality of getting any of these assessments done? If you're looking at a point in time or continuous assessment, the difference would be in a point in time continuous assessment. If you do a regular point in time assessment, you get an audit of your architecture and get information about what may be a potential risk that you're exposing yourself to without realizing in your cloud environment, which the CSPM may not have considered and worthwhile calling out the cspms of the world. They are great tools, but they're usually focusing on the checklist approach because there's an API that they call and they rely on the availability of an API before they can even add that checklist in there. There's no manual approach to it. So the risk that is shared is a based on a checklist which is API driven. Great for something that already has an API. But for me personally, what I found after running CSPM for a lot of years, it looks a context for why is something a high risk? Why is it a high risk if I have an s three bucket open to public when it is supposed to be public? Or why do I have it has a risk when my s three bucket policy on the top of AWS account, which controls all the s three bucket policies says irrespective of the status of the individual bucket, all my buckets are going to remain private. So things like that are just not there. There is a context missing between a CSPM and a CASB. It's a great tool for you, giving you visibility, but it just lacks that context. So it doesn't have the context of the architecture. If it makes sense to architect a solution like that from a security context, if there are enough defense and dev layers, it doesn't make sense from a concept of okay, as I'm saying this, I do want to call it out. I don't dislike CSPM. Hate is probably a strong word. The reason I say this is because I think it's worthwhile calling out that the report that you would get from a point in time assessment would help you create actionable backlogs in your security team or relevant development teams. Whereas what you get from a CASB or CSPM may really be about how do you link to a compliance checklist, which may be the goal of your organizations are totally fine with that, but you probably need more than that to understand why is this something a risk? And is this genuinely a risk or just a false positive? So a real risk is only real, in my opinion, is when it's assessed by people like you and I, unless AI machine learning gets to that point where it can make that, I guess, call. So whenever that happens, but for the moment, we're stuck with this. So I'm going to stop bashing CSPM. But let me just tell you about, I guess the other things that I've noticed being has caspian CSPM after being customer of these for some time. The checks and controls are obviously API driven and if there is a service which is released by one of the cloud service provider, it's not always the case that it becomes available on the day of the release. So if there's a new service that gets announced right now by any of the cloud service providers, your CASB or your CSPM may take some time or may rely on your feedback before this gets added into your so called continuous assessment tool, which ends up in a scenario where you have a lot of wall of red. So for example, assume I came in or someone else who looks like me and knows like me uses automation for reducing the audit time to half and comes with a checklist and gives it to you. What you might realize if you use some of that checklist and dig into one of these CSPM. A lot of them may already be there, but they're buried in the gamut of false positives or ignored messages or alerts of CSPM. If this was real chalk, I would probably go raise your hand if you have seen a wall of red on your CSPM provider. How many have zero as the alerts on their CSPM provider? I do not know of that many examples where people have not had false positive because of the lack of context, which is what I was talking about earlier. So that's the honest truth between a point of in time assessment as well has an automation driven assessment and a tool which is a CSPM or a CASP. That's the difference. Talking about tools, I wanted to call out some of the tools that I've personally used and some of the tools that have been recommended by the community, I would definitely ask you to check them out. Obviously this is not a complete list. This is the one that I could fit in the slide, but if there are ones that are popular and I've missed out on them, clearly add them in has you go these are just for the tools of the compute itself, but there's another version that's coming out which is specifically for infrastructure as code, which I believe is almost like the next generation of cloud security. Having done cloud security podcast for almost two years with 40,000 downloads, and having endless conversations with cloud security experts around the world, one thing I've realized, we're going through evolutions of how cloud security is evolving. These are lists which are applicable across the board for the moment, irrespective of if you're using infrastructure as code or not. But now we're at that generation where a lot of tools like checkoff from bridge crew and other tools which are going into the space of infrastructure as code security where the DevOps is transformed into devsecops and the security alerts are being captured right in the beginning when it's being committed into your source repository or your code repository. So do check them out as well. But this is a great place to start if you are someone who may have a combination of complex environments with a bit of infrastructure as code, and bit of automation and bit of click Ops. So definitely check these out and obviously ask any questions if you have any. In conclusion, I have a few truth that I wanted to reveal. You definitely need both continuous as well as point in time assessments. Continuous assessments are great from a monitoring perspective, as at any given point in time you don't want to wait for a hypothetical ashish to knock on your door and hey, let's talk for the next two weeks and see what we can find out when you're done. Assessment you need something ongoing so you can monitor for configuration drifts. So you definitely need something like a CSPM, or probably even something better than a CSPM if you can design it on your own. Talking about designing on your own, the challenge with open source tools, if you do go down that path, like the example that I gave you before, open source tools are great, but they also would not cover all the new services, which means you need to have some skill set in your team to either add and contribute into the open source so you have the new services available and someone has spent the time to understand what is a security requirement for a particular service that has been released. I would also ask if you are engaging an auditor, definitely understand if they have an understanding of cloud, because let's be honest, running an assessment on premise is not the same as running assessment on cloud, where a lot of compute can be ephemeral. You may have instances right now, but the IP changes because the instance went down and a new ip came up and it has been auto scaling or dynamically scaling up and down. So you need to have an auditor that understands that context because you don't want to go into a compliance audit without realizing the truth behind whether they understand the environment in order, whether you are in this exercise going to spend probably a lot more time than someone who just understands cloud and know what to do when you tell them, hey, I'm using this service from this cloud service provider, and that's why we comply with this requirement. What do you think? They should be able to give you a reasonable answer, which makes sense to both you and them as well. So I would say the other approach you can take, if you don't find one of those auditors and you probably are stuck with someone who doesn't run internal assessments, call in someone. Again, it doesn't need to be someone who has tools, that people have been creating the community, but at least they have an understanding of what the cloud infrastructure should be like, and they understand what kind of common security services from the cloud service provider you can use to pass your assessments. But at the same time, what are the gaps that are left behind by using those cloud assessment tools which are provided by the cloud service provider? Last but not the least, the one truth that I want to give away, and that's quite bold and underlined, a successful compliance certification doesn't really mean you're secure. It just does mean that you were able to convince an auditor that you are ticking all the boxes. So I would ask you to be honest yourself with an audit now you know what the truth behind doing an assessment from an auditor perspective or a practitioner perspective is. So I would hope you would make the right call and find an internal assessment by your team or by calling an external auditor, maybe even build some tools of your own and some checklists of your own which are relevant for your organization or your industry, and use that as a baseline for calling yourself secure. Or I guess, as secure as possible, because no one's 100% secure. That's what my conclusion for you would be. And one final thought would be find your trusted advisor to get a real picture of risk in your cloud environment. I hope you learned something from this. So if you have any questions or feedback, feel free to reach out to me on that website. But otherwise, I just wanted to say thank you for inviting me for this talk, and I am looking forward to some of the questions that come through for this. If you're someone who enjoys cloud security content, I would definitely ask you to just check out cloud cloud security podcast. Well, but otherwise I would see you, but in the wild. But thank you so much for your time, and I look forward to talking to you soon.
...

Ashish Rajan

Producer and Host @ Cloud Security Podcast

Ashish Rajan's LinkedIn account Ashish Rajan's twitter account



Join the community!

Learn for free, join the best tech learning community for a price of a pumpkin latte.

Annual
Monthly
Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Delayed access to all content

Immediate access to Keynotes & Panels

Community
$ 8.34 /mo

Immediate access to all content

Courses, quizes & certificates

Community chats

Join the community (7 day free trial)